diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000000000000000000000000000000000000..d6471a38cc6e6e02345c1edce109312520a77d0d --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,2 @@ +> 1% +last 2 versions diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000000000000000000000000000000000..ea6e20f5b2e79f76a0032c30d99b9fcd346232fd --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/.env.development b/.env.development new file mode 100644 index 0000000000000000000000000000000000000000..9e26dad8f043704669d68c90f5fbde9a7c849324 --- /dev/null +++ b/.env.development @@ -0,0 +1,4 @@ +NODE_ENV='development' +# must start with VUE_APP_ +VUE_APP_ENV = 'development' + diff --git a/.env.production b/.env.production new file mode 100644 index 0000000000000000000000000000000000000000..4b2d764cef746c4107c2c43e6bb600e2d1090bc3 --- /dev/null +++ b/.env.production @@ -0,0 +1,4 @@ +NODE_ENV='production' +# must start with VUE_APP_ +VUE_APP_ENV = 'production' + \ No newline at end of file diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000000000000000000000000000000000000..92749e30739f25c8fc4c9fc0f1894adf944b7338 --- /dev/null +++ b/.env.staging @@ -0,0 +1,4 @@ +NODE_ENV='production' +# must start with VUE_APP_ +VUE_APP_ENV = 'staging' + diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000000000000000000000000000000000000..f81072d59145ccb9c79c3b4c86b40d2d0def001f --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +build/*.js +src/assets +src/config +public +dist diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000000000000000000000000000000000..442b8ca06625c5f189fdadb25445a22090cd089a --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,261 @@ +module.exports = { + root: true, + env: { + node: true + }, + extends: ['plugin:vue/essential', 'eslint:recommended'], + parserOptions: { + parser: 'babel-eslint' + }, + rules: { + 'vue/max-attributes-per-line': [ + 2, + { + singleline: 10, + multiline: { + max: 1, + allowFirstLine: false + } + } + ], + 'vue/singleline-html-element-content-newline': 'off', + 'vue/multiline-html-element-content-newline': 'off', + 'vue/name-property-casing': ['error', 'PascalCase'], + 'vue/no-v-html': 'off', + 'accessor-pairs': 2, + 'arrow-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'block-spacing': [2, 'always'], + 'brace-style': [ + 2, + '1tbs', + { + allowSingleLine: true + } + ], + camelcase: [ + 0, + { + properties: 'always' + } + ], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [ + 2, + { + before: false, + after: true + } + ], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + curly: [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + eqeqeq: ['error', 'always', { null: 'ignore' }], + 'generator-star-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'handle-callback-err': [2, '^(err|error)$'], + indent: [ + 2, + 2, + { + SwitchCase: 1 + } + ], + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [ + 2, + { + beforeColon: false, + afterColon: true + } + ], + 'keyword-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'new-cap': [ + 2, + { + newIsCap: true, + capIsNew: false + } + ], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [ + 2, + { + allowLoop: false, + allowSwitch: false + } + ], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [ + 2, + { + max: 1 + } + ], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [ + 2, + { + defaultAssignment: false + } + ], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [ + 2, + { + vars: 'all', + args: 'none' + } + ], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [ + 2, + { + initialized: 'never' + } + ], + 'operator-linebreak': [ + 2, + 'after', + { + overrides: { + '?': 'before', + ':': 'before' + } + } + ], + 'padded-blocks': [2, 'never'], + quotes: [ + 2, + 'single', + { + avoidEscape: true, + allowTemplateLiterals: true + } + ], + semi: [2, 'never'], + 'semi-spacing': [ + 2, + { + before: false, + after: true + } + ], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [ + 2, + { + words: true, + nonwords: false + } + ], + 'spaced-comment': [ + 2, + 'always', + { + markers: ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + } + ], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + yoda: [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [ + 2, + 'always', + { + objectsInObjects: false + } + ], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/.gitignore b/.gitignore index 5d947ca8879f8a9072fe485c566204e3c2929e80..fdc3bc3dcd9c82efcfd664963d71ae39a1f9a607 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,24 @@ -# Build and Release Folders -bin-debug/ -bin-release/ -[Oo]bj/ -[Bb]in/ +.DS_Store +node_modules +/dist +/docs +# local env files +.env.local +.env.*.local -# Other files and folders -.settings/ +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* -# Executables -*.swf -*.air -*.ipa -*.apk +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? -# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` -# should NOT be excluded as they contain compiler settings and other important -# information for Eclipse / Flash Builder. +package-lock.json +yarn.lock \ No newline at end of file diff --git a/.postcssrc.js b/.postcssrc.js new file mode 100644 index 0000000000000000000000000000000000000000..1b534ef12e97a00ecc2c5799ea2b23a9cb32868f --- /dev/null +++ b/.postcssrc.js @@ -0,0 +1,13 @@ +// https://github.com/michael-ciniawsky/postcss-load-config +module.exports = { + plugins: { + autoprefixer: { + overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8'] + }, + 'postcss-pxtorem': { + rootValue: 37.5, + propList: ['*'], + //selectorBlackList: ['van-'] + } + } +} diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000000000000000000000000000000000000..26e93765616f0e01648bf954629b713e4ce5cf2f --- /dev/null +++ b/.prettierrc @@ -0,0 +1,24 @@ +{ + "printWidth": 120, + "tabWidth": 2, + "singleQuote": true, + "trailingComma": "none", + "semi": false, + "wrap_line_length": 120, + "wrap_attributes": "auto", + "proseWrap": "always", + "arrowParens": "avoid", + "bracketSpacing": true, + "jsxBracketSameLine": true, + "useTabs": false, + "eslintIntegration":true, + "overrides": [ + { + "files": ".prettierrc", + "options": { + "parser": "json" + } + } + ], + "endOfLine": "auto" +} diff --git a/README.md b/README.md index 69c0e4ef1f2a895ff6441e6cd256720a85ec7210..c9526efe41f7781883aaaf4904b7cf0fb3af4c27 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,102 @@ -# vant-vue移动端脚手架 + +#### 开发说明 -#### 介绍 -基于vant的vue移动端脚手架 +--- -#### 软件架构 -软件架构说明 +##### 项目目录 +``` +├── public ------------------------------ 静态文件夹 +| ├── images --------------------------- 静态图片 +| ├── lib ------------------------------ 工具库 +| ├── static --------------------------- 第三方页面 +| ├── extraConfig.json ----------------- 部署配置项 +| └── index.html ----------------------- index.html +├── node_modules ------------------------ 依赖 +├── src --------------------------------- 开发目录 +| ├── assets --------------------------- 资源目录 +| | ├── config ------------------------ 项目插件配置 +| | ├── images ------------------------ 图片(无需动态替换) +| | └── css --------------------------- 共用样式 +| ├── components ----------------------- 组件库 +| | ├── layouts ----------------------- 布局 +| | | ├── index.vue ------------------ 整体布局 +| | └── xxx.vue ----------------------- 其他组件 +| ├── store ---------------------------- vuex配置 +| ├── utils ---------------------------- 公共方法 +| ├── plugins -------------------------- vant插件按需全局引入 +| ├── filers --------------------------- filers +| ├── router --------------------------- vue-router +| | └── modules +| | └── index.js +| ├── services ------------------------- 接口 +| | ├── Callback.js ------------------- 统一接口回调 +| | ├── xx.js ------------------------- 各种api +| ├── views ---------------------------- 业务视图(按模块命名) +| ├── App.vue +| └── main.js +├── .env -------------------------------- 本地环境变量配置 +├── .eslintrc.js ------------------------ eslint配置 +├── .eslintignore ----------------------- eslint忽略文件 +├── .gitgnore --------------------------- git忽略文件 +├── .postcssrc.js ----------------------- rem适配配置 +├── .prettierrc ------------------------- pettier规则 +├── .babel.config.js -------------------- babel配置 +├── yarn.lock --------------------------- yarn依赖版本锁定文件 +├── package-lock.json ------------------- npm依赖版本锁定文件 +├── package.json +├── vue.config.js ----------------------- webpack配置 +└── README.md +``` -#### 安装教程 +##### 环境变量配置说明 -1. xxxx -2. xxxx -3. xxxx -#### 使用说明 +``` +VUE_APP_DEBUG=true // 调试模式配置,生产环境设为false +VUE_APP_API_SERVER= // 接口地址 +... +``` -1. xxxx -2. xxxx -3. xxxx +_注意:环境变量配置的增删改由前端团队评审确定之后方可使用,切勿私自添加,通过之后同步至运维团队,避免部署因环境变量信息不对称发生问题_ -#### 参与贡献 +##### extraconfig 部署配置 -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request +``` +// json format +{ + "VUE_APP_SERVER":"" +} +``` +_注意:检查运维部署至现场的配置文件格式,避免因格式问题造成低级错误_ -#### 特技 +#### 开始开发 + +##### git 拉取 + + +1. 开发分支: dev +2. 自己的分支: 例如 yourname/dev +3. 合并流程: 获取主开发分支 dev、将 主开发分支 dev 合并到自己的 dev +4. 提交流程:提交自己的 dev、到 git 网页提交合并申请 +5. 注意:每次改自己代码之前,先将 主分支 dev 拉取合并,不然冲突太多 + +##### 本地项目启动 + +``` +1. yarn install +2. yarn serve:dev +``` + +##### vuex + +默认使用 vuex-persistedstate 进行持久化存储 -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000000000000000000000000000000000000..fc13e173e4b966e2a40748a789bb52308c0b010a --- /dev/null +++ b/babel.config.js @@ -0,0 +1,22 @@ +// 获取 VUE_APP_ENV 非 NODE_ENV,测试环境依然 console +const IS_PROD = ['production', 'prod'].includes(process.env.VUE_APP_ENV) +const plugins = [ + [ + 'import', + { + libraryName: 'vant', + libraryDirectory: 'es', + style: true + }, + 'vant' + ] +] +// 去除 console.log +if (IS_PROD) { + plugins.push('transform-remove-console') +} + +module.exports = { + presets: [['@vue/cli-plugin-babel/preset', { useBuiltIns: 'usage', corejs: 3 }]], + plugins +} diff --git a/package.json b/package.json new file mode 100644 index 0000000000000000000000000000000000000000..8246cbb07c7c7ce7863e98589d2856e4af7a625e --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "vue-h5-template", + "version": "2.1.0", + "description": "A vue h5 template with Vant UI", + "author": "Sunnie ", + "private": true, + "scripts": { + "serve:dev": "vue-cli-service serve --open", + "build": "vue-cli-service build", + "stage": "vue-cli-service build --mode staging", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "await-to-js": "2.1.1", + "core-js": "^3.6.4", + "eruda": "^2.4.1", + "lib-flexible": "^0.3.2", + "qs": "6.7.0", + "regenerator-runtime": "^0.13.5", + "vant": "^2.10.2", + "vue": "^2.6.11", + "vuex-persistedstate": "3.0.1" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-eslint": "~4.5.0", + "@vue/cli-plugin-router": "~4.5.0", + "@vue/cli-plugin-vuex": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "babel-eslint": "^10.1.0", + "babel-plugin-import": "^1.13.0", + "babel-plugin-transform-remove-console": "^6.9.4", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^6.2.2", + "node-sass": "^4.14.1", + "postcss-pxtorem": "^5.1.1", + "sass-loader": "^8.0.2", + "script-ext-html-webpack-plugin": "^2.1.4", + "vue-template-compiler": "^2.6.11", + "webpack-bundle-analyzer": "^3.8.0" + } +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000000000000000000000000000000000000..3cca26bd2895388d1d605901433335ccfc574a6a --- /dev/null +++ b/public/index.html @@ -0,0 +1,34 @@ + + + + + + + + + <%= webpackConfig.name %> + + + +
+ + + + + + + + + + + + diff --git a/public/lib/axios.min.js b/public/lib/axios.min.js new file mode 100644 index 0000000000000000000000000000000000000000..69cc188e4fab53d3e1fb4868b5349a51cda99f7f --- /dev/null +++ b/public/lib/axios.min.js @@ -0,0 +1,9 @@ +/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(5),u=n(6),a=r(u);a.Axios=s,a.create=function(e){return r(o.merge(u,e))},a.Cancel=n(23),a.CancelToken=n(24),a.isCancel=n(20),a.all=function(e){return Promise.all(e)},a.spread=n(25),e.exports=a,e.exports.default=a},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"[object ArrayBuffer]"===R.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===R.call(e)}function d(e){return"[object File]"===R.call(e)}function l(e){return"[object Blob]"===R.call(e)}function h(e){return"[object Function]"===R.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n + * @license MIT + */ +e.exports=function(e){return null!=e&&(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(6),i=n(2),s=n(17),u=n(18);r.prototype.request=function(e){"string"==typeof e&&(e=i.merge({url:arguments[0]},arguments[1])),e=i.merge(o,{method:"get"},this.defaults,e),e.method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(8):"undefined"!=typeof process&&(e=n(8)),e}var i=n(2),s=n(7),u={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:o(),transformRequest:[function(e,t){return s(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){a.headers[e]={}}),i.forEach(["post","put","patch"],function(e){a.headers[e]=i.merge(u)}),e.exports=a},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(9),i=n(12),s=n(13),u=n(14),a=n(10),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";d.Authorization="Basic "+c(y+":"+w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?s(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onerror=function(){f(a("Network Error",e,null,l)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=n(16),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),f(e),l=null)}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,o,i){var s=new Error(e);return r(s,t,n,o,i)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}return i&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,s={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?s[t]=(s[t]?s[t]:[]).concat([n]):s[t]=s[t]?s[t]+", "+n:n}}),s):s}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}function r(e){for(var t,r,i=String(e),s="",u=0,a=o;i.charAt(0|u)||(a="=",u%1);s+=a.charAt(63&t>>8-u%1*8)){if(r=i.charCodeAt(u+=.75),r>255)throw new n;t=t<<8|r}return s}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),s===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),i=n(19),s=n(20),u=n(6),a=n(21),c=n(22);e.exports=function(e){r(e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||u.adapter;return t(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); +//# sourceMappingURL=axios.min.map \ No newline at end of file diff --git a/public/lib/dayjs.min.js b/public/lib/dayjs.min.js new file mode 100644 index 0000000000000000000000000000000000000000..e69a49106c2ba331580da9f67622ffbdfd024d2e --- /dev/null +++ b/public/lib/dayjs.min.js @@ -0,0 +1,380 @@ +!(function (t, n) { + 'object' == typeof exports && 'undefined' != typeof module + ? (module.exports = n()) + : 'function' == typeof define && define.amd + ? define(n) + : (t.dayjs = n()) +})(this, function () { + 'use strict' + var t = 'millisecond', + n = 'second', + e = 'minute', + r = 'hour', + i = 'day', + s = 'week', + u = 'month', + o = 'quarter', + a = 'year', + h = /^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/, + f = /\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, + c = function (t, n, e) { + var r = String(t) + return !r || r.length >= n ? t : '' + Array(n + 1 - r.length).join(e) + t + }, + d = { + s: c, + z: function (t) { + var n = -t.utcOffset(), + e = Math.abs(n), + r = Math.floor(e / 60), + i = e % 60 + return (n <= 0 ? '+' : '-') + c(r, 2, '0') + ':' + c(i, 2, '0') + }, + m: function (t, n) { + var e = 12 * (n.year() - t.year()) + (n.month() - t.month()), + r = t.clone().add(e, u), + i = n - r < 0, + s = t.clone().add(e + (i ? -1 : 1), u) + return Number(-(e + (n - r) / (i ? r - s : s - r)) || 0) + }, + a: function (t) { + return t < 0 ? Math.ceil(t) || 0 : Math.floor(t) + }, + p: function (h) { + return ( + { M: u, y: a, w: s, d: i, D: 'date', h: r, m: e, s: n, ms: t, Q: o }[h] || + String(h || '') + .toLowerCase() + .replace(/s$/, '') + ) + }, + u: function (t) { + return void 0 === t + } + }, + $ = { + name: 'en', + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_') + }, + l = 'en', + m = {} + m[l] = $ + var y = function (t) { + return t instanceof v + }, + M = function (t, n, e) { + var r + if (!t) return l + if ('string' == typeof t) m[t] && (r = t), n && ((m[t] = n), (r = t)) + else { + var i = t.name + ;(m[i] = t), (r = i) + } + return e || (l = r), r + }, + g = function (t, n, e) { + if (y(t)) return t.clone() + var r = n ? ('string' == typeof n ? { format: n, pl: e } : n) : {} + return (r.date = t), new v(r) + }, + D = d + ;(D.l = M), + (D.i = y), + (D.w = function (t, n) { + return g(t, { locale: n.$L, utc: n.$u, $offset: n.$offset }) + }) + var v = (function () { + function c(t) { + ;(this.$L = this.$L || M(t.locale, null, !0)), this.parse(t) + } + var d = c.prototype + return ( + (d.parse = function (t) { + ;(this.$d = (function (t) { + var n = t.date, + e = t.utc + if (null === n) return new Date(NaN) + if (D.u(n)) return new Date() + if (n instanceof Date) return new Date(n) + if ('string' == typeof n && !/Z$/i.test(n)) { + var r = n.match(h) + if (r) + return e + ? new Date(Date.UTC(r[1], r[2] - 1, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, r[7] || 0)) + : new Date(r[1], r[2] - 1, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, r[7] || 0) + } + return new Date(n) + })(t)), + this.init() + }), + (d.init = function () { + var t = this.$d + ;(this.$y = t.getFullYear()), + (this.$M = t.getMonth()), + (this.$D = t.getDate()), + (this.$W = t.getDay()), + (this.$H = t.getHours()), + (this.$m = t.getMinutes()), + (this.$s = t.getSeconds()), + (this.$ms = t.getMilliseconds()) + }), + (d.$utils = function () { + return D + }), + (d.isValid = function () { + return !('Invalid Date' === this.$d.toString()) + }), + (d.isSame = function (t, n) { + var e = g(t) + return this.startOf(n) <= e && e <= this.endOf(n) + }), + (d.isAfter = function (t, n) { + return g(t) < this.startOf(n) + }), + (d.isBefore = function (t, n) { + return this.endOf(n) < g(t) + }), + (d.$g = function (t, n, e) { + return D.u(t) ? this[n] : this.set(e, t) + }), + (d.year = function (t) { + return this.$g(t, '$y', a) + }), + (d.month = function (t) { + return this.$g(t, '$M', u) + }), + (d.day = function (t) { + return this.$g(t, '$W', i) + }), + (d.date = function (t) { + return this.$g(t, '$D', 'date') + }), + (d.hour = function (t) { + return this.$g(t, '$H', r) + }), + (d.minute = function (t) { + return this.$g(t, '$m', e) + }), + (d.second = function (t) { + return this.$g(t, '$s', n) + }), + (d.millisecond = function (n) { + return this.$g(n, '$ms', t) + }), + (d.unix = function () { + return Math.floor(this.valueOf() / 1e3) + }), + (d.valueOf = function () { + return this.$d.getTime() + }), + (d.startOf = function (t, o) { + var h = this, + f = !!D.u(o) || o, + c = D.p(t), + d = function (t, n) { + var e = D.w(h.$u ? Date.UTC(h.$y, n, t) : new Date(h.$y, n, t), h) + return f ? e : e.endOf(i) + }, + $ = function (t, n) { + return D.w(h.toDate()[t].apply(h.toDate(), (f ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(n)), h) + }, + l = this.$W, + m = this.$M, + y = this.$D, + M = 'set' + (this.$u ? 'UTC' : '') + switch (c) { + case a: + return f ? d(1, 0) : d(31, 11) + case u: + return f ? d(1, m) : d(0, m + 1) + case s: + var g = this.$locale().weekStart || 0, + v = (l < g ? l + 7 : l) - g + return d(f ? y - v : y + (6 - v), m) + case i: + case 'date': + return $(M + 'Hours', 0) + case r: + return $(M + 'Minutes', 1) + case e: + return $(M + 'Seconds', 2) + case n: + return $(M + 'Milliseconds', 3) + default: + return this.clone() + } + }), + (d.endOf = function (t) { + return this.startOf(t, !1) + }), + (d.$set = function (s, o) { + var h, + f = D.p(s), + c = 'set' + (this.$u ? 'UTC' : ''), + d = ((h = {}), + (h[i] = c + 'Date'), + (h.date = c + 'Date'), + (h[u] = c + 'Month'), + (h[a] = c + 'FullYear'), + (h[r] = c + 'Hours'), + (h[e] = c + 'Minutes'), + (h[n] = c + 'Seconds'), + (h[t] = c + 'Milliseconds'), + h)[f], + $ = f === i ? this.$D + (o - this.$W) : o + if (f === u || f === a) { + var l = this.clone().set('date', 1) + l.$d[d]($), l.init(), (this.$d = l.set('date', Math.min(this.$D, l.daysInMonth())).toDate()) + } else d && this.$d[d]($) + return this.init(), this + }), + (d.set = function (t, n) { + return this.clone().$set(t, n) + }), + (d.get = function (t) { + return this[D.p(t)]() + }), + (d.add = function (t, o) { + var h, + f = this + t = Number(t) + var c = D.p(o), + d = function (n) { + var e = g(f) + return D.w(e.date(e.date() + Math.round(n * t)), f) + } + if (c === u) return this.set(u, this.$M + t) + if (c === a) return this.set(a, this.$y + t) + if (c === i) return d(1) + if (c === s) return d(7) + var $ = ((h = {}), (h[e] = 6e4), (h[r] = 36e5), (h[n] = 1e3), h)[c] || 1, + l = this.$d.getTime() + t * $ + return D.w(l, this) + }), + (d.subtract = function (t, n) { + return this.add(-1 * t, n) + }), + (d.format = function (t) { + var n = this + if (!this.isValid()) return 'Invalid Date' + var e = t || 'YYYY-MM-DDTHH:mm:ssZ', + r = D.z(this), + i = this.$locale(), + s = this.$H, + u = this.$m, + o = this.$M, + a = i.weekdays, + h = i.months, + c = function (t, r, i, s) { + return (t && (t[r] || t(n, e))) || i[r].substr(0, s) + }, + d = function (t) { + return D.s(s % 12 || 12, t, '0') + }, + $ = + i.meridiem || + function (t, n, e) { + var r = t < 12 ? 'AM' : 'PM' + return e ? r.toLowerCase() : r + }, + l = { + YY: String(this.$y).slice(-2), + YYYY: this.$y, + M: o + 1, + MM: D.s(o + 1, 2, '0'), + MMM: c(i.monthsShort, o, h, 3), + MMMM: h[o] || h(this, e), + D: this.$D, + DD: D.s(this.$D, 2, '0'), + d: String(this.$W), + dd: c(i.weekdaysMin, this.$W, a, 2), + ddd: c(i.weekdaysShort, this.$W, a, 3), + dddd: a[this.$W], + H: String(s), + HH: D.s(s, 2, '0'), + h: d(1), + hh: d(2), + a: $(s, u, !0), + A: $(s, u, !1), + m: String(u), + mm: D.s(u, 2, '0'), + s: String(this.$s), + ss: D.s(this.$s, 2, '0'), + SSS: D.s(this.$ms, 3, '0'), + Z: r + } + return e.replace(f, function (t, n) { + return n || l[t] || r.replace(':', '') + }) + }), + (d.utcOffset = function () { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15) + }), + (d.diff = function (t, h, f) { + var c, + d = D.p(h), + $ = g(t), + l = 6e4 * ($.utcOffset() - this.utcOffset()), + m = this - $, + y = D.m(this, $) + return ( + (y = + ((c = {}), + (c[a] = y / 12), + (c[u] = y), + (c[o] = y / 3), + (c[s] = (m - l) / 6048e5), + (c[i] = (m - l) / 864e5), + (c[r] = m / 36e5), + (c[e] = m / 6e4), + (c[n] = m / 1e3), + c)[d] || m), + f ? y : D.a(y) + ) + }), + (d.daysInMonth = function () { + return this.endOf(u).$D + }), + (d.$locale = function () { + return m[this.$L] + }), + (d.locale = function (t, n) { + if (!t) return this.$L + var e = this.clone(), + r = M(t, n, !0) + return r && (e.$L = r), e + }), + (d.clone = function () { + return D.w(this.$d, this) + }), + (d.toDate = function () { + return new Date(this.valueOf()) + }), + (d.toJSON = function () { + return this.isValid() ? this.toISOString() : null + }), + (d.toISOString = function () { + return this.$d.toISOString() + }), + (d.toString = function () { + return this.$d.toUTCString() + }), + c + ) + })() + return ( + (g.prototype = v.prototype), + (g.extend = function (t, n) { + return t(n, v, g), g + }), + (g.locale = M), + (g.isDayjs = y), + (g.unix = function (t) { + return g(1e3 * t) + }), + (g.en = m[l]), + (g.Ls = m), + g + ) +}) diff --git a/public/lib/localforage.min.js b/public/lib/localforage.min.js new file mode 100644 index 0000000000000000000000000000000000000000..13de363247bab0370edf8ba3b1dd3052e9fbf91b --- /dev/null +++ b/public/lib/localforage.min.js @@ -0,0 +1,1860 @@ +/*! + localForage -- Offline Storage, Improved + Version 1.7.3 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 2.0 +*/ +!(function (a) { + if ('object' == typeof exports && 'undefined' != typeof module) module.exports = a() + else if ('function' == typeof define && define.amd) define([], a) + else { + var b + ;(b = + 'undefined' != typeof window + ? window + : 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : this), + (b.localforage = a()) + } +})(function () { + return (function a(b, c, d) { + function e(g, h) { + if (!c[g]) { + if (!b[g]) { + var i = 'function' == typeof require && require + if (!h && i) return i(g, !0) + if (f) return f(g, !0) + var j = new Error("Cannot find module '" + g + "'") + throw ((j.code = 'MODULE_NOT_FOUND'), j) + } + var k = (c[g] = { exports: {} }) + b[g][0].call( + k.exports, + function (a) { + var c = b[g][1][a] + return e(c || a) + }, + k, + k.exports, + a, + b, + c, + d + ) + } + return c[g].exports + } + for (var f = 'function' == typeof require && require, g = 0; g < d.length; g++) e(d[g]) + return e + })( + { + 1: [ + function (a, b, c) { + ;(function (a) { + 'use strict' + function c() { + k = !0 + for (var a, b, c = l.length; c; ) { + for (b = l, l = [], a = -1; ++a < c; ) b[a]() + c = l.length + } + k = !1 + } + function d(a) { + 1 !== l.push(a) || k || e() + } + var e, + f = a.MutationObserver || a.WebKitMutationObserver + if (f) { + var g = 0, + h = new f(c), + i = a.document.createTextNode('') + h.observe(i, { characterData: !0 }), + (e = function () { + i.data = g = ++g % 2 + }) + } else if (a.setImmediate || void 0 === a.MessageChannel) + e = + 'document' in a && 'onreadystatechange' in a.document.createElement('script') + ? function () { + var b = a.document.createElement('script') + ;(b.onreadystatechange = function () { + c(), (b.onreadystatechange = null), b.parentNode.removeChild(b), (b = null) + }), + a.document.documentElement.appendChild(b) + } + : function () { + setTimeout(c, 0) + } + else { + var j = new a.MessageChannel() + ;(j.port1.onmessage = c), + (e = function () { + j.port2.postMessage(0) + }) + } + var k, + l = [] + b.exports = d + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )) + }, + {} + ], + 2: [ + function (a, b, c) { + 'use strict' + function d() {} + function e(a) { + if ('function' != typeof a) throw new TypeError('resolver must be a function') + ;(this.state = s), (this.queue = []), (this.outcome = void 0), a !== d && i(this, a) + } + function f(a, b, c) { + ;(this.promise = a), + 'function' == typeof b && ((this.onFulfilled = b), (this.callFulfilled = this.otherCallFulfilled)), + 'function' == typeof c && ((this.onRejected = c), (this.callRejected = this.otherCallRejected)) + } + function g(a, b, c) { + o(function () { + var d + try { + d = b(c) + } catch (b) { + return p.reject(a, b) + } + d === a ? p.reject(a, new TypeError('Cannot resolve promise with itself')) : p.resolve(a, d) + }) + } + function h(a) { + var b = a && a.then + if (a && ('object' == typeof a || 'function' == typeof a) && 'function' == typeof b) + return function () { + b.apply(a, arguments) + } + } + function i(a, b) { + function c(b) { + f || ((f = !0), p.reject(a, b)) + } + function d(b) { + f || ((f = !0), p.resolve(a, b)) + } + function e() { + b(d, c) + } + var f = !1, + g = j(e) + 'error' === g.status && c(g.value) + } + function j(a, b) { + var c = {} + try { + ;(c.value = a(b)), (c.status = 'success') + } catch (a) { + ;(c.status = 'error'), (c.value = a) + } + return c + } + function k(a) { + return a instanceof this ? a : p.resolve(new this(d), a) + } + function l(a) { + var b = new this(d) + return p.reject(b, a) + } + function m(a) { + function b(a, b) { + function d(a) { + ;(g[b] = a), ++h !== e || f || ((f = !0), p.resolve(j, g)) + } + c.resolve(a).then(d, function (a) { + f || ((f = !0), p.reject(j, a)) + }) + } + var c = this + if ('[object Array]' !== Object.prototype.toString.call(a)) + return this.reject(new TypeError('must be an array')) + var e = a.length, + f = !1 + if (!e) return this.resolve([]) + for (var g = new Array(e), h = 0, i = -1, j = new this(d); ++i < e; ) b(a[i], i) + return j + } + function n(a) { + function b(a) { + c.resolve(a).then( + function (a) { + f || ((f = !0), p.resolve(h, a)) + }, + function (a) { + f || ((f = !0), p.reject(h, a)) + } + ) + } + var c = this + if ('[object Array]' !== Object.prototype.toString.call(a)) + return this.reject(new TypeError('must be an array')) + var e = a.length, + f = !1 + if (!e) return this.resolve([]) + for (var g = -1, h = new this(d); ++g < e; ) b(a[g]) + return h + } + var o = a(1), + p = {}, + q = ['REJECTED'], + r = ['FULFILLED'], + s = ['PENDING'] + ;(b.exports = e), + (e.prototype.catch = function (a) { + return this.then(null, a) + }), + (e.prototype.then = function (a, b) { + if (('function' != typeof a && this.state === r) || ('function' != typeof b && this.state === q)) + return this + var c = new this.constructor(d) + if (this.state !== s) { + g(c, this.state === r ? a : b, this.outcome) + } else this.queue.push(new f(c, a, b)) + return c + }), + (f.prototype.callFulfilled = function (a) { + p.resolve(this.promise, a) + }), + (f.prototype.otherCallFulfilled = function (a) { + g(this.promise, this.onFulfilled, a) + }), + (f.prototype.callRejected = function (a) { + p.reject(this.promise, a) + }), + (f.prototype.otherCallRejected = function (a) { + g(this.promise, this.onRejected, a) + }), + (p.resolve = function (a, b) { + var c = j(h, b) + if ('error' === c.status) return p.reject(a, c.value) + var d = c.value + if (d) i(a, d) + else { + ;(a.state = r), (a.outcome = b) + for (var e = -1, f = a.queue.length; ++e < f; ) a.queue[e].callFulfilled(b) + } + return a + }), + (p.reject = function (a, b) { + ;(a.state = q), (a.outcome = b) + for (var c = -1, d = a.queue.length; ++c < d; ) a.queue[c].callRejected(b) + return a + }), + (e.resolve = k), + (e.reject = l), + (e.all = m), + (e.race = n) + }, + { 1: 1 } + ], + 3: [ + function (a, b, c) { + ;(function (b) { + 'use strict' + 'function' != typeof b.Promise && (b.Promise = a(2)) + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )) + }, + { 2: 2 } + ], + 4: [ + function (a, b, c) { + 'use strict' + function d(a, b) { + if (!(a instanceof b)) throw new TypeError('Cannot call a class as a function') + } + function e() { + try { + if ('undefined' != typeof indexedDB) return indexedDB + if ('undefined' != typeof webkitIndexedDB) return webkitIndexedDB + if ('undefined' != typeof mozIndexedDB) return mozIndexedDB + if ('undefined' != typeof OIndexedDB) return OIndexedDB + if ('undefined' != typeof msIndexedDB) return msIndexedDB + } catch (a) { + return + } + } + function f() { + try { + if (!ua) return !1 + var a = + 'undefined' != typeof openDatabase && + /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && + !/Chrome/.test(navigator.userAgent) && + !/BlackBerry/.test(navigator.platform), + b = 'function' == typeof fetch && -1 !== fetch.toString().indexOf('[native code') + return (!a || b) && 'undefined' != typeof indexedDB && 'undefined' != typeof IDBKeyRange + } catch (a) { + return !1 + } + } + function g(a, b) { + ;(a = a || []), (b = b || {}) + try { + return new Blob(a, b) + } catch (f) { + if ('TypeError' !== f.name) throw f + for ( + var c = + 'undefined' != typeof BlobBuilder + ? BlobBuilder + : 'undefined' != typeof MSBlobBuilder + ? MSBlobBuilder + : 'undefined' != typeof MozBlobBuilder + ? MozBlobBuilder + : WebKitBlobBuilder, + d = new c(), + e = 0; + e < a.length; + e += 1 + ) + d.append(a[e]) + return d.getBlob(b.type) + } + } + function h(a, b) { + b && + a.then( + function (a) { + b(null, a) + }, + function (a) { + b(a) + } + ) + } + function i(a, b, c) { + 'function' == typeof b && a.then(b), 'function' == typeof c && a.catch(c) + } + function j(a) { + return ( + 'string' != typeof a && (console.warn(a + ' used as a key, but it is not a string.'), (a = String(a))), a + ) + } + function k() { + if (arguments.length && 'function' == typeof arguments[arguments.length - 1]) + return arguments[arguments.length - 1] + } + function l(a) { + for (var b = a.length, c = new ArrayBuffer(b), d = new Uint8Array(c), e = 0; e < b; e++) + d[e] = a.charCodeAt(e) + return c + } + function m(a) { + return new va(function (b) { + var c = a.transaction(wa, Ba), + d = g(['']) + c.objectStore(wa).put(d, 'key'), + (c.onabort = function (a) { + a.preventDefault(), a.stopPropagation(), b(!1) + }), + (c.oncomplete = function () { + var a = navigator.userAgent.match(/Chrome\/(\d+)/), + c = navigator.userAgent.match(/Edge\//) + b(c || !a || parseInt(a[1], 10) >= 43) + }) + }).catch(function () { + return !1 + }) + } + function n(a) { + return 'boolean' == typeof xa + ? va.resolve(xa) + : m(a).then(function (a) { + return (xa = a) + }) + } + function o(a) { + var b = ya[a.name], + c = {} + ;(c.promise = new va(function (a, b) { + ;(c.resolve = a), (c.reject = b) + })), + b.deferredOperations.push(c), + b.dbReady + ? (b.dbReady = b.dbReady.then(function () { + return c.promise + })) + : (b.dbReady = c.promise) + } + function p(a) { + var b = ya[a.name], + c = b.deferredOperations.pop() + if (c) return c.resolve(), c.promise + } + function q(a, b) { + var c = ya[a.name], + d = c.deferredOperations.pop() + if (d) return d.reject(b), d.promise + } + function r(a, b) { + return new va(function (c, d) { + if (((ya[a.name] = ya[a.name] || B()), a.db)) { + if (!b) return c(a.db) + o(a), a.db.close() + } + var e = [a.name] + b && e.push(a.version) + var f = ua.open.apply(ua, e) + b && + (f.onupgradeneeded = function (b) { + var c = f.result + try { + c.createObjectStore(a.storeName), b.oldVersion <= 1 && c.createObjectStore(wa) + } catch (c) { + if ('ConstraintError' !== c.name) throw c + console.warn( + 'The database "' + + a.name + + '" has been upgraded from version ' + + b.oldVersion + + ' to version ' + + b.newVersion + + ', but the storage "' + + a.storeName + + '" already exists.' + ) + } + }), + (f.onerror = function (a) { + a.preventDefault(), d(f.error) + }), + (f.onsuccess = function () { + c(f.result), p(a) + }) + }) + } + function s(a) { + return r(a, !1) + } + function t(a) { + return r(a, !0) + } + function u(a, b) { + if (!a.db) return !0 + var c = !a.db.objectStoreNames.contains(a.storeName), + d = a.version < a.db.version, + e = a.version > a.db.version + if ( + (d && + (a.version !== b && + console.warn( + 'The database "' + + a.name + + '" can\'t be downgraded from version ' + + a.db.version + + ' to version ' + + a.version + + '.' + ), + (a.version = a.db.version)), + e || c) + ) { + if (c) { + var f = a.db.version + 1 + f > a.version && (a.version = f) + } + return !0 + } + return !1 + } + function v(a) { + return new va(function (b, c) { + var d = new FileReader() + ;(d.onerror = c), + (d.onloadend = function (c) { + var d = btoa(c.target.result || '') + b({ __local_forage_encoded_blob: !0, data: d, type: a.type }) + }), + d.readAsBinaryString(a) + }) + } + function w(a) { + return g([l(atob(a.data))], { type: a.type }) + } + function x(a) { + return a && a.__local_forage_encoded_blob + } + function y(a) { + var b = this, + c = b._initReady().then(function () { + var a = ya[b._dbInfo.name] + if (a && a.dbReady) return a.dbReady + }) + return i(c, a, a), c + } + function z(a) { + o(a) + for (var b = ya[a.name], c = b.forages, d = 0; d < c.length; d++) { + var e = c[d] + e._dbInfo.db && (e._dbInfo.db.close(), (e._dbInfo.db = null)) + } + return ( + (a.db = null), + s(a) + .then(function (b) { + return (a.db = b), u(a) ? t(a) : b + }) + .then(function (d) { + a.db = b.db = d + for (var e = 0; e < c.length; e++) c[e]._dbInfo.db = d + }) + .catch(function (b) { + throw (q(a, b), b) + }) + ) + } + function A(a, b, c, d) { + void 0 === d && (d = 1) + try { + var e = a.db.transaction(a.storeName, b) + c(null, e) + } catch (e) { + if (d > 0 && (!a.db || 'InvalidStateError' === e.name || 'NotFoundError' === e.name)) + return va + .resolve() + .then(function () { + if ( + !a.db || + ('NotFoundError' === e.name && + !a.db.objectStoreNames.contains(a.storeName) && + a.version <= a.db.version) + ) + return a.db && (a.version = a.db.version + 1), t(a) + }) + .then(function () { + return z(a).then(function () { + A(a, b, c, d - 1) + }) + }) + .catch(c) + c(e) + } + } + function B() { + return { forages: [], db: null, dbReady: null, deferredOperations: [] } + } + function C(a) { + function b() { + return va.resolve() + } + var c = this, + d = { db: null } + if (a) for (var e in a) d[e] = a[e] + var f = ya[d.name] + f || ((f = B()), (ya[d.name] = f)), + f.forages.push(c), + c._initReady || ((c._initReady = c.ready), (c.ready = y)) + for (var g = [], h = 0; h < f.forages.length; h++) { + var i = f.forages[h] + i !== c && g.push(i._initReady().catch(b)) + } + var j = f.forages.slice(0) + return va + .all(g) + .then(function () { + return (d.db = f.db), s(d) + }) + .then(function (a) { + return (d.db = a), u(d, c._defaultConfig.version) ? t(d) : a + }) + .then(function (a) { + ;(d.db = f.db = a), (c._dbInfo = d) + for (var b = 0; b < j.length; b++) { + var e = j[b] + e !== c && ((e._dbInfo.db = d.db), (e._dbInfo.version = d.version)) + } + }) + } + function D(a, b) { + var c = this + a = j(a) + var d = new va(function (b, d) { + c.ready() + .then(function () { + A(c._dbInfo, Aa, function (e, f) { + if (e) return d(e) + try { + var g = f.objectStore(c._dbInfo.storeName), + h = g.get(a) + ;(h.onsuccess = function () { + var a = h.result + void 0 === a && (a = null), x(a) && (a = w(a)), b(a) + }), + (h.onerror = function () { + d(h.error) + }) + } catch (a) { + d(a) + } + }) + }) + .catch(d) + }) + return h(d, b), d + } + function E(a, b) { + var c = this, + d = new va(function (b, d) { + c.ready() + .then(function () { + A(c._dbInfo, Aa, function (e, f) { + if (e) return d(e) + try { + var g = f.objectStore(c._dbInfo.storeName), + h = g.openCursor(), + i = 1 + ;(h.onsuccess = function () { + var c = h.result + if (c) { + var d = c.value + x(d) && (d = w(d)) + var e = a(d, c.key, i++) + void 0 !== e ? b(e) : c.continue() + } else b() + }), + (h.onerror = function () { + d(h.error) + }) + } catch (a) { + d(a) + } + }) + }) + .catch(d) + }) + return h(d, b), d + } + function F(a, b, c) { + var d = this + a = j(a) + var e = new va(function (c, e) { + var f + d.ready() + .then(function () { + return ( + (f = d._dbInfo), + '[object Blob]' === za.call(b) + ? n(f.db).then(function (a) { + return a ? b : v(b) + }) + : b + ) + }) + .then(function (b) { + A(d._dbInfo, Ba, function (f, g) { + if (f) return e(f) + try { + var h = g.objectStore(d._dbInfo.storeName) + null === b && (b = void 0) + var i = h.put(b, a) + ;(g.oncomplete = function () { + void 0 === b && (b = null), c(b) + }), + (g.onabort = g.onerror = function () { + var a = i.error ? i.error : i.transaction.error + e(a) + }) + } catch (a) { + e(a) + } + }) + }) + .catch(e) + }) + return h(e, c), e + } + function G(a, b) { + var c = this + a = j(a) + var d = new va(function (b, d) { + c.ready() + .then(function () { + A(c._dbInfo, Ba, function (e, f) { + if (e) return d(e) + try { + var g = f.objectStore(c._dbInfo.storeName), + h = g.delete(a) + ;(f.oncomplete = function () { + b() + }), + (f.onerror = function () { + d(h.error) + }), + (f.onabort = function () { + var a = h.error ? h.error : h.transaction.error + d(a) + }) + } catch (a) { + d(a) + } + }) + }) + .catch(d) + }) + return h(d, b), d + } + function H(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + A(b._dbInfo, Ba, function (d, e) { + if (d) return c(d) + try { + var f = e.objectStore(b._dbInfo.storeName), + g = f.clear() + ;(e.oncomplete = function () { + a() + }), + (e.onabort = e.onerror = function () { + var a = g.error ? g.error : g.transaction.error + c(a) + }) + } catch (a) { + c(a) + } + }) + }) + .catch(c) + }) + return h(c, a), c + } + function I(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + A(b._dbInfo, Aa, function (d, e) { + if (d) return c(d) + try { + var f = e.objectStore(b._dbInfo.storeName), + g = f.count() + ;(g.onsuccess = function () { + a(g.result) + }), + (g.onerror = function () { + c(g.error) + }) + } catch (a) { + c(a) + } + }) + }) + .catch(c) + }) + return h(c, a), c + } + function J(a, b) { + var c = this, + d = new va(function (b, d) { + if (a < 0) return void b(null) + c.ready() + .then(function () { + A(c._dbInfo, Aa, function (e, f) { + if (e) return d(e) + try { + var g = f.objectStore(c._dbInfo.storeName), + h = !1, + i = g.openCursor() + ;(i.onsuccess = function () { + var c = i.result + if (!c) return void b(null) + 0 === a ? b(c.key) : h ? b(c.key) : ((h = !0), c.advance(a)) + }), + (i.onerror = function () { + d(i.error) + }) + } catch (a) { + d(a) + } + }) + }) + .catch(d) + }) + return h(d, b), d + } + function K(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + A(b._dbInfo, Aa, function (d, e) { + if (d) return c(d) + try { + var f = e.objectStore(b._dbInfo.storeName), + g = f.openCursor(), + h = [] + ;(g.onsuccess = function () { + var b = g.result + if (!b) return void a(h) + h.push(b.key), b.continue() + }), + (g.onerror = function () { + c(g.error) + }) + } catch (a) { + c(a) + } + }) + }) + .catch(c) + }) + return h(c, a), c + } + function L(a, b) { + b = k.apply(this, arguments) + var c = this.config() + ;(a = ('function' != typeof a && a) || {}), + a.name || ((a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName)) + var d, + e = this + if (a.name) { + var f = a.name === c.name && e._dbInfo.db, + g = f + ? va.resolve(e._dbInfo.db) + : s(a).then(function (b) { + var c = ya[a.name], + d = c.forages + c.db = b + for (var e = 0; e < d.length; e++) d[e]._dbInfo.db = b + return b + }) + d = a.storeName + ? g.then(function (b) { + if (b.objectStoreNames.contains(a.storeName)) { + var c = b.version + 1 + o(a) + var d = ya[a.name], + e = d.forages + b.close() + for (var f = 0; f < e.length; f++) { + var g = e[f] + ;(g._dbInfo.db = null), (g._dbInfo.version = c) + } + return new va(function (b, d) { + var e = ua.open(a.name, c) + ;(e.onerror = function (a) { + e.result.close(), d(a) + }), + (e.onupgradeneeded = function () { + e.result.deleteObjectStore(a.storeName) + }), + (e.onsuccess = function () { + var a = e.result + a.close(), b(a) + }) + }) + .then(function (a) { + d.db = a + for (var b = 0; b < e.length; b++) { + var c = e[b] + ;(c._dbInfo.db = a), p(c._dbInfo) + } + }) + .catch(function (b) { + throw ((q(a, b) || va.resolve()).catch(function () {}), b) + }) + } + }) + : g.then(function (b) { + o(a) + var c = ya[a.name], + d = c.forages + b.close() + for (var e = 0; e < d.length; e++) { + d[e]._dbInfo.db = null + } + return new va(function (b, c) { + var d = ua.deleteDatabase(a.name) + ;(d.onerror = d.onblocked = function (a) { + var b = d.result + b && b.close(), c(a) + }), + (d.onsuccess = function () { + var a = d.result + a && a.close(), b(a) + }) + }) + .then(function (a) { + c.db = a + for (var b = 0; b < d.length; b++) p(d[b]._dbInfo) + }) + .catch(function (b) { + throw ((q(a, b) || va.resolve()).catch(function () {}), b) + }) + }) + } else d = va.reject('Invalid arguments') + return h(d, b), d + } + function M() { + return 'function' == typeof openDatabase + } + function N(a) { + var b, + c, + d, + e, + f, + g = 0.75 * a.length, + h = a.length, + i = 0 + '=' === a[a.length - 1] && (g--, '=' === a[a.length - 2] && g--) + var j = new ArrayBuffer(g), + k = new Uint8Array(j) + for (b = 0; b < h; b += 4) + (c = Da.indexOf(a[b])), + (d = Da.indexOf(a[b + 1])), + (e = Da.indexOf(a[b + 2])), + (f = Da.indexOf(a[b + 3])), + (k[i++] = (c << 2) | (d >> 4)), + (k[i++] = ((15 & d) << 4) | (e >> 2)), + (k[i++] = ((3 & e) << 6) | (63 & f)) + return j + } + function O(a) { + var b, + c = new Uint8Array(a), + d = '' + for (b = 0; b < c.length; b += 3) + (d += Da[c[b] >> 2]), + (d += Da[((3 & c[b]) << 4) | (c[b + 1] >> 4)]), + (d += Da[((15 & c[b + 1]) << 2) | (c[b + 2] >> 6)]), + (d += Da[63 & c[b + 2]]) + return ( + c.length % 3 == 2 + ? (d = d.substring(0, d.length - 1) + '=') + : c.length % 3 == 1 && (d = d.substring(0, d.length - 2) + '=='), + d + ) + } + function P(a, b) { + var c = '' + if ( + (a && (c = Ua.call(a)), + a && ('[object ArrayBuffer]' === c || (a.buffer && '[object ArrayBuffer]' === Ua.call(a.buffer)))) + ) { + var d, + e = Ga + a instanceof ArrayBuffer + ? ((d = a), (e += Ia)) + : ((d = a.buffer), + '[object Int8Array]' === c + ? (e += Ka) + : '[object Uint8Array]' === c + ? (e += La) + : '[object Uint8ClampedArray]' === c + ? (e += Ma) + : '[object Int16Array]' === c + ? (e += Na) + : '[object Uint16Array]' === c + ? (e += Pa) + : '[object Int32Array]' === c + ? (e += Oa) + : '[object Uint32Array]' === c + ? (e += Qa) + : '[object Float32Array]' === c + ? (e += Ra) + : '[object Float64Array]' === c + ? (e += Sa) + : b(new Error('Failed to get type for BinaryArray'))), + b(e + O(d)) + } else if ('[object Blob]' === c) { + var f = new FileReader() + ;(f.onload = function () { + var c = Ea + a.type + '~' + O(this.result) + b(Ga + Ja + c) + }), + f.readAsArrayBuffer(a) + } else + try { + b(JSON.stringify(a)) + } catch (c) { + console.error("Couldn't convert value into a JSON string: ", a), b(null, c) + } + } + function Q(a) { + if (a.substring(0, Ha) !== Ga) return JSON.parse(a) + var b, + c = a.substring(Ta), + d = a.substring(Ha, Ta) + if (d === Ja && Fa.test(c)) { + var e = c.match(Fa) + ;(b = e[1]), (c = c.substring(e[0].length)) + } + var f = N(c) + switch (d) { + case Ia: + return f + case Ja: + return g([f], { type: b }) + case Ka: + return new Int8Array(f) + case La: + return new Uint8Array(f) + case Ma: + return new Uint8ClampedArray(f) + case Na: + return new Int16Array(f) + case Pa: + return new Uint16Array(f) + case Oa: + return new Int32Array(f) + case Qa: + return new Uint32Array(f) + case Ra: + return new Float32Array(f) + case Sa: + return new Float64Array(f) + default: + throw new Error('Unkown type: ' + d) + } + } + function R(a, b, c, d) { + a.executeSql( + 'CREATE TABLE IF NOT EXISTS ' + b.storeName + ' (id INTEGER PRIMARY KEY, key unique, value)', + [], + c, + d + ) + } + function S(a) { + var b = this, + c = { db: null } + if (a) for (var d in a) c[d] = 'string' != typeof a[d] ? a[d].toString() : a[d] + var e = new va(function (a, d) { + try { + c.db = openDatabase(c.name, String(c.version), c.description, c.size) + } catch (a) { + return d(a) + } + c.db.transaction(function (e) { + R( + e, + c, + function () { + ;(b._dbInfo = c), a() + }, + function (a, b) { + d(b) + } + ) + }, d) + }) + return (c.serializer = Va), e + } + function T(a, b, c, d, e, f) { + a.executeSql( + c, + d, + e, + function (a, g) { + g.code === g.SYNTAX_ERR + ? a.executeSql( + "SELECT name FROM sqlite_master WHERE type='table' AND name = ?", + [b.storeName], + function (a, h) { + h.rows.length + ? f(a, g) + : R( + a, + b, + function () { + a.executeSql(c, d, e, f) + }, + f + ) + }, + f + ) + : f(a, g) + }, + f + ) + } + function U(a, b) { + var c = this + a = j(a) + var d = new va(function (b, d) { + c.ready() + .then(function () { + var e = c._dbInfo + e.db.transaction(function (c) { + T( + c, + e, + 'SELECT * FROM ' + e.storeName + ' WHERE key = ? LIMIT 1', + [a], + function (a, c) { + var d = c.rows.length ? c.rows.item(0).value : null + d && (d = e.serializer.deserialize(d)), b(d) + }, + function (a, b) { + d(b) + } + ) + }) + }) + .catch(d) + }) + return h(d, b), d + } + function V(a, b) { + var c = this, + d = new va(function (b, d) { + c.ready() + .then(function () { + var e = c._dbInfo + e.db.transaction(function (c) { + T( + c, + e, + 'SELECT * FROM ' + e.storeName, + [], + function (c, d) { + for (var f = d.rows, g = f.length, h = 0; h < g; h++) { + var i = f.item(h), + j = i.value + if ((j && (j = e.serializer.deserialize(j)), void 0 !== (j = a(j, i.key, h + 1)))) + return void b(j) + } + b() + }, + function (a, b) { + d(b) + } + ) + }) + }) + .catch(d) + }) + return h(d, b), d + } + function W(a, b, c, d) { + var e = this + a = j(a) + var f = new va(function (f, g) { + e.ready() + .then(function () { + void 0 === b && (b = null) + var h = b, + i = e._dbInfo + i.serializer.serialize(b, function (b, j) { + j + ? g(j) + : i.db.transaction( + function (c) { + T( + c, + i, + 'INSERT OR REPLACE INTO ' + i.storeName + ' (key, value) VALUES (?, ?)', + [a, b], + function () { + f(h) + }, + function (a, b) { + g(b) + } + ) + }, + function (b) { + if (b.code === b.QUOTA_ERR) { + if (d > 0) return void f(W.apply(e, [a, h, c, d - 1])) + g(b) + } + } + ) + }) + }) + .catch(g) + }) + return h(f, c), f + } + function X(a, b, c) { + return W.apply(this, [a, b, c, 1]) + } + function Y(a, b) { + var c = this + a = j(a) + var d = new va(function (b, d) { + c.ready() + .then(function () { + var e = c._dbInfo + e.db.transaction(function (c) { + T( + c, + e, + 'DELETE FROM ' + e.storeName + ' WHERE key = ?', + [a], + function () { + b() + }, + function (a, b) { + d(b) + } + ) + }) + }) + .catch(d) + }) + return h(d, b), d + } + function Z(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + var d = b._dbInfo + d.db.transaction(function (b) { + T( + b, + d, + 'DELETE FROM ' + d.storeName, + [], + function () { + a() + }, + function (a, b) { + c(b) + } + ) + }) + }) + .catch(c) + }) + return h(c, a), c + } + function $(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + var d = b._dbInfo + d.db.transaction(function (b) { + T( + b, + d, + 'SELECT COUNT(key) as c FROM ' + d.storeName, + [], + function (b, c) { + var d = c.rows.item(0).c + a(d) + }, + function (a, b) { + c(b) + } + ) + }) + }) + .catch(c) + }) + return h(c, a), c + } + function _(a, b) { + var c = this, + d = new va(function (b, d) { + c.ready() + .then(function () { + var e = c._dbInfo + e.db.transaction(function (c) { + T( + c, + e, + 'SELECT key FROM ' + e.storeName + ' WHERE id = ? LIMIT 1', + [a + 1], + function (a, c) { + var d = c.rows.length ? c.rows.item(0).key : null + b(d) + }, + function (a, b) { + d(b) + } + ) + }) + }) + .catch(d) + }) + return h(d, b), d + } + function aa(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + var d = b._dbInfo + d.db.transaction(function (b) { + T( + b, + d, + 'SELECT key FROM ' + d.storeName, + [], + function (b, c) { + for (var d = [], e = 0; e < c.rows.length; e++) d.push(c.rows.item(e).key) + a(d) + }, + function (a, b) { + c(b) + } + ) + }) + }) + .catch(c) + }) + return h(c, a), c + } + function ba(a) { + return new va(function (b, c) { + a.transaction( + function (d) { + d.executeSql( + "SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'", + [], + function (c, d) { + for (var e = [], f = 0; f < d.rows.length; f++) e.push(d.rows.item(f).name) + b({ db: a, storeNames: e }) + }, + function (a, b) { + c(b) + } + ) + }, + function (a) { + c(a) + } + ) + }) + } + function ca(a, b) { + b = k.apply(this, arguments) + var c = this.config() + ;(a = ('function' != typeof a && a) || {}), + a.name || ((a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName)) + var d, + e = this + return ( + (d = a.name + ? new va(function (b) { + var d + ;(d = a.name === c.name ? e._dbInfo.db : openDatabase(a.name, '', '', 0)), + b(a.storeName ? { db: d, storeNames: [a.storeName] } : ba(d)) + }).then(function (a) { + return new va(function (b, c) { + a.db.transaction( + function (d) { + function e(a) { + return new va(function (b, c) { + d.executeSql( + 'DROP TABLE IF EXISTS ' + a, + [], + function () { + b() + }, + function (a, b) { + c(b) + } + ) + }) + } + for (var f = [], g = 0, h = a.storeNames.length; g < h; g++) f.push(e(a.storeNames[g])) + va.all(f) + .then(function () { + b() + }) + .catch(function (a) { + c(a) + }) + }, + function (a) { + c(a) + } + ) + }) + }) + : va.reject('Invalid arguments')), + h(d, b), + d + ) + } + function da() { + try { + return 'undefined' != typeof localStorage && 'setItem' in localStorage && !!localStorage.setItem + } catch (a) { + return !1 + } + } + function ea(a, b) { + var c = a.name + '/' + return a.storeName !== b.storeName && (c += a.storeName + '/'), c + } + function fa() { + var a = '_localforage_support_test' + try { + return localStorage.setItem(a, !0), localStorage.removeItem(a), !1 + } catch (a) { + return !0 + } + } + function ga() { + return !fa() || localStorage.length > 0 + } + function ha(a) { + var b = this, + c = {} + if (a) for (var d in a) c[d] = a[d] + return ( + (c.keyPrefix = ea(a, b._defaultConfig)), + ga() ? ((b._dbInfo = c), (c.serializer = Va), va.resolve()) : va.reject() + ) + } + function ia(a) { + var b = this, + c = b.ready().then(function () { + for (var a = b._dbInfo.keyPrefix, c = localStorage.length - 1; c >= 0; c--) { + var d = localStorage.key(c) + 0 === d.indexOf(a) && localStorage.removeItem(d) + } + }) + return h(c, a), c + } + function ja(a, b) { + var c = this + a = j(a) + var d = c.ready().then(function () { + var b = c._dbInfo, + d = localStorage.getItem(b.keyPrefix + a) + return d && (d = b.serializer.deserialize(d)), d + }) + return h(d, b), d + } + function ka(a, b) { + var c = this, + d = c.ready().then(function () { + for ( + var b = c._dbInfo, d = b.keyPrefix, e = d.length, f = localStorage.length, g = 1, h = 0; + h < f; + h++ + ) { + var i = localStorage.key(h) + if (0 === i.indexOf(d)) { + var j = localStorage.getItem(i) + if ((j && (j = b.serializer.deserialize(j)), void 0 !== (j = a(j, i.substring(e), g++)))) return j + } + } + }) + return h(d, b), d + } + function la(a, b) { + var c = this, + d = c.ready().then(function () { + var b, + d = c._dbInfo + try { + b = localStorage.key(a) + } catch (a) { + b = null + } + return b && (b = b.substring(d.keyPrefix.length)), b + }) + return h(d, b), d + } + function ma(a) { + var b = this, + c = b.ready().then(function () { + for (var a = b._dbInfo, c = localStorage.length, d = [], e = 0; e < c; e++) { + var f = localStorage.key(e) + 0 === f.indexOf(a.keyPrefix) && d.push(f.substring(a.keyPrefix.length)) + } + return d + }) + return h(c, a), c + } + function na(a) { + var b = this, + c = b.keys().then(function (a) { + return a.length + }) + return h(c, a), c + } + function oa(a, b) { + var c = this + a = j(a) + var d = c.ready().then(function () { + var b = c._dbInfo + localStorage.removeItem(b.keyPrefix + a) + }) + return h(d, b), d + } + function pa(a, b, c) { + var d = this + a = j(a) + var e = d.ready().then(function () { + void 0 === b && (b = null) + var c = b + return new va(function (e, f) { + var g = d._dbInfo + g.serializer.serialize(b, function (b, d) { + if (d) f(d) + else + try { + localStorage.setItem(g.keyPrefix + a, b), e(c) + } catch (a) { + ;('QuotaExceededError' !== a.name && 'NS_ERROR_DOM_QUOTA_REACHED' !== a.name) || f(a), f(a) + } + }) + }) + }) + return h(e, c), e + } + function qa(a, b) { + if (((b = k.apply(this, arguments)), (a = ('function' != typeof a && a) || {}), !a.name)) { + var c = this.config() + ;(a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName) + } + var d, + e = this + return ( + (d = a.name + ? new va(function (b) { + b(a.storeName ? ea(a, e._defaultConfig) : a.name + '/') + }).then(function (a) { + for (var b = localStorage.length - 1; b >= 0; b--) { + var c = localStorage.key(b) + 0 === c.indexOf(a) && localStorage.removeItem(c) + } + }) + : va.reject('Invalid arguments')), + h(d, b), + d + ) + } + function ra(a, b) { + a[b] = function () { + var c = arguments + return a.ready().then(function () { + return a[b].apply(a, c) + }) + } + } + function sa() { + for (var a = 1; a < arguments.length; a++) { + var b = arguments[a] + if (b) + for (var c in b) + b.hasOwnProperty(c) && ($a(b[c]) ? (arguments[0][c] = b[c].slice()) : (arguments[0][c] = b[c])) + } + return arguments[0] + } + var ta = + 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator + ? function (a) { + return typeof a + } + : function (a) { + return a && 'function' == typeof Symbol && a.constructor === Symbol && a !== Symbol.prototype + ? 'symbol' + : typeof a + }, + ua = e() + 'undefined' == typeof Promise && a(3) + var va = Promise, + wa = 'local-forage-detect-blob-support', + xa = void 0, + ya = {}, + za = Object.prototype.toString, + Aa = 'readonly', + Ba = 'readwrite', + Ca = { + _driver: 'asyncStorage', + _initStorage: C, + _support: f(), + iterate: E, + getItem: D, + setItem: F, + removeItem: G, + clear: H, + length: I, + key: J, + keys: K, + dropInstance: L + }, + Da = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', + Ea = '~~local_forage_type~', + Fa = /^~~local_forage_type~([^~]+)~/, + Ga = '__lfsc__:', + Ha = Ga.length, + Ia = 'arbf', + Ja = 'blob', + Ka = 'si08', + La = 'ui08', + Ma = 'uic8', + Na = 'si16', + Oa = 'si32', + Pa = 'ur16', + Qa = 'ui32', + Ra = 'fl32', + Sa = 'fl64', + Ta = Ha + Ia.length, + Ua = Object.prototype.toString, + Va = { serialize: P, deserialize: Q, stringToBuffer: N, bufferToString: O }, + Wa = { + _driver: 'webSQLStorage', + _initStorage: S, + _support: M(), + iterate: V, + getItem: U, + setItem: X, + removeItem: Y, + clear: Z, + length: $, + key: _, + keys: aa, + dropInstance: ca + }, + Xa = { + _driver: 'localStorageWrapper', + _initStorage: ha, + _support: da(), + iterate: ka, + getItem: ja, + setItem: pa, + removeItem: oa, + clear: ia, + length: na, + key: la, + keys: ma, + dropInstance: qa + }, + Ya = function (a, b) { + return a === b || ('number' == typeof a && 'number' == typeof b && isNaN(a) && isNaN(b)) + }, + Za = function (a, b) { + for (var c = a.length, d = 0; d < c; ) { + if (Ya(a[d], b)) return !0 + d++ + } + return !1 + }, + $a = + Array.isArray || + function (a) { + return '[object Array]' === Object.prototype.toString.call(a) + }, + _a = {}, + ab = {}, + bb = { INDEXEDDB: Ca, WEBSQL: Wa, LOCALSTORAGE: Xa }, + cb = [bb.INDEXEDDB._driver, bb.WEBSQL._driver, bb.LOCALSTORAGE._driver], + db = ['dropInstance'], + eb = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(db), + fb = { + description: '', + driver: cb.slice(), + name: 'localforage', + size: 4980736, + storeName: 'keyvaluepairs', + version: 1 + }, + gb = (function () { + function a(b) { + d(this, a) + for (var c in bb) + if (bb.hasOwnProperty(c)) { + var e = bb[c], + f = e._driver + ;(this[c] = f), _a[f] || this.defineDriver(e) + } + ;(this._defaultConfig = sa({}, fb)), + (this._config = sa({}, this._defaultConfig, b)), + (this._driverSet = null), + (this._initDriver = null), + (this._ready = !1), + (this._dbInfo = null), + this._wrapLibraryMethodsWithReady(), + this.setDriver(this._config.driver).catch(function () {}) + } + return ( + (a.prototype.config = function (a) { + if ('object' === (void 0 === a ? 'undefined' : ta(a))) { + if (this._ready) return new Error("Can't call config() after localforage has been used.") + for (var b in a) { + if ( + ('storeName' === b && (a[b] = a[b].replace(/\W/g, '_')), + 'version' === b && 'number' != typeof a[b]) + ) + return new Error('Database version must be a number.') + this._config[b] = a[b] + } + return !('driver' in a && a.driver) || this.setDriver(this._config.driver) + } + return 'string' == typeof a ? this._config[a] : this._config + }), + (a.prototype.defineDriver = function (a, b, c) { + var d = new va(function (b, c) { + try { + var d = a._driver, + e = new Error( + 'Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver' + ) + if (!a._driver) return void c(e) + for (var f = eb.concat('_initStorage'), g = 0, i = f.length; g < i; g++) { + var j = f[g] + if ((!Za(db, j) || a[j]) && 'function' != typeof a[j]) return void c(e) + } + ;(function () { + for ( + var b = function (a) { + return function () { + var b = new Error('Method ' + a + ' is not implemented by the current driver'), + c = va.reject(b) + return h(c, arguments[arguments.length - 1]), c + } + }, + c = 0, + d = db.length; + c < d; + c++ + ) { + var e = db[c] + a[e] || (a[e] = b(e)) + } + })() + var k = function (c) { + _a[d] && console.info('Redefining LocalForage driver: ' + d), (_a[d] = a), (ab[d] = c), b() + } + '_support' in a + ? a._support && 'function' == typeof a._support + ? a._support().then(k, c) + : k(!!a._support) + : k(!0) + } catch (a) { + c(a) + } + }) + return i(d, b, c), d + }), + (a.prototype.driver = function () { + return this._driver || null + }), + (a.prototype.getDriver = function (a, b, c) { + var d = _a[a] ? va.resolve(_a[a]) : va.reject(new Error('Driver not found.')) + return i(d, b, c), d + }), + (a.prototype.getSerializer = function (a) { + var b = va.resolve(Va) + return i(b, a), b + }), + (a.prototype.ready = function (a) { + var b = this, + c = b._driverSet.then(function () { + return null === b._ready && (b._ready = b._initDriver()), b._ready + }) + return i(c, a, a), c + }), + (a.prototype.setDriver = function (a, b, c) { + function d() { + g._config.driver = g.driver() + } + function e(a) { + return g._extend(a), d(), (g._ready = g._initStorage(g._config)), g._ready + } + function f(a) { + return function () { + function b() { + for (; c < a.length; ) { + var f = a[c] + return c++, (g._dbInfo = null), (g._ready = null), g.getDriver(f).then(e).catch(b) + } + d() + var h = new Error('No available storage method found.') + return (g._driverSet = va.reject(h)), g._driverSet + } + var c = 0 + return b() + } + } + var g = this + $a(a) || (a = [a]) + var h = this._getSupportedDrivers(a), + j = + null !== this._driverSet + ? this._driverSet.catch(function () { + return va.resolve() + }) + : va.resolve() + return ( + (this._driverSet = j + .then(function () { + var a = h[0] + return ( + (g._dbInfo = null), + (g._ready = null), + g.getDriver(a).then(function (a) { + ;(g._driver = a._driver), d(), g._wrapLibraryMethodsWithReady(), (g._initDriver = f(h)) + }) + ) + }) + .catch(function () { + d() + var a = new Error('No available storage method found.') + return (g._driverSet = va.reject(a)), g._driverSet + })), + i(this._driverSet, b, c), + this._driverSet + ) + }), + (a.prototype.supports = function (a) { + return !!ab[a] + }), + (a.prototype._extend = function (a) { + sa(this, a) + }), + (a.prototype._getSupportedDrivers = function (a) { + for (var b = [], c = 0, d = a.length; c < d; c++) { + var e = a[c] + this.supports(e) && b.push(e) + } + return b + }), + (a.prototype._wrapLibraryMethodsWithReady = function () { + for (var a = 0, b = eb.length; a < b; a++) ra(this, eb[a]) + }), + (a.prototype.createInstance = function (b) { + return new a(b) + }), + a + ) + })(), + hb = new gb() + b.exports = hb + }, + { 3: 3 } + ] + }, + {}, + [4] + )(4) +}) diff --git a/public/lib/lodash.min.js b/public/lib/lodash.min.js new file mode 100644 index 0000000000000000000000000000000000000000..d5d7e36412f50d0456f25b1e49d418c8f305ceeb --- /dev/null +++ b/public/lib/lodash.min.js @@ -0,0 +1,4183 @@ +/** + * @license + * Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE + */ +;(function () { + function n(n, t, r) { + switch (r.length) { + case 0: + return n.call(t) + case 1: + return n.call(t, r[0]) + case 2: + return n.call(t, r[0], r[1]) + case 3: + return n.call(t, r[0], r[1], r[2]) + } + return n.apply(t, r) + } + function t(n, t, r, e) { + for (var u = -1, i = null == n ? 0 : n.length; ++u < i; ) { + var o = n[u] + t(e, o, r(o), n) + } + return e + } + function r(n, t) { + for (var r = -1, e = null == n ? 0 : n.length; ++r < e && false !== t(n[r], r, n); ); + return n + } + function e(n, t) { + for (var r = null == n ? 0 : n.length; r-- && false !== t(n[r], r, n); ); + return n + } + function u(n, t) { + for (var r = -1, e = null == n ? 0 : n.length; ++r < e; ) if (!t(n[r], r, n)) return false + return true + } + function i(n, t) { + for (var r = -1, e = null == n ? 0 : n.length, u = 0, i = []; ++r < e; ) { + var o = n[r] + t(o, r, n) && (i[u++] = o) + } + return i + } + function o(n, t) { + return !(null == n || !n.length) && -1 < v(n, t, 0) + } + function f(n, t, r) { + for (var e = -1, u = null == n ? 0 : n.length; ++e < u; ) if (r(t, n[e])) return true + return false + } + function c(n, t) { + for (var r = -1, e = null == n ? 0 : n.length, u = Array(e); ++r < e; ) u[r] = t(n[r], r, n) + return u + } + function a(n, t) { + for (var r = -1, e = t.length, u = n.length; ++r < e; ) n[u + r] = t[r] + return n + } + function l(n, t, r, e) { + var u = -1, + i = null == n ? 0 : n.length + for (e && i && (r = n[++u]); ++u < i; ) r = t(r, n[u], u, n) + return r + } + function s(n, t, r, e) { + var u = null == n ? 0 : n.length + for (e && u && (r = n[--u]); u--; ) r = t(r, n[u], u, n) + return r + } + function h(n, t) { + for (var r = -1, e = null == n ? 0 : n.length; ++r < e; ) if (t(n[r], r, n)) return true + return false + } + function p(n, t, r) { + var e + return ( + r(n, function (n, r, u) { + if (t(n, r, u)) return (e = r), false + }), + e + ) + } + function _(n, t, r, e) { + var u = n.length + for (r += e ? 1 : -1; e ? r-- : ++r < u; ) if (t(n[r], r, n)) return r + return -1 + } + function v(n, t, r) { + if (t === t) + n: { + --r + for (var e = n.length; ++r < e; ) + if (n[r] === t) { + n = r + break n + } + n = -1 + } + else n = _(n, d, r) + return n + } + function g(n, t, r, e) { + --r + for (var u = n.length; ++r < u; ) if (e(n[r], t)) return r + return -1 + } + function d(n) { + return n !== n + } + function y(n, t) { + var r = null == n ? 0 : n.length + return r ? m(n, t) / r : F + } + function b(n) { + return function (t) { + return null == t ? T : t[n] + } + } + function x(n) { + return function (t) { + return null == n ? T : n[t] + } + } + function j(n, t, r, e, u) { + return ( + u(n, function (n, u, i) { + r = e ? ((e = false), n) : t(r, n, u, i) + }), + r + ) + } + function w(n, t) { + var r = n.length + for (n.sort(t); r--; ) n[r] = n[r].c + return n + } + function m(n, t) { + for (var r, e = -1, u = n.length; ++e < u; ) { + var i = t(n[e]) + i !== T && (r = r === T ? i : r + i) + } + return r + } + function A(n, t) { + for (var r = -1, e = Array(n); ++r < n; ) e[r] = t(r) + return e + } + function k(n, t) { + return c(t, function (t) { + return [t, n[t]] + }) + } + function E(n) { + return function (t) { + return n(t) + } + } + function S(n, t) { + return c(t, function (t) { + return n[t] + }) + } + function O(n, t) { + return n.has(t) + } + function I(n, t) { + for (var r = -1, e = n.length; ++r < e && -1 < v(t, n[r], 0); ); + return r + } + function R(n, t) { + for (var r = n.length; r-- && -1 < v(t, n[r], 0); ); + return r + } + function z(n) { + return '\\' + Ln[n] + } + function W(n) { + var t = -1, + r = Array(n.size) + return ( + n.forEach(function (n, e) { + r[++t] = [e, n] + }), + r + ) + } + function U(n, t) { + return function (r) { + return n(t(r)) + } + } + function B(n, t) { + for (var r = -1, e = n.length, u = 0, i = []; ++r < e; ) { + var o = n[r] + ;(o !== t && '__lodash_placeholder__' !== o) || ((n[r] = '__lodash_placeholder__'), (i[u++] = r)) + } + return i + } + function L(n) { + var t = -1, + r = Array(n.size) + return ( + n.forEach(function (n) { + r[++t] = n + }), + r + ) + } + function C(n) { + var t = -1, + r = Array(n.size) + return ( + n.forEach(function (n) { + r[++t] = [n, n] + }), + r + ) + } + function D(n) { + if (Rn.test(n)) { + for (var t = (On.lastIndex = 0); On.test(n); ) ++t + n = t + } else n = Qn(n) + return n + } + function M(n) { + return Rn.test(n) ? n.match(On) || [] : n.split('') + } + var T, + $ = 1 / 0, + F = NaN, + N = [ + ['ary', 128], + ['bind', 1], + ['bindKey', 2], + ['curry', 8], + ['curryRight', 16], + ['flip', 512], + ['partial', 32], + ['partialRight', 64], + ['rearg', 256] + ], + P = /\b__p\+='';/g, + Z = /\b(__p\+=)''\+/g, + q = /(__e\(.*?\)|\b__t\))\+'';/g, + V = /&(?:amp|lt|gt|quot|#39);/g, + K = /[&<>"']/g, + G = RegExp(V.source), + H = RegExp(K.source), + J = /<%-([\s\S]+?)%>/g, + Y = /<%([\s\S]+?)%>/g, + Q = /<%=([\s\S]+?)%>/g, + X = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + nn = /^\w*$/, + tn = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + rn = /[\\^$.*+?()[\]{}|]/g, + en = RegExp(rn.source), + un = /^\s+|\s+$/g, + on = /^\s+/, + fn = /\s+$/, + cn = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + an = /\{\n\/\* \[wrapped with (.+)\] \*/, + ln = /,? & /, + sn = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, + hn = /\\(\\)?/g, + pn = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, + _n = /\w*$/, + vn = /^[-+]0x[0-9a-f]+$/i, + gn = /^0b[01]+$/i, + dn = /^\[object .+?Constructor\]$/, + yn = /^0o[0-7]+$/i, + bn = /^(?:0|[1-9]\d*)$/, + xn = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, + jn = /($^)/, + wn = /['\n\r\u2028\u2029\\]/g, + mn = + '[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*', + An = '(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])' + mn, + kn = + '(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])', + En = RegExp("['\u2019]", 'g'), + Sn = RegExp('[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]', 'g'), + On = RegExp('\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|' + kn + mn, 'g'), + In = RegExp( + [ + "[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+", + An + ].join('|'), + 'g' + ), + Rn = RegExp('[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]'), + zn = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, + Wn = 'Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout'.split( + ' ' + ), + Un = {} + ;(Un['[object Float32Array]'] = Un['[object Float64Array]'] = Un['[object Int8Array]'] = Un[ + '[object Int16Array]' + ] = Un['[object Int32Array]'] = Un['[object Uint8Array]'] = Un['[object Uint8ClampedArray]'] = Un[ + '[object Uint16Array]' + ] = Un['[object Uint32Array]'] = true), + (Un['[object Arguments]'] = Un['[object Array]'] = Un['[object ArrayBuffer]'] = Un['[object Boolean]'] = Un[ + '[object DataView]' + ] = Un['[object Date]'] = Un['[object Error]'] = Un['[object Function]'] = Un['[object Map]'] = Un[ + '[object Number]' + ] = Un['[object Object]'] = Un['[object RegExp]'] = Un['[object Set]'] = Un['[object String]'] = Un[ + '[object WeakMap]' + ] = false) + var Bn = {} + ;(Bn['[object Arguments]'] = Bn['[object Array]'] = Bn['[object ArrayBuffer]'] = Bn['[object DataView]'] = Bn[ + '[object Boolean]' + ] = Bn['[object Date]'] = Bn['[object Float32Array]'] = Bn['[object Float64Array]'] = Bn['[object Int8Array]'] = Bn[ + '[object Int16Array]' + ] = Bn['[object Int32Array]'] = Bn['[object Map]'] = Bn['[object Number]'] = Bn['[object Object]'] = Bn[ + '[object RegExp]' + ] = Bn['[object Set]'] = Bn['[object String]'] = Bn['[object Symbol]'] = Bn['[object Uint8Array]'] = Bn[ + '[object Uint8ClampedArray]' + ] = Bn['[object Uint16Array]'] = Bn['[object Uint32Array]'] = true), + (Bn['[object Error]'] = Bn['[object Function]'] = Bn['[object WeakMap]'] = false) + var Ln = { '\\': '\\', "'": "'", '\n': 'n', '\r': 'r', '\u2028': 'u2028', '\u2029': 'u2029' }, + Cn = parseFloat, + Dn = parseInt, + Mn = typeof global == 'object' && global && global.Object === Object && global, + Tn = typeof self == 'object' && self && self.Object === Object && self, + $n = Mn || Tn || Function('return this')(), + Fn = typeof exports == 'object' && exports && !exports.nodeType && exports, + Nn = Fn && typeof module == 'object' && module && !module.nodeType && module, + Pn = Nn && Nn.exports === Fn, + Zn = Pn && Mn.process, + qn = (function () { + try { + var n = Nn && Nn.require && Nn.require('util').types + return n ? n : Zn && Zn.binding && Zn.binding('util') + } catch (n) {} + })(), + Vn = qn && qn.isArrayBuffer, + Kn = qn && qn.isDate, + Gn = qn && qn.isMap, + Hn = qn && qn.isRegExp, + Jn = qn && qn.isSet, + Yn = qn && qn.isTypedArray, + Qn = b('length'), + Xn = x({ + À: 'A', + Á: 'A', + Â: 'A', + Ã: 'A', + Ä: 'A', + Å: 'A', + à: 'a', + á: 'a', + â: 'a', + ã: 'a', + ä: 'a', + å: 'a', + Ç: 'C', + ç: 'c', + Ð: 'D', + ð: 'd', + È: 'E', + É: 'E', + Ê: 'E', + Ë: 'E', + è: 'e', + é: 'e', + ê: 'e', + ë: 'e', + Ì: 'I', + Í: 'I', + Î: 'I', + Ï: 'I', + ì: 'i', + í: 'i', + î: 'i', + ï: 'i', + Ñ: 'N', + ñ: 'n', + Ò: 'O', + Ó: 'O', + Ô: 'O', + Õ: 'O', + Ö: 'O', + Ø: 'O', + ò: 'o', + ó: 'o', + ô: 'o', + õ: 'o', + ö: 'o', + ø: 'o', + Ù: 'U', + Ú: 'U', + Û: 'U', + Ü: 'U', + ù: 'u', + ú: 'u', + û: 'u', + ü: 'u', + Ý: 'Y', + ý: 'y', + ÿ: 'y', + Æ: 'Ae', + æ: 'ae', + Þ: 'Th', + þ: 'th', + ß: 'ss', + Ā: 'A', + Ă: 'A', + Ą: 'A', + ā: 'a', + ă: 'a', + ą: 'a', + Ć: 'C', + Ĉ: 'C', + Ċ: 'C', + Č: 'C', + ć: 'c', + ĉ: 'c', + ċ: 'c', + č: 'c', + Ď: 'D', + Đ: 'D', + ď: 'd', + đ: 'd', + Ē: 'E', + Ĕ: 'E', + Ė: 'E', + Ę: 'E', + Ě: 'E', + ē: 'e', + ĕ: 'e', + ė: 'e', + ę: 'e', + ě: 'e', + Ĝ: 'G', + Ğ: 'G', + Ġ: 'G', + Ģ: 'G', + ĝ: 'g', + ğ: 'g', + ġ: 'g', + ģ: 'g', + Ĥ: 'H', + Ħ: 'H', + ĥ: 'h', + ħ: 'h', + Ĩ: 'I', + Ī: 'I', + Ĭ: 'I', + Į: 'I', + İ: 'I', + ĩ: 'i', + ī: 'i', + ĭ: 'i', + į: 'i', + ı: 'i', + Ĵ: 'J', + ĵ: 'j', + Ķ: 'K', + ķ: 'k', + ĸ: 'k', + Ĺ: 'L', + Ļ: 'L', + Ľ: 'L', + Ŀ: 'L', + Ł: 'L', + ĺ: 'l', + ļ: 'l', + ľ: 'l', + ŀ: 'l', + ł: 'l', + Ń: 'N', + Ņ: 'N', + Ň: 'N', + Ŋ: 'N', + ń: 'n', + ņ: 'n', + ň: 'n', + ŋ: 'n', + Ō: 'O', + Ŏ: 'O', + Ő: 'O', + ō: 'o', + ŏ: 'o', + ő: 'o', + Ŕ: 'R', + Ŗ: 'R', + Ř: 'R', + ŕ: 'r', + ŗ: 'r', + ř: 'r', + Ś: 'S', + Ŝ: 'S', + Ş: 'S', + Š: 'S', + ś: 's', + ŝ: 's', + ş: 's', + š: 's', + Ţ: 'T', + Ť: 'T', + Ŧ: 'T', + ţ: 't', + ť: 't', + ŧ: 't', + Ũ: 'U', + Ū: 'U', + Ŭ: 'U', + Ů: 'U', + Ű: 'U', + Ų: 'U', + ũ: 'u', + ū: 'u', + ŭ: 'u', + ů: 'u', + ű: 'u', + ų: 'u', + Ŵ: 'W', + ŵ: 'w', + Ŷ: 'Y', + ŷ: 'y', + Ÿ: 'Y', + Ź: 'Z', + Ż: 'Z', + Ž: 'Z', + ź: 'z', + ż: 'z', + ž: 'z', + IJ: 'IJ', + ij: 'ij', + Œ: 'Oe', + œ: 'oe', + ʼn: "'n", + ſ: 's' + }), + nt = x({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }), + tt = x({ '&': '&', '<': '<', '>': '>', '"': '"', ''': "'" }), + rt = (function x(mn) { + function An(n) { + if (yu(n) && !ff(n) && !(n instanceof Ln)) { + if (n instanceof On) return n + if (oi.call(n, '__wrapped__')) return Fe(n) + } + return new On(n) + } + function kn() {} + function On(n, t) { + ;(this.__wrapped__ = n), + (this.__actions__ = []), + (this.__chain__ = !!t), + (this.__index__ = 0), + (this.__values__ = T) + } + function Ln(n) { + ;(this.__wrapped__ = n), + (this.__actions__ = []), + (this.__dir__ = 1), + (this.__filtered__ = false), + (this.__iteratees__ = []), + (this.__takeCount__ = 4294967295), + (this.__views__ = []) + } + function Mn(n) { + var t = -1, + r = null == n ? 0 : n.length + for (this.clear(); ++t < r; ) { + var e = n[t] + this.set(e[0], e[1]) + } + } + function Tn(n) { + var t = -1, + r = null == n ? 0 : n.length + for (this.clear(); ++t < r; ) { + var e = n[t] + this.set(e[0], e[1]) + } + } + function Fn(n) { + var t = -1, + r = null == n ? 0 : n.length + for (this.clear(); ++t < r; ) { + var e = n[t] + this.set(e[0], e[1]) + } + } + function Nn(n) { + var t = -1, + r = null == n ? 0 : n.length + for (this.__data__ = new Fn(); ++t < r; ) this.add(n[t]) + } + function Zn(n) { + this.size = (this.__data__ = new Tn(n)).size + } + function qn(n, t) { + var r, + e = ff(n), + u = !e && of(n), + i = !e && !u && af(n), + o = !e && !u && !i && _f(n), + u = (e = e || u || i || o) ? A(n.length, ni) : [], + f = u.length + for (r in n) + (!t && !oi.call(n, r)) || + (e && + ('length' == r || + (i && ('offset' == r || 'parent' == r)) || + (o && ('buffer' == r || 'byteLength' == r || 'byteOffset' == r)) || + Se(r, f))) || + u.push(r) + return u + } + function Qn(n) { + var t = n.length + return t ? n[ir(0, t - 1)] : T + } + function et(n, t) { + return De(Lr(n), pt(t, 0, n.length)) + } + function ut(n) { + return De(Lr(n)) + } + function it(n, t, r) { + ;((r === T || lu(n[t], r)) && (r !== T || t in n)) || st(n, t, r) + } + function ot(n, t, r) { + var e = n[t] + ;(oi.call(n, t) && lu(e, r) && (r !== T || t in n)) || st(n, t, r) + } + function ft(n, t) { + for (var r = n.length; r--; ) if (lu(n[r][0], t)) return r + return -1 + } + function ct(n, t, r, e) { + return ( + uo(n, function (n, u, i) { + t(e, n, r(n), i) + }), + e + ) + } + function at(n, t) { + return n && Cr(t, Wu(t), n) + } + function lt(n, t) { + return n && Cr(t, Uu(t), n) + } + function st(n, t, r) { + '__proto__' == t && Ai + ? Ai(n, t, { configurable: true, enumerable: true, value: r, writable: true }) + : (n[t] = r) + } + function ht(n, t) { + for (var r = -1, e = t.length, u = Ku(e), i = null == n; ++r < e; ) u[r] = i ? T : Ru(n, t[r]) + return u + } + function pt(n, t, r) { + return n === n && (r !== T && (n = n <= r ? n : r), t !== T && (n = n >= t ? n : t)), n + } + function _t(n, t, e, u, i, o) { + var f, + c = 1 & t, + a = 2 & t, + l = 4 & t + if ((e && (f = i ? e(n, u, i, o) : e(n)), f !== T)) return f + if (!du(n)) return n + if ((u = ff(n))) { + if (((f = me(n)), !c)) return Lr(n, f) + } else { + var s = vo(n), + h = '[object Function]' == s || '[object GeneratorFunction]' == s + if (af(n)) return Ir(n, c) + if ('[object Object]' == s || '[object Arguments]' == s || (h && !i)) { + if (((f = a || h ? {} : Ae(n)), !c)) return a ? Mr(n, lt(f, n)) : Dr(n, at(f, n)) + } else { + if (!Bn[s]) return i ? n : {} + f = ke(n, s, c) + } + } + if ((o || (o = new Zn()), (i = o.get(n)))) return i + if ((o.set(n, f), pf(n))) + return ( + n.forEach(function (r) { + f.add(_t(r, t, e, r, n, o)) + }), + f + ) + if (sf(n)) + return ( + n.forEach(function (r, u) { + f.set(u, _t(r, t, e, u, n, o)) + }), + f + ) + var a = l ? (a ? ve : _e) : a ? Uu : Wu, + p = u ? T : a(n) + return ( + r(p || n, function (r, u) { + p && ((u = r), (r = n[u])), ot(f, u, _t(r, t, e, u, n, o)) + }), + f + ) + } + function vt(n) { + var t = Wu(n) + return function (r) { + return gt(r, n, t) + } + } + function gt(n, t, r) { + var e = r.length + if (null == n) return !e + for (n = Qu(n); e--; ) { + var u = r[e], + i = t[u], + o = n[u] + if ((o === T && !(u in n)) || !i(o)) return false + } + return true + } + function dt(n, t, r) { + if (typeof n != 'function') throw new ti('Expected a function') + return bo(function () { + n.apply(T, r) + }, t) + } + function yt(n, t, r, e) { + var u = -1, + i = o, + a = true, + l = n.length, + s = [], + h = t.length + if (!l) return s + r && (t = c(t, E(r))), e ? ((i = f), (a = false)) : 200 <= t.length && ((i = O), (a = false), (t = new Nn(t))) + n: for (; ++u < l; ) { + var p = n[u], + _ = null == r ? p : r(p), + p = e || 0 !== p ? p : 0 + if (a && _ === _) { + for (var v = h; v--; ) if (t[v] === _) continue n + s.push(p) + } else i(t, _, e) || s.push(p) + } + return s + } + function bt(n, t) { + var r = true + return ( + uo(n, function (n, e, u) { + return (r = !!t(n, e, u)) + }), + r + ) + } + function xt(n, t, r) { + for (var e = -1, u = n.length; ++e < u; ) { + var i = n[e], + o = t(i) + if (null != o && (f === T ? o === o && !wu(o) : r(o, f))) + var f = o, + c = i + } + return c + } + function jt(n, t) { + var r = [] + return ( + uo(n, function (n, e, u) { + t(n, e, u) && r.push(n) + }), + r + ) + } + function wt(n, t, r, e, u) { + var i = -1, + o = n.length + for (r || (r = Ee), u || (u = []); ++i < o; ) { + var f = n[i] + 0 < t && r(f) ? (1 < t ? wt(f, t - 1, r, e, u) : a(u, f)) : e || (u[u.length] = f) + } + return u + } + function mt(n, t) { + return n && oo(n, t, Wu) + } + function At(n, t) { + return n && fo(n, t, Wu) + } + function kt(n, t) { + return i(t, function (t) { + return _u(n[t]) + }) + } + function Et(n, t) { + t = Sr(t, n) + for (var r = 0, e = t.length; null != n && r < e; ) n = n[Me(t[r++])] + return r && r == e ? n : T + } + function St(n, t, r) { + return (t = t(n)), ff(n) ? t : a(t, r(n)) + } + function Ot(n) { + if (null == n) return n === T ? '[object Undefined]' : '[object Null]' + if (mi && mi in Qu(n)) { + var t = oi.call(n, mi), + r = n[mi] + try { + n[mi] = T + var e = true + } catch (n) {} + var u = ai.call(n) + e && (t ? (n[mi] = r) : delete n[mi]), (n = u) + } else n = ai.call(n) + return n + } + function It(n, t) { + return n > t + } + function Rt(n, t) { + return null != n && oi.call(n, t) + } + function zt(n, t) { + return null != n && t in Qu(n) + } + function Wt(n, t, r) { + for (var e = r ? f : o, u = n[0].length, i = n.length, a = i, l = Ku(i), s = 1 / 0, h = []; a--; ) { + var p = n[a] + a && t && (p = c(p, E(t))), + (s = Ci(p.length, s)), + (l[a] = !r && (t || (120 <= u && 120 <= p.length)) ? new Nn(a && p) : T) + } + var p = n[0], + _ = -1, + v = l[0] + n: for (; ++_ < u && h.length < s; ) { + var g = p[_], + d = t ? t(g) : g, + g = r || 0 !== g ? g : 0 + if (v ? !O(v, d) : !e(h, d, r)) { + for (a = i; --a; ) { + var y = l[a] + if (y ? !O(y, d) : !e(n[a], d, r)) continue n + } + v && v.push(d), h.push(g) + } + } + return h + } + function Ut(n, t, r, e) { + return ( + mt(n, function (n, u, i) { + t(e, r(n), u, i) + }), + e + ) + } + function Bt(t, r, e) { + return ( + (r = Sr(r, t)), + (t = 2 > r.length ? t : Et(t, hr(r, 0, -1))), + (r = null == t ? t : t[Me(Ve(r))]), + null == r ? T : n(r, t, e) + ) + } + function Lt(n) { + return yu(n) && '[object Arguments]' == Ot(n) + } + function Ct(n) { + return yu(n) && '[object ArrayBuffer]' == Ot(n) + } + function Dt(n) { + return yu(n) && '[object Date]' == Ot(n) + } + function Mt(n, t, r, e, u) { + if (n === t) return true + if (null == n || null == t || (!yu(n) && !yu(t))) return n !== n && t !== t + n: { + var i = ff(n), + o = ff(t), + f = i ? '[object Array]' : vo(n), + c = o ? '[object Array]' : vo(t), + f = '[object Arguments]' == f ? '[object Object]' : f, + c = '[object Arguments]' == c ? '[object Object]' : c, + a = '[object Object]' == f, + o = '[object Object]' == c + if ((c = f == c) && af(n)) { + if (!af(t)) { + t = false + break n + } + ;(i = true), (a = false) + } + if (c && !a) u || (u = new Zn()), (t = i || _f(n) ? se(n, t, r, e, Mt, u) : he(n, t, f, r, e, Mt, u)) + else { + if (!(1 & r) && ((i = a && oi.call(n, '__wrapped__')), (f = o && oi.call(t, '__wrapped__')), i || f)) { + ;(n = i ? n.value() : n), (t = f ? t.value() : t), u || (u = new Zn()), (t = Mt(n, t, r, e, u)) + break n + } + if (c) + t: if ((u || (u = new Zn()), (i = 1 & r), (f = _e(n)), (o = f.length), (c = _e(t).length), o == c || i)) { + for (a = o; a--; ) { + var l = f[a] + if (!(i ? l in t : oi.call(t, l))) { + t = false + break t + } + } + if ((c = u.get(n)) && u.get(t)) t = c == t + else { + ;(c = true), u.set(n, t), u.set(t, n) + for (var s = i; ++a < o; ) { + var l = f[a], + h = n[l], + p = t[l] + if (e) var _ = i ? e(p, h, l, t, n, u) : e(h, p, l, n, t, u) + if (_ === T ? h !== p && !Mt(h, p, r, e, u) : !_) { + c = false + break + } + s || (s = 'constructor' == l) + } + c && + !s && + ((r = n.constructor), + (e = t.constructor), + r != e && + 'constructor' in n && + 'constructor' in t && + !(typeof r == 'function' && r instanceof r && typeof e == 'function' && e instanceof e) && + (c = false)), + u.delete(n), + u.delete(t), + (t = c) + } + } else t = false + else t = false + } + } + return t + } + function Tt(n) { + return yu(n) && '[object Map]' == vo(n) + } + function $t(n, t, r, e) { + var u = r.length, + i = u, + o = !e + if (null == n) return !i + for (n = Qu(n); u--; ) { + var f = r[u] + if (o && f[2] ? f[1] !== n[f[0]] : !(f[0] in n)) return false + } + for (; ++u < i; ) { + var f = r[u], + c = f[0], + a = n[c], + l = f[1] + if (o && f[2]) { + if (a === T && !(c in n)) return false + } else { + if (((f = new Zn()), e)) var s = e(a, l, c, n, t, f) + if (s === T ? !Mt(l, a, 3, e, f) : !s) return false + } + } + return true + } + function Ft(n) { + return !(!du(n) || (ci && ci in n)) && (_u(n) ? hi : dn).test(Te(n)) + } + function Nt(n) { + return yu(n) && '[object RegExp]' == Ot(n) + } + function Pt(n) { + return yu(n) && '[object Set]' == vo(n) + } + function Zt(n) { + return yu(n) && gu(n.length) && !!Un[Ot(n)] + } + function qt(n) { + return typeof n == 'function' + ? n + : null == n + ? $u + : typeof n == 'object' + ? ff(n) + ? Jt(n[0], n[1]) + : Ht(n) + : Zu(n) + } + function Vt(n) { + if (!ze(n)) return Bi(n) + var t, + r = [] + for (t in Qu(n)) oi.call(n, t) && 'constructor' != t && r.push(t) + return r + } + function Kt(n, t) { + return n < t + } + function Gt(n, t) { + var r = -1, + e = su(n) ? Ku(n.length) : [] + return ( + uo(n, function (n, u, i) { + e[++r] = t(n, u, i) + }), + e + ) + } + function Ht(n) { + var t = xe(n) + return 1 == t.length && t[0][2] + ? We(t[0][0], t[0][1]) + : function (r) { + return r === n || $t(r, n, t) + } + } + function Jt(n, t) { + return Ie(n) && t === t && !du(t) + ? We(Me(n), t) + : function (r) { + var e = Ru(r, n) + return e === T && e === t ? zu(r, n) : Mt(t, e, 3) + } + } + function Yt(n, t, r, e, u) { + n !== t && + oo( + t, + function (i, o) { + if (du(i)) { + u || (u = new Zn()) + var f = u, + c = Be(n, o), + a = Be(t, o), + l = f.get(a) + if (!l) { + var l = e ? e(c, a, o + '', n, t, f) : T, + s = l === T + if (s) { + var h = ff(a), + p = !h && af(a), + _ = !h && !p && _f(a), + l = a + h || p || _ + ? ff(c) + ? (l = c) + : hu(c) + ? (l = Lr(c)) + : p + ? ((s = false), (l = Ir(a, true))) + : _ + ? ((s = false), (l = zr(a, true))) + : (l = []) + : xu(a) || of(a) + ? ((l = c), of(c) ? (l = Ou(c)) : (du(c) && !_u(c)) || (l = Ae(a))) + : (s = false) + } + s && (f.set(a, l), Yt(l, a, r, e, f), f.delete(a)) + } + it(n, o, l) + } else (f = e ? e(Be(n, o), i, o + '', n, t, u) : T), f === T && (f = i), it(n, o, f) + }, + Uu + ) + } + function Qt(n, t) { + var r = n.length + if (r) return (t += 0 > t ? r : 0), Se(t, r) ? n[t] : T + } + function Xt(n, t, r) { + var e = -1 + return ( + (t = c(t.length ? t : [$u], E(ye()))), + (n = Gt(n, function (n, r, u) { + return { + a: c(t, function (t) { + return t(n) + }), + b: ++e, + c: n + } + })), + w(n, function (n, t) { + var e + n: { + e = -1 + for (var u = n.a, i = t.a, o = u.length, f = r.length; ++e < o; ) { + var c = Wr(u[e], i[e]) + if (c) { + if (e >= f) { + e = c + break n + } + e = c * ('desc' == r[e] ? -1 : 1) + break n + } + } + e = n.b - t.b + } + return e + }) + ) + } + function nr(n, t) { + return tr(n, t, function (t, r) { + return zu(n, r) + }) + } + function tr(n, t, r) { + for (var e = -1, u = t.length, i = {}; ++e < u; ) { + var o = t[e], + f = Et(n, o) + r(f, o) && lr(i, Sr(o, n), f) + } + return i + } + function rr(n) { + return function (t) { + return Et(t, n) + } + } + function er(n, t, r, e) { + var u = e ? g : v, + i = -1, + o = t.length, + f = n + for (n === t && (t = Lr(t)), r && (f = c(n, E(r))); ++i < o; ) + for (var a = 0, l = t[i], l = r ? r(l) : l; -1 < (a = u(f, l, a, e)); ) + f !== n && xi.call(f, a, 1), xi.call(n, a, 1) + return n + } + function ur(n, t) { + for (var r = n ? t.length : 0, e = r - 1; r--; ) { + var u = t[r] + if (r == e || u !== i) { + var i = u + Se(u) ? xi.call(n, u, 1) : xr(n, u) + } + } + return n + } + function ir(n, t) { + return n + Ii(Ti() * (t - n + 1)) + } + function or(n, t) { + var r = '' + if (!n || 1 > t || 9007199254740991 < t) return r + do t % 2 && (r += n), (t = Ii(t / 2)) && (n += n) + while (t) + return r + } + function fr(n, t) { + return xo(Ue(n, t, $u), n + '') + } + function cr(n) { + return Qn(Lu(n)) + } + function ar(n, t) { + var r = Lu(n) + return De(r, pt(t, 0, r.length)) + } + function lr(n, t, r, e) { + if (!du(n)) return n + t = Sr(t, n) + for (var u = -1, i = t.length, o = i - 1, f = n; null != f && ++u < i; ) { + var c = Me(t[u]), + a = r + if (u != o) { + var l = f[c], + a = e ? e(l, c, f) : T + a === T && (a = du(l) ? l : Se(t[u + 1]) ? [] : {}) + } + ot(f, c, a), (f = f[c]) + } + return n + } + function sr(n) { + return De(Lu(n)) + } + function hr(n, t, r) { + var e = -1, + u = n.length + for ( + 0 > t && (t = -t > u ? 0 : u + t), + r = r > u ? u : r, + 0 > r && (r += u), + u = t > r ? 0 : (r - t) >>> 0, + t >>>= 0, + r = Ku(u); + ++e < u; + + ) + r[e] = n[e + t] + return r + } + function pr(n, t) { + var r + return ( + uo(n, function (n, e, u) { + return (r = t(n, e, u)), !r + }), + !!r + ) + } + function _r(n, t, r) { + var e = 0, + u = null == n ? e : n.length + if (typeof t == 'number' && t === t && 2147483647 >= u) { + for (; e < u; ) { + var i = (e + u) >>> 1, + o = n[i] + null !== o && !wu(o) && (r ? o <= t : o < t) ? (e = i + 1) : (u = i) + } + return u + } + return vr(n, t, $u, r) + } + function vr(n, t, r, e) { + t = r(t) + for (var u = 0, i = null == n ? 0 : n.length, o = t !== t, f = null === t, c = wu(t), a = t === T; u < i; ) { + var l = Ii((u + i) / 2), + s = r(n[l]), + h = s !== T, + p = null === s, + _ = s === s, + v = wu(s) + ;( + o + ? e || _ + : a + ? _ && (e || h) + : f + ? _ && h && (e || !p) + : c + ? _ && h && !p && (e || !v) + : p || v + ? 0 + : e + ? s <= t + : s < t + ) + ? (u = l + 1) + : (i = l) + } + return Ci(i, 4294967294) + } + function gr(n, t) { + for (var r = -1, e = n.length, u = 0, i = []; ++r < e; ) { + var o = n[r], + f = t ? t(o) : o + if (!r || !lu(f, c)) { + var c = f + i[u++] = 0 === o ? 0 : o + } + } + return i + } + function dr(n) { + return typeof n == 'number' ? n : wu(n) ? F : +n + } + function yr(n) { + if (typeof n == 'string') return n + if (ff(n)) return c(n, yr) + '' + if (wu(n)) return ro ? ro.call(n) : '' + var t = n + '' + return '0' == t && 1 / n == -$ ? '-0' : t + } + function br(n, t, r) { + var e = -1, + u = o, + i = n.length, + c = true, + a = [], + l = a + if (r) (c = false), (u = f) + else if (200 <= i) { + if ((u = t ? null : so(n))) return L(u) + ;(c = false), (u = O), (l = new Nn()) + } else l = t ? [] : a + n: for (; ++e < i; ) { + var s = n[e], + h = t ? t(s) : s, + s = r || 0 !== s ? s : 0 + if (c && h === h) { + for (var p = l.length; p--; ) if (l[p] === h) continue n + t && l.push(h), a.push(s) + } else u(l, h, r) || (l !== a && l.push(h), a.push(s)) + } + return a + } + function xr(n, t) { + return (t = Sr(t, n)), (n = 2 > t.length ? n : Et(n, hr(t, 0, -1))), null == n || delete n[Me(Ve(t))] + } + function jr(n, t, r, e) { + for (var u = n.length, i = e ? u : -1; (e ? i-- : ++i < u) && t(n[i], i, n); ); + return r ? hr(n, e ? 0 : i, e ? i + 1 : u) : hr(n, e ? i + 1 : 0, e ? u : i) + } + function wr(n, t) { + var r = n + return ( + r instanceof Ln && (r = r.value()), + l( + t, + function (n, t) { + return t.func.apply(t.thisArg, a([n], t.args)) + }, + r + ) + ) + } + function mr(n, t, r) { + var e = n.length + if (2 > e) return e ? br(n[0]) : [] + for (var u = -1, i = Ku(e); ++u < e; ) + for (var o = n[u], f = -1; ++f < e; ) f != u && (i[u] = yt(i[u] || o, n[f], t, r)) + return br(wt(i, 1), t, r) + } + function Ar(n, t, r) { + for (var e = -1, u = n.length, i = t.length, o = {}; ++e < u; ) r(o, n[e], e < i ? t[e] : T) + return o + } + function kr(n) { + return hu(n) ? n : [] + } + function Er(n) { + return typeof n == 'function' ? n : $u + } + function Sr(n, t) { + return ff(n) ? n : Ie(n, t) ? [n] : jo(Iu(n)) + } + function Or(n, t, r) { + var e = n.length + return (r = r === T ? e : r), !t && r >= e ? n : hr(n, t, r) + } + function Ir(n, t) { + if (t) return n.slice() + var r = n.length, + r = gi ? gi(r) : new n.constructor(r) + return n.copy(r), r + } + function Rr(n) { + var t = new n.constructor(n.byteLength) + return new vi(t).set(new vi(n)), t + } + function zr(n, t) { + return new n.constructor(t ? Rr(n.buffer) : n.buffer, n.byteOffset, n.length) + } + function Wr(n, t) { + if (n !== t) { + var r = n !== T, + e = null === n, + u = n === n, + i = wu(n), + o = t !== T, + f = null === t, + c = t === t, + a = wu(t) + if ((!f && !a && !i && n > t) || (i && o && c && !f && !a) || (e && o && c) || (!r && c) || !u) return 1 + if ((!e && !i && !a && n < t) || (a && r && u && !e && !i) || (f && r && u) || (!o && u) || !c) return -1 + } + return 0 + } + function Ur(n, t, r, e) { + var u = -1, + i = n.length, + o = r.length, + f = -1, + c = t.length, + a = Li(i - o, 0), + l = Ku(c + a) + for (e = !e; ++f < c; ) l[f] = t[f] + for (; ++u < o; ) (e || u < i) && (l[r[u]] = n[u]) + for (; a--; ) l[f++] = n[u++] + return l + } + function Br(n, t, r, e) { + var u = -1, + i = n.length, + o = -1, + f = r.length, + c = -1, + a = t.length, + l = Li(i - f, 0), + s = Ku(l + a) + for (e = !e; ++u < l; ) s[u] = n[u] + for (l = u; ++c < a; ) s[l + c] = t[c] + for (; ++o < f; ) (e || u < i) && (s[l + r[o]] = n[u++]) + return s + } + function Lr(n, t) { + var r = -1, + e = n.length + for (t || (t = Ku(e)); ++r < e; ) t[r] = n[r] + return t + } + function Cr(n, t, r, e) { + var u = !r + r || (r = {}) + for (var i = -1, o = t.length; ++i < o; ) { + var f = t[i], + c = e ? e(r[f], n[f], f, r, n) : T + c === T && (c = n[f]), u ? st(r, f, c) : ot(r, f, c) + } + return r + } + function Dr(n, t) { + return Cr(n, po(n), t) + } + function Mr(n, t) { + return Cr(n, _o(n), t) + } + function Tr(n, r) { + return function (e, u) { + var i = ff(e) ? t : ct, + o = r ? r() : {} + return i(e, n, ye(u, 2), o) + } + } + function $r(n) { + return fr(function (t, r) { + var e = -1, + u = r.length, + i = 1 < u ? r[u - 1] : T, + o = 2 < u ? r[2] : T, + i = 3 < n.length && typeof i == 'function' ? (u--, i) : T + for (o && Oe(r[0], r[1], o) && ((i = 3 > u ? T : i), (u = 1)), t = Qu(t); ++e < u; ) + (o = r[e]) && n(t, o, e, i) + return t + }) + } + function Fr(n, t) { + return function (r, e) { + if (null == r) return r + if (!su(r)) return n(r, e) + for (var u = r.length, i = t ? u : -1, o = Qu(r); (t ? i-- : ++i < u) && false !== e(o[i], i, o); ); + return r + } + } + function Nr(n) { + return function (t, r, e) { + var u = -1, + i = Qu(t) + e = e(t) + for (var o = e.length; o--; ) { + var f = e[n ? o : ++u] + if (false === r(i[f], f, i)) break + } + return t + } + } + function Pr(n, t, r) { + function e() { + return (this && this !== $n && this instanceof e ? i : n).apply(u ? r : this, arguments) + } + var u = 1 & t, + i = Vr(n) + return e + } + function Zr(n) { + return function (t) { + t = Iu(t) + var r = Rn.test(t) ? M(t) : T, + e = r ? r[0] : t.charAt(0) + return (t = r ? Or(r, 1).join('') : t.slice(1)), e[n]() + t + } + } + function qr(n) { + return function (t) { + return l(Mu(Du(t).replace(En, '')), n, '') + } + } + function Vr(n) { + return function () { + var t = arguments + switch (t.length) { + case 0: + return new n() + case 1: + return new n(t[0]) + case 2: + return new n(t[0], t[1]) + case 3: + return new n(t[0], t[1], t[2]) + case 4: + return new n(t[0], t[1], t[2], t[3]) + case 5: + return new n(t[0], t[1], t[2], t[3], t[4]) + case 6: + return new n(t[0], t[1], t[2], t[3], t[4], t[5]) + case 7: + return new n(t[0], t[1], t[2], t[3], t[4], t[5], t[6]) + } + var r = eo(n.prototype), + t = n.apply(r, t) + return du(t) ? t : r + } + } + function Kr(t, r, e) { + function u() { + for (var o = arguments.length, f = Ku(o), c = o, a = de(u); c--; ) f[c] = arguments[c] + return ( + (c = 3 > o && f[0] !== a && f[o - 1] !== a ? [] : B(f, a)), + (o -= c.length), + o < e + ? ue(t, r, Jr, u.placeholder, T, f, c, T, T, e - o) + : n(this && this !== $n && this instanceof u ? i : t, this, f) + ) + } + var i = Vr(t) + return u + } + function Gr(n) { + return function (t, r, e) { + var u = Qu(t) + if (!su(t)) { + var i = ye(r, 3) + ;(t = Wu(t)), + (r = function (n) { + return i(u[n], n, u) + }) + } + return (r = n(t, r, e)), -1 < r ? u[i ? t[r] : r] : T + } + } + function Hr(n) { + return pe(function (t) { + var r = t.length, + e = r, + u = On.prototype.thru + for (n && t.reverse(); e--; ) { + var i = t[e] + if (typeof i != 'function') throw new ti('Expected a function') + if (u && !o && 'wrapper' == ge(i)) var o = new On([], true) + } + for (e = o ? e : r; ++e < r; ) + var i = t[e], + u = ge(i), + f = 'wrapper' == u ? ho(i) : T, + o = + f && Re(f[0]) && 424 == f[1] && !f[4].length && 1 == f[9] + ? o[ge(f[0])].apply(o, f[3]) + : 1 == i.length && Re(i) + ? o[u]() + : o.thru(i) + return function () { + var n = arguments, + e = n[0] + if (o && 1 == n.length && ff(e)) return o.plant(e).value() + for (var u = 0, n = r ? t[u].apply(this, n) : e; ++u < r; ) n = t[u].call(this, n) + return n + } + }) + } + function Jr(n, t, r, e, u, i, o, f, c, a) { + function l() { + for (var d = arguments.length, y = Ku(d), b = d; b--; ) y[b] = arguments[b] + if (_) { + var x, + j = de(l), + b = y.length + for (x = 0; b--; ) y[b] === j && ++x + } + if ((e && (y = Ur(y, e, u, _)), i && (y = Br(y, i, o, _)), (d -= x), _ && d < a)) + return (j = B(y, j)), ue(n, t, Jr, l.placeholder, r, y, j, f, c, a - d) + if (((j = h ? r : this), (b = p ? j[n] : n), (d = y.length), f)) { + x = y.length + for (var w = Ci(f.length, x), m = Lr(y); w--; ) { + var A = f[w] + y[w] = Se(A, x) ? m[A] : T + } + } else v && 1 < d && y.reverse() + return ( + s && c < d && (y.length = c), this && this !== $n && this instanceof l && (b = g || Vr(b)), b.apply(j, y) + ) + } + var s = 128 & t, + h = 1 & t, + p = 2 & t, + _ = 24 & t, + v = 512 & t, + g = p ? T : Vr(n) + return l + } + function Yr(n, t) { + return function (r, e) { + return Ut(r, n, t(e), {}) + } + } + function Qr(n, t) { + return function (r, e) { + var u + if (r === T && e === T) return t + if ((r !== T && (u = r), e !== T)) { + if (u === T) return e + typeof r == 'string' || typeof e == 'string' ? ((r = yr(r)), (e = yr(e))) : ((r = dr(r)), (e = dr(e))), + (u = n(r, e)) + } + return u + } + } + function Xr(t) { + return pe(function (r) { + return ( + (r = c(r, E(ye()))), + fr(function (e) { + var u = this + return t(r, function (t) { + return n(t, u, e) + }) + }) + ) + }) + } + function ne(n, t) { + t = t === T ? ' ' : yr(t) + var r = t.length + return 2 > r + ? r + ? or(t, n) + : t + : ((r = or(t, Oi(n / D(t)))), Rn.test(t) ? Or(M(r), 0, n).join('') : r.slice(0, n)) + } + function te(t, r, e, u) { + function i() { + for ( + var r = -1, + c = arguments.length, + a = -1, + l = u.length, + s = Ku(l + c), + h = this && this !== $n && this instanceof i ? f : t; + ++a < l; + + ) + s[a] = u[a] + for (; c--; ) s[a++] = arguments[++r] + return n(h, o ? e : this, s) + } + var o = 1 & r, + f = Vr(t) + return i + } + function re(n) { + return function (t, r, e) { + e && typeof e != 'number' && Oe(t, r, e) && (r = e = T), + (t = Au(t)), + r === T ? ((r = t), (t = 0)) : (r = Au(r)), + (e = e === T ? (t < r ? 1 : -1) : Au(e)) + var u = -1 + r = Li(Oi((r - t) / (e || 1)), 0) + for (var i = Ku(r); r--; ) (i[n ? r : ++u] = t), (t += e) + return i + } + } + function ee(n) { + return function (t, r) { + return (typeof t == 'string' && typeof r == 'string') || ((t = Su(t)), (r = Su(r))), n(t, r) + } + } + function ue(n, t, r, e, u, i, o, f, c, a) { + var l = 8 & t, + s = l ? o : T + o = l ? T : o + var h = l ? i : T + return ( + (i = l ? T : i), + (t = (t | (l ? 32 : 64)) & ~(l ? 64 : 32)), + 4 & t || (t &= -4), + (u = [n, t, u, h, s, i, o, f, c, a]), + (r = r.apply(T, u)), + Re(n) && yo(r, u), + (r.placeholder = e), + Le(r, n, t) + ) + } + function ie(n) { + var t = Yu[n] + return function (n, r) { + if (((n = Su(n)), (r = null == r ? 0 : Ci(ku(r), 292)))) { + var e = (Iu(n) + 'e').split('e'), + e = t(e[0] + 'e' + (+e[1] + r)), + e = (Iu(e) + 'e').split('e') + return +(e[0] + 'e' + (+e[1] - r)) + } + return t(n) + } + } + function oe(n) { + return function (t) { + var r = vo(t) + return '[object Map]' == r ? W(t) : '[object Set]' == r ? C(t) : k(t, n(t)) + } + } + function fe(n, t, r, e, u, i, o, f) { + var c = 2 & t + if (!c && typeof n != 'function') throw new ti('Expected a function') + var a = e ? e.length : 0 + if ( + (a || ((t &= -97), (e = u = T)), + (o = o === T ? o : Li(ku(o), 0)), + (f = f === T ? f : ku(f)), + (a -= u ? u.length : 0), + 64 & t) + ) { + var l = e, + s = u + e = u = T + } + var h = c ? T : ho(n) + return ( + (i = [n, t, r, e, u, l, s, i, o, f]), + h && + ((r = i[1]), + (n = h[1]), + (t = r | n), + (e = + (128 == n && 8 == r) || + (128 == n && 256 == r && i[7].length <= h[8]) || + (384 == n && h[7].length <= h[8] && 8 == r)), + 131 > t || e) && + (1 & n && ((i[2] = h[2]), (t |= 1 & r ? 0 : 4)), + (r = h[3]) && + ((e = i[3]), (i[3] = e ? Ur(e, r, h[4]) : r), (i[4] = e ? B(i[3], '__lodash_placeholder__') : h[4])), + (r = h[5]) && + ((e = i[5]), (i[5] = e ? Br(e, r, h[6]) : r), (i[6] = e ? B(i[5], '__lodash_placeholder__') : h[6])), + (r = h[7]) && (i[7] = r), + 128 & n && (i[8] = null == i[8] ? h[8] : Ci(i[8], h[8])), + null == i[9] && (i[9] = h[9]), + (i[0] = h[0]), + (i[1] = t)), + (n = i[0]), + (t = i[1]), + (r = i[2]), + (e = i[3]), + (u = i[4]), + (f = i[9] = i[9] === T ? (c ? 0 : n.length) : Li(i[9] - a, 0)), + !f && 24 & t && (t &= -25), + (c = + t && 1 != t + ? 8 == t || 16 == t + ? Kr(n, t, f) + : (32 != t && 33 != t) || u.length + ? Jr.apply(T, i) + : te(n, t, r, e) + : Pr(n, t, r)), + Le((h ? co : yo)(c, i), n, t) + ) + } + function ce(n, t, r, e) { + return n === T || (lu(n, ei[r]) && !oi.call(e, r)) ? t : n + } + function ae(n, t, r, e, u, i) { + return du(n) && du(t) && (i.set(t, n), Yt(n, t, T, ae, i), i.delete(t)), n + } + function le(n) { + return xu(n) ? T : n + } + function se(n, t, r, e, u, i) { + var o = 1 & r, + f = n.length, + c = t.length + if (f != c && !(o && c > f)) return false + if ((c = i.get(n)) && i.get(t)) return c == t + var c = -1, + a = true, + l = 2 & r ? new Nn() : T + for (i.set(n, t), i.set(t, n); ++c < f; ) { + var s = n[c], + p = t[c] + if (e) var _ = o ? e(p, s, c, t, n, i) : e(s, p, c, n, t, i) + if (_ !== T) { + if (_) continue + a = false + break + } + if (l) { + if ( + !h(t, function (n, t) { + if (!O(l, t) && (s === n || u(s, n, r, e, i))) return l.push(t) + }) + ) { + a = false + break + } + } else if (s !== p && !u(s, p, r, e, i)) { + a = false + break + } + } + return i.delete(n), i.delete(t), a + } + function he(n, t, r, e, u, i, o) { + switch (r) { + case '[object DataView]': + if (n.byteLength != t.byteLength || n.byteOffset != t.byteOffset) break + ;(n = n.buffer), (t = t.buffer) + case '[object ArrayBuffer]': + if (n.byteLength != t.byteLength || !i(new vi(n), new vi(t))) break + return true + case '[object Boolean]': + case '[object Date]': + case '[object Number]': + return lu(+n, +t) + case '[object Error]': + return n.name == t.name && n.message == t.message + case '[object RegExp]': + case '[object String]': + return n == t + '' + case '[object Map]': + var f = W + case '[object Set]': + if ((f || (f = L), n.size != t.size && !(1 & e))) break + return (r = o.get(n)) ? r == t : ((e |= 2), o.set(n, t), (t = se(f(n), f(t), e, u, i, o)), o.delete(n), t) + case '[object Symbol]': + if (to) return to.call(n) == to.call(t) + } + return false + } + function pe(n) { + return xo(Ue(n, T, Ze), n + '') + } + function _e(n) { + return St(n, Wu, po) + } + function ve(n) { + return St(n, Uu, _o) + } + function ge(n) { + for (var t = n.name + '', r = Gi[t], e = oi.call(Gi, t) ? r.length : 0; e--; ) { + var u = r[e], + i = u.func + if (null == i || i == n) return u.name + } + return t + } + function de(n) { + return (oi.call(An, 'placeholder') ? An : n).placeholder + } + function ye() { + var n = An.iteratee || Fu, + n = n === Fu ? qt : n + return arguments.length ? n(arguments[0], arguments[1]) : n + } + function be(n, t) { + var r = n.__data__, + e = typeof t + return ('string' == e || 'number' == e || 'symbol' == e || 'boolean' == e ? '__proto__' !== t : null === t) + ? r[typeof t == 'string' ? 'string' : 'hash'] + : r.map + } + function xe(n) { + for (var t = Wu(n), r = t.length; r--; ) { + var e = t[r], + u = n[e] + t[r] = [e, u, u === u && !du(u)] + } + return t + } + function je(n, t) { + var r = null == n ? T : n[t] + return Ft(r) ? r : T + } + function we(n, t, r) { + t = Sr(t, n) + for (var e = -1, u = t.length, i = false; ++e < u; ) { + var o = Me(t[e]) + if (!(i = null != n && r(n, o))) break + n = n[o] + } + return i || ++e != u ? i : ((u = null == n ? 0 : n.length), !!u && gu(u) && Se(o, u) && (ff(n) || of(n))) + } + function me(n) { + var t = n.length, + r = new n.constructor(t) + return t && 'string' == typeof n[0] && oi.call(n, 'index') && ((r.index = n.index), (r.input = n.input)), r + } + function Ae(n) { + return typeof n.constructor != 'function' || ze(n) ? {} : eo(di(n)) + } + function ke(n, t, r) { + var e = n.constructor + switch (t) { + case '[object ArrayBuffer]': + return Rr(n) + case '[object Boolean]': + case '[object Date]': + return new e(+n) + case '[object DataView]': + return (t = r ? Rr(n.buffer) : n.buffer), new n.constructor(t, n.byteOffset, n.byteLength) + case '[object Float32Array]': + case '[object Float64Array]': + case '[object Int8Array]': + case '[object Int16Array]': + case '[object Int32Array]': + case '[object Uint8Array]': + case '[object Uint8ClampedArray]': + case '[object Uint16Array]': + case '[object Uint32Array]': + return zr(n, r) + case '[object Map]': + return new e() + case '[object Number]': + case '[object String]': + return new e(n) + case '[object RegExp]': + return (t = new n.constructor(n.source, _n.exec(n))), (t.lastIndex = n.lastIndex), t + case '[object Set]': + return new e() + case '[object Symbol]': + return to ? Qu(to.call(n)) : {} + } + } + function Ee(n) { + return ff(n) || of(n) || !!(ji && n && n[ji]) + } + function Se(n, t) { + var r = typeof n + return ( + (t = null == t ? 9007199254740991 : t), + !!t && ('number' == r || ('symbol' != r && bn.test(n))) && -1 < n && 0 == n % 1 && n < t + ) + } + function Oe(n, t, r) { + if (!du(r)) return false + var e = typeof t + return !!('number' == e ? su(r) && Se(t, r.length) : 'string' == e && t in r) && lu(r[t], n) + } + function Ie(n, t) { + if (ff(n)) return false + var r = typeof n + return ( + !('number' != r && 'symbol' != r && 'boolean' != r && null != n && !wu(n)) || + nn.test(n) || + !X.test(n) || + (null != t && n in Qu(t)) + ) + } + function Re(n) { + var t = ge(n), + r = An[t] + return typeof r == 'function' && t in Ln.prototype && (n === r || ((t = ho(r)), !!t && n === t[0])) + } + function ze(n) { + var t = n && n.constructor + return n === ((typeof t == 'function' && t.prototype) || ei) + } + function We(n, t) { + return function (r) { + return null != r && r[n] === t && (t !== T || n in Qu(r)) + } + } + function Ue(t, r, e) { + return ( + (r = Li(r === T ? t.length - 1 : r, 0)), + function () { + for (var u = arguments, i = -1, o = Li(u.length - r, 0), f = Ku(o); ++i < o; ) f[i] = u[r + i] + for (i = -1, o = Ku(r + 1); ++i < r; ) o[i] = u[i] + return (o[r] = e(f)), n(t, this, o) + } + ) + } + function Be(n, t) { + if ('__proto__' != t) return n[t] + } + function Le(n, t, r) { + var e = t + '' + t = xo + var u, + i = $e + return ( + (u = (u = e.match(an)) ? u[1].split(ln) : []), + (r = i(u, r)), + (i = r.length) && + ((u = i - 1), + (r[u] = (1 < i ? '& ' : '') + r[u]), + (r = r.join(2 < i ? ', ' : ' ')), + (e = e.replace(cn, '{\n/* [wrapped with ' + r + '] */\n'))), + t(n, e) + ) + } + function Ce(n) { + var t = 0, + r = 0 + return function () { + var e = Di(), + u = 16 - (e - r) + if (((r = e), 0 < u)) { + if (800 <= ++t) return arguments[0] + } else t = 0 + return n.apply(T, arguments) + } + } + function De(n, t) { + var r = -1, + e = n.length, + u = e - 1 + for (t = t === T ? e : t; ++r < t; ) { + var e = ir(r, u), + i = n[e] + ;(n[e] = n[r]), (n[r] = i) + } + return (n.length = t), n + } + function Me(n) { + if (typeof n == 'string' || wu(n)) return n + var t = n + '' + return '0' == t && 1 / n == -$ ? '-0' : t + } + function Te(n) { + if (null != n) { + try { + return ii.call(n) + } catch (n) {} + return n + '' + } + return '' + } + function $e(n, t) { + return ( + r(N, function (r) { + var e = '_.' + r[0] + t & r[1] && !o(n, e) && n.push(e) + }), + n.sort() + ) + } + function Fe(n) { + if (n instanceof Ln) return n.clone() + var t = new On(n.__wrapped__, n.__chain__) + return (t.__actions__ = Lr(n.__actions__)), (t.__index__ = n.__index__), (t.__values__ = n.__values__), t + } + function Ne(n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((r = null == r ? 0 : ku(r)), 0 > r && (r = Li(e + r, 0)), _(n, ye(t, 3), r)) : -1 + } + function Pe(n, t, r) { + var e = null == n ? 0 : n.length + if (!e) return -1 + var u = e - 1 + return r !== T && ((u = ku(r)), (u = 0 > r ? Li(e + u, 0) : Ci(u, e - 1))), _(n, ye(t, 3), u, true) + } + function Ze(n) { + return (null == n ? 0 : n.length) ? wt(n, 1) : [] + } + function qe(n) { + return n && n.length ? n[0] : T + } + function Ve(n) { + var t = null == n ? 0 : n.length + return t ? n[t - 1] : T + } + function Ke(n, t) { + return n && n.length && t && t.length ? er(n, t) : n + } + function Ge(n) { + return null == n ? n : $i.call(n) + } + function He(n) { + if (!n || !n.length) return [] + var t = 0 + return ( + (n = i(n, function (n) { + if (hu(n)) return (t = Li(n.length, t)), true + })), + A(t, function (t) { + return c(n, b(t)) + }) + ) + } + function Je(t, r) { + if (!t || !t.length) return [] + var e = He(t) + return null == r + ? e + : c(e, function (t) { + return n(r, T, t) + }) + } + function Ye(n) { + return (n = An(n)), (n.__chain__ = true), n + } + function Qe(n, t) { + return t(n) + } + function Xe() { + return this + } + function nu(n, t) { + return (ff(n) ? r : uo)(n, ye(t, 3)) + } + function tu(n, t) { + return (ff(n) ? e : io)(n, ye(t, 3)) + } + function ru(n, t) { + return (ff(n) ? c : Gt)(n, ye(t, 3)) + } + function eu(n, t, r) { + return (t = r ? T : t), (t = n && null == t ? n.length : t), fe(n, 128, T, T, T, T, t) + } + function uu(n, t) { + var r + if (typeof t != 'function') throw new ti('Expected a function') + return ( + (n = ku(n)), + function () { + return 0 < --n && (r = t.apply(this, arguments)), 1 >= n && (t = T), r + } + ) + } + function iu(n, t, r) { + return (t = r ? T : t), (n = fe(n, 8, T, T, T, T, T, t)), (n.placeholder = iu.placeholder), n + } + function ou(n, t, r) { + return (t = r ? T : t), (n = fe(n, 16, T, T, T, T, T, t)), (n.placeholder = ou.placeholder), n + } + function fu(n, t, r) { + function e(t) { + var r = c, + e = a + return (c = a = T), (_ = t), (s = n.apply(e, r)) + } + function u(n) { + var r = n - p + return (n -= _), p === T || r >= t || 0 > r || (g && n >= l) + } + function i() { + var n = Go() + if (u(n)) return o(n) + var r, + e = bo + ;(r = n - _), (n = t - (n - p)), (r = g ? Ci(n, l - r) : n), (h = e(i, r)) + } + function o(n) { + return (h = T), d && c ? e(n) : ((c = a = T), s) + } + function f() { + var n = Go(), + r = u(n) + if (((c = arguments), (a = this), (p = n), r)) { + if (h === T) return (_ = n = p), (h = bo(i, t)), v ? e(n) : s + if (g) return (h = bo(i, t)), e(p) + } + return h === T && (h = bo(i, t)), s + } + var c, + a, + l, + s, + h, + p, + _ = 0, + v = false, + g = false, + d = true + if (typeof n != 'function') throw new ti('Expected a function') + return ( + (t = Su(t) || 0), + du(r) && + ((v = !!r.leading), + (l = (g = 'maxWait' in r) ? Li(Su(r.maxWait) || 0, t) : l), + (d = 'trailing' in r ? !!r.trailing : d)), + (f.cancel = function () { + h !== T && lo(h), (_ = 0), (c = p = a = h = T) + }), + (f.flush = function () { + return h === T ? s : o(Go()) + }), + f + ) + } + function cu(n, t) { + if (typeof n != 'function' || (null != t && typeof t != 'function')) throw new ti('Expected a function') + var r = function () { + var e = arguments, + u = t ? t.apply(this, e) : e[0], + i = r.cache + return i.has(u) ? i.get(u) : ((e = n.apply(this, e)), (r.cache = i.set(u, e) || i), e) + } + return (r.cache = new (cu.Cache || Fn)()), r + } + function au(n) { + if (typeof n != 'function') throw new ti('Expected a function') + return function () { + var t = arguments + switch (t.length) { + case 0: + return !n.call(this) + case 1: + return !n.call(this, t[0]) + case 2: + return !n.call(this, t[0], t[1]) + case 3: + return !n.call(this, t[0], t[1], t[2]) + } + return !n.apply(this, t) + } + } + function lu(n, t) { + return n === t || (n !== n && t !== t) + } + function su(n) { + return null != n && gu(n.length) && !_u(n) + } + function hu(n) { + return yu(n) && su(n) + } + function pu(n) { + if (!yu(n)) return false + var t = Ot(n) + return ( + '[object Error]' == t || + '[object DOMException]' == t || + (typeof n.message == 'string' && typeof n.name == 'string' && !xu(n)) + ) + } + function _u(n) { + return ( + !!du(n) && + ((n = Ot(n)), + '[object Function]' == n || + '[object GeneratorFunction]' == n || + '[object AsyncFunction]' == n || + '[object Proxy]' == n) + ) + } + function vu(n) { + return typeof n == 'number' && n == ku(n) + } + function gu(n) { + return typeof n == 'number' && -1 < n && 0 == n % 1 && 9007199254740991 >= n + } + function du(n) { + var t = typeof n + return null != n && ('object' == t || 'function' == t) + } + function yu(n) { + return null != n && typeof n == 'object' + } + function bu(n) { + return typeof n == 'number' || (yu(n) && '[object Number]' == Ot(n)) + } + function xu(n) { + return ( + !(!yu(n) || '[object Object]' != Ot(n)) && + ((n = di(n)), + null === n || + ((n = oi.call(n, 'constructor') && n.constructor), + typeof n == 'function' && n instanceof n && ii.call(n) == li)) + ) + } + function ju(n) { + return typeof n == 'string' || (!ff(n) && yu(n) && '[object String]' == Ot(n)) + } + function wu(n) { + return typeof n == 'symbol' || (yu(n) && '[object Symbol]' == Ot(n)) + } + function mu(n) { + if (!n) return [] + if (su(n)) return ju(n) ? M(n) : Lr(n) + if (wi && n[wi]) { + n = n[wi]() + for (var t, r = []; !(t = n.next()).done; ) r.push(t.value) + return r + } + return (t = vo(n)), ('[object Map]' == t ? W : '[object Set]' == t ? L : Lu)(n) + } + function Au(n) { + return n + ? ((n = Su(n)), n === $ || n === -$ ? 1.7976931348623157e308 * (0 > n ? -1 : 1) : n === n ? n : 0) + : 0 === n + ? n + : 0 + } + function ku(n) { + n = Au(n) + var t = n % 1 + return n === n ? (t ? n - t : n) : 0 + } + function Eu(n) { + return n ? pt(ku(n), 0, 4294967295) : 0 + } + function Su(n) { + if (typeof n == 'number') return n + if (wu(n)) return F + if ( + (du(n) && ((n = typeof n.valueOf == 'function' ? n.valueOf() : n), (n = du(n) ? n + '' : n)), + typeof n != 'string') + ) + return 0 === n ? n : +n + n = n.replace(un, '') + var t = gn.test(n) + return t || yn.test(n) ? Dn(n.slice(2), t ? 2 : 8) : vn.test(n) ? F : +n + } + function Ou(n) { + return Cr(n, Uu(n)) + } + function Iu(n) { + return null == n ? '' : yr(n) + } + function Ru(n, t, r) { + return (n = null == n ? T : Et(n, t)), n === T ? r : n + } + function zu(n, t) { + return null != n && we(n, t, zt) + } + function Wu(n) { + return su(n) ? qn(n) : Vt(n) + } + function Uu(n) { + if (su(n)) n = qn(n, true) + else if (du(n)) { + var t, + r = ze(n), + e = [] + for (t in n) ('constructor' != t || (!r && oi.call(n, t))) && e.push(t) + n = e + } else { + if (((t = []), null != n)) for (r in Qu(n)) t.push(r) + n = t + } + return n + } + function Bu(n, t) { + if (null == n) return {} + var r = c(ve(n), function (n) { + return [n] + }) + return ( + (t = ye(t)), + tr(n, r, function (n, r) { + return t(n, r[0]) + }) + ) + } + function Lu(n) { + return null == n ? [] : S(n, Wu(n)) + } + function Cu(n) { + return $f(Iu(n).toLowerCase()) + } + function Du(n) { + return (n = Iu(n)) && n.replace(xn, Xn).replace(Sn, '') + } + function Mu(n, t, r) { + return ( + (n = Iu(n)), + (t = r ? T : t), + t === T ? (zn.test(n) ? n.match(In) || [] : n.match(sn) || []) : n.match(t) || [] + ) + } + function Tu(n) { + return function () { + return n + } + } + function $u(n) { + return n + } + function Fu(n) { + return qt(typeof n == 'function' ? n : _t(n, 1)) + } + function Nu(n, t, e) { + var u = Wu(t), + i = kt(t, u) + null != e || (du(t) && (i.length || !u.length)) || ((e = t), (t = n), (n = this), (i = kt(t, Wu(t)))) + var o = !(du(e) && 'chain' in e && !e.chain), + f = _u(n) + return ( + r(i, function (r) { + var e = t[r] + ;(n[r] = e), + f && + (n.prototype[r] = function () { + var t = this.__chain__ + if (o || t) { + var r = n(this.__wrapped__) + return ( + (r.__actions__ = Lr(this.__actions__)).push({ + func: e, + args: arguments, + thisArg: n + }), + (r.__chain__ = t), + r + ) + } + return e.apply(n, a([this.value()], arguments)) + }) + }), + n + ) + } + function Pu() {} + function Zu(n) { + return Ie(n) ? b(Me(n)) : rr(n) + } + function qu() { + return [] + } + function Vu() { + return false + } + mn = null == mn ? $n : rt.defaults($n.Object(), mn, rt.pick($n, Wn)) + var Ku = mn.Array, + Gu = mn.Date, + Hu = mn.Error, + Ju = mn.Function, + Yu = mn.Math, + Qu = mn.Object, + Xu = mn.RegExp, + ni = mn.String, + ti = mn.TypeError, + ri = Ku.prototype, + ei = Qu.prototype, + ui = mn['__core-js_shared__'], + ii = Ju.prototype.toString, + oi = ei.hasOwnProperty, + fi = 0, + ci = (function () { + var n = /[^.]+$/.exec((ui && ui.keys && ui.keys.IE_PROTO) || '') + return n ? 'Symbol(src)_1.' + n : '' + })(), + ai = ei.toString, + li = ii.call(Qu), + si = $n._, + hi = Xu( + '^' + + ii + .call(oi) + .replace(rn, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + + '$' + ), + pi = Pn ? mn.Buffer : T, + _i = mn.Symbol, + vi = mn.Uint8Array, + gi = pi ? pi.allocUnsafe : T, + di = U(Qu.getPrototypeOf, Qu), + yi = Qu.create, + bi = ei.propertyIsEnumerable, + xi = ri.splice, + ji = _i ? _i.isConcatSpreadable : T, + wi = _i ? _i.iterator : T, + mi = _i ? _i.toStringTag : T, + Ai = (function () { + try { + var n = je(Qu, 'defineProperty') + return n({}, '', {}), n + } catch (n) {} + })(), + ki = mn.clearTimeout !== $n.clearTimeout && mn.clearTimeout, + Ei = Gu && Gu.now !== $n.Date.now && Gu.now, + Si = mn.setTimeout !== $n.setTimeout && mn.setTimeout, + Oi = Yu.ceil, + Ii = Yu.floor, + Ri = Qu.getOwnPropertySymbols, + zi = pi ? pi.isBuffer : T, + Wi = mn.isFinite, + Ui = ri.join, + Bi = U(Qu.keys, Qu), + Li = Yu.max, + Ci = Yu.min, + Di = Gu.now, + Mi = mn.parseInt, + Ti = Yu.random, + $i = ri.reverse, + Fi = je(mn, 'DataView'), + Ni = je(mn, 'Map'), + Pi = je(mn, 'Promise'), + Zi = je(mn, 'Set'), + qi = je(mn, 'WeakMap'), + Vi = je(Qu, 'create'), + Ki = qi && new qi(), + Gi = {}, + Hi = Te(Fi), + Ji = Te(Ni), + Yi = Te(Pi), + Qi = Te(Zi), + Xi = Te(qi), + no = _i ? _i.prototype : T, + to = no ? no.valueOf : T, + ro = no ? no.toString : T, + eo = (function () { + function n() {} + return function (t) { + return du(t) ? (yi ? yi(t) : ((n.prototype = t), (t = new n()), (n.prototype = T), t)) : {} + } + })() + ;(An.templateSettings = { + escape: J, + evaluate: Y, + interpolate: Q, + variable: '', + imports: { _: An } + }), + (An.prototype = kn.prototype), + (An.prototype.constructor = An), + (On.prototype = eo(kn.prototype)), + (On.prototype.constructor = On), + (Ln.prototype = eo(kn.prototype)), + (Ln.prototype.constructor = Ln), + (Mn.prototype.clear = function () { + ;(this.__data__ = Vi ? Vi(null) : {}), (this.size = 0) + }), + (Mn.prototype.delete = function (n) { + return (n = this.has(n) && delete this.__data__[n]), (this.size -= n ? 1 : 0), n + }), + (Mn.prototype.get = function (n) { + var t = this.__data__ + return Vi ? ((n = t[n]), '__lodash_hash_undefined__' === n ? T : n) : oi.call(t, n) ? t[n] : T + }), + (Mn.prototype.has = function (n) { + var t = this.__data__ + return Vi ? t[n] !== T : oi.call(t, n) + }), + (Mn.prototype.set = function (n, t) { + var r = this.__data__ + return (this.size += this.has(n) ? 0 : 1), (r[n] = Vi && t === T ? '__lodash_hash_undefined__' : t), this + }), + (Tn.prototype.clear = function () { + ;(this.__data__ = []), (this.size = 0) + }), + (Tn.prototype.delete = function (n) { + var t = this.__data__ + return (n = ft(t, n)), !(0 > n) && (n == t.length - 1 ? t.pop() : xi.call(t, n, 1), --this.size, true) + }), + (Tn.prototype.get = function (n) { + var t = this.__data__ + return (n = ft(t, n)), 0 > n ? T : t[n][1] + }), + (Tn.prototype.has = function (n) { + return -1 < ft(this.__data__, n) + }), + (Tn.prototype.set = function (n, t) { + var r = this.__data__, + e = ft(r, n) + return 0 > e ? (++this.size, r.push([n, t])) : (r[e][1] = t), this + }), + (Fn.prototype.clear = function () { + ;(this.size = 0), (this.__data__ = { hash: new Mn(), map: new (Ni || Tn)(), string: new Mn() }) + }), + (Fn.prototype.delete = function (n) { + return (n = be(this, n).delete(n)), (this.size -= n ? 1 : 0), n + }), + (Fn.prototype.get = function (n) { + return be(this, n).get(n) + }), + (Fn.prototype.has = function (n) { + return be(this, n).has(n) + }), + (Fn.prototype.set = function (n, t) { + var r = be(this, n), + e = r.size + return r.set(n, t), (this.size += r.size == e ? 0 : 1), this + }), + (Nn.prototype.add = Nn.prototype.push = function (n) { + return this.__data__.set(n, '__lodash_hash_undefined__'), this + }), + (Nn.prototype.has = function (n) { + return this.__data__.has(n) + }), + (Zn.prototype.clear = function () { + ;(this.__data__ = new Tn()), (this.size = 0) + }), + (Zn.prototype.delete = function (n) { + var t = this.__data__ + return (n = t.delete(n)), (this.size = t.size), n + }), + (Zn.prototype.get = function (n) { + return this.__data__.get(n) + }), + (Zn.prototype.has = function (n) { + return this.__data__.has(n) + }), + (Zn.prototype.set = function (n, t) { + var r = this.__data__ + if (r instanceof Tn) { + var e = r.__data__ + if (!Ni || 199 > e.length) return e.push([n, t]), (this.size = ++r.size), this + r = this.__data__ = new Fn(e) + } + return r.set(n, t), (this.size = r.size), this + }) + var uo = Fr(mt), + io = Fr(At, true), + oo = Nr(), + fo = Nr(true), + co = Ki + ? function (n, t) { + return Ki.set(n, t), n + } + : $u, + ao = Ai + ? function (n, t) { + return Ai(n, 'toString', { + configurable: true, + enumerable: false, + value: Tu(t), + writable: true + }) + } + : $u, + lo = + ki || + function (n) { + return $n.clearTimeout(n) + }, + so = + Zi && 1 / L(new Zi([, -0]))[1] == $ + ? function (n) { + return new Zi(n) + } + : Pu, + ho = Ki + ? function (n) { + return Ki.get(n) + } + : Pu, + po = Ri + ? function (n) { + return null == n + ? [] + : ((n = Qu(n)), + i(Ri(n), function (t) { + return bi.call(n, t) + })) + } + : qu, + _o = Ri + ? function (n) { + for (var t = []; n; ) a(t, po(n)), (n = di(n)) + return t + } + : qu, + vo = Ot + ;((Fi && '[object DataView]' != vo(new Fi(new ArrayBuffer(1)))) || + (Ni && '[object Map]' != vo(new Ni())) || + (Pi && '[object Promise]' != vo(Pi.resolve())) || + (Zi && '[object Set]' != vo(new Zi())) || + (qi && '[object WeakMap]' != vo(new qi()))) && + (vo = function (n) { + var t = Ot(n) + if ((n = (n = '[object Object]' == t ? n.constructor : T) ? Te(n) : '')) + switch (n) { + case Hi: + return '[object DataView]' + case Ji: + return '[object Map]' + case Yi: + return '[object Promise]' + case Qi: + return '[object Set]' + case Xi: + return '[object WeakMap]' + } + return t + }) + var go = ui ? _u : Vu, + yo = Ce(co), + bo = + Si || + function (n, t) { + return $n.setTimeout(n, t) + }, + xo = Ce(ao), + jo = (function (n) { + n = cu(n, function (n) { + return 500 === t.size && t.clear(), n + }) + var t = n.cache + return n + })(function (n) { + var t = [] + return ( + 46 === n.charCodeAt(0) && t.push(''), + n.replace(tn, function (n, r, e, u) { + t.push(e ? u.replace(hn, '$1') : r || n) + }), + t + ) + }), + wo = fr(function (n, t) { + return hu(n) ? yt(n, wt(t, 1, hu, true)) : [] + }), + mo = fr(function (n, t) { + var r = Ve(t) + return hu(r) && (r = T), hu(n) ? yt(n, wt(t, 1, hu, true), ye(r, 2)) : [] + }), + Ao = fr(function (n, t) { + var r = Ve(t) + return hu(r) && (r = T), hu(n) ? yt(n, wt(t, 1, hu, true), T, r) : [] + }), + ko = fr(function (n) { + var t = c(n, kr) + return t.length && t[0] === n[0] ? Wt(t) : [] + }), + Eo = fr(function (n) { + var t = Ve(n), + r = c(n, kr) + return t === Ve(r) ? (t = T) : r.pop(), r.length && r[0] === n[0] ? Wt(r, ye(t, 2)) : [] + }), + So = fr(function (n) { + var t = Ve(n), + r = c(n, kr) + return (t = typeof t == 'function' ? t : T) && r.pop(), r.length && r[0] === n[0] ? Wt(r, T, t) : [] + }), + Oo = fr(Ke), + Io = pe(function (n, t) { + var r = null == n ? 0 : n.length, + e = ht(n, t) + return ( + ur( + n, + c(t, function (n) { + return Se(n, r) ? +n : n + }).sort(Wr) + ), + e + ) + }), + Ro = fr(function (n) { + return br(wt(n, 1, hu, true)) + }), + zo = fr(function (n) { + var t = Ve(n) + return hu(t) && (t = T), br(wt(n, 1, hu, true), ye(t, 2)) + }), + Wo = fr(function (n) { + var t = Ve(n), + t = typeof t == 'function' ? t : T + return br(wt(n, 1, hu, true), T, t) + }), + Uo = fr(function (n, t) { + return hu(n) ? yt(n, t) : [] + }), + Bo = fr(function (n) { + return mr(i(n, hu)) + }), + Lo = fr(function (n) { + var t = Ve(n) + return hu(t) && (t = T), mr(i(n, hu), ye(t, 2)) + }), + Co = fr(function (n) { + var t = Ve(n), + t = typeof t == 'function' ? t : T + return mr(i(n, hu), T, t) + }), + Do = fr(He), + Mo = fr(function (n) { + var t = n.length, + t = 1 < t ? n[t - 1] : T, + t = typeof t == 'function' ? (n.pop(), t) : T + return Je(n, t) + }), + To = pe(function (n) { + var t = n.length, + r = t ? n[0] : 0, + e = this.__wrapped__, + u = function (t) { + return ht(t, n) + } + return !(1 < t || this.__actions__.length) && e instanceof Ln && Se(r) + ? ((e = e.slice(r, +r + (t ? 1 : 0))), + e.__actions__.push({ func: Qe, args: [u], thisArg: T }), + new On(e, this.__chain__).thru(function (n) { + return t && !n.length && n.push(T), n + })) + : this.thru(u) + }), + $o = Tr(function (n, t, r) { + oi.call(n, r) ? ++n[r] : st(n, r, 1) + }), + Fo = Gr(Ne), + No = Gr(Pe), + Po = Tr(function (n, t, r) { + oi.call(n, r) ? n[r].push(t) : st(n, r, [t]) + }), + Zo = fr(function (t, r, e) { + var u = -1, + i = typeof r == 'function', + o = su(t) ? Ku(t.length) : [] + return ( + uo(t, function (t) { + o[++u] = i ? n(r, t, e) : Bt(t, r, e) + }), + o + ) + }), + qo = Tr(function (n, t, r) { + st(n, r, t) + }), + Vo = Tr( + function (n, t, r) { + n[r ? 0 : 1].push(t) + }, + function () { + return [[], []] + } + ), + Ko = fr(function (n, t) { + if (null == n) return [] + var r = t.length + return ( + 1 < r && Oe(n, t[0], t[1]) ? (t = []) : 2 < r && Oe(t[0], t[1], t[2]) && (t = [t[0]]), Xt(n, wt(t, 1), []) + ) + }), + Go = + Ei || + function () { + return $n.Date.now() + }, + Ho = fr(function (n, t, r) { + var e = 1 + if (r.length) + var u = B(r, de(Ho)), + e = 32 | e + return fe(n, e, t, r, u) + }), + Jo = fr(function (n, t, r) { + var e = 3 + if (r.length) + var u = B(r, de(Jo)), + e = 32 | e + return fe(t, e, n, r, u) + }), + Yo = fr(function (n, t) { + return dt(n, 1, t) + }), + Qo = fr(function (n, t, r) { + return dt(n, Su(t) || 0, r) + }) + cu.Cache = Fn + var Xo = fr(function (t, r) { + r = 1 == r.length && ff(r[0]) ? c(r[0], E(ye())) : c(wt(r, 1), E(ye())) + var e = r.length + return fr(function (u) { + for (var i = -1, o = Ci(u.length, e); ++i < o; ) u[i] = r[i].call(this, u[i]) + return n(t, this, u) + }) + }), + nf = fr(function (n, t) { + return fe(n, 32, T, t, B(t, de(nf))) + }), + tf = fr(function (n, t) { + return fe(n, 64, T, t, B(t, de(tf))) + }), + rf = pe(function (n, t) { + return fe(n, 256, T, T, T, t) + }), + ef = ee(It), + uf = ee(function (n, t) { + return n >= t + }), + of = Lt( + (function () { + return arguments + })() + ) + ? Lt + : function (n) { + return yu(n) && oi.call(n, 'callee') && !bi.call(n, 'callee') + }, + ff = Ku.isArray, + cf = Vn ? E(Vn) : Ct, + af = zi || Vu, + lf = Kn ? E(Kn) : Dt, + sf = Gn ? E(Gn) : Tt, + hf = Hn ? E(Hn) : Nt, + pf = Jn ? E(Jn) : Pt, + _f = Yn ? E(Yn) : Zt, + vf = ee(Kt), + gf = ee(function (n, t) { + return n <= t + }), + df = $r(function (n, t) { + if (ze(t) || su(t)) Cr(t, Wu(t), n) + else for (var r in t) oi.call(t, r) && ot(n, r, t[r]) + }), + yf = $r(function (n, t) { + Cr(t, Uu(t), n) + }), + bf = $r(function (n, t, r, e) { + Cr(t, Uu(t), n, e) + }), + xf = $r(function (n, t, r, e) { + Cr(t, Wu(t), n, e) + }), + jf = pe(ht), + wf = fr(function (n, t) { + n = Qu(n) + var r = -1, + e = t.length, + u = 2 < e ? t[2] : T + for (u && Oe(t[0], t[1], u) && (e = 1); ++r < e; ) + for (var u = t[r], i = Uu(u), o = -1, f = i.length; ++o < f; ) { + var c = i[o], + a = n[c] + ;(a === T || (lu(a, ei[c]) && !oi.call(n, c))) && (n[c] = u[c]) + } + return n + }), + mf = fr(function (t) { + return t.push(T, ae), n(Of, T, t) + }), + Af = Yr(function (n, t, r) { + null != t && typeof t.toString != 'function' && (t = ai.call(t)), (n[t] = r) + }, Tu($u)), + kf = Yr(function (n, t, r) { + null != t && typeof t.toString != 'function' && (t = ai.call(t)), oi.call(n, t) ? n[t].push(r) : (n[t] = [r]) + }, ye), + Ef = fr(Bt), + Sf = $r(function (n, t, r) { + Yt(n, t, r) + }), + Of = $r(function (n, t, r, e) { + Yt(n, t, r, e) + }), + If = pe(function (n, t) { + var r = {} + if (null == n) return r + var e = false + ;(t = c(t, function (t) { + return (t = Sr(t, n)), e || (e = 1 < t.length), t + })), + Cr(n, ve(n), r), + e && (r = _t(r, 7, le)) + for (var u = t.length; u--; ) xr(r, t[u]) + return r + }), + Rf = pe(function (n, t) { + return null == n ? {} : nr(n, t) + }), + zf = oe(Wu), + Wf = oe(Uu), + Uf = qr(function (n, t, r) { + return (t = t.toLowerCase()), n + (r ? Cu(t) : t) + }), + Bf = qr(function (n, t, r) { + return n + (r ? '-' : '') + t.toLowerCase() + }), + Lf = qr(function (n, t, r) { + return n + (r ? ' ' : '') + t.toLowerCase() + }), + Cf = Zr('toLowerCase'), + Df = qr(function (n, t, r) { + return n + (r ? '_' : '') + t.toLowerCase() + }), + Mf = qr(function (n, t, r) { + return n + (r ? ' ' : '') + $f(t) + }), + Tf = qr(function (n, t, r) { + return n + (r ? ' ' : '') + t.toUpperCase() + }), + $f = Zr('toUpperCase'), + Ff = fr(function (t, r) { + try { + return n(t, T, r) + } catch (n) { + return pu(n) ? n : new Hu(n) + } + }), + Nf = pe(function (n, t) { + return ( + r(t, function (t) { + ;(t = Me(t)), st(n, t, Ho(n[t], n)) + }), + n + ) + }), + Pf = Hr(), + Zf = Hr(true), + qf = fr(function (n, t) { + return function (r) { + return Bt(r, n, t) + } + }), + Vf = fr(function (n, t) { + return function (r) { + return Bt(n, r, t) + } + }), + Kf = Xr(c), + Gf = Xr(u), + Hf = Xr(h), + Jf = re(), + Yf = re(true), + Qf = Qr(function (n, t) { + return n + t + }, 0), + Xf = ie('ceil'), + nc = Qr(function (n, t) { + return n / t + }, 1), + tc = ie('floor'), + rc = Qr(function (n, t) { + return n * t + }, 1), + ec = ie('round'), + uc = Qr(function (n, t) { + return n - t + }, 0) + return ( + (An.after = function (n, t) { + if (typeof t != 'function') throw new ti('Expected a function') + return ( + (n = ku(n)), + function () { + if (1 > --n) return t.apply(this, arguments) + } + ) + }), + (An.ary = eu), + (An.assign = df), + (An.assignIn = yf), + (An.assignInWith = bf), + (An.assignWith = xf), + (An.at = jf), + (An.before = uu), + (An.bind = Ho), + (An.bindAll = Nf), + (An.bindKey = Jo), + (An.castArray = function () { + if (!arguments.length) return [] + var n = arguments[0] + return ff(n) ? n : [n] + }), + (An.chain = Ye), + (An.chunk = function (n, t, r) { + if (((t = (r ? Oe(n, t, r) : t === T) ? 1 : Li(ku(t), 0)), (r = null == n ? 0 : n.length), !r || 1 > t)) + return [] + for (var e = 0, u = 0, i = Ku(Oi(r / t)); e < r; ) i[u++] = hr(n, e, (e += t)) + return i + }), + (An.compact = function (n) { + for (var t = -1, r = null == n ? 0 : n.length, e = 0, u = []; ++t < r; ) { + var i = n[t] + i && (u[e++] = i) + } + return u + }), + (An.concat = function () { + var n = arguments.length + if (!n) return [] + for (var t = Ku(n - 1), r = arguments[0]; n--; ) t[n - 1] = arguments[n] + return a(ff(r) ? Lr(r) : [r], wt(t, 1)) + }), + (An.cond = function (t) { + var r = null == t ? 0 : t.length, + e = ye() + return ( + (t = r + ? c(t, function (n) { + if ('function' != typeof n[1]) throw new ti('Expected a function') + return [e(n[0]), n[1]] + }) + : []), + fr(function (e) { + for (var u = -1; ++u < r; ) { + var i = t[u] + if (n(i[0], this, e)) return n(i[1], this, e) + } + }) + ) + }), + (An.conforms = function (n) { + return vt(_t(n, 1)) + }), + (An.constant = Tu), + (An.countBy = $o), + (An.create = function (n, t) { + var r = eo(n) + return null == t ? r : at(r, t) + }), + (An.curry = iu), + (An.curryRight = ou), + (An.debounce = fu), + (An.defaults = wf), + (An.defaultsDeep = mf), + (An.defer = Yo), + (An.delay = Qo), + (An.difference = wo), + (An.differenceBy = mo), + (An.differenceWith = Ao), + (An.drop = function (n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((t = r || t === T ? 1 : ku(t)), hr(n, 0 > t ? 0 : t, e)) : [] + }), + (An.dropRight = function (n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((t = r || t === T ? 1 : ku(t)), (t = e - t), hr(n, 0, 0 > t ? 0 : t)) : [] + }), + (An.dropRightWhile = function (n, t) { + return n && n.length ? jr(n, ye(t, 3), true, true) : [] + }), + (An.dropWhile = function (n, t) { + return n && n.length ? jr(n, ye(t, 3), true) : [] + }), + (An.fill = function (n, t, r, e) { + var u = null == n ? 0 : n.length + if (!u) return [] + for ( + r && typeof r != 'number' && Oe(n, t, r) && ((r = 0), (e = u)), + u = n.length, + r = ku(r), + 0 > r && (r = -r > u ? 0 : u + r), + e = e === T || e > u ? u : ku(e), + 0 > e && (e += u), + e = r > e ? 0 : Eu(e); + r < e; + + ) + n[r++] = t + return n + }), + (An.filter = function (n, t) { + return (ff(n) ? i : jt)(n, ye(t, 3)) + }), + (An.flatMap = function (n, t) { + return wt(ru(n, t), 1) + }), + (An.flatMapDeep = function (n, t) { + return wt(ru(n, t), $) + }), + (An.flatMapDepth = function (n, t, r) { + return (r = r === T ? 1 : ku(r)), wt(ru(n, t), r) + }), + (An.flatten = Ze), + (An.flattenDeep = function (n) { + return (null == n ? 0 : n.length) ? wt(n, $) : [] + }), + (An.flattenDepth = function (n, t) { + return null != n && n.length ? ((t = t === T ? 1 : ku(t)), wt(n, t)) : [] + }), + (An.flip = function (n) { + return fe(n, 512) + }), + (An.flow = Pf), + (An.flowRight = Zf), + (An.fromPairs = function (n) { + for (var t = -1, r = null == n ? 0 : n.length, e = {}; ++t < r; ) { + var u = n[t] + e[u[0]] = u[1] + } + return e + }), + (An.functions = function (n) { + return null == n ? [] : kt(n, Wu(n)) + }), + (An.functionsIn = function (n) { + return null == n ? [] : kt(n, Uu(n)) + }), + (An.groupBy = Po), + (An.initial = function (n) { + return (null == n ? 0 : n.length) ? hr(n, 0, -1) : [] + }), + (An.intersection = ko), + (An.intersectionBy = Eo), + (An.intersectionWith = So), + (An.invert = Af), + (An.invertBy = kf), + (An.invokeMap = Zo), + (An.iteratee = Fu), + (An.keyBy = qo), + (An.keys = Wu), + (An.keysIn = Uu), + (An.map = ru), + (An.mapKeys = function (n, t) { + var r = {} + return ( + (t = ye(t, 3)), + mt(n, function (n, e, u) { + st(r, t(n, e, u), n) + }), + r + ) + }), + (An.mapValues = function (n, t) { + var r = {} + return ( + (t = ye(t, 3)), + mt(n, function (n, e, u) { + st(r, e, t(n, e, u)) + }), + r + ) + }), + (An.matches = function (n) { + return Ht(_t(n, 1)) + }), + (An.matchesProperty = function (n, t) { + return Jt(n, _t(t, 1)) + }), + (An.memoize = cu), + (An.merge = Sf), + (An.mergeWith = Of), + (An.method = qf), + (An.methodOf = Vf), + (An.mixin = Nu), + (An.negate = au), + (An.nthArg = function (n) { + return ( + (n = ku(n)), + fr(function (t) { + return Qt(t, n) + }) + ) + }), + (An.omit = If), + (An.omitBy = function (n, t) { + return Bu(n, au(ye(t))) + }), + (An.once = function (n) { + return uu(2, n) + }), + (An.orderBy = function (n, t, r, e) { + return null == n + ? [] + : (ff(t) || (t = null == t ? [] : [t]), (r = e ? T : r), ff(r) || (r = null == r ? [] : [r]), Xt(n, t, r)) + }), + (An.over = Kf), + (An.overArgs = Xo), + (An.overEvery = Gf), + (An.overSome = Hf), + (An.partial = nf), + (An.partialRight = tf), + (An.partition = Vo), + (An.pick = Rf), + (An.pickBy = Bu), + (An.property = Zu), + (An.propertyOf = function (n) { + return function (t) { + return null == n ? T : Et(n, t) + } + }), + (An.pull = Oo), + (An.pullAll = Ke), + (An.pullAllBy = function (n, t, r) { + return n && n.length && t && t.length ? er(n, t, ye(r, 2)) : n + }), + (An.pullAllWith = function (n, t, r) { + return n && n.length && t && t.length ? er(n, t, T, r) : n + }), + (An.pullAt = Io), + (An.range = Jf), + (An.rangeRight = Yf), + (An.rearg = rf), + (An.reject = function (n, t) { + return (ff(n) ? i : jt)(n, au(ye(t, 3))) + }), + (An.remove = function (n, t) { + var r = [] + if (!n || !n.length) return r + var e = -1, + u = [], + i = n.length + for (t = ye(t, 3); ++e < i; ) { + var o = n[e] + t(o, e, n) && (r.push(o), u.push(e)) + } + return ur(n, u), r + }), + (An.rest = function (n, t) { + if (typeof n != 'function') throw new ti('Expected a function') + return (t = t === T ? t : ku(t)), fr(n, t) + }), + (An.reverse = Ge), + (An.sampleSize = function (n, t, r) { + return (t = (r ? Oe(n, t, r) : t === T) ? 1 : ku(t)), (ff(n) ? et : ar)(n, t) + }), + (An.set = function (n, t, r) { + return null == n ? n : lr(n, t, r) + }), + (An.setWith = function (n, t, r, e) { + return (e = typeof e == 'function' ? e : T), null == n ? n : lr(n, t, r, e) + }), + (An.shuffle = function (n) { + return (ff(n) ? ut : sr)(n) + }), + (An.slice = function (n, t, r) { + var e = null == n ? 0 : n.length + return e + ? (r && typeof r != 'number' && Oe(n, t, r) + ? ((t = 0), (r = e)) + : ((t = null == t ? 0 : ku(t)), (r = r === T ? e : ku(r))), + hr(n, t, r)) + : [] + }), + (An.sortBy = Ko), + (An.sortedUniq = function (n) { + return n && n.length ? gr(n) : [] + }), + (An.sortedUniqBy = function (n, t) { + return n && n.length ? gr(n, ye(t, 2)) : [] + }), + (An.split = function (n, t, r) { + return ( + r && typeof r != 'number' && Oe(n, t, r) && (t = r = T), + (r = r === T ? 4294967295 : r >>> 0), + r + ? (n = Iu(n)) && (typeof t == 'string' || (null != t && !hf(t))) && ((t = yr(t)), !t && Rn.test(n)) + ? Or(M(n), 0, r) + : n.split(t, r) + : [] + ) + }), + (An.spread = function (t, r) { + if (typeof t != 'function') throw new ti('Expected a function') + return ( + (r = null == r ? 0 : Li(ku(r), 0)), + fr(function (e) { + var u = e[r] + return (e = Or(e, 0, r)), u && a(e, u), n(t, this, e) + }) + ) + }), + (An.tail = function (n) { + var t = null == n ? 0 : n.length + return t ? hr(n, 1, t) : [] + }), + (An.take = function (n, t, r) { + return n && n.length ? ((t = r || t === T ? 1 : ku(t)), hr(n, 0, 0 > t ? 0 : t)) : [] + }), + (An.takeRight = function (n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((t = r || t === T ? 1 : ku(t)), (t = e - t), hr(n, 0 > t ? 0 : t, e)) : [] + }), + (An.takeRightWhile = function (n, t) { + return n && n.length ? jr(n, ye(t, 3), false, true) : [] + }), + (An.takeWhile = function (n, t) { + return n && n.length ? jr(n, ye(t, 3)) : [] + }), + (An.tap = function (n, t) { + return t(n), n + }), + (An.throttle = function (n, t, r) { + var e = true, + u = true + if (typeof n != 'function') throw new ti('Expected a function') + return ( + du(r) && ((e = 'leading' in r ? !!r.leading : e), (u = 'trailing' in r ? !!r.trailing : u)), + fu(n, t, { leading: e, maxWait: t, trailing: u }) + ) + }), + (An.thru = Qe), + (An.toArray = mu), + (An.toPairs = zf), + (An.toPairsIn = Wf), + (An.toPath = function (n) { + return ff(n) ? c(n, Me) : wu(n) ? [n] : Lr(jo(Iu(n))) + }), + (An.toPlainObject = Ou), + (An.transform = function (n, t, e) { + var u = ff(n), + i = u || af(n) || _f(n) + if (((t = ye(t, 4)), null == e)) { + var o = n && n.constructor + e = i ? (u ? new o() : []) : du(n) && _u(o) ? eo(di(n)) : {} + } + return ( + (i ? r : mt)(n, function (n, r, u) { + return t(e, n, r, u) + }), + e + ) + }), + (An.unary = function (n) { + return eu(n, 1) + }), + (An.union = Ro), + (An.unionBy = zo), + (An.unionWith = Wo), + (An.uniq = function (n) { + return n && n.length ? br(n) : [] + }), + (An.uniqBy = function (n, t) { + return n && n.length ? br(n, ye(t, 2)) : [] + }), + (An.uniqWith = function (n, t) { + return (t = typeof t == 'function' ? t : T), n && n.length ? br(n, T, t) : [] + }), + (An.unset = function (n, t) { + return null == n || xr(n, t) + }), + (An.unzip = He), + (An.unzipWith = Je), + (An.update = function (n, t, r) { + return null != n && ((r = Er(r)), (n = lr(n, t, r(Et(n, t)), void 0))), n + }), + (An.updateWith = function (n, t, r, e) { + return (e = typeof e == 'function' ? e : T), null != n && ((r = Er(r)), (n = lr(n, t, r(Et(n, t)), e))), n + }), + (An.values = Lu), + (An.valuesIn = function (n) { + return null == n ? [] : S(n, Uu(n)) + }), + (An.without = Uo), + (An.words = Mu), + (An.wrap = function (n, t) { + return nf(Er(t), n) + }), + (An.xor = Bo), + (An.xorBy = Lo), + (An.xorWith = Co), + (An.zip = Do), + (An.zipObject = function (n, t) { + return Ar(n || [], t || [], ot) + }), + (An.zipObjectDeep = function (n, t) { + return Ar(n || [], t || [], lr) + }), + (An.zipWith = Mo), + (An.entries = zf), + (An.entriesIn = Wf), + (An.extend = yf), + (An.extendWith = bf), + Nu(An, An), + (An.add = Qf), + (An.attempt = Ff), + (An.camelCase = Uf), + (An.capitalize = Cu), + (An.ceil = Xf), + (An.clamp = function (n, t, r) { + return ( + r === T && ((r = t), (t = T)), + r !== T && ((r = Su(r)), (r = r === r ? r : 0)), + t !== T && ((t = Su(t)), (t = t === t ? t : 0)), + pt(Su(n), t, r) + ) + }), + (An.clone = function (n) { + return _t(n, 4) + }), + (An.cloneDeep = function (n) { + return _t(n, 5) + }), + (An.cloneDeepWith = function (n, t) { + return (t = typeof t == 'function' ? t : T), _t(n, 5, t) + }), + (An.cloneWith = function (n, t) { + return (t = typeof t == 'function' ? t : T), _t(n, 4, t) + }), + (An.conformsTo = function (n, t) { + return null == t || gt(n, t, Wu(t)) + }), + (An.deburr = Du), + (An.defaultTo = function (n, t) { + return null == n || n !== n ? t : n + }), + (An.divide = nc), + (An.endsWith = function (n, t, r) { + ;(n = Iu(n)), (t = yr(t)) + var e = n.length, + e = (r = r === T ? e : pt(ku(r), 0, e)) + return (r -= t.length), 0 <= r && n.slice(r, e) == t + }), + (An.eq = lu), + (An.escape = function (n) { + return (n = Iu(n)) && H.test(n) ? n.replace(K, nt) : n + }), + (An.escapeRegExp = function (n) { + return (n = Iu(n)) && en.test(n) ? n.replace(rn, '\\$&') : n + }), + (An.every = function (n, t, r) { + var e = ff(n) ? u : bt + return r && Oe(n, t, r) && (t = T), e(n, ye(t, 3)) + }), + (An.find = Fo), + (An.findIndex = Ne), + (An.findKey = function (n, t) { + return p(n, ye(t, 3), mt) + }), + (An.findLast = No), + (An.findLastIndex = Pe), + (An.findLastKey = function (n, t) { + return p(n, ye(t, 3), At) + }), + (An.floor = tc), + (An.forEach = nu), + (An.forEachRight = tu), + (An.forIn = function (n, t) { + return null == n ? n : oo(n, ye(t, 3), Uu) + }), + (An.forInRight = function (n, t) { + return null == n ? n : fo(n, ye(t, 3), Uu) + }), + (An.forOwn = function (n, t) { + return n && mt(n, ye(t, 3)) + }), + (An.forOwnRight = function (n, t) { + return n && At(n, ye(t, 3)) + }), + (An.get = Ru), + (An.gt = ef), + (An.gte = uf), + (An.has = function (n, t) { + return null != n && we(n, t, Rt) + }), + (An.hasIn = zu), + (An.head = qe), + (An.identity = $u), + (An.includes = function (n, t, r, e) { + return ( + (n = su(n) ? n : Lu(n)), + (r = r && !e ? ku(r) : 0), + (e = n.length), + 0 > r && (r = Li(e + r, 0)), + ju(n) ? r <= e && -1 < n.indexOf(t, r) : !!e && -1 < v(n, t, r) + ) + }), + (An.indexOf = function (n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((r = null == r ? 0 : ku(r)), 0 > r && (r = Li(e + r, 0)), v(n, t, r)) : -1 + }), + (An.inRange = function (n, t, r) { + return (t = Au(t)), r === T ? ((r = t), (t = 0)) : (r = Au(r)), (n = Su(n)), n >= Ci(t, r) && n < Li(t, r) + }), + (An.invoke = Ef), + (An.isArguments = of), + (An.isArray = ff), + (An.isArrayBuffer = cf), + (An.isArrayLike = su), + (An.isArrayLikeObject = hu), + (An.isBoolean = function (n) { + return true === n || false === n || (yu(n) && '[object Boolean]' == Ot(n)) + }), + (An.isBuffer = af), + (An.isDate = lf), + (An.isElement = function (n) { + return yu(n) && 1 === n.nodeType && !xu(n) + }), + (An.isEmpty = function (n) { + if (null == n) return true + if (su(n) && (ff(n) || typeof n == 'string' || typeof n.splice == 'function' || af(n) || _f(n) || of(n))) + return !n.length + var t = vo(n) + if ('[object Map]' == t || '[object Set]' == t) return !n.size + if (ze(n)) return !Vt(n).length + for (var r in n) if (oi.call(n, r)) return false + return true + }), + (An.isEqual = function (n, t) { + return Mt(n, t) + }), + (An.isEqualWith = function (n, t, r) { + var e = (r = typeof r == 'function' ? r : T) ? r(n, t) : T + return e === T ? Mt(n, t, T, r) : !!e + }), + (An.isError = pu), + (An.isFinite = function (n) { + return typeof n == 'number' && Wi(n) + }), + (An.isFunction = _u), + (An.isInteger = vu), + (An.isLength = gu), + (An.isMap = sf), + (An.isMatch = function (n, t) { + return n === t || $t(n, t, xe(t)) + }), + (An.isMatchWith = function (n, t, r) { + return (r = typeof r == 'function' ? r : T), $t(n, t, xe(t), r) + }), + (An.isNaN = function (n) { + return bu(n) && n != +n + }), + (An.isNative = function (n) { + if (go(n)) throw new Hu('Unsupported core-js use. Try https://npms.io/search?q=ponyfill.') + return Ft(n) + }), + (An.isNil = function (n) { + return null == n + }), + (An.isNull = function (n) { + return null === n + }), + (An.isNumber = bu), + (An.isObject = du), + (An.isObjectLike = yu), + (An.isPlainObject = xu), + (An.isRegExp = hf), + (An.isSafeInteger = function (n) { + return vu(n) && -9007199254740991 <= n && 9007199254740991 >= n + }), + (An.isSet = pf), + (An.isString = ju), + (An.isSymbol = wu), + (An.isTypedArray = _f), + (An.isUndefined = function (n) { + return n === T + }), + (An.isWeakMap = function (n) { + return yu(n) && '[object WeakMap]' == vo(n) + }), + (An.isWeakSet = function (n) { + return yu(n) && '[object WeakSet]' == Ot(n) + }), + (An.join = function (n, t) { + return null == n ? '' : Ui.call(n, t) + }), + (An.kebabCase = Bf), + (An.last = Ve), + (An.lastIndexOf = function (n, t, r) { + var e = null == n ? 0 : n.length + if (!e) return -1 + var u = e + if ((r !== T && ((u = ku(r)), (u = 0 > u ? Li(e + u, 0) : Ci(u, e - 1))), t === t)) + n: { + for (r = u + 1; r--; ) + if (n[r] === t) { + n = r + break n + } + n = r + } + else n = _(n, d, u, true) + return n + }), + (An.lowerCase = Lf), + (An.lowerFirst = Cf), + (An.lt = vf), + (An.lte = gf), + (An.max = function (n) { + return n && n.length ? xt(n, $u, It) : T + }), + (An.maxBy = function (n, t) { + return n && n.length ? xt(n, ye(t, 2), It) : T + }), + (An.mean = function (n) { + return y(n, $u) + }), + (An.meanBy = function (n, t) { + return y(n, ye(t, 2)) + }), + (An.min = function (n) { + return n && n.length ? xt(n, $u, Kt) : T + }), + (An.minBy = function (n, t) { + return n && n.length ? xt(n, ye(t, 2), Kt) : T + }), + (An.stubArray = qu), + (An.stubFalse = Vu), + (An.stubObject = function () { + return {} + }), + (An.stubString = function () { + return '' + }), + (An.stubTrue = function () { + return true + }), + (An.multiply = rc), + (An.nth = function (n, t) { + return n && n.length ? Qt(n, ku(t)) : T + }), + (An.noConflict = function () { + return $n._ === this && ($n._ = si), this + }), + (An.noop = Pu), + (An.now = Go), + (An.pad = function (n, t, r) { + n = Iu(n) + var e = (t = ku(t)) ? D(n) : 0 + return !t || e >= t ? n : ((t = (t - e) / 2), ne(Ii(t), r) + n + ne(Oi(t), r)) + }), + (An.padEnd = function (n, t, r) { + n = Iu(n) + var e = (t = ku(t)) ? D(n) : 0 + return t && e < t ? n + ne(t - e, r) : n + }), + (An.padStart = function (n, t, r) { + n = Iu(n) + var e = (t = ku(t)) ? D(n) : 0 + return t && e < t ? ne(t - e, r) + n : n + }), + (An.parseInt = function (n, t, r) { + return r || null == t ? (t = 0) : t && (t = +t), Mi(Iu(n).replace(on, ''), t || 0) + }), + (An.random = function (n, t, r) { + if ( + (r && typeof r != 'boolean' && Oe(n, t, r) && (t = r = T), + r === T && (typeof t == 'boolean' ? ((r = t), (t = T)) : typeof n == 'boolean' && ((r = n), (n = T))), + n === T && t === T ? ((n = 0), (t = 1)) : ((n = Au(n)), t === T ? ((t = n), (n = 0)) : (t = Au(t))), + n > t) + ) { + var e = n + ;(n = t), (t = e) + } + return r || n % 1 || t % 1 + ? ((r = Ti()), Ci(n + r * (t - n + Cn('1e-' + ((r + '').length - 1))), t)) + : ir(n, t) + }), + (An.reduce = function (n, t, r) { + var e = ff(n) ? l : j, + u = 3 > arguments.length + return e(n, ye(t, 4), r, u, uo) + }), + (An.reduceRight = function (n, t, r) { + var e = ff(n) ? s : j, + u = 3 > arguments.length + return e(n, ye(t, 4), r, u, io) + }), + (An.repeat = function (n, t, r) { + return (t = (r ? Oe(n, t, r) : t === T) ? 1 : ku(t)), or(Iu(n), t) + }), + (An.replace = function () { + var n = arguments, + t = Iu(n[0]) + return 3 > n.length ? t : t.replace(n[1], n[2]) + }), + (An.result = function (n, t, r) { + t = Sr(t, n) + var e = -1, + u = t.length + for (u || ((u = 1), (n = T)); ++e < u; ) { + var i = null == n ? T : n[Me(t[e])] + i === T && ((e = u), (i = r)), (n = _u(i) ? i.call(n) : i) + } + return n + }), + (An.round = ec), + (An.runInContext = x), + (An.sample = function (n) { + return (ff(n) ? Qn : cr)(n) + }), + (An.size = function (n) { + if (null == n) return 0 + if (su(n)) return ju(n) ? D(n) : n.length + var t = vo(n) + return '[object Map]' == t || '[object Set]' == t ? n.size : Vt(n).length + }), + (An.snakeCase = Df), + (An.some = function (n, t, r) { + var e = ff(n) ? h : pr + return r && Oe(n, t, r) && (t = T), e(n, ye(t, 3)) + }), + (An.sortedIndex = function (n, t) { + return _r(n, t) + }), + (An.sortedIndexBy = function (n, t, r) { + return vr(n, t, ye(r, 2)) + }), + (An.sortedIndexOf = function (n, t) { + var r = null == n ? 0 : n.length + if (r) { + var e = _r(n, t) + if (e < r && lu(n[e], t)) return e + } + return -1 + }), + (An.sortedLastIndex = function (n, t) { + return _r(n, t, true) + }), + (An.sortedLastIndexBy = function (n, t, r) { + return vr(n, t, ye(r, 2), true) + }), + (An.sortedLastIndexOf = function (n, t) { + if (null == n ? 0 : n.length) { + var r = _r(n, t, true) - 1 + if (lu(n[r], t)) return r + } + return -1 + }), + (An.startCase = Mf), + (An.startsWith = function (n, t, r) { + return (n = Iu(n)), (r = null == r ? 0 : pt(ku(r), 0, n.length)), (t = yr(t)), n.slice(r, r + t.length) == t + }), + (An.subtract = uc), + (An.sum = function (n) { + return n && n.length ? m(n, $u) : 0 + }), + (An.sumBy = function (n, t) { + return n && n.length ? m(n, ye(t, 2)) : 0 + }), + (An.template = function (n, t, r) { + var e = An.templateSettings + r && Oe(n, t, r) && (t = T), (n = Iu(n)), (t = bf({}, t, e, ce)), (r = bf({}, t.imports, e.imports, ce)) + var u, + i, + o = Wu(r), + f = S(r, o), + c = 0 + r = t.interpolate || jn + var a = "__p+='" + r = Xu( + (t.escape || jn).source + + '|' + + r.source + + '|' + + (r === Q ? pn : jn).source + + '|' + + (t.evaluate || jn).source + + '|$', + 'g' + ) + var l = 'sourceURL' in t ? '//# sourceURL=' + t.sourceURL + '\n' : '' + if ( + (n.replace(r, function (t, r, e, o, f, l) { + return ( + e || (e = o), + (a += n.slice(c, l).replace(wn, z)), + r && ((u = true), (a += "'+__e(" + r + ")+'")), + f && ((i = true), (a += "';" + f + ";\n__p+='")), + e && (a += "'+((__t=(" + e + "))==null?'':__t)+'"), + (c = l + t.length), + t + ) + }), + (a += "';"), + (t = t.variable) || (a = 'with(obj){' + a + '}'), + (a = (i ? a.replace(P, '') : a).replace(Z, '$1').replace(q, '$1;')), + (a = + 'function(' + + (t || 'obj') + + '){' + + (t ? '' : 'obj||(obj={});') + + "var __t,__p=''" + + (u ? ',__e=_.escape' : '') + + (i ? ",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}" : ';') + + a + + 'return __p}'), + (t = Ff(function () { + return Ju(o, l + 'return ' + a).apply(T, f) + })), + (t.source = a), + pu(t)) + ) + throw t + return t + }), + (An.times = function (n, t) { + if (((n = ku(n)), 1 > n || 9007199254740991 < n)) return [] + var r = 4294967295, + e = Ci(n, 4294967295) + for (t = ye(t), n -= 4294967295, e = A(e, t); ++r < n; ) t(r) + return e + }), + (An.toFinite = Au), + (An.toInteger = ku), + (An.toLength = Eu), + (An.toLower = function (n) { + return Iu(n).toLowerCase() + }), + (An.toNumber = Su), + (An.toSafeInteger = function (n) { + return n ? pt(ku(n), -9007199254740991, 9007199254740991) : 0 === n ? n : 0 + }), + (An.toString = Iu), + (An.toUpper = function (n) { + return Iu(n).toUpperCase() + }), + (An.trim = function (n, t, r) { + return (n = Iu(n)) && (r || t === T) + ? n.replace(un, '') + : n && (t = yr(t)) + ? ((n = M(n)), (r = M(t)), (t = I(n, r)), (r = R(n, r) + 1), Or(n, t, r).join('')) + : n + }), + (An.trimEnd = function (n, t, r) { + return (n = Iu(n)) && (r || t === T) + ? n.replace(fn, '') + : n && (t = yr(t)) + ? ((n = M(n)), (t = R(n, M(t)) + 1), Or(n, 0, t).join('')) + : n + }), + (An.trimStart = function (n, t, r) { + return (n = Iu(n)) && (r || t === T) + ? n.replace(on, '') + : n && (t = yr(t)) + ? ((n = M(n)), (t = I(n, M(t))), Or(n, t).join('')) + : n + }), + (An.truncate = function (n, t) { + var r = 30, + e = '...' + if (du(t)) + var u = 'separator' in t ? t.separator : u, + r = 'length' in t ? ku(t.length) : r, + e = 'omission' in t ? yr(t.omission) : e + n = Iu(n) + var i = n.length + if (Rn.test(n)) + var o = M(n), + i = o.length + if (r >= i) return n + if (((i = r - D(e)), 1 > i)) return e + if (((r = o ? Or(o, 0, i).join('') : n.slice(0, i)), u === T)) return r + e + if ((o && (i += r.length - i), hf(u))) { + if (n.slice(i).search(u)) { + var f = r + for (u.global || (u = Xu(u.source, Iu(_n.exec(u)) + 'g')), u.lastIndex = 0; (o = u.exec(f)); ) + var c = o.index + r = r.slice(0, c === T ? i : c) + } + } else n.indexOf(yr(u), i) != i && ((u = r.lastIndexOf(u)), -1 < u && (r = r.slice(0, u))) + return r + e + }), + (An.unescape = function (n) { + return (n = Iu(n)) && G.test(n) ? n.replace(V, tt) : n + }), + (An.uniqueId = function (n) { + var t = ++fi + return Iu(n) + t + }), + (An.upperCase = Tf), + (An.upperFirst = $f), + (An.each = nu), + (An.eachRight = tu), + (An.first = qe), + Nu( + An, + (function () { + var n = {} + return ( + mt(An, function (t, r) { + oi.call(An.prototype, r) || (n[r] = t) + }), + n + ) + })(), + { chain: false } + ), + (An.VERSION = '4.17.11'), + r('bind bindKey curry curryRight partial partialRight'.split(' '), function (n) { + An[n].placeholder = An + }), + r(['drop', 'take'], function (n, t) { + ;(Ln.prototype[n] = function (r) { + r = r === T ? 1 : Li(ku(r), 0) + var e = this.__filtered__ && !t ? new Ln(this) : this.clone() + return ( + e.__filtered__ + ? (e.__takeCount__ = Ci(r, e.__takeCount__)) + : e.__views__.push({ + size: Ci(r, 4294967295), + type: n + (0 > e.__dir__ ? 'Right' : '') + }), + e + ) + }), + (Ln.prototype[n + 'Right'] = function (t) { + return this.reverse()[n](t).reverse() + }) + }), + r(['filter', 'map', 'takeWhile'], function (n, t) { + var r = t + 1, + e = 1 == r || 3 == r + Ln.prototype[n] = function (n) { + var t = this.clone() + return ( + t.__iteratees__.push({ + iteratee: ye(n, 3), + type: r + }), + (t.__filtered__ = t.__filtered__ || e), + t + ) + } + }), + r(['head', 'last'], function (n, t) { + var r = 'take' + (t ? 'Right' : '') + Ln.prototype[n] = function () { + return this[r](1).value()[0] + } + }), + r(['initial', 'tail'], function (n, t) { + var r = 'drop' + (t ? '' : 'Right') + Ln.prototype[n] = function () { + return this.__filtered__ ? new Ln(this) : this[r](1) + } + }), + (Ln.prototype.compact = function () { + return this.filter($u) + }), + (Ln.prototype.find = function (n) { + return this.filter(n).head() + }), + (Ln.prototype.findLast = function (n) { + return this.reverse().find(n) + }), + (Ln.prototype.invokeMap = fr(function (n, t) { + return typeof n == 'function' + ? new Ln(this) + : this.map(function (r) { + return Bt(r, n, t) + }) + })), + (Ln.prototype.reject = function (n) { + return this.filter(au(ye(n))) + }), + (Ln.prototype.slice = function (n, t) { + n = ku(n) + var r = this + return r.__filtered__ && (0 < n || 0 > t) + ? new Ln(r) + : (0 > n ? (r = r.takeRight(-n)) : n && (r = r.drop(n)), + t !== T && ((t = ku(t)), (r = 0 > t ? r.dropRight(-t) : r.take(t - n))), + r) + }), + (Ln.prototype.takeRightWhile = function (n) { + return this.reverse().takeWhile(n).reverse() + }), + (Ln.prototype.toArray = function () { + return this.take(4294967295) + }), + mt(Ln.prototype, function (n, t) { + var r = /^(?:filter|find|map|reject)|While$/.test(t), + e = /^(?:head|last)$/.test(t), + u = An[e ? 'take' + ('last' == t ? 'Right' : '') : t], + i = e || /^find/.test(t) + u && + (An.prototype[t] = function () { + var t = this.__wrapped__, + o = e ? [1] : arguments, + f = t instanceof Ln, + c = o[0], + l = f || ff(t), + s = function (n) { + return (n = u.apply(An, a([n], o))), e && h ? n[0] : n + } + l && r && typeof c == 'function' && 1 != c.length && (f = l = false) + var h = this.__chain__, + p = !!this.__actions__.length, + c = i && !h, + f = f && !p + return !i && l + ? ((t = f ? t : new Ln(this)), + (t = n.apply(t, o)), + t.__actions__.push({ + func: Qe, + args: [s], + thisArg: T + }), + new On(t, h)) + : c && f + ? n.apply(this, o) + : ((t = this.thru(s)), c ? (e ? t.value()[0] : t.value()) : t) + }) + }), + r('pop push shift sort splice unshift'.split(' '), function (n) { + var t = ri[n], + r = /^(?:push|sort|unshift)$/.test(n) ? 'tap' : 'thru', + e = /^(?:pop|shift)$/.test(n) + An.prototype[n] = function () { + var n = arguments + if (e && !this.__chain__) { + var u = this.value() + return t.apply(ff(u) ? u : [], n) + } + return this[r](function (r) { + return t.apply(ff(r) ? r : [], n) + }) + } + }), + mt(Ln.prototype, function (n, t) { + var r = An[t] + if (r) { + var e = r.name + '' + ;(Gi[e] || (Gi[e] = [])).push({ name: t, func: r }) + } + }), + (Gi[Jr(T, 2).name] = [{ name: 'wrapper', func: T }]), + (Ln.prototype.clone = function () { + var n = new Ln(this.__wrapped__) + return ( + (n.__actions__ = Lr(this.__actions__)), + (n.__dir__ = this.__dir__), + (n.__filtered__ = this.__filtered__), + (n.__iteratees__ = Lr(this.__iteratees__)), + (n.__takeCount__ = this.__takeCount__), + (n.__views__ = Lr(this.__views__)), + n + ) + }), + (Ln.prototype.reverse = function () { + if (this.__filtered__) { + var n = new Ln(this) + ;(n.__dir__ = -1), (n.__filtered__ = true) + } else (n = this.clone()), (n.__dir__ *= -1) + return n + }), + (Ln.prototype.value = function () { + var n, + t = this.__wrapped__.value(), + r = this.__dir__, + e = ff(t), + u = 0 > r, + i = e ? t.length : 0 + n = 0 + for (var o = i, f = this.__views__, c = -1, a = f.length; ++c < a; ) { + var l = f[c], + s = l.size + switch (l.type) { + case 'drop': + n += s + break + case 'dropRight': + o -= s + break + case 'take': + o = Ci(o, n + s) + break + case 'takeRight': + n = Li(n, o - s) + } + } + if ( + ((n = { start: n, end: o }), + (o = n.start), + (f = n.end), + (n = f - o), + (o = u ? f : o - 1), + (f = this.__iteratees__), + (c = f.length), + (a = 0), + (l = Ci(n, this.__takeCount__)), + !e || (!u && i == n && l == n)) + ) + return wr(t, this.__actions__) + e = [] + n: for (; n-- && a < l; ) { + for (o += r, u = -1, i = t[o]; ++u < c; ) { + var h = f[u], + s = h.type, + h = (0, h.iteratee)(i) + if (2 == s) i = h + else if (!h) { + if (1 == s) continue n + break n + } + } + e[a++] = i + } + return e + }), + (An.prototype.at = To), + (An.prototype.chain = function () { + return Ye(this) + }), + (An.prototype.commit = function () { + return new On(this.value(), this.__chain__) + }), + (An.prototype.next = function () { + this.__values__ === T && (this.__values__ = mu(this.value())) + var n = this.__index__ >= this.__values__.length + return { done: n, value: n ? T : this.__values__[this.__index__++] } + }), + (An.prototype.plant = function (n) { + for (var t, r = this; r instanceof kn; ) { + var e = Fe(r) + ;(e.__index__ = 0), (e.__values__ = T), t ? (u.__wrapped__ = e) : (t = e) + var u = e, + r = r.__wrapped__ + } + return (u.__wrapped__ = n), t + }), + (An.prototype.reverse = function () { + var n = this.__wrapped__ + return n instanceof Ln + ? (this.__actions__.length && (n = new Ln(this)), + (n = n.reverse()), + n.__actions__.push({ func: Qe, args: [Ge], thisArg: T }), + new On(n, this.__chain__)) + : this.thru(Ge) + }), + (An.prototype.toJSON = An.prototype.valueOf = An.prototype.value = function () { + return wr(this.__wrapped__, this.__actions__) + }), + (An.prototype.first = An.prototype.head), + wi && (An.prototype[wi] = Xe), + An + ) + })() + typeof define == 'function' && typeof define.amd == 'object' && define.amd + ? (($n._ = rt), + define(function () { + return rt + })) + : Nn + ? (((Nn.exports = rt)._ = rt), (Fn._ = rt)) + : ($n._ = rt) +}.call(this)) diff --git a/public/lib/vue-router.min.js b/public/lib/vue-router.min.js new file mode 100644 index 0000000000000000000000000000000000000000..f7e216d65b22f979781f11c7dc18c33ea34827a8 --- /dev/null +++ b/public/lib/vue-router.min.js @@ -0,0 +1,1409 @@ +/** + * vue-router v3.0.1 + * (c) 2017 Evan You + * @license MIT + */ +!(function(t, e) { + 'object' == typeof exports && 'undefined' != typeof module + ? (module.exports = e()) + : 'function' == typeof define && define.amd + ? define(e) + : (t.VueRouter = e()) +})(this, function() { + 'use strict' + function t(t, e) {} + function e(t) { + return Object.prototype.toString.call(t).indexOf('Error') > -1 + } + function r(t, e) { + switch (typeof e) { + case 'undefined': + return + case 'object': + return e + case 'function': + return e(t) + case 'boolean': + return e ? t.params : void 0 + } + } + function n(t, e) { + for (var r in e) t[r] = e[r] + return t + } + function o(t, e, r) { + void 0 === e && (e = {}) + var n, + o = r || i + try { + n = o(t || '') + } catch (t) { + n = {} + } + for (var a in e) n[a] = e[a] + return n + } + function i(t) { + var e = {} + return (t = t.trim().replace(/^(\?|#|&)/, '')) + ? (t.split('&').forEach(function(t) { + var r = t.replace(/\+/g, ' ').split('='), + n = Ut(r.shift()), + o = r.length > 0 ? Ut(r.join('=')) : null + void 0 === e[n] ? (e[n] = o) : Array.isArray(e[n]) ? e[n].push(o) : (e[n] = [e[n], o]) + }), + e) + : e + } + function a(t) { + var e = t + ? Object.keys(t) + .map(function(e) { + var r = t[e] + if (void 0 === r) return '' + if (null === r) return Pt(e) + if (Array.isArray(r)) { + var n = [] + return ( + r.forEach(function(t) { + void 0 !== t && (null === t ? n.push(Pt(e)) : n.push(Pt(e) + '=' + Pt(t))) + }), + n.join('&') + ) + } + return Pt(e) + '=' + Pt(r) + }) + .filter(function(t) { + return t.length > 0 + }) + .join('&') + : null + return e ? '?' + e : '' + } + function u(t, e, r, n) { + var o = n && n.options.stringifyQuery, + i = e.query || {} + try { + i = c(i) + } catch (t) {} + var a = { + name: e.name || (t && t.name), + meta: (t && t.meta) || {}, + path: e.path || '/', + hash: e.hash || '', + query: i, + params: e.params || {}, + fullPath: p(e, o), + matched: t ? s(t) : [], + } + return r && (a.redirectedFrom = p(r, o)), Object.freeze(a) + } + function c(t) { + if (Array.isArray(t)) return t.map(c) + if (t && 'object' == typeof t) { + var e = {} + for (var r in t) e[r] = c(t[r]) + return e + } + return t + } + function s(t) { + for (var e = []; t; ) e.unshift(t), (t = t.parent) + return e + } + function p(t, e) { + var r = t.path, + n = t.query + void 0 === n && (n = {}) + var o = t.hash + void 0 === o && (o = '') + var i = e || a + return (r || '/') + i(n) + o + } + function f(t, e) { + return e === Ht + ? t === e + : !!e && + (t.path && e.path + ? t.path.replace(Mt, '') === e.path.replace(Mt, '') && + t.hash === e.hash && + h(t.query, e.query) + : !(!t.name || !e.name) && + t.name === e.name && + t.hash === e.hash && + h(t.query, e.query) && + h(t.params, e.params)) + } + function h(t, e) { + if ((void 0 === t && (t = {}), void 0 === e && (e = {}), !t || !e)) return t === e + var r = Object.keys(t), + n = Object.keys(e) + return ( + r.length === n.length && + r.every(function(r) { + var n = t[r], + o = e[r] + return 'object' == typeof n && 'object' == typeof o ? h(n, o) : String(n) === String(o) + }) + ) + } + function l(t, e) { + return ( + 0 === t.path.replace(Mt, '/').indexOf(e.path.replace(Mt, '/')) && + (!e.hash || t.hash === e.hash) && + d(t.query, e.query) + ) + } + function d(t, e) { + for (var r in e) if (!(r in t)) return !1 + return !0 + } + function y(t) { + if ( + !( + t.metaKey || + t.altKey || + t.ctrlKey || + t.shiftKey || + t.defaultPrevented || + (void 0 !== t.button && 0 !== t.button) + ) + ) { + if (t.currentTarget && t.currentTarget.getAttribute) { + var e = t.currentTarget.getAttribute('target') + if (/\b_blank\b/i.test(e)) return + } + return t.preventDefault && t.preventDefault(), !0 + } + } + function v(t) { + if (t) + for (var e, r = 0; r < t.length; r++) { + if ('a' === (e = t[r]).tag) return e + if (e.children && (e = v(e.children))) return e + } + } + function m(t) { + if (!m.installed || Tt !== t) { + ;(m.installed = !0), (Tt = t) + var e = function(t) { + return void 0 !== t + }, + r = function(t, r) { + var n = t.$options._parentVnode + e(n) && e((n = n.data)) && e((n = n.registerRouteInstance)) && n(t, r) + } + t.mixin({ + beforeCreate: function() { + e(this.$options.router) + ? ((this._routerRoot = this), + (this._router = this.$options.router), + this._router.init(this), + t.util.defineReactive(this, '_route', this._router.history.current)) + : (this._routerRoot = (this.$parent && this.$parent._routerRoot) || this), + r(this, this) + }, + destroyed: function() { + r(this) + }, + }), + Object.defineProperty(t.prototype, '$router', { + get: function() { + return this._routerRoot._router + }, + }), + Object.defineProperty(t.prototype, '$route', { + get: function() { + return this._routerRoot._route + }, + }), + t.component('router-view', St), + t.component('router-link', zt) + var n = t.config.optionMergeStrategies + n.beforeRouteEnter = n.beforeRouteLeave = n.beforeRouteUpdate = n.created + } + } + function g(t, e, r) { + var n = t.charAt(0) + if ('/' === n) return t + if ('?' === n || '#' === n) return e + t + var o = e.split('/') + ;(r && o[o.length - 1]) || o.pop() + for (var i = t.replace(/^\//, '').split('/'), a = 0; a < i.length; a++) { + var u = i[a] + '..' === u ? o.pop() : '.' !== u && o.push(u) + } + return '' !== o[0] && o.unshift(''), o.join('/') + } + function b(t) { + var e = '', + r = '', + n = t.indexOf('#') + n >= 0 && ((e = t.slice(n)), (t = t.slice(0, n))) + var o = t.indexOf('?') + return o >= 0 && ((r = t.slice(o + 1)), (t = t.slice(0, o))), { path: t, query: r, hash: e } + } + function w(t) { + return t.replace(/\/\//g, '/') + } + function x(t, e) { + for ( + var r, n = [], o = 0, i = 0, a = '', u = (e && e.delimiter) || '/'; + null != (r = Qt.exec(t)); + + ) { + var c = r[0], + s = r[1], + p = r.index + if (((a += t.slice(i, p)), (i = p + c.length), s)) a += s[1] + else { + var f = t[i], + h = r[2], + l = r[3], + d = r[4], + y = r[5], + v = r[6], + m = r[7] + a && (n.push(a), (a = '')) + var g = null != h && null != f && f !== h, + b = '+' === v || '*' === v, + w = '?' === v || '*' === v, + x = r[2] || u, + k = d || y + n.push({ + name: l || o++, + prefix: h || '', + delimiter: x, + optional: w, + repeat: b, + partial: g, + asterisk: !!m, + pattern: k ? C(k) : m ? '.*' : '[^' + O(x) + ']+?', + }) + } + } + return i < t.length && (a += t.substr(i)), a && n.push(a), n + } + function k(t) { + return encodeURI(t).replace(/[\/?#]/g, function(t) { + return ( + '%' + + t + .charCodeAt(0) + .toString(16) + .toUpperCase() + ) + }) + } + function R(t) { + return encodeURI(t).replace(/[?#]/g, function(t) { + return ( + '%' + + t + .charCodeAt(0) + .toString(16) + .toUpperCase() + ) + }) + } + function E(t) { + for (var e = new Array(t.length), r = 0; r < t.length; r++) + 'object' == typeof t[r] && (e[r] = new RegExp('^(?:' + t[r].pattern + ')$')) + return function(r, n) { + for ( + var o = '', i = r || {}, a = (n || {}).pretty ? k : encodeURIComponent, u = 0; + u < t.length; + u++ + ) { + var c = t[u] + if ('string' != typeof c) { + var s, + p = i[c.name] + if (null == p) { + if (c.optional) { + c.partial && (o += c.prefix) + continue + } + throw new TypeError('Expected "' + c.name + '" to be defined') + } + if (Ft(p)) { + if (!c.repeat) + throw new TypeError( + 'Expected "' + c.name + '" to not repeat, but received `' + JSON.stringify(p) + '`' + ) + if (0 === p.length) { + if (c.optional) continue + throw new TypeError('Expected "' + c.name + '" to not be empty') + } + for (var f = 0; f < p.length; f++) { + if (((s = a(p[f])), !e[u].test(s))) + throw new TypeError( + 'Expected all "' + + c.name + + '" to match "' + + c.pattern + + '", but received `' + + JSON.stringify(s) + + '`' + ) + o += (0 === f ? c.prefix : c.delimiter) + s + } + } else { + if (((s = c.asterisk ? R(p) : a(p)), !e[u].test(s))) + throw new TypeError( + 'Expected "' + c.name + '" to match "' + c.pattern + '", but received "' + s + '"' + ) + o += c.prefix + s + } + } else o += c + } + return o + } + } + function O(t) { + return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1') + } + function C(t) { + return t.replace(/([=!:$\/()])/g, '\\$1') + } + function j(t, e) { + return (t.keys = e), t + } + function A(t) { + return t.sensitive ? '' : 'i' + } + function _(t, e) { + var r = t.source.match(/\((?!\?)/g) + if (r) + for (var n = 0; n < r.length; n++) + e.push({ + name: n, + prefix: null, + delimiter: null, + optional: !1, + repeat: !1, + partial: !1, + asterisk: !1, + pattern: null, + }) + return j(t, e) + } + function T(t, e, r) { + for (var n = [], o = 0; o < t.length; o++) n.push(q(t[o], e, r).source) + return j(new RegExp('(?:' + n.join('|') + ')', A(r)), e) + } + function S(t, e, r) { + return $(x(t, r), e, r) + } + function $(t, e, r) { + Ft(e) || ((r = e || r), (e = [])) + for (var n = (r = r || {}).strict, o = !1 !== r.end, i = '', a = 0; a < t.length; a++) { + var u = t[a] + if ('string' == typeof u) i += O(u) + else { + var c = O(u.prefix), + s = '(?:' + u.pattern + ')' + e.push(u), + u.repeat && (s += '(?:' + c + s + ')*'), + (i += s = u.optional + ? u.partial + ? c + '(' + s + ')?' + : '(?:' + c + '(' + s + '))?' + : c + '(' + s + ')') + } + } + var p = O(r.delimiter || '/'), + f = i.slice(-p.length) === p + return ( + n || (i = (f ? i.slice(0, -p.length) : i) + '(?:' + p + '(?=$))?'), + (i += o ? '$' : n && f ? '' : '(?=' + p + '|$)'), + j(new RegExp('^' + i, A(r)), e) + ) + } + function q(t, e, r) { + return ( + Ft(e) || ((r = e || r), (e = [])), + (r = r || {}), + t instanceof RegExp ? _(t, e) : Ft(t) ? T(t, e, r) : S(t, e, r) + ) + } + function L(t, e, r) { + try { + return (Xt[t] || (Xt[t] = Dt.compile(t)))(e || {}, { pretty: !0 }) + } catch (t) { + return '' + } + } + function P(t, e, r, n) { + var o = e || [], + i = r || Object.create(null), + a = n || Object.create(null) + t.forEach(function(t) { + U(o, i, a, t) + }) + for (var u = 0, c = o.length; u < c; u++) '*' === o[u] && (o.push(o.splice(u, 1)[0]), c--, u--) + return { pathList: o, pathMap: i, nameMap: a } + } + function U(t, e, r, n, o, i) { + var a = n.path, + u = n.name, + c = n.pathToRegexpOptions || {}, + s = H(a, o, c.strict) + 'boolean' == typeof n.caseSensitive && (c.sensitive = n.caseSensitive) + var p = { + path: s, + regex: M(s, c), + components: n.components || { default: n.component }, + instances: {}, + name: u, + parent: o, + matchAs: i, + redirect: n.redirect, + beforeEnter: n.beforeEnter, + meta: n.meta || {}, + props: null == n.props ? {} : n.components ? n.props : { default: n.props }, + } + n.children && + n.children.forEach(function(n) { + var o = i ? w(i + '/' + n.path) : void 0 + U(t, e, r, n, p, o) + }), + void 0 !== n.alias && + (Array.isArray(n.alias) ? n.alias : [n.alias]).forEach(function(i) { + var a = { path: i, children: n.children } + U(t, e, r, a, o, p.path || '/') + }), + e[p.path] || (t.push(p.path), (e[p.path] = p)), + u && (r[u] || (r[u] = p)) + } + function M(t, e) { + return Dt(t, [], e) + } + function H(t, e, r) { + return r || (t = t.replace(/\/$/, '')), '/' === t[0] ? t : null == e ? t : w(e.path + '/' + t) + } + function I(t, e, r, n) { + var i = 'string' == typeof t ? { path: t } : t + if (i.name || i._normalized) return i + if (!i.path && i.params && e) { + ;(i = V({}, i))._normalized = !0 + var a = V(V({}, e.params), i.params) + if (e.name) (i.name = e.name), (i.params = a) + else if (e.matched.length) { + var u = e.matched[e.matched.length - 1].path + i.path = L(u, a, 'path ' + e.path) + } + return i + } + var c = b(i.path || ''), + s = (e && e.path) || '/', + p = c.path ? g(c.path, s, r || i.append) : s, + f = o(c.query, i.query, n && n.options.parseQuery), + h = i.hash || c.hash + return ( + h && '#' !== h.charAt(0) && (h = '#' + h), { _normalized: !0, path: p, query: f, hash: h } + ) + } + function V(t, e) { + for (var r in e) t[r] = e[r] + return t + } + function z(t, e) { + function r(t, r, n) { + var o = I(t, r, !1, e), + a = o.name + if (a) { + var u = p[a] + if (!u) return i(null, o) + var f = u.regex.keys + .filter(function(t) { + return !t.optional + }) + .map(function(t) { + return t.name + }) + if (('object' != typeof o.params && (o.params = {}), r && 'object' == typeof r.params)) + for (var h in r.params) + !(h in o.params) && f.indexOf(h) > -1 && (o.params[h] = r.params[h]) + if (u) return (o.path = L(u.path, o.params, 'named route "' + a + '"')), i(u, o, n) + } else if (o.path) { + o.params = {} + for (var l = 0; l < c.length; l++) { + var d = c[l], + y = s[d] + if (B(y.regex, o.path, o.params)) return i(y, o, n) + } + } + return i(null, o) + } + function n(t, n) { + var o = t.redirect, + a = 'function' == typeof o ? o(u(t, n, null, e)) : o + if (('string' == typeof a && (a = { path: a }), !a || 'object' != typeof a)) return i(null, n) + var c = a, + s = c.name, + p = c.path, + f = n.query, + h = n.hash, + l = n.params + if ( + ((f = c.hasOwnProperty('query') ? c.query : f), + (h = c.hasOwnProperty('hash') ? c.hash : h), + (l = c.hasOwnProperty('params') ? c.params : l), + s) + ) + return r({ _normalized: !0, name: s, query: f, hash: h, params: l }, void 0, n) + if (p) { + var d = F(p, t) + return r( + { + _normalized: !0, + path: L(d, l, 'redirect route with path "' + d + '"'), + query: f, + hash: h, + }, + void 0, + n + ) + } + return i(null, n) + } + function o(t, e, n) { + var o = r({ _normalized: !0, path: L(n, e.params, 'aliased route with path "' + n + '"') }) + if (o) { + var a = o.matched, + u = a[a.length - 1] + return (e.params = o.params), i(u, e) + } + return i(null, e) + } + function i(t, r, i) { + return t && t.redirect ? n(t, i || r) : t && t.matchAs ? o(t, r, t.matchAs) : u(t, r, i, e) + } + var a = P(t), + c = a.pathList, + s = a.pathMap, + p = a.nameMap + return { + match: r, + addRoutes: function(t) { + P(t, c, s, p) + }, + } + } + function B(t, e, r) { + var n = e.match(t) + if (!n) return !1 + if (!r) return !0 + for (var o = 1, i = n.length; o < i; ++o) { + var a = t.keys[o - 1], + u = 'string' == typeof n[o] ? decodeURIComponent(n[o]) : n[o] + a && (r[a.name] = u) + } + return !0 + } + function F(t, e) { + return g(t, e.parent ? e.parent.path : '/', !0) + } + function D() { + window.history.replaceState({ key: et() }, ''), + window.addEventListener('popstate', function(t) { + J(), t.state && t.state.key && rt(t.state.key) + }) + } + function K(t, e, r, n) { + if (t.app) { + var o = t.options.scrollBehavior + o && + t.app.$nextTick(function() { + var t = N(), + i = o(e, r, n ? t : null) + i && + ('function' == typeof i.then + ? i + .then(function(e) { + Z(e, t) + }) + .catch(function(t) {}) + : Z(i, t)) + }) + } + } + function J() { + var t = et() + t && (Yt[t] = { x: window.pageXOffset, y: window.pageYOffset }) + } + function N() { + var t = et() + if (t) return Yt[t] + } + function Q(t, e) { + var r = document.documentElement.getBoundingClientRect(), + n = t.getBoundingClientRect() + return { x: n.left - r.left - e.x, y: n.top - r.top - e.y } + } + function X(t) { + return G(t.x) || G(t.y) + } + function Y(t) { + return { x: G(t.x) ? t.x : window.pageXOffset, y: G(t.y) ? t.y : window.pageYOffset } + } + function W(t) { + return { x: G(t.x) ? t.x : 0, y: G(t.y) ? t.y : 0 } + } + function G(t) { + return 'number' == typeof t + } + function Z(t, e) { + var r = 'object' == typeof t + if (r && 'string' == typeof t.selector) { + var n = document.querySelector(t.selector) + if (n) { + var o = t.offset && 'object' == typeof t.offset ? t.offset : {} + e = Q(n, (o = W(o))) + } else X(t) && (e = Y(t)) + } else r && X(t) && (e = Y(t)) + e && window.scrollTo(e.x, e.y) + } + function tt() { + return Gt.now().toFixed(3) + } + function et() { + return Zt + } + function rt(t) { + Zt = t + } + function nt(t, e) { + J() + var r = window.history + try { + e ? r.replaceState({ key: Zt }, '', t) : ((Zt = tt()), r.pushState({ key: Zt }, '', t)) + } catch (r) { + window.location[e ? 'replace' : 'assign'](t) + } + } + function ot(t) { + nt(t, !0) + } + function it(t, e, r) { + var n = function(o) { + o >= t.length + ? r() + : t[o] + ? e(t[o], function() { + n(o + 1) + }) + : n(o + 1) + } + n(0) + } + function at(t) { + return function(r, n, o) { + var i = !1, + a = 0, + u = null + ut(t, function(t, r, n, c) { + if ('function' == typeof t && void 0 === t.cid) { + ;(i = !0), a++ + var s, + p = pt(function(e) { + st(e) && (e = e.default), + (t.resolved = 'function' == typeof e ? e : Tt.extend(e)), + (n.components[c] = e), + --a <= 0 && o() + }), + f = pt(function(t) { + var r = 'Failed to resolve async component ' + c + ': ' + t + u || ((u = e(t) ? t : new Error(r)), o(u)) + }) + try { + s = t(p, f) + } catch (t) { + f(t) + } + if (s) + if ('function' == typeof s.then) s.then(p, f) + else { + var h = s.component + h && 'function' == typeof h.then && h.then(p, f) + } + } + }), + i || o() + } + } + function ut(t, e) { + return ct( + t.map(function(t) { + return Object.keys(t.components).map(function(r) { + return e(t.components[r], t.instances[r], t, r) + }) + }) + ) + } + function ct(t) { + return Array.prototype.concat.apply([], t) + } + function st(t) { + return t.__esModule || (te && 'Module' === t[Symbol.toStringTag]) + } + function pt(t) { + var e = !1 + return function() { + for (var r = [], n = arguments.length; n--; ) r[n] = arguments[n] + if (!e) return (e = !0), t.apply(this, r) + } + } + function ft(t) { + if (!t) + if (Bt) { + var e = document.querySelector('base') + t = (t = (e && e.getAttribute('href')) || '/').replace(/^https?:\/\/[^\/]+/, '') + } else t = '/' + return '/' !== t.charAt(0) && (t = '/' + t), t.replace(/\/$/, '') + } + function ht(t, e) { + var r, + n = Math.max(t.length, e.length) + for (r = 0; r < n && t[r] === e[r]; r++); + return { updated: e.slice(0, r), activated: e.slice(r), deactivated: t.slice(r) } + } + function lt(t, e, r, n) { + var o = ut(t, function(t, n, o, i) { + var a = dt(t, e) + if (a) + return Array.isArray(a) + ? a.map(function(t) { + return r(t, n, o, i) + }) + : r(a, n, o, i) + }) + return ct(n ? o.reverse() : o) + } + function dt(t, e) { + return 'function' != typeof t && (t = Tt.extend(t)), t.options[e] + } + function yt(t) { + return lt(t, 'beforeRouteLeave', mt, !0) + } + function vt(t) { + return lt(t, 'beforeRouteUpdate', mt) + } + function mt(t, e) { + if (e) + return function() { + return t.apply(e, arguments) + } + } + function gt(t, e, r) { + return lt(t, 'beforeRouteEnter', function(t, n, o, i) { + return bt(t, o, i, e, r) + }) + } + function bt(t, e, r, n, o) { + return function(i, a, u) { + return t(i, a, function(t) { + u(t), + 'function' == typeof t && + n.push(function() { + wt(t, e.instances, r, o) + }) + }) + } + } + function wt(t, e, r, n) { + e[r] + ? t(e[r]) + : n() && + setTimeout(function() { + wt(t, e, r, n) + }, 16) + } + function xt(t) { + var e = window.location.pathname + return ( + t && 0 === e.indexOf(t) && (e = e.slice(t.length)), + (e || '/') + window.location.search + window.location.hash + ) + } + function kt(t) { + var e = xt(t) + if (!/^\/#/.test(e)) return window.location.replace(w(t + '/#' + e)), !0 + } + function Rt() { + var t = Et() + return '/' === t.charAt(0) || (jt('/' + t), !1) + } + function Et() { + var t = window.location.href, + e = t.indexOf('#') + return -1 === e ? '' : t.slice(e + 1) + } + function Ot(t) { + var e = window.location.href, + r = e.indexOf('#') + return (r >= 0 ? e.slice(0, r) : e) + '#' + t + } + function Ct(t) { + Wt ? nt(Ot(t)) : (window.location.hash = t) + } + function jt(t) { + Wt ? ot(Ot(t)) : window.location.replace(Ot(t)) + } + function At(t, e) { + return ( + t.push(e), + function() { + var r = t.indexOf(e) + r > -1 && t.splice(r, 1) + } + ) + } + function _t(t, e, r) { + var n = 'hash' === r ? '#' + e : e + return t ? w(t + '/' + n) : n + } + var Tt, + St = { + name: 'router-view', + functional: !0, + props: { name: { type: String, default: 'default' } }, + render: function(t, e) { + var o = e.props, + i = e.children, + a = e.parent, + u = e.data + u.routerView = !0 + for ( + var c = a.$createElement, + s = o.name, + p = a.$route, + f = a._routerViewCache || (a._routerViewCache = {}), + h = 0, + l = !1; + a && a._routerRoot !== a; + + ) + a.$vnode && a.$vnode.data.routerView && h++, a._inactive && (l = !0), (a = a.$parent) + if (((u.routerViewDepth = h), l)) return c(f[s], u, i) + var d = p.matched[h] + if (!d) return (f[s] = null), c() + var y = (f[s] = d.components[s]) + ;(u.registerRouteInstance = function(t, e) { + var r = d.instances[s] + ;((e && r !== t) || (!e && r === t)) && (d.instances[s] = e) + }), + ((u.hook || (u.hook = {})).prepatch = function(t, e) { + d.instances[s] = e.componentInstance + }) + var v = (u.props = r(p, d.props && d.props[s])) + if (v) { + v = u.props = n({}, v) + var m = (u.attrs = u.attrs || {}) + for (var g in v) (y.props && g in y.props) || ((m[g] = v[g]), delete v[g]) + } + return c(y, u, i) + }, + }, + $t = /[!'()*]/g, + qt = function(t) { + return '%' + t.charCodeAt(0).toString(16) + }, + Lt = /%2C/g, + Pt = function(t) { + return encodeURIComponent(t) + .replace($t, qt) + .replace(Lt, ',') + }, + Ut = decodeURIComponent, + Mt = /\/?$/, + Ht = u(null, { path: '/' }), + It = [String, Object], + Vt = [String, Array], + zt = { + name: 'router-link', + props: { + to: { type: It, required: !0 }, + tag: { type: String, default: 'a' }, + exact: Boolean, + append: Boolean, + replace: Boolean, + activeClass: String, + exactActiveClass: String, + event: { type: Vt, default: 'click' }, + }, + render: function(t) { + var e = this, + r = this.$router, + n = this.$route, + o = r.resolve(this.to, n, this.append), + i = o.location, + a = o.route, + c = o.href, + s = {}, + p = r.options.linkActiveClass, + h = r.options.linkExactActiveClass, + d = null == p ? 'router-link-active' : p, + m = null == h ? 'router-link-exact-active' : h, + g = null == this.activeClass ? d : this.activeClass, + b = null == this.exactActiveClass ? m : this.exactActiveClass, + w = i.path ? u(null, i, null, r) : a + ;(s[b] = f(n, w)), (s[g] = this.exact ? s[b] : l(n, w)) + var x = function(t) { + y(t) && (e.replace ? r.replace(i) : r.push(i)) + }, + k = { click: y } + Array.isArray(this.event) + ? this.event.forEach(function(t) { + k[t] = x + }) + : (k[this.event] = x) + var R = { class: s } + if ('a' === this.tag) (R.on = k), (R.attrs = { href: c }) + else { + var E = v(this.$slots.default) + if (E) { + E.isStatic = !1 + var O = Tt.util.extend + ;((E.data = O({}, E.data)).on = k), ((E.data.attrs = O({}, E.data.attrs)).href = c) + } else R.on = k + } + return t(this.tag, R, this.$slots.default) + }, + }, + Bt = 'undefined' != typeof window, + Ft = + Array.isArray || + function(t) { + return '[object Array]' == Object.prototype.toString.call(t) + }, + Dt = q, + Kt = x, + Jt = E, + Nt = $, + Qt = new RegExp( + [ + '(\\\\.)', + '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))', + ].join('|'), + 'g' + ) + ;(Dt.parse = Kt), + (Dt.compile = function(t, e) { + return E(x(t, e)) + }), + (Dt.tokensToFunction = Jt), + (Dt.tokensToRegExp = Nt) + var Xt = Object.create(null), + Yt = Object.create(null), + Wt = + Bt && + (function() { + var t = window.navigator.userAgent + return ( + ((-1 === t.indexOf('Android 2.') && -1 === t.indexOf('Android 4.0')) || + -1 === t.indexOf('Mobile Safari') || + -1 !== t.indexOf('Chrome') || + -1 !== t.indexOf('Windows Phone')) && + window.history && 'pushState' in window.history + ) + })(), + Gt = Bt && window.performance && window.performance.now ? window.performance : Date, + Zt = tt(), + te = 'function' == typeof Symbol && 'symbol' == typeof Symbol.toStringTag, + ee = function(t, e) { + ;(this.router = t), + (this.base = ft(e)), + (this.current = Ht), + (this.pending = null), + (this.ready = !1), + (this.readyCbs = []), + (this.readyErrorCbs = []), + (this.errorCbs = []) + } + ;(ee.prototype.listen = function(t) { + this.cb = t + }), + (ee.prototype.onReady = function(t, e) { + this.ready ? t() : (this.readyCbs.push(t), e && this.readyErrorCbs.push(e)) + }), + (ee.prototype.onError = function(t) { + this.errorCbs.push(t) + }), + (ee.prototype.transitionTo = function(t, e, r) { + var n = this, + o = this.router.match(t, this.current) + this.confirmTransition( + o, + function() { + n.updateRoute(o), + e && e(o), + n.ensureURL(), + n.ready || + ((n.ready = !0), + n.readyCbs.forEach(function(t) { + t(o) + })) + }, + function(t) { + r && r(t), + t && + !n.ready && + ((n.ready = !0), + n.readyErrorCbs.forEach(function(e) { + e(t) + })) + } + ) + }), + (ee.prototype.confirmTransition = function(r, n, o) { + var i = this, + a = this.current, + u = function(r) { + e(r) && + (i.errorCbs.length + ? i.errorCbs.forEach(function(t) { + t(r) + }) + : (t(!1, 'uncaught error during route navigation:'), console.error(r))), + o && o(r) + } + if (f(r, a) && r.matched.length === a.matched.length) return this.ensureURL(), u() + var c = ht(this.current.matched, r.matched), + s = c.updated, + p = c.deactivated, + h = c.activated, + l = [].concat( + yt(p), + this.router.beforeHooks, + vt(s), + h.map(function(t) { + return t.beforeEnter + }), + at(h) + ) + this.pending = r + var d = function(t, n) { + if (i.pending !== r) return u() + try { + t(r, a, function(t) { + !1 === t || e(t) + ? (i.ensureURL(!0), u(t)) + : 'string' == typeof t || + ('object' == typeof t && ('string' == typeof t.path || 'string' == typeof t.name)) + ? (u(), 'object' == typeof t && t.replace ? i.replace(t) : i.push(t)) + : n(t) + }) + } catch (t) { + u(t) + } + } + it(l, d, function() { + var t = [] + it( + gt(h, t, function() { + return i.current === r + }).concat(i.router.resolveHooks), + d, + function() { + if (i.pending !== r) return u() + ;(i.pending = null), + n(r), + i.router.app && + i.router.app.$nextTick(function() { + t.forEach(function(t) { + t() + }) + }) + } + ) + }) + }), + (ee.prototype.updateRoute = function(t) { + var e = this.current + ;(this.current = t), + this.cb && this.cb(t), + this.router.afterHooks.forEach(function(r) { + r && r(t, e) + }) + }) + var re = (function(t) { + function e(e, r) { + var n = this + t.call(this, e, r) + var o = e.options.scrollBehavior + o && D() + var i = xt(this.base) + window.addEventListener('popstate', function(t) { + var r = n.current, + a = xt(n.base) + ;(n.current === Ht && a === i) || + n.transitionTo(a, function(t) { + o && K(e, t, r, !0) + }) + }) + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.go = function(t) { + window.history.go(t) + }), + (e.prototype.push = function(t, e, r) { + var n = this, + o = this.current + this.transitionTo( + t, + function(t) { + nt(w(n.base + t.fullPath)), K(n.router, t, o, !1), e && e(t) + }, + r + ) + }), + (e.prototype.replace = function(t, e, r) { + var n = this, + o = this.current + this.transitionTo( + t, + function(t) { + ot(w(n.base + t.fullPath)), K(n.router, t, o, !1), e && e(t) + }, + r + ) + }), + (e.prototype.ensureURL = function(t) { + if (xt(this.base) !== this.current.fullPath) { + var e = w(this.base + this.current.fullPath) + t ? nt(e) : ot(e) + } + }), + (e.prototype.getCurrentLocation = function() { + return xt(this.base) + }), + e + ) + })(ee), + ne = (function(t) { + function e(e, r, n) { + t.call(this, e, r), (n && kt(this.base)) || Rt() + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.setupListeners = function() { + var t = this, + e = this.router.options.scrollBehavior, + r = Wt && e + r && D(), + window.addEventListener(Wt ? 'popstate' : 'hashchange', function() { + var e = t.current + Rt() && + t.transitionTo(Et(), function(n) { + r && K(t.router, n, e, !0), Wt || jt(n.fullPath) + }) + }) + }), + (e.prototype.push = function(t, e, r) { + var n = this, + o = this.current + this.transitionTo( + t, + function(t) { + Ct(t.fullPath), K(n.router, t, o, !1), e && e(t) + }, + r + ) + }), + (e.prototype.replace = function(t, e, r) { + var n = this, + o = this.current + this.transitionTo( + t, + function(t) { + jt(t.fullPath), K(n.router, t, o, !1), e && e(t) + }, + r + ) + }), + (e.prototype.go = function(t) { + window.history.go(t) + }), + (e.prototype.ensureURL = function(t) { + var e = this.current.fullPath + Et() !== e && (t ? Ct(e) : jt(e)) + }), + (e.prototype.getCurrentLocation = function() { + return Et() + }), + e + ) + })(ee), + oe = (function(t) { + function e(e, r) { + t.call(this, e, r), (this.stack = []), (this.index = -1) + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.push = function(t, e, r) { + var n = this + this.transitionTo( + t, + function(t) { + ;(n.stack = n.stack.slice(0, n.index + 1).concat(t)), n.index++, e && e(t) + }, + r + ) + }), + (e.prototype.replace = function(t, e, r) { + var n = this + this.transitionTo( + t, + function(t) { + ;(n.stack = n.stack.slice(0, n.index).concat(t)), e && e(t) + }, + r + ) + }), + (e.prototype.go = function(t) { + var e = this, + r = this.index + t + if (!(r < 0 || r >= this.stack.length)) { + var n = this.stack[r] + this.confirmTransition(n, function() { + ;(e.index = r), e.updateRoute(n) + }) + } + }), + (e.prototype.getCurrentLocation = function() { + var t = this.stack[this.stack.length - 1] + return t ? t.fullPath : '/' + }), + (e.prototype.ensureURL = function() {}), + e + ) + })(ee), + ie = function(t) { + void 0 === t && (t = {}), + (this.app = null), + (this.apps = []), + (this.options = t), + (this.beforeHooks = []), + (this.resolveHooks = []), + (this.afterHooks = []), + (this.matcher = z(t.routes || [], this)) + var e = t.mode || 'hash' + switch ( + ((this.fallback = 'history' === e && !Wt && !1 !== t.fallback), + this.fallback && (e = 'hash'), + Bt || (e = 'abstract'), + (this.mode = e), + e) + ) { + case 'history': + this.history = new re(this, t.base) + break + case 'hash': + this.history = new ne(this, t.base, this.fallback) + break + case 'abstract': + this.history = new oe(this, t.base) + } + }, + ae = { currentRoute: { configurable: !0 } } + return ( + (ie.prototype.match = function(t, e, r) { + return this.matcher.match(t, e, r) + }), + (ae.currentRoute.get = function() { + return this.history && this.history.current + }), + (ie.prototype.init = function(t) { + var e = this + if ((this.apps.push(t), !this.app)) { + this.app = t + var r = this.history + if (r instanceof re) r.transitionTo(r.getCurrentLocation()) + else if (r instanceof ne) { + var n = function() { + r.setupListeners() + } + r.transitionTo(r.getCurrentLocation(), n, n) + } + r.listen(function(t) { + e.apps.forEach(function(e) { + e._route = t + }) + }) + } + }), + (ie.prototype.beforeEach = function(t) { + return At(this.beforeHooks, t) + }), + (ie.prototype.beforeResolve = function(t) { + return At(this.resolveHooks, t) + }), + (ie.prototype.afterEach = function(t) { + return At(this.afterHooks, t) + }), + (ie.prototype.onReady = function(t, e) { + this.history.onReady(t, e) + }), + (ie.prototype.onError = function(t) { + this.history.onError(t) + }), + (ie.prototype.push = function(t, e, r) { + this.history.push(t, e, r) + }), + (ie.prototype.replace = function(t, e, r) { + this.history.replace(t, e, r) + }), + (ie.prototype.go = function(t) { + this.history.go(t) + }), + (ie.prototype.back = function() { + this.go(-1) + }), + (ie.prototype.forward = function() { + this.go(1) + }), + (ie.prototype.getMatchedComponents = function(t) { + var e = t ? (t.matched ? t : this.resolve(t).route) : this.currentRoute + return e + ? [].concat.apply( + [], + e.matched.map(function(t) { + return Object.keys(t.components).map(function(e) { + return t.components[e] + }) + }) + ) + : [] + }), + (ie.prototype.resolve = function(t, e, r) { + var n = I(t, e || this.history.current, r, this), + o = this.match(n, e), + i = o.redirectedFrom || o.fullPath + return { + location: n, + route: o, + href: _t(this.history.base, i, this.mode), + normalizedTo: n, + resolved: o, + } + }), + (ie.prototype.addRoutes = function(t) { + this.matcher.addRoutes(t), + this.history.current !== Ht && this.history.transitionTo(this.history.getCurrentLocation()) + }), + Object.defineProperties(ie.prototype, ae), + (ie.install = m), + (ie.version = '3.0.1'), + Bt && window.Vue && window.Vue.use(ie), + ie + ) +}) diff --git a/public/lib/vue.runtime.development.js b/public/lib/vue.runtime.development.js new file mode 100644 index 0000000000000000000000000000000000000000..3d38d0d2c943aa225e71703488be1f144fa8651e --- /dev/null +++ b/public/lib/vue.runtime.development.js @@ -0,0 +1,8262 @@ +/*! + * Vue.js v2.6.9 + * (c) 2014-2019 Evan You + * Released under the MIT License. + */ +;(function(global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + ? (module.exports = factory()) + : typeof define === 'function' && define.amd + ? define(factory) + : ((global = global || self), (global.Vue = factory())) +})(this, function() { + 'use strict' + + /* */ + + var emptyObject = Object.freeze({}) + + // These helpers produce better VM code in JS engines due to their + // explicitness and function inlining. + function isUndef(v) { + return v === undefined || v === null + } + + function isDef(v) { + return v !== undefined && v !== null + } + + function isTrue(v) { + return v === true + } + + function isFalse(v) { + return v === false + } + + /** + * Check if value is primitive. + */ + function isPrimitive(value) { + return ( + typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean' + ) + } + + /** + * Quick object check - this is primarily used to tell + * Objects from primitive values when we know the value + * is a JSON-compliant type. + */ + function isObject(obj) { + return obj !== null && typeof obj === 'object' + } + + /** + * Get the raw type string of a value, e.g., [object Object]. + */ + var _toString = Object.prototype.toString + + function toRawType(value) { + return _toString.call(value).slice(8, -1) + } + + /** + * Strict object type check. Only returns true + * for plain JavaScript objects. + */ + function isPlainObject(obj) { + return _toString.call(obj) === '[object Object]' + } + + function isRegExp(v) { + return _toString.call(v) === '[object RegExp]' + } + + /** + * Check if val is a valid array index. + */ + function isValidArrayIndex(val) { + var n = parseFloat(String(val)) + return n >= 0 && Math.floor(n) === n && isFinite(val) + } + + function isPromise(val) { + return isDef(val) && typeof val.then === 'function' && typeof val.catch === 'function' + } + + /** + * Convert a value to a string that is actually rendered. + */ + function toString(val) { + return val == null + ? '' + : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) + ? JSON.stringify(val, null, 2) + : String(val) + } + + /** + * Convert an input value to a number for persistence. + * If the conversion fails, return original string. + */ + function toNumber(val) { + var n = parseFloat(val) + return isNaN(n) ? val : n + } + + /** + * Make a map and return a function for checking if a key + * is in that map. + */ + function makeMap(str, expectsLowerCase) { + var map = Object.create(null) + var list = str.split(',') + for (var i = 0; i < list.length; i++) { + map[list[i]] = true + } + return expectsLowerCase + ? function(val) { + return map[val.toLowerCase()] + } + : function(val) { + return map[val] + } + } + + /** + * Check if a tag is a built-in tag. + */ + var isBuiltInTag = makeMap('slot,component', true) + + /** + * Check if an attribute is a reserved attribute. + */ + var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is') + + /** + * Remove an item from an array. + */ + function remove(arr, item) { + if (arr.length) { + var index = arr.indexOf(item) + if (index > -1) { + return arr.splice(index, 1) + } + } + } + + /** + * Check whether an object has the property. + */ + var hasOwnProperty = Object.prototype.hasOwnProperty + function hasOwn(obj, key) { + return hasOwnProperty.call(obj, key) + } + + /** + * Create a cached version of a pure function. + */ + function cached(fn) { + var cache = Object.create(null) + return function cachedFn(str) { + var hit = cache[str] + return hit || (cache[str] = fn(str)) + } + } + + /** + * Camelize a hyphen-delimited string. + */ + var camelizeRE = /-(\w)/g + var camelize = cached(function(str) { + return str.replace(camelizeRE, function(_, c) { + return c ? c.toUpperCase() : '' + }) + }) + + /** + * Capitalize a string. + */ + var capitalize = cached(function(str) { + return str.charAt(0).toUpperCase() + str.slice(1) + }) + + /** + * Hyphenate a camelCase string. + */ + var hyphenateRE = /\B([A-Z])/g + var hyphenate = cached(function(str) { + return str.replace(hyphenateRE, '-$1').toLowerCase() + }) + + /** + * Simple bind polyfill for environments that do not support it, + * e.g., PhantomJS 1.x. Technically, we don't need this anymore + * since native bind is now performant enough in most browsers. + * But removing it would mean breaking code that was able to run in + * PhantomJS 1.x, so this must be kept for backward compatibility. + */ + + /* istanbul ignore next */ + function polyfillBind(fn, ctx) { + function boundFn(a) { + var l = arguments.length + return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx) + } + + boundFn._length = fn.length + return boundFn + } + + function nativeBind(fn, ctx) { + return fn.bind(ctx) + } + + var bind = Function.prototype.bind ? nativeBind : polyfillBind + + /** + * Convert an Array-like object to a real Array. + */ + function toArray(list, start) { + start = start || 0 + var i = list.length - start + var ret = new Array(i) + while (i--) { + ret[i] = list[i + start] + } + return ret + } + + /** + * Mix properties into target object. + */ + function extend(to, _from) { + for (var key in _from) { + to[key] = _from[key] + } + return to + } + + /** + * Merge an Array of Objects into a single Object. + */ + function toObject(arr) { + var res = {} + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]) + } + } + return res + } + + /* eslint-disable no-unused-vars */ + + /** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). + */ + function noop(a, b, c) {} + + /** + * Always return false. + */ + var no = function(a, b, c) { + return false + } + + /* eslint-enable no-unused-vars */ + + /** + * Return the same value. + */ + var identity = function(_) { + return _ + } + + /** + * Check if two values are loosely equal - that is, + * if they are plain objects, do they have the same shape? + */ + function looseEqual(a, b) { + if (a === b) { + return true + } + var isObjectA = isObject(a) + var isObjectB = isObject(b) + if (isObjectA && isObjectB) { + try { + var isArrayA = Array.isArray(a) + var isArrayB = Array.isArray(b) + if (isArrayA && isArrayB) { + return ( + a.length === b.length && + a.every(function(e, i) { + return looseEqual(e, b[i]) + }) + ) + } else if (a instanceof Date && b instanceof Date) { + return a.getTime() === b.getTime() + } else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a) + var keysB = Object.keys(b) + return ( + keysA.length === keysB.length && + keysA.every(function(key) { + return looseEqual(a[key], b[key]) + }) + ) + } else { + /* istanbul ignore next */ + return false + } + } catch (e) { + /* istanbul ignore next */ + return false + } + } else if (!isObjectA && !isObjectB) { + return String(a) === String(b) + } else { + return false + } + } + + /** + * Return the first index at which a loosely equal value can be + * found in the array (if value is a plain object, the array must + * contain an object of the same shape), or -1 if it is not present. + */ + function looseIndexOf(arr, val) { + for (var i = 0; i < arr.length; i++) { + if (looseEqual(arr[i], val)) { + return i + } + } + return -1 + } + + /** + * Ensure a function is called only once. + */ + function once(fn) { + var called = false + return function() { + if (!called) { + called = true + fn.apply(this, arguments) + } + } + } + + var SSR_ATTR = 'data-server-rendered' + + var ASSET_TYPES = ['component', 'directive', 'filter'] + + var LIFECYCLE_HOOKS = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch', + ] + + /* */ + + var config = { + /** + * Option merge strategies (used in core/util/options) + */ + // $flow-disable-line + optionMergeStrategies: Object.create(null), + + /** + * Whether to suppress warnings. + */ + silent: false, + + /** + * Show production mode tip message on boot? + */ + productionTip: 'development' !== 'production', + + /** + * Whether to enable devtools + */ + devtools: 'development' !== 'production', + + /** + * Whether to record perf + */ + performance: false, + + /** + * Error handler for watcher errors + */ + errorHandler: null, + + /** + * Warn handler for watcher warns + */ + warnHandler: null, + + /** + * Ignore certain custom elements + */ + ignoredElements: [], + + /** + * Custom user key aliases for v-on + */ + // $flow-disable-line + keyCodes: Object.create(null), + + /** + * Check if a tag is reserved so that it cannot be registered as a + * component. This is platform-dependent and may be overwritten. + */ + isReservedTag: no, + + /** + * Check if an attribute is reserved so that it cannot be used as a component + * prop. This is platform-dependent and may be overwritten. + */ + isReservedAttr: no, + + /** + * Check if a tag is an unknown element. + * Platform-dependent. + */ + isUnknownElement: no, + + /** + * Get the namespace of an element + */ + getTagNamespace: noop, + + /** + * Parse the real tag name for the specific platform. + */ + parsePlatformTagName: identity, + + /** + * Check if an attribute must be bound using property, e.g. value + * Platform-dependent. + */ + mustUseProp: no, + + /** + * Perform updates asynchronously. Intended to be used by Vue Test Utils + * This will significantly reduce performance if set to false. + */ + async: true, + + /** + * Exposed for legacy reasons + */ + _lifecycleHooks: LIFECYCLE_HOOKS, + } + + /* */ + + /** + * unicode letters used for parsing html tags, component names and property paths. + * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname + * skipping \u10000-\uEFFFF due to it freezing up PhantomJS + */ + var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/ + + /** + * Check if a string starts with $ or _ + */ + function isReserved(str) { + var c = (str + '').charCodeAt(0) + return c === 0x24 || c === 0x5f + } + + /** + * Define a property. + */ + function def(obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true, + }) + } + + /** + * Parse simple path. + */ + var bailRE = new RegExp('[^' + unicodeRegExp.source + '.$_\\d]') + function parsePath(path) { + if (bailRE.test(path)) { + return + } + var segments = path.split('.') + return function(obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) { + return + } + obj = obj[segments[i]] + } + return obj + } + } + + /* */ + + // can we use __proto__? + var hasProto = '__proto__' in {} + + // Browser environment sniffing + var inBrowser = typeof window !== 'undefined' + var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform + var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase() + var UA = inBrowser && window.navigator.userAgent.toLowerCase() + var isIE = UA && /msie|trident/.test(UA) + var isIE9 = UA && UA.indexOf('msie 9.0') > 0 + var isEdge = UA && UA.indexOf('edge/') > 0 + var isAndroid = (UA && UA.indexOf('android') > 0) || weexPlatform === 'android' + var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || weexPlatform === 'ios' + var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge + var isPhantomJS = UA && /phantomjs/.test(UA) + var isFF = UA && UA.match(/firefox\/(\d+)/) + + // Firefox has a "watch" function on Object.prototype... + var nativeWatch = {}.watch + + var supportsPassive = false + if (inBrowser) { + try { + var opts = {} + Object.defineProperty(opts, 'passive', { + get: function get() { + /* istanbul ignore next */ + supportsPassive = true + }, + }) // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts) + } catch (e) {} + } + + // this needs to be lazy-evaled because vue may be required before + // vue-server-renderer can set VUE_ENV + var _isServer + var isServerRendering = function() { + if (_isServer === undefined) { + /* istanbul ignore if */ + if (!inBrowser && !inWeex && typeof global !== 'undefined') { + // detect presence of vue-server-renderer and avoid + // Webpack shimming the process + _isServer = global['process'] && global['process'].env.VUE_ENV === 'server' + } else { + _isServer = false + } + } + return _isServer + } + + // detect devtools + var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__ + + /* istanbul ignore next */ + function isNative(Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) + } + + var hasSymbol = + typeof Symbol !== 'undefined' && + isNative(Symbol) && + typeof Reflect !== 'undefined' && + isNative(Reflect.ownKeys) + + var _Set // $flow-disable-line + /* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) { + // use native Set when available. + _Set = Set + } else { + // a non-standard Set polyfill that only works with primitive keys. + _Set = /*@__PURE__*/ (function() { + function Set() { + this.set = Object.create(null) + } + Set.prototype.has = function has(key) { + return this.set[key] === true + } + Set.prototype.add = function add(key) { + this.set[key] = true + } + Set.prototype.clear = function clear() { + this.set = Object.create(null) + } + + return Set + })() + } + + /* */ + + var warn = noop + var tip = noop + var generateComponentTrace = noop // work around flow check + var formatComponentName = noop + + { + var hasConsole = typeof console !== 'undefined' + var classifyRE = /(?:^|[-_])(\w)/g + var classify = function(str) { + return str + .replace(classifyRE, function(c) { + return c.toUpperCase() + }) + .replace(/[-_]/g, '') + } + + warn = function(msg, vm) { + var trace = vm ? generateComponentTrace(vm) : '' + + if (config.warnHandler) { + config.warnHandler.call(null, msg, vm, trace) + } else if (hasConsole && !config.silent) { + console.error('[Vue warn]: ' + msg + trace) + } + } + + tip = function(msg, vm) { + if (hasConsole && !config.silent) { + console.warn('[Vue tip]: ' + msg + (vm ? generateComponentTrace(vm) : '')) + } + } + + formatComponentName = function(vm, includeFile) { + if (vm.$root === vm) { + return '' + } + var options = + typeof vm === 'function' && vm.cid != null + ? vm.options + : vm._isVue + ? vm.$options || vm.constructor.options + : vm + var name = options.name || options._componentTag + var file = options.__file + if (!name && file) { + var match = file.match(/([^/\\]+)\.vue$/) + name = match && match[1] + } + + return ( + (name ? '<' + classify(name) + '>' : '') + + (file && includeFile !== false ? ' at ' + file : '') + ) + } + + var repeat = function(str, n) { + var res = '' + while (n) { + if (n % 2 === 1) { + res += str + } + if (n > 1) { + str += str + } + n >>= 1 + } + return res + } + + generateComponentTrace = function(vm) { + if (vm._isVue && vm.$parent) { + var tree = [] + var currentRecursiveSequence = 0 + while (vm) { + if (tree.length > 0) { + var last = tree[tree.length - 1] + if (last.constructor === vm.constructor) { + currentRecursiveSequence++ + vm = vm.$parent + continue + } else if (currentRecursiveSequence > 0) { + tree[tree.length - 1] = [last, currentRecursiveSequence] + currentRecursiveSequence = 0 + } + } + tree.push(vm) + vm = vm.$parent + } + return ( + '\n\nfound in\n\n' + + tree + .map(function(vm, i) { + return ( + '' + + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + + (Array.isArray(vm) + ? formatComponentName(vm[0]) + '... (' + vm[1] + ' recursive calls)' + : formatComponentName(vm)) + ) + }) + .join('\n') + ) + } else { + return '\n\n(found in ' + formatComponentName(vm) + ')' + } + } + } + + /* */ + + var uid = 0 + + /** + * A dep is an observable that can have multiple + * directives subscribing to it. + */ + var Dep = function Dep() { + this.id = uid++ + this.subs = [] + } + + Dep.prototype.addSub = function addSub(sub) { + this.subs.push(sub) + } + + Dep.prototype.removeSub = function removeSub(sub) { + remove(this.subs, sub) + } + + Dep.prototype.depend = function depend() { + if (Dep.target) { + Dep.target.addDep(this) + } + } + + Dep.prototype.notify = function notify() { + // stabilize the subscriber list first + var subs = this.subs.slice() + if (!config.async) { + // subs aren't sorted in scheduler if not running async + // we need to sort them now to make sure they fire in correct + // order + subs.sort(function(a, b) { + return a.id - b.id + }) + } + for (var i = 0, l = subs.length; i < l; i++) { + subs[i].update() + } + } + + // The current target watcher being evaluated. + // This is globally unique because only one watcher + // can be evaluated at a time. + Dep.target = null + var targetStack = [] + + function pushTarget(target) { + targetStack.push(target) + Dep.target = target + } + + function popTarget() { + targetStack.pop() + Dep.target = targetStack[targetStack.length - 1] + } + + /* */ + + var VNode = function VNode( + tag, + data, + children, + text, + elm, + context, + componentOptions, + asyncFactory + ) { + this.tag = tag + this.data = data + this.children = children + this.text = text + this.elm = elm + this.ns = undefined + this.context = context + this.fnContext = undefined + this.fnOptions = undefined + this.fnScopeId = undefined + this.key = data && data.key + this.componentOptions = componentOptions + this.componentInstance = undefined + this.parent = undefined + this.raw = false + this.isStatic = false + this.isRootInsert = true + this.isComment = false + this.isCloned = false + this.isOnce = false + this.asyncFactory = asyncFactory + this.asyncMeta = undefined + this.isAsyncPlaceholder = false + } + + var prototypeAccessors = { child: { configurable: true } } + + // DEPRECATED: alias for componentInstance for backwards compat. + /* istanbul ignore next */ + prototypeAccessors.child.get = function() { + return this.componentInstance + } + + Object.defineProperties(VNode.prototype, prototypeAccessors) + + var createEmptyVNode = function(text) { + if (text === void 0) text = '' + + var node = new VNode() + node.text = text + node.isComment = true + return node + } + + function createTextVNode(val) { + return new VNode(undefined, undefined, undefined, String(val)) + } + + // optimized shallow clone + // used for static nodes and slot nodes because they may be reused across + // multiple renders, cloning them avoids errors when DOM manipulations rely + // on their elm reference. + function cloneVNode(vnode) { + var cloned = new VNode( + vnode.tag, + vnode.data, + // #7975 + // clone children array to avoid mutating original in case of cloning + // a child. + vnode.children && vnode.children.slice(), + vnode.text, + vnode.elm, + vnode.context, + vnode.componentOptions, + vnode.asyncFactory + ) + cloned.ns = vnode.ns + cloned.isStatic = vnode.isStatic + cloned.key = vnode.key + cloned.isComment = vnode.isComment + cloned.fnContext = vnode.fnContext + cloned.fnOptions = vnode.fnOptions + cloned.fnScopeId = vnode.fnScopeId + cloned.asyncMeta = vnode.asyncMeta + cloned.isCloned = true + return cloned + } + + /* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ + + var arrayProto = Array.prototype + var arrayMethods = Object.create(arrayProto) + + var methodsToPatch = ['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse'] + + /** + * Intercept mutating methods and emit events + */ + methodsToPatch.forEach(function(method) { + // cache original method + var original = arrayProto[method] + def(arrayMethods, method, function mutator() { + var args = [], + len = arguments.length + while (len--) args[len] = arguments[len] + + var result = original.apply(this, args) + var ob = this.__ob__ + var inserted + switch (method) { + case 'push': + case 'unshift': + inserted = args + break + case 'splice': + inserted = args.slice(2) + break + } + if (inserted) { + ob.observeArray(inserted) + } + // notify change + ob.dep.notify() + return result + }) + }) + + /* */ + + var arrayKeys = Object.getOwnPropertyNames(arrayMethods) + + /** + * In some cases we may want to disable observation inside a component's + * update computation. + */ + var shouldObserve = true + + function toggleObserving(value) { + shouldObserve = value + } + + /** + * Observer class that is attached to each observed + * object. Once attached, the observer converts the target + * object's property keys into getter/setters that + * collect dependencies and dispatch updates. + */ + var Observer = function Observer(value) { + this.value = value + this.dep = new Dep() + this.vmCount = 0 + def(value, '__ob__', this) + if (Array.isArray(value)) { + if (hasProto) { + protoAugment(value, arrayMethods) + } else { + copyAugment(value, arrayMethods, arrayKeys) + } + this.observeArray(value) + } else { + this.walk(value) + } + } + + /** + * Walk through all properties and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ + Observer.prototype.walk = function walk(obj) { + var keys = Object.keys(obj) + for (var i = 0; i < keys.length; i++) { + defineReactive$$1(obj, keys[i]) + } + } + + /** + * Observe a list of Array items. + */ + Observer.prototype.observeArray = function observeArray(items) { + for (var i = 0, l = items.length; i < l; i++) { + observe(items[i]) + } + } + + // helpers + + /** + * Augment a target Object or Array by intercepting + * the prototype chain using __proto__ + */ + function protoAugment(target, src) { + /* eslint-disable no-proto */ + target.__proto__ = src + /* eslint-enable no-proto */ + } + + /** + * Augment a target Object or Array by defining + * hidden properties. + */ + /* istanbul ignore next */ + function copyAugment(target, src, keys) { + for (var i = 0, l = keys.length; i < l; i++) { + var key = keys[i] + def(target, key, src[key]) + } + } + + /** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ + function observe(value, asRootData) { + if (!isObject(value) || value instanceof VNode) { + return + } + var ob + if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + ob = value.__ob__ + } else if ( + shouldObserve && + !isServerRendering() && + (Array.isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value._isVue + ) { + ob = new Observer(value) + } + if (asRootData && ob) { + ob.vmCount++ + } + return ob + } + + /** + * Define a reactive property on an Object. + */ + function defineReactive$$1(obj, key, val, customSetter, shallow) { + var dep = new Dep() + + var property = Object.getOwnPropertyDescriptor(obj, key) + if (property && property.configurable === false) { + return + } + + // cater for pre-defined getter/setters + var getter = property && property.get + var setter = property && property.set + if ((!getter || setter) && arguments.length === 2) { + val = obj[key] + } + + var childOb = !shallow && observe(val) + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter() { + var value = getter ? getter.call(obj) : val + if (Dep.target) { + dep.depend() + if (childOb) { + childOb.dep.depend() + if (Array.isArray(value)) { + dependArray(value) + } + } + } + return value + }, + set: function reactiveSetter(newVal) { + var value = getter ? getter.call(obj) : val + /* eslint-disable no-self-compare */ + if (newVal === value || (newVal !== newVal && value !== value)) { + return + } + /* eslint-enable no-self-compare */ + if (customSetter) { + customSetter() + } + // #7981: for accessor properties without setter + if (getter && !setter) { + return + } + if (setter) { + setter.call(obj, newVal) + } else { + val = newVal + } + childOb = !shallow && observe(newVal) + dep.notify() + }, + }) + } + + /** + * Set a property on an object. Adds the new property and + * triggers change notification if the property doesn't + * already exist. + */ + function set(target, key, val) { + if (isUndef(target) || isPrimitive(target)) { + warn('Cannot set reactive property on undefined, null, or primitive value: ' + target) + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key) + target.splice(key, 1, val) + return val + } + if (key in target && !(key in Object.prototype)) { + target[key] = val + return val + } + var ob = target.__ob__ + if (target._isVue || (ob && ob.vmCount)) { + warn( + 'Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.' + ) + return val + } + if (!ob) { + target[key] = val + return val + } + defineReactive$$1(ob.value, key, val) + ob.dep.notify() + return val + } + + /** + * Delete a property and trigger change if necessary. + */ + function del(target, key) { + if (isUndef(target) || isPrimitive(target)) { + warn('Cannot delete reactive property on undefined, null, or primitive value: ' + target) + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1) + return + } + var ob = target.__ob__ + if (target._isVue || (ob && ob.vmCount)) { + warn( + 'Avoid deleting properties on a Vue instance or its root $data ' + '- just set it to null.' + ) + return + } + if (!hasOwn(target, key)) { + return + } + delete target[key] + if (!ob) { + return + } + ob.dep.notify() + } + + /** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ + function dependArray(value) { + for (var e = void 0, i = 0, l = value.length; i < l; i++) { + e = value[i] + e && e.__ob__ && e.__ob__.dep.depend() + if (Array.isArray(e)) { + dependArray(e) + } + } + } + + /* */ + + /** + * Option overwriting strategies are functions that handle + * how to merge a parent option value and a child option + * value into the final value. + */ + var strats = config.optionMergeStrategies + + /** + * Options with restrictions + */ + { + strats.el = strats.propsData = function(parent, child, vm, key) { + if (!vm) { + warn( + 'option "' + + key + + '" can only be used during instance ' + + 'creation with the `new` keyword.' + ) + } + return defaultStrat(parent, child) + } + } + + /** + * Helper that recursively merges two data objects together. + */ + function mergeData(to, from) { + if (!from) { + return to + } + var key, toVal, fromVal + + var keys = hasSymbol ? Reflect.ownKeys(from) : Object.keys(from) + + for (var i = 0; i < keys.length; i++) { + key = keys[i] + // in case the object is already observed... + if (key === '__ob__') { + continue + } + toVal = to[key] + fromVal = from[key] + if (!hasOwn(to, key)) { + set(to, key, fromVal) + } else if (toVal !== fromVal && isPlainObject(toVal) && isPlainObject(fromVal)) { + mergeData(toVal, fromVal) + } + } + return to + } + + /** + * Data + */ + function mergeDataOrFn(parentVal, childVal, vm) { + if (!vm) { + // in a Vue.extend merge, both should be functions + if (!childVal) { + return parentVal + } + if (!parentVal) { + return childVal + } + // when parentVal & childVal are both present, + // we need to return a function that returns the + // merged result of both functions... no need to + // check if parentVal is a function here because + // it has to be a function to pass previous merges. + return function mergedDataFn() { + return mergeData( + typeof childVal === 'function' ? childVal.call(this, this) : childVal, + typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal + ) + } + } else { + return function mergedInstanceDataFn() { + // instance merge + var instanceData = typeof childVal === 'function' ? childVal.call(vm, vm) : childVal + var defaultData = typeof parentVal === 'function' ? parentVal.call(vm, vm) : parentVal + if (instanceData) { + return mergeData(instanceData, defaultData) + } else { + return defaultData + } + } + } + } + + strats.data = function(parentVal, childVal, vm) { + if (!vm) { + if (childVal && typeof childVal !== 'function') { + warn( + 'The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', + vm + ) + + return parentVal + } + return mergeDataOrFn(parentVal, childVal) + } + + return mergeDataOrFn(parentVal, childVal, vm) + } + + /** + * Hooks and props are merged as arrays. + */ + function mergeHook(parentVal, childVal) { + var res = childVal + ? parentVal + ? parentVal.concat(childVal) + : Array.isArray(childVal) + ? childVal + : [childVal] + : parentVal + return res ? dedupeHooks(res) : res + } + + function dedupeHooks(hooks) { + var res = [] + for (var i = 0; i < hooks.length; i++) { + if (res.indexOf(hooks[i]) === -1) { + res.push(hooks[i]) + } + } + return res + } + + LIFECYCLE_HOOKS.forEach(function(hook) { + strats[hook] = mergeHook + }) + + /** + * Assets + * + * When a vm is present (instance creation), we need to do + * a three-way merge between constructor options, instance + * options and parent options. + */ + function mergeAssets(parentVal, childVal, vm, key) { + var res = Object.create(parentVal || null) + if (childVal) { + assertObjectType(key, childVal, vm) + return extend(res, childVal) + } else { + return res + } + } + + ASSET_TYPES.forEach(function(type) { + strats[type + 's'] = mergeAssets + }) + + /** + * Watchers. + * + * Watchers hashes should not overwrite one + * another, so we merge them as arrays. + */ + strats.watch = function(parentVal, childVal, vm, key) { + // work around Firefox's Object.prototype.watch... + if (parentVal === nativeWatch) { + parentVal = undefined + } + if (childVal === nativeWatch) { + childVal = undefined + } + /* istanbul ignore if */ + if (!childVal) { + return Object.create(parentVal || null) + } + { + assertObjectType(key, childVal, vm) + } + if (!parentVal) { + return childVal + } + var ret = {} + extend(ret, parentVal) + for (var key$1 in childVal) { + var parent = ret[key$1] + var child = childVal[key$1] + if (parent && !Array.isArray(parent)) { + parent = [parent] + } + ret[key$1] = parent ? parent.concat(child) : Array.isArray(child) ? child : [child] + } + return ret + } + + /** + * Other object hashes. + */ + strats.props = strats.methods = strats.inject = strats.computed = function( + parentVal, + childVal, + vm, + key + ) { + if (childVal && 'development' !== 'production') { + assertObjectType(key, childVal, vm) + } + if (!parentVal) { + return childVal + } + var ret = Object.create(null) + extend(ret, parentVal) + if (childVal) { + extend(ret, childVal) + } + return ret + } + strats.provide = mergeDataOrFn + + /** + * Default strategy. + */ + var defaultStrat = function(parentVal, childVal) { + return childVal === undefined ? parentVal : childVal + } + + /** + * Validate component names + */ + function checkComponents(options) { + for (var key in options.components) { + validateComponentName(key) + } + } + + function validateComponentName(name) { + if (!new RegExp('^[a-zA-Z][\\-\\.0-9_' + unicodeRegExp.source + ']*$').test(name)) { + warn( + 'Invalid component name: "' + + name + + '". Component names ' + + 'should conform to valid custom element name in html5 specification.' + ) + } + if (isBuiltInTag(name) || config.isReservedTag(name)) { + warn('Do not use built-in or reserved HTML elements as component ' + 'id: ' + name) + } + } + + /** + * Ensure all props option syntax are normalized into the + * Object-based format. + */ + function normalizeProps(options, vm) { + var props = options.props + if (!props) { + return + } + var res = {} + var i, val, name + if (Array.isArray(props)) { + i = props.length + while (i--) { + val = props[i] + if (typeof val === 'string') { + name = camelize(val) + res[name] = { type: null } + } else { + warn('props must be strings when using array syntax.') + } + } + } else if (isPlainObject(props)) { + for (var key in props) { + val = props[key] + name = camelize(key) + res[name] = isPlainObject(val) ? val : { type: val } + } + } else { + warn( + 'Invalid value for option "props": expected an Array or an Object, ' + + 'but got ' + + toRawType(props) + + '.', + vm + ) + } + options.props = res + } + + /** + * Normalize all injections into Object-based format + */ + function normalizeInject(options, vm) { + var inject = options.inject + if (!inject) { + return + } + var normalized = (options.inject = {}) + if (Array.isArray(inject)) { + for (var i = 0; i < inject.length; i++) { + normalized[inject[i]] = { from: inject[i] } + } + } else if (isPlainObject(inject)) { + for (var key in inject) { + var val = inject[key] + normalized[key] = isPlainObject(val) ? extend({ from: key }, val) : { from: val } + } + } else { + warn( + 'Invalid value for option "inject": expected an Array or an Object, ' + + 'but got ' + + toRawType(inject) + + '.', + vm + ) + } + } + + /** + * Normalize raw function directives into object format. + */ + function normalizeDirectives(options) { + var dirs = options.directives + if (dirs) { + for (var key in dirs) { + var def$$1 = dirs[key] + if (typeof def$$1 === 'function') { + dirs[key] = { bind: def$$1, update: def$$1 } + } + } + } + } + + function assertObjectType(name, value, vm) { + if (!isPlainObject(value)) { + warn( + 'Invalid value for option "' + + name + + '": expected an Object, ' + + 'but got ' + + toRawType(value) + + '.', + vm + ) + } + } + + /** + * Merge two option objects into a new one. + * Core utility used in both instantiation and inheritance. + */ + function mergeOptions(parent, child, vm) { + { + checkComponents(child) + } + + if (typeof child === 'function') { + child = child.options + } + + normalizeProps(child, vm) + normalizeInject(child, vm) + normalizeDirectives(child) + + // Apply extends and mixins on the child options, + // but only if it is a raw options object that isn't + // the result of another mergeOptions call. + // Only merged options has the _base property. + if (!child._base) { + if (child.extends) { + parent = mergeOptions(parent, child.extends, vm) + } + if (child.mixins) { + for (var i = 0, l = child.mixins.length; i < l; i++) { + parent = mergeOptions(parent, child.mixins[i], vm) + } + } + } + + var options = {} + var key + for (key in parent) { + mergeField(key) + } + for (key in child) { + if (!hasOwn(parent, key)) { + mergeField(key) + } + } + function mergeField(key) { + var strat = strats[key] || defaultStrat + options[key] = strat(parent[key], child[key], vm, key) + } + return options + } + + /** + * Resolve an asset. + * This function is used because child instances need access + * to assets defined in its ancestor chain. + */ + function resolveAsset(options, type, id, warnMissing) { + /* istanbul ignore if */ + if (typeof id !== 'string') { + return + } + var assets = options[type] + // check local registration variations first + if (hasOwn(assets, id)) { + return assets[id] + } + var camelizedId = camelize(id) + if (hasOwn(assets, camelizedId)) { + return assets[camelizedId] + } + var PascalCaseId = capitalize(camelizedId) + if (hasOwn(assets, PascalCaseId)) { + return assets[PascalCaseId] + } + // fallback to prototype chain + var res = assets[id] || assets[camelizedId] || assets[PascalCaseId] + if (warnMissing && !res) { + warn('Failed to resolve ' + type.slice(0, -1) + ': ' + id, options) + } + return res + } + + /* */ + + function validateProp(key, propOptions, propsData, vm) { + var prop = propOptions[key] + var absent = !hasOwn(propsData, key) + var value = propsData[key] + // boolean casting + var booleanIndex = getTypeIndex(Boolean, prop.type) + if (booleanIndex > -1) { + if (absent && !hasOwn(prop, 'default')) { + value = false + } else if (value === '' || value === hyphenate(key)) { + // only cast empty string / same name to boolean if + // boolean has higher priority + var stringIndex = getTypeIndex(String, prop.type) + if (stringIndex < 0 || booleanIndex < stringIndex) { + value = true + } + } + } + // check default value + if (value === undefined) { + value = getPropDefaultValue(vm, prop, key) + // since the default value is a fresh copy, + // make sure to observe it. + var prevShouldObserve = shouldObserve + toggleObserving(true) + observe(value) + toggleObserving(prevShouldObserve) + } + { + assertProp(prop, key, value, vm, absent) + } + return value + } + + /** + * Get the default value of a prop. + */ + function getPropDefaultValue(vm, prop, key) { + // no default, return undefined + if (!hasOwn(prop, 'default')) { + return undefined + } + var def = prop.default + // warn against non-factory defaults for Object & Array + if (isObject(def)) { + warn( + 'Invalid default value for prop "' + + key + + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', + vm + ) + } + // the raw prop value was also undefined from previous render, + // return previous default value to avoid unnecessary watcher trigger + if ( + vm && + vm.$options.propsData && + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined + ) { + return vm._props[key] + } + // call factory function for non-Function types + // a value is Function if its prototype is function even across different execution context + return typeof def === 'function' && getType(prop.type) !== 'Function' ? def.call(vm) : def + } + + /** + * Assert whether a prop is valid. + */ + function assertProp(prop, name, value, vm, absent) { + if (prop.required && absent) { + warn('Missing required prop: "' + name + '"', vm) + return + } + if (value == null && !prop.required) { + return + } + var type = prop.type + var valid = !type || type === true + var expectedTypes = [] + if (type) { + if (!Array.isArray(type)) { + type = [type] + } + for (var i = 0; i < type.length && !valid; i++) { + var assertedType = assertType(value, type[i]) + expectedTypes.push(assertedType.expectedType || '') + valid = assertedType.valid + } + } + + if (!valid) { + warn(getInvalidTypeMessage(name, value, expectedTypes), vm) + return + } + var validator = prop.validator + if (validator) { + if (!validator(value)) { + warn('Invalid prop: custom validator check failed for prop "' + name + '".', vm) + } + } + } + + var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/ + + function assertType(value, type) { + var valid + var expectedType = getType(type) + if (simpleCheckRE.test(expectedType)) { + var t = typeof value + valid = t === expectedType.toLowerCase() + // for primitive wrapper objects + if (!valid && t === 'object') { + valid = value instanceof type + } + } else if (expectedType === 'Object') { + valid = isPlainObject(value) + } else if (expectedType === 'Array') { + valid = Array.isArray(value) + } else { + valid = value instanceof type + } + return { + valid: valid, + expectedType: expectedType, + } + } + + /** + * Use function string name to check built-in types, + * because a simple equality check will fail when running + * across different vms / iframes. + */ + function getType(fn) { + var match = fn && fn.toString().match(/^\s*function (\w+)/) + return match ? match[1] : '' + } + + function isSameType(a, b) { + return getType(a) === getType(b) + } + + function getTypeIndex(type, expectedTypes) { + if (!Array.isArray(expectedTypes)) { + return isSameType(expectedTypes, type) ? 0 : -1 + } + for (var i = 0, len = expectedTypes.length; i < len; i++) { + if (isSameType(expectedTypes[i], type)) { + return i + } + } + return -1 + } + + function getInvalidTypeMessage(name, value, expectedTypes) { + var message = + 'Invalid prop: type check failed for prop "' + + name + + '".' + + ' Expected ' + + expectedTypes.map(capitalize).join(', ') + var expectedType = expectedTypes[0] + var receivedType = toRawType(value) + var expectedValue = styleValue(value, expectedType) + var receivedValue = styleValue(value, receivedType) + // check if we need to specify expected value + if ( + expectedTypes.length === 1 && + isExplicable(expectedType) && + !isBoolean(expectedType, receivedType) + ) { + message += ' with value ' + expectedValue + } + message += ', got ' + receivedType + ' ' + // check if we need to specify received value + if (isExplicable(receivedType)) { + message += 'with value ' + receivedValue + '.' + } + return message + } + + function styleValue(value, type) { + if (type === 'String') { + return '"' + value + '"' + } else if (type === 'Number') { + return '' + Number(value) + } else { + return '' + value + } + } + + function isExplicable(value) { + var explicitTypes = ['string', 'number', 'boolean'] + return explicitTypes.some(function(elem) { + return value.toLowerCase() === elem + }) + } + + function isBoolean() { + var args = [], + len = arguments.length + while (len--) args[len] = arguments[len] + + return args.some(function(elem) { + return elem.toLowerCase() === 'boolean' + }) + } + + /* */ + + function handleError(err, vm, info) { + // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. + // See: https://github.com/vuejs/vuex/issues/1505 + pushTarget() + try { + if (vm) { + var cur = vm + while ((cur = cur.$parent)) { + var hooks = cur.$options.errorCaptured + if (hooks) { + for (var i = 0; i < hooks.length; i++) { + try { + var capture = hooks[i].call(cur, err, vm, info) === false + if (capture) { + return + } + } catch (e) { + globalHandleError(e, cur, 'errorCaptured hook') + } + } + } + } + } + globalHandleError(err, vm, info) + } finally { + popTarget() + } + } + + function invokeWithErrorHandling(handler, context, args, vm, info) { + var res + try { + res = args ? handler.apply(context, args) : handler.call(context) + if (res && !res._isVue && isPromise(res) && !res._handled) { + res.catch(function(e) { + return handleError(e, vm, info + ' (Promise/async)') + }) + // issue #9511 + // avoid catch triggering multiple times when nested calls + res._handled = true + } + } catch (e) { + handleError(e, vm, info) + } + return res + } + + function globalHandleError(err, vm, info) { + if (config.errorHandler) { + try { + return config.errorHandler.call(null, err, vm, info) + } catch (e) { + // if the user intentionally throws the original error in the handler, + // do not log it twice + if (e !== err) { + logError(e, null, 'config.errorHandler') + } + } + } + logError(err, vm, info) + } + + function logError(err, vm, info) { + { + warn('Error in ' + info + ': "' + err.toString() + '"', vm) + } + /* istanbul ignore else */ + if ((inBrowser || inWeex) && typeof console !== 'undefined') { + console.error(err) + } else { + throw err + } + } + + /* */ + + var isUsingMicroTask = false + + var callbacks = [] + var pending = false + + function flushCallbacks() { + pending = false + var copies = callbacks.slice(0) + callbacks.length = 0 + for (var i = 0; i < copies.length; i++) { + copies[i]() + } + } + + // Here we have async deferring wrappers using microtasks. + // In 2.5 we used (macro) tasks (in combination with microtasks). + // However, it has subtle problems when state is changed right before repaint + // (e.g. #6813, out-in transitions). + // Also, using (macro) tasks in event handler would cause some weird behaviors + // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). + // So we now use microtasks everywhere, again. + // A major drawback of this tradeoff is that there are some scenarios + // where microtasks have too high a priority and fire in between supposedly + // sequential events (e.g. #4521, #6690, which have workarounds) + // or even between bubbling of the same event (#6566). + var timerFunc + + // The nextTick behavior leverages the microtask queue, which can be accessed + // via either native Promise.then or MutationObserver. + // MutationObserver has wider support, however it is seriously bugged in + // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It + // completely stops working after triggering a few times... so, if native + // Promise is available, we will use it: + /* istanbul ignore next, $flow-disable-line */ + if (typeof Promise !== 'undefined' && isNative(Promise)) { + var p = Promise.resolve() + timerFunc = function() { + p.then(flushCallbacks) + // In problematic UIWebViews, Promise.then doesn't completely break, but + // it can get stuck in a weird state where callbacks are pushed into the + // microtask queue but the queue isn't being flushed, until the browser + // needs to do some other work, e.g. handle a timer. Therefore we can + // "force" the microtask queue to be flushed by adding an empty timer. + if (isIOS) { + setTimeout(noop) + } + } + isUsingMicroTask = true + } else if ( + !isIE && + typeof MutationObserver !== 'undefined' && + (isNative(MutationObserver) || + // PhantomJS and iOS 7.x + MutationObserver.toString() === '[object MutationObserverConstructor]') + ) { + // Use MutationObserver where native Promise is not available, + // e.g. PhantomJS, iOS7, Android 4.4 + // (#6466 MutationObserver is unreliable in IE11) + var counter = 1 + var observer = new MutationObserver(flushCallbacks) + var textNode = document.createTextNode(String(counter)) + observer.observe(textNode, { + characterData: true, + }) + timerFunc = function() { + counter = (counter + 1) % 2 + textNode.data = String(counter) + } + isUsingMicroTask = true + } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { + // Fallback to setImmediate. + // Techinically it leverages the (macro) task queue, + // but it is still a better choice than setTimeout. + timerFunc = function() { + setImmediate(flushCallbacks) + } + } else { + // Fallback to setTimeout. + timerFunc = function() { + setTimeout(flushCallbacks, 0) + } + } + + function nextTick(cb, ctx) { + var _resolve + callbacks.push(function() { + if (cb) { + try { + cb.call(ctx) + } catch (e) { + handleError(e, ctx, 'nextTick') + } + } else if (_resolve) { + _resolve(ctx) + } + }) + if (!pending) { + pending = true + timerFunc() + } + // $flow-disable-line + if (!cb && typeof Promise !== 'undefined') { + return new Promise(function(resolve) { + _resolve = resolve + }) + } + } + + /* */ + + /* not type checking this file because flow doesn't play well with Proxy */ + + var initProxy + + { + var allowedGlobals = makeMap( + 'Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + + 'require' // for Webpack/Browserify + ) + + var warnNonPresent = function(target, key) { + warn( + 'Property or method "' + + key + + '" is not defined on the instance but ' + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', + target + ) + } + + var warnReservedPrefix = function(target, key) { + warn( + 'Property "' + + key + + '" must be accessed with "$data.' + + key + + '" because ' + + 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + + 'prevent conflicts with Vue internals' + + 'See: https://vuejs.org/v2/api/#data', + target + ) + } + + var hasProxy = typeof Proxy !== 'undefined' && isNative(Proxy) + + if (hasProxy) { + var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact') + config.keyCodes = new Proxy(config.keyCodes, { + set: function set(target, key, value) { + if (isBuiltInModifier(key)) { + warn('Avoid overwriting built-in modifier in config.keyCodes: .' + key) + return false + } else { + target[key] = value + return true + } + }, + }) + } + + var hasHandler = { + has: function has(target, key) { + var has = key in target + var isAllowed = + allowedGlobals(key) || + (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)) + if (!has && !isAllowed) { + if (key in target.$data) { + warnReservedPrefix(target, key) + } else { + warnNonPresent(target, key) + } + } + return has || !isAllowed + }, + } + + var getHandler = { + get: function get(target, key) { + if (typeof key === 'string' && !(key in target)) { + if (key in target.$data) { + warnReservedPrefix(target, key) + } else { + warnNonPresent(target, key) + } + } + return target[key] + }, + } + + initProxy = function initProxy(vm) { + if (hasProxy) { + // determine which proxy handler to use + var options = vm.$options + var handlers = options.render && options.render._withStripped ? getHandler : hasHandler + vm._renderProxy = new Proxy(vm, handlers) + } else { + vm._renderProxy = vm + } + } + } + + /* */ + + var seenObjects = new _Set() + + /** + * Recursively traverse an object to evoke all converted + * getters, so that every nested property inside the object + * is collected as a "deep" dependency. + */ + function traverse(val) { + _traverse(val, seenObjects) + seenObjects.clear() + } + + function _traverse(val, seen) { + var i, keys + var isA = Array.isArray(val) + if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { + return + } + if (val.__ob__) { + var depId = val.__ob__.dep.id + if (seen.has(depId)) { + return + } + seen.add(depId) + } + if (isA) { + i = val.length + while (i--) { + _traverse(val[i], seen) + } + } else { + keys = Object.keys(val) + i = keys.length + while (i--) { + _traverse(val[keys[i]], seen) + } + } + } + + var mark + var measure + + { + var perf = inBrowser && window.performance + /* istanbul ignore if */ + if (perf && perf.mark && perf.measure && perf.clearMarks && perf.clearMeasures) { + mark = function(tag) { + return perf.mark(tag) + } + measure = function(name, startTag, endTag) { + perf.measure(name, startTag, endTag) + perf.clearMarks(startTag) + perf.clearMarks(endTag) + // perf.clearMeasures(name) + } + } + } + + /* */ + + var normalizeEvent = cached(function(name) { + var passive = name.charAt(0) === '&' + name = passive ? name.slice(1) : name + var once$$1 = name.charAt(0) === '~' // Prefixed last, checked first + name = once$$1 ? name.slice(1) : name + var capture = name.charAt(0) === '!' + name = capture ? name.slice(1) : name + return { + name: name, + once: once$$1, + capture: capture, + passive: passive, + } + }) + + function createFnInvoker(fns, vm) { + function invoker() { + var arguments$1 = arguments + + var fns = invoker.fns + if (Array.isArray(fns)) { + var cloned = fns.slice() + for (var i = 0; i < cloned.length; i++) { + invokeWithErrorHandling(cloned[i], null, arguments$1, vm, 'v-on handler') + } + } else { + // return handler return value for single handlers + return invokeWithErrorHandling(fns, null, arguments, vm, 'v-on handler') + } + } + invoker.fns = fns + return invoker + } + + function updateListeners(on, oldOn, add, remove$$1, createOnceHandler, vm) { + var name, def$$1, cur, old, event + for (name in on) { + def$$1 = cur = on[name] + old = oldOn[name] + event = normalizeEvent(name) + if (isUndef(cur)) { + warn('Invalid handler for event "' + event.name + '": got ' + String(cur), vm) + } else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur, vm) + } + if (isTrue(event.once)) { + cur = on[name] = createOnceHandler(event.name, cur, event.capture) + } + add(event.name, cur, event.capture, event.passive, event.params) + } else if (cur !== old) { + old.fns = cur + on[name] = old + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name) + remove$$1(event.name, oldOn[name], event.capture) + } + } + } + + /* */ + + function mergeVNodeHook(def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}) + } + var invoker + var oldHook = def[hookKey] + + function wrappedHook() { + hook.apply(this, arguments) + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove(invoker.fns, wrappedHook) + } + + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]) + } else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook + invoker.fns.push(wrappedHook) + } else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]) + } + } + + invoker.merged = true + def[hookKey] = invoker + } + + /* */ + + function extractPropsFromVNodeData(data, Ctor, tag) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props + if (isUndef(propOptions)) { + return + } + var res = {} + var attrs = data.attrs + var props = data.props + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key) + { + var keyInLowerCase = key.toLowerCase() + if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) { + tip( + 'Prop "' + + keyInLowerCase + + '" is passed to component ' + + formatComponentName(tag || Ctor) + + ', but the declared prop name is' + + ' "' + + key + + '". ' + + 'Note that HTML attributes are case-insensitive and camelCased ' + + 'props need to use their kebab-case equivalents when using in-DOM ' + + 'templates. You should probably use "' + + altKey + + '" instead of "' + + key + + '".' + ) + } + } + checkProp(res, props, key, altKey, true) || checkProp(res, attrs, key, altKey, false) + } + } + return res + } + + function checkProp(res, hash, key, altKey, preserve) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key] + if (!preserve) { + delete hash[key] + } + return true + } else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey] + if (!preserve) { + delete hash[altKey] + } + return true + } + } + return false + } + + /* */ + + // The template compiler attempts to minimize the need for normalization by + // statically analyzing the template at compile time. + // + // For plain HTML markup, normalization can be completely skipped because the + // generated render function is guaranteed to return Array. There are + // two cases where extra normalization is needed: + + // 1. When the children contains components - because a functional component + // may return an Array instead of a single root. In this case, just a simple + // normalization is needed - if any child is an Array, we flatten the whole + // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep + // because functional components already normalize their own children. + function simpleNormalizeChildren(children) { + for (var i = 0; i < children.length; i++) { + if (Array.isArray(children[i])) { + return Array.prototype.concat.apply([], children) + } + } + return children + } + + // 2. When the children contains constructs that always generated nested Arrays, + // e.g.