Repository: bailicangdu/vue2-happyfri
Branch: master
Commit: ac17b45a11b5
Files: 33
Total size: 181.9 KB
Directory structure:
gitextract_a96nk0vq/
├── .babelrc
├── .editorconfig
├── .gitignore
├── LICENSE
├── README.md
├── build/
│ ├── build.js
│ ├── dev-client.js
│ ├── dev-server.js
│ ├── utils.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
├── config/
│ └── index.js
├── happyfri/
│ ├── index.html
│ └── static/
│ ├── css/
│ │ └── app.css
│ └── js/
│ ├── app.js
│ ├── manifest.js
│ └── vendor.js
├── index.html
├── package.json
└── src/
├── App.vue
├── components/
│ └── itemcontainer.vue
├── config/
│ ├── ajax.js
│ └── rem.js
├── main.js
├── page/
│ ├── home/
│ │ └── index.vue
│ ├── item/
│ │ └── index.vue
│ └── score/
│ └── index.vue
├── router/
│ └── router.js
├── store/
│ ├── action.js
│ ├── index.js
│ └── mutations.js
└── style/
└── common.less
================================================
FILE CONTENTS
================================================
================================================
FILE: .babelrc
================================================
{
"presets": ["es2015", "stage-2"],
"plugins": ["transform-runtime"],
"comments": false
}
================================================
FILE: .editorconfig
================================================
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
================================================
FILE: .gitignore
================================================
.DS_Store
node_modules/
dist/
npm-debug.log
package-lock.json
.idea
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2017 cangdu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# 说明
> 非常简单的一个vue2 + vuex的项目,整个流程一目了然,麻雀虽小,五脏俱全,适合作为入门练习。
> 如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢! ^_^
> 或者您可以 "follow" 一下,我会不断开源更多的有趣的项目
> 如有问题请直接在 Issues 中提,或者您发现问题并有非常好的解决方案,欢迎 PR 👍
> 开发环境 macOS 10.12.3 Chrome 56 nodejs 6.10.0
> 这个项目主要用于 vue2 + vuex 的入门练习,另外推荐一个 vue2 比较复杂的大型项目,覆盖了vuejs大部分的知识点。目前项目已经完成。[地址在这里](https://github.com/bailicangdu/vue2-elm)
## 项目运行(nodejs 6.0+)
``` bash
# 克隆到本地
git clone https://github.com/bailicangdu/vue2-happyfri.git
# 进入文件夹
cd vue2-happyfri
# 安装依赖
npm install 或 yarn(推荐)
# 开启本地服务器localhost:8088
npm run dev
# 发布环境
npm run build
```
# 效果演示
[demo地址](https://cangdu.org/happyfri/)(请用chrome手机模式预览)
### 移动端扫描下方二维码
## 路由配置
```js
import App from '../App'
export default [{
path: '/',
component: App,
children: [{
path: '',
component: r => require.ensure([], () => r(require('../page/home')), 'home')
}, {
path: '/item',
component: r => require.ensure([], () => r(require('../page/item')), 'item')
}, {
path: '/score',
component: r => require.ensure([], () => r(require('../page/score')), 'score')
}]
}]
```
## 配置actions
```js
import ajax from '../config/ajax'
export default {
addNum({ commit, state }, id) {
//点击下一题,记录答案id,判断是否是最后一题,如果不是则跳转下一题
commit('REMBER_ANSWER', id);
if (state.itemNum < state.itemDetail.length) {
commit('ADD_ITEMNUM', 1);
}
},
//初始化信息
initializeData({ commit }) {
commit('INITIALIZE_DATA');
}
}
```
## mutations
```js
const ADD_ITEMNUM = 'ADD_ITEMNUM'
const REMBER_ANSWER = 'REMBER_ANSWER'
const REMBER_TIME = 'REMBER_TIME'
const INITIALIZE_DATA = 'INITIALIZE_DATA'
export default {
//点击进入下一题
[ADD_ITEMNUM](state, payload) {
state.itemNum += payload.num;
},
//记录答案
[REMBER_ANSWER](state, payload) {
state.answerid[state.itemNum] = payload.id;
},
/*
记录做题时间
*/
[REMBER_TIME](state) {
state.timer = setInterval(() => {
state.allTime++;
}, 1000)
},
/*
初始化信息,
*/
[INITIALIZE_DATA](state) {
state.itemNum = 1;
state.allTime = 0;
},
}
```
## 创建store
```js
import Vue from 'vue'
import Vuex from 'vuex'
import mutations from './mutations'
import actions from './action'
Vue.use(Vuex)
const state = {
level: '第一周',
itemNum: 1,
allTime: 0,
timer: '',
itemDetail: [],
answerid: {}
}
export default new Vuex.Store({
state,
actions,
mutations
})
```
## 创建vue实例
```js
import Vue from 'vue'
import VueRouter from 'vue-router'
import routes from './router/router'
import store from './store/'
Vue.use(VueRouter)
const router = new VueRouter({
routes
})
new Vue({
router,
store,
}).$mount('#app')
```
================================================
FILE: build/build.js
================================================
// https://github.com/shelljs/shelljs
require('shelljs/global')
env.NODE_ENV = 'production'
var path = require('path')
var config = require('../config')
var ora = require('ora')
var webpack = require('webpack')
var webpackConfig = require('./webpack.prod.conf')
var spinner = ora('building for production...')
spinner.start()
var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory)
rm('-rf', assetsPath)
mkdir('-p', assetsPath)
cp('-R', 'static/*', assetsPath)
webpack(webpackConfig, function(err, stats) {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false,
chunks: false,
chunkModules: false
}) + '\n')
})
================================================
FILE: build/dev-client.js
================================================
/* eslint-disable */
require('eventsource-polyfill')
var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
hotClient.subscribe(function(event) {
if (event.action === 'reload') {
window.location.reload()
console.log(111111111111111)
}
})
================================================
FILE: build/dev-server.js
================================================
var config = require('../config')
if (!process.env.NODE_ENV) process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV)
var path = require('path')
var express = require('express')
var webpack = require('webpack')
var opn = require('opn')
var proxyMiddleware = require('http-proxy-middleware')
var webpackConfig = require('./webpack.dev.conf')
// default port where dev server listens for incoming traffic
var port = process.env.PORT || config.dev.port
// Define HTTP proxies to your custom API backend
// https://github.com/chimurai/http-proxy-middleware
var server = express()
var compiler = webpack(webpackConfig)
var devMiddleware = require('webpack-dev-middleware')(compiler, {
publicPath: webpackConfig.output.publicPath,
stats: {
colors: true,
chunks: false
}
})
var hotMiddleware = require('webpack-hot-middleware')(compiler)
// force page reload when html-webpack-plugin template changes
compiler.plugin('compilation', function(compilation) {
compilation.plugin('html-webpack-plugin-after-emit', function(data, cb) {
hotMiddleware.publish({
action: 'reload'
})
cb()
})
})
var context = config.dev.context
var proxypath = config.dev.proxypath
var options = {
target: proxypath,
changeOrigin: true,
}
if (context.length) {
server.use(proxyMiddleware(context, options))
}
// server.use(proxyMiddleware('/*/*', {
// target: 'https://mainsite-restapi.ele.me',
// changeOrigin: true,
// secure: false,
// }))
// handle fallback for HTML5 history API
server.use(require('connect-history-api-fallback')())
// serve webpack bundle output
server.use(devMiddleware)
// enable hot-reload and state-preserving
// compilation error display
server.use(hotMiddleware)
// serve pure static assets
var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory)
server.use(staticPath, express.static('./static'))
module.exports = server.listen(port, function(err) {
if (err) {
console.log(err)
return
}
var uri = 'http://localhost:' + port
console.log('Listening at ' + uri + '\n')
// when env is testing, don't need open it
if (process.env.NODE_ENV !== 'testing') {
//opn(uri)
}
})
================================================
FILE: build/utils.js
================================================
var path = require('path')
var config = require('../config')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
exports.assetsPath = function(_path) {
var assetsSubDirectory = process.env.NODE_ENV === 'production' ? config.build.assetsSubDirectory : config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function(options) {
options = options || {}
// generate loader string to be used with extract text plugin
function generateLoaders(loaders) {
var sourceLoader = loaders.map(function(loader) {
var extraParamChar
if (/\?/.test(loader)) {
loader = loader.replace(/\?/, '-loader?')
extraParamChar = '&'
} else {
loader = loader + '-loader'
extraParamChar = '?'
}
return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '')
}).join('!')
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract('vue-style-loader', sourceLoader)
} else {
return ['vue-style-loader', sourceLoader].join('!')
}
}
// http://vuejs.github.io/vue-loader/en/configurations/extract-css.html
return {
css: generateLoaders(['css']),
postcss: generateLoaders(['css']),
less: generateLoaders(['css', 'less']),
sass: generateLoaders(['css', 'sass?indentedSyntax']),
scss: generateLoaders(['css', 'sass']),
stylus: generateLoaders(['css', 'stylus']),
styl: generateLoaders(['css', 'stylus'])
}
}
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function(options) {
var output = []
var loaders = exports.cssLoaders(options)
for (var extension in loaders) {
var loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
loader: loader
})
}
return output
}
================================================
FILE: build/webpack.base.conf.js
================================================
var path = require('path')
var config = require('../config')
var utils = require('./utils')
var projectRoot = path.resolve(__dirname, '../')
var env = process.env.NODE_ENV
// check env & config/index.js to decide weither to enable CSS Sourcemaps for the
// various preprocessor loaders added to vue-loader at the end of this file
var cssSourceMapDev = (env === 'development' && config.dev.cssSourceMap)
var cssSourceMapProd = (env === 'production' && config.build.productionSourceMap)
var useCssSourceMap = cssSourceMapDev || cssSourceMapProd
module.exports = {
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
filename: '[name].js'
},
resolve: {
extensions: ['', '.js', '.vue', '.less', '.css', '.scss'],
fallback: [path.join(__dirname, '../node_modules')],
alias: {
'vue$': 'vue/dist/vue.common.js',
'src': path.resolve(__dirname, '../src'),
'assets': path.resolve(__dirname, '../src/assets'),
'components': path.resolve(__dirname, '../src/components')
}
},
resolveLoader: {
fallback: [path.join(__dirname, '../node_modules')]
},
module: {
loaders: [{
test: /\.vue$/,
loader: 'vue'
}, {
test: /\.js$/,
loader: 'babel',
include: projectRoot,
exclude: /node_modules/
}, {
test: /\.json$/,
loader: 'json'
}, {
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'file',
query: {
limit: 10000,
name: utils.assetsPath('img/[name].[ext]')
}
}, {
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url',
query: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
}]
},
vue: {
loaders: utils.cssLoaders({
sourceMap: useCssSourceMap
}),
postcss: [
require('autoprefixer')({
browsers: ['last 10 versions']
})
]
}
}
================================================
FILE: build/webpack.dev.conf.js
================================================
var config = require('../config')
var webpack = require('webpack')
var merge = require('webpack-merge')
var utils = require('./utils')
var baseWebpackConfig = require('./webpack.base.conf')
var HtmlWebpackPlugin = require('html-webpack-plugin')
// add hot-reload related code to entry chunks
Object.keys(baseWebpackConfig.entry).forEach(function(name) {
baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name])
})
module.exports = merge(baseWebpackConfig, {
module: {
loaders: utils.styleLoaders({
sourceMap: config.dev.cssSourceMap
})
},
// eval-source-map is faster for development
devtool: '#eval-source-map',
plugins: [
new webpack.DefinePlugin({
'process.env': config.dev.env
}),
// https://github.com/glenjamin/webpack-hot-middleware#installation--usage
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
})
]
})
================================================
FILE: build/webpack.prod.conf.js
================================================
var path = require('path')
var config = require('../config')
var utils = require('./utils')
var webpack = require('webpack')
var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var env = config.build.env
var webpackConfig = merge(baseWebpackConfig, {
module: {
loaders: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true
})
},
//devtool: config.build.productionSourceMap ? '#source-map' : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].js'),
chunkFilename: utils.assetsPath('js/[name].[chunkhash].min.js')
},
vue: {
loaders: utils.cssLoaders({
sourceMap: config.build.productionSourceMap,
extract: true
})
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new webpack.optimize.OccurrenceOrderPlugin(),
// extract css into its own file
new ExtractTextPlugin(utils.assetsPath('css/[name].css')),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: config.build.index,
template: 'index.html',
inject: true,
// minify: {
// removeComments: true,
// collapseWhitespace: true,
// removeAttributeQuotes: true
// // more options:
// // https://github.com/kangax/html-minifier#options-quick-reference
// },
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function(module, count) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
chunks: ['vendor']
})
]
})
if (config.build.productionGzip) {
var CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
module.exports = webpackConfig
================================================
FILE: config/index.js
================================================
// see http://vuejs-templates.github.io/webpack for documentation.
var path = require('path')
module.exports = {
build: {
env: {NODE_ENV: '"production"'},
index: path.resolve(__dirname, '../happyfri/index.html'),
assetsRoot: path.resolve(__dirname, '../happyfri'),
assetsSubDirectory: 'static',
assetsPublicPath: '/happyfri/',
productionSourceMap: true,
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css']
},
dev: {
env: {NODE_ENV: '"development"'},
port: 8088,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
context: [ //代理路径
],
proxypath: 'https://mainsite-restapi.ele.me',
// CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected,
// just be aware of this issue when enabling this option.
cssSourceMap: false
}
}
================================================
FILE: happyfri/index.html
================================================
快乐星期五
================================================
FILE: happyfri/static/css/app.css
================================================
a,article,aside,b,body,button,dd,div,dl,dt,footer,h1,h2,h3,h4,h5,header,i,input,li,nav,p,section,select,span,textarea,ul{padding:0;margin:0;list-style:none;font-style:normal;text-decoration:none;border:none;color:#313131;box-sizing:border-box;font-weight:lighter;font-family:Microsoft YaHei;-webkit-tap-highlight-color:transparent}a:focus,article:focus,aside:focus,b:focus,body:focus,button:focus,dd:focus,div:focus,dl:focus,dt:focus,footer:focus,h1:focus,h2:focus,h3:focus,h4:focus,h5:focus,header:focus,i:focus,input:focus,li:focus,nav:focus,p:focus,section:focus,select:focus,span:focus,textarea:focus,ul:focus{outline:none}body,html{height:100%;width:100%}body{background:url(/happyfri/static/img/1-1.jpg) no-repeat;background-size:100% 100%}.clear:after{content:"";display:block;clear:both}.clear{zoom:1}.back_img{background-repeat:no-repeat;background-size:100% 100%}.margin{margin:0 auto}.left{float:left}.right{float:right}.hide{display:none}.show{display:block}
================================================
FILE: happyfri/static/js/app.js
================================================
webpackJsonp([5,3],{0:function(e,t,i){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var a=i(69),_=n(a),r=i(148),d=n(r),s=i(75),c=n(s),o=i(77),u=n(o),p=i(29);n(p);i(129),i(74),_.default.use(d.default);var l=new d.default({routes:c.default});new _.default({router:l,store:u.default}).$mount("#app")},29:function(e,t,i){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=i(86),_=n(a),r=i(79),d=n(r),s=i(81),c=n(s),o=i(82),u=n(o);t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"GET",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return new u.default(function(a,r){e=e.toUpperCase();var s=void 0;if(s=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject,"GET"==e){var o="";(0,c.default)(i).forEach(function(e){o+=e+"="+i[e]+"&"}),o=o.substr(0,o.lastIndexOf("&")),t=t+"?"+o,s.open(e,t,n),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),s.send()}else"POST"==e?(s.open(e,t,n),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),s.send((0,d.default)(i))):r("error type");s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status){var e=s.response;"object"!==("undefined"==typeof e?"undefined":(0,_.default)(e))&&(e=JSON.parse(e)),a(e)}else r(s)}})}},70:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={}},74:function(e,t){"use strict";!function(e,t){var i=e.documentElement,n="orientationchange"in window?"orientationchange":"resize",a=function(){var e=i.clientWidth;e&&(i.style.fontSize=20*(e/320)+"px")};e.addEventListener&&(t.addEventListener(n,a,!1),e.addEventListener("DOMContentLoaded",a,!1))}(document,window)},75:function(e,t,i){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=i(140),_=n(a);t.default=[{path:"/",component:_.default,children:[{path:"",component:function(e){return i.e(1,function(){return e(i(141))})}},{path:"/item",component:function(e){return i.e(0,function(){return e(i(142))})}},{path:"/score",component:function(e){return i.e(2,function(){return e(i(143))})}}]}]},76:function(e,t,i){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=i(29);n(a);t.default={addNum:function(e,t){var i=e.commit,n=e.state;i("REMBER_ANSWER",t),n.itemNum=0&&y.splice(e,1)}function s(t){var e=document.createElement("style");return e.type="text/css",i(t,e),e}function u(t,e){var n,r,o;if(e.singleton){var i=m++;n=v||(v=s(e)),r=c.bind(null,n,i,!1),o=c.bind(null,n,i,!0)}else n=s(e),r=f.bind(null,n),o=function(){a(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}function c(t,e,n,r){var o=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=g(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function f(t,e){var n=e.css,r=e.media,o=e.sourceMap;if(r&&t.setAttribute("media",r),o&&(n+="\n/*# sourceURL="+o.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var l={},p=function(t){var e;return function(){return"undefined"==typeof e&&(e=t.apply(this,arguments)),e}},d=p(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),h=p(function(){return document.head||document.getElementsByTagName("head")[0]}),v=null,m=0,y=[];t.exports=function(t,e){e=e||{},"undefined"==typeof e.singleton&&(e.singleton=d()),"undefined"==typeof e.insertAt&&(e.insertAt="bottom");var n=o(t);return r(n,e),function(t){for(var i=[],a=0;a=2){var r=t.config._lifecycleHooks.indexOf("init")>-1;t.mixin(r?{init:e}:{beforeCreate:e})}else{var o=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[e].concat(t.init):e,o.call(this,t)}}},x="undefined"!=typeof window&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,$=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"==typeof n?n():n)||{}},O={namespaced:{}};O.namespaced.get=function(){return!!this._rawModule.namespaced},$.prototype.addChild=function(t,e){this._children[t]=e},$.prototype.removeChild=function(t){delete this._children[t]},$.prototype.getChild=function(t){return this._children[t]},$.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},$.prototype.forEachChild=function(t){e(this._children,t)},$.prototype.forEachGetter=function(t){this._rawModule.getters&&e(this._rawModule.getters,t)},$.prototype.forEachAction=function(t){this._rawModule.actions&&e(this._rawModule.actions,t)},$.prototype.forEachMutation=function(t){this._rawModule.mutations&&e(this._rawModule.mutations,t)},Object.defineProperties($.prototype,O);var C=function(t){var n=this;this.root=new $(t,!1),t.modules&&e(t.modules,function(t,e){n.register([e],t,!1)})};C.prototype.get=function(t){return t.reduce(function(t,e){return t.getChild(e)},this.root)},C.prototype.getNamespace=function(t){var e=this.root;return t.reduce(function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")},"")},C.prototype.update=function(t){i(this.root,t)},C.prototype.register=function(t,n,r){var o=this;void 0===r&&(r=!0);var i=this.get(t.slice(0,-1)),a=new $(n,r);i.addChild(t[t.length-1],a),n.modules&&e(n.modules,function(e,n){o.register(t.concat(n),e,r)})},C.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];e.getChild(n).runtime&&e.removeChild(n)};var k,A=function(e){var n=this;void 0===e&&(e={}),o(k,"must call Vue.use(Vuex) before creating a store instance."),o("undefined"!=typeof Promise,"vuex requires a Promise polyfill in this browser.");var r=e.state;void 0===r&&(r={});var i=e.plugins;void 0===i&&(i=[]);var a=e.strict;void 0===a&&(a=!1),this._committing=!1,this._actions=Object.create(null),this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new C(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new k;var c=this,f=this,l=f.dispatch,p=f.commit;this.dispatch=function(t,e){return l.call(c,t,e)},this.commit=function(t,e,n){return p.call(c,t,e,n)},this.strict=a,u(this,r,[],this._modules.root),s(this,r),i.concat(t).forEach(function(t){return t(n)})},S={state:{}};S.state.get=function(){return this._vm._data.$$state},S.state.set=function(t){o(!1,"Use store.replaceState() to explicit replace store state.")},A.prototype.commit=function(t,e,n){var r=this,o=m(t,e,n),i=o.type,a=o.payload,s=o.options,u={type:i,payload:a},c=this._mutations[i];return c?(this._withCommit(function(){c.forEach(function(t){t(a)})}),this._subscribers.forEach(function(t){return t(u,r.state)}),void(s&&s.silent&&console.warn("[vuex] mutation type: "+i+". Silent option has been removed. Use the filter functionality in the vue-devtools"))):void console.error("[vuex] unknown mutation type: "+i)},A.prototype.dispatch=function(t,e){var n=m(t,e),r=n.type,o=n.payload,i=this._actions[r];return i?i.length>1?Promise.all(i.map(function(t){return t(o)})):i[0](o):void console.error("[vuex] unknown action type: "+r)},A.prototype.subscribe=function(t){var e=this._subscribers;return e.indexOf(t)<0&&e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}},A.prototype.watch=function(t,e,n){var r=this;return o("function"==typeof t,"store.watch only accepts a function."),this._watcherVM.$watch(function(){return t(r.state,r.getters)},e,n)},A.prototype.replaceState=function(t){var e=this;this._withCommit(function(){e._vm._data.$$state=t})},A.prototype.registerModule=function(t,e){"string"==typeof t&&(t=[t]),o(Array.isArray(t),"module path must be a string or an Array."),this._modules.register(t,e),u(this,this.state,t,this._modules.get(t)),s(this,this.state)},A.prototype.unregisterModule=function(t){var e=this;"string"==typeof t&&(t=[t]),o(Array.isArray(t),"module path must be a string or an Array."),this._modules.unregister(t),this._withCommit(function(){var n=v(e.state,t.slice(0,-1));k.delete(n,t[t.length-1])}),a(this)},A.prototype.hotUpdate=function(t){this._modules.update(t),a(this,!0)},A.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(A.prototype,S),"undefined"!=typeof window&&window.Vue&&y(window.Vue);var E=_(function(t,e){var n={};return g(e).forEach(function(e){var r=e.key,o=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=b(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"==typeof o?o.call(this,e,n):e[o]},n[r].vuex=!0}),n}),j=_(function(t,e){var n={};return g(e).forEach(function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];if(!t||b(this.$store,"mapMutations",t))return this.$store.commit.apply(this.$store,[o].concat(e))}}),n}),T=_(function(t,e){var n={};return g(e).forEach(function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){if(!t||b(this.$store,"mapGetters",t))return o in this.$store.getters?this.$store.getters[o]:void console.error("[vuex] unknown getter: "+o)},n[r].vuex=!0}),n}),M=_(function(t,e){var n={};return g(e).forEach(function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];if(!t||b(this.$store,"mapActions",t))return this.$store.dispatch.apply(this.$store,[o].concat(e))}}),n}),P={Store:A,install:y,version:"2.3.0",mapState:E,mapMutations:j,mapGetters:T,mapActions:M};return P})},,,,,,function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(15),o=n(3).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(14);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},,function(t,e,n){var r=n(40)("keys"),o=n(26);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(3),o="__core-js_shared__",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(15);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(3),o=n(1),i=n(21),a=n(44),s=n(5).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e,n){e.f=n(2)},,,,,,,,,,,,function(t,e,n){var r=n(14),o=n(2)("toStringTag"),i="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),o))?n:i?r(e):"Object"==(s=r(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e,n){t.exports=n(3).document&&document.documentElement},function(t,e,n){t.exports=!n(4)&&!n(8)(function(){return 7!=Object.defineProperty(n(35)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){"use strict";var r=n(21),o=n(7),i=n(63),a=n(10),s=n(9),u=n(16),c=n(102),f=n(24),l=n(111),p=n(2)("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",v="keys",m="values",y=function(){return this};t.exports=function(t,e,n,g,_,b,w){c(n,e,g);var x,$,O,C=function(t){if(!d&&t in E)return E[t];switch(t){case v:return function(){return new n(this,t)};case m:return function(){return new n(this,t)}}return function(){return new n(this,t)}},k=e+" Iterator",A=_==m,S=!1,E=t.prototype,j=E[p]||E[h]||_&&E[_],T=j||C(_),M=_?A?C("entries"):T:void 0,P="Array"==e?E.entries||j:j;if(P&&(O=l(P.call(new t)),O!==Object.prototype&&(f(O,k,!0),r||s(O,p)||a(O,p,y))),A&&j&&j.name!==m&&(S=!0,T=function(){return j.call(this)}),r&&!w||!d&&!S&&E[p]||a(E,p,T),u[e]=T,u[k]=y,_)if(x={values:A?T:C(m),keys:b?T:C(v),entries:M},w)for($ in x)$ in E||i(E,$,x[$]);else o(o.P+o.F*(d||S),e,x);return x}},function(t,e,n){var r=n(6),o=n(108),i=n(36),a=n(39)("IE_PROTO"),s=function(){},u="prototype",c=function(){var t,e=n(35)("iframe"),r=i.length,o="<",a=">";for(e.style.display="none",n(57).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(o+"script"+a+"document.F=Object"+o+"/script"+a),t.close(),c=t.F;r--;)delete c[u][i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[u]=r(t),n=new s,s[u]=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},function(t,e,n){var r=n(62),o=n(36).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){var r=n(9),o=n(12),i=n(95)(!1),a=n(39)("IE_PROTO");t.exports=function(t,e){var n,s=o(t),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);for(;e.length>u;)r(s,n=e[u++])&&(~i(c,n)||c.push(n));return c}},function(t,e,n){t.exports=n(10)},function(t,e,n){var r,o,i,a=n(20),s=n(98),u=n(57),c=n(35),f=n(3),l=f.process,p=f.setImmediate,d=f.clearImmediate,h=f.MessageChannel,v=0,m={},y="onreadystatechange",g=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},_=function(t){g.call(t.data)};p&&d||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return m[++v]=function(){s("function"==typeof t?t:Function(t),e)},r(v),v},d=function(t){delete m[t]},"process"==n(14)(l)?r=function(t){l.nextTick(a(g,t,1))}:h?(o=new h,i=o.port2,o.port1.onmessage=_,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",_,!1)):r=y in c("script")?function(t){u.appendChild(c("script"))[y]=function(){u.removeChild(this),g.call(t)}}:function(t){setTimeout(a(g,t,1),0)}),t.exports={set:p,clear:d}},function(t,e,n){var r=n(41),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e){},function(t,e,n){"use strict";var r=n(116)(!0);n(59)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){n(119);for(var r=n(3),o=n(10),i=n(16),a=n(2)("toStringTag"),s=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var c=s[u],f=r[c],l=f&&f.prototype;l&&!l[a]&&o(l,a,c),i[c]=i.Array}},function(t,e,n){(function(e){/*!
* Vue.js v2.3.3
* (c) 2014-2017 Evan You
* Released under the MIT License.
*/
"use strict";function n(t){return void 0===t||null===t}function r(t){return void 0!==t&&null!==t}function o(t){return t===!0}function i(t){return t===!1}function a(t){return"string"==typeof t||"number"==typeof t}function s(t){return null!==t&&"object"==typeof t}function u(t){return"[object Object]"===Ho.call(t)}function c(t){return"[object RegExp]"===Ho.call(t)}function f(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function l(t){var e=parseFloat(t);return isNaN(e)?t:e}function p(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}function h(t,e){return qo.call(t,e)}function v(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}function m(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function y(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function g(t,e){for(var n in e)t[n]=e[n];return t}function _(t){for(var e={},n=0;n1?y(n):n;for(var r=y(arguments,1),o=0,i=n.length;oVi&&Di[n].id>t.id;)n--;Di.splice(n+1,0,t)}else Di.push(t);Bi||(Bi=!0,wi(St))}}function Pt(t){Ji.clear(),Nt(t,Ji)}function Nt(t,e){var n,r,o=Array.isArray(t);if((o||s(t))&&Object.isExtensible(t)){if(t.__ob__){var i=t.__ob__.dep.id;if(e.has(i))return;e.add(i)}if(o)for(n=t.length;n--;)Nt(t[n],e);else for(r=Object.keys(t),n=r.length;n--;)Nt(t[r[n]],e)}}function Lt(t,e,n){Ki.get=function(){return this[e][n]},Ki.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Ki)}function Rt(t){t._watchers=[];var e=t.$options;e.props&&It(t,e.props),e.methods&&Vt(t,e.methods),e.data?Dt(t):N(t._data={},!0),e.computed&&Ut(t,e.computed),e.watch&&qt(t,e.watch)}function It(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[],i=!t.$parent;Si.shouldConvert=i;var a=function(i){o.push(i);var a=J(i,e,n,t);L(r,i,a),i in t||Lt(t,"_props",i)};for(var s in e)a(s);Si.shouldConvert=!0}function Dt(t){var e=t.$options.data;e=t._data="function"==typeof e?Ft(e,t):e||{},u(e)||(e={});for(var n=Object.keys(e),r=t.$options.props,o=n.length;o--;)r&&h(r,n[o])||C(n[o])||Lt(t,"_data",n[o]);N(e,!0)}function Ft(t,e){try{return t.call(e)}catch(t){return S(t,e,"data()"),{}}}function Ut(t,e){var n=t._computedWatchers=Object.create(null);for(var r in e){var o=e[r],i="function"==typeof o?o:o.get;n[r]=new zi(t,i,b,Wi),r in t||Bt(t,r,o)}}function Bt(t,e,n){"function"==typeof n?(Ki.get=Ht(e),Ki.set=b):(Ki.get=n.get?n.cache!==!1?Ht(e):n.get:b,Ki.set=n.set?n.set:b),Object.defineProperty(t,e,Ki)}function Ht(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),$i.target&&e.depend(),e.value}}function Vt(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?b:m(e[n],t)}function qt(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o=0||n.indexOf(t[o])<0)&&r.push(t[o]);return r}return t}function xe(t){this._init(t)}function $e(t){t.use=function(t){if(t.installed)return this;var e=y(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):"function"==typeof t&&t.apply(null,e),t.installed=!0,this}}function Oe(t){t.mixin=function(t){return this.options=q(this.options,t),this}}function Ce(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=q(n.options,t),a.super=n,a.options.props&&ke(a),a.options.computed&&Ae(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,Xo.forEach(function(t){a[t]=n[t]}),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=g({},a.options),o[r]=a,a}}function ke(t){var e=t.options.props;for(var n in e)Lt(t.prototype,"_props",n)}function Ae(t){var e=t.options.computed;for(var n in e)Bt(t.prototype,n,e[n])}function Se(t){Xo.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}function Ee(t){return t&&(t.Ctor.options.name||t.tag)}function je(t,e){return"string"==typeof t?t.split(",").indexOf(e)>-1:!!c(t)&&t.test(e)}function Te(t,e,n){for(var r in t){var o=t[r];if(o){var i=Ee(o.componentOptions);i&&!n(i)&&(o!==e&&Me(o),t[r]=null)}}}function Me(t){t&&t.componentInstance.$destroy()}function Pe(t){var e={};e.get=function(){return ei},Object.defineProperty(t,"config",e),t.util={warn:oi,extend:g,mergeOptions:q,defineReactive:L},t.set=R,t.delete=I,t.nextTick=wi,t.options=Object.create(null),Xo.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,g(t.options.components,na),$e(t),Oe(t),Ce(t),Se(t)}function Ne(t){for(var e=t.data,n=t,o=t;r(o.componentInstance);)o=o.componentInstance._vnode,o.data&&(e=Le(o.data,e));for(;r(n=n.parent);)n.data&&(e=Le(e,n.data));return Re(e)}function Le(t,e){return{staticClass:Ie(t.staticClass,e.staticClass),class:r(t.class)?[t.class,e.class]:e.class}}function Re(t){var e=t.class,n=t.staticClass;return r(n)||r(e)?Ie(n,De(e)):""}function Ie(t,e){return t?e?t+" "+e:t:e||""}function De(t){if(n(t))return"";if("string"==typeof t)return t;var e="";if(Array.isArray(t)){for(var o,i=0,a=t.length;i-1?ka[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:ka[t]=/HTMLUnknownElement/.test(e.toString())}function Be(t){if("string"==typeof t){var e=document.querySelector(t);return e?e:document.createElement("div")}return t}function He(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function Ve(t,e){return document.createElementNS(wa[t],e)}function qe(t){return document.createTextNode(t)}function ze(t){return document.createComment(t)}function Je(t,e,n){t.insertBefore(e,n)}function Ke(t,e){t.removeChild(e)}function We(t,e){t.appendChild(e)}function Ge(t){return t.parentNode}function Ye(t){return t.nextSibling}function Ze(t){return t.tagName}function Qe(t,e){t.textContent=e}function Xe(t,e,n){t.setAttribute(e,n)}function tn(t,e){var n=t.data.ref;if(n){var r=t.context,o=t.componentInstance||t.elm,i=r.$refs;e?Array.isArray(i[n])?d(i[n],o):i[n]===o&&(i[n]=void 0):t.data.refInFor?Array.isArray(i[n])&&i[n].indexOf(o)<0?i[n].push(o):i[n]=[o]:i[n]=o}}function en(t,e){return t.key===e.key&&t.tag===e.tag&&t.isComment===e.isComment&&r(t.data)===r(e.data)&&nn(t,e)}function nn(t,e){if("input"!==t.tag)return!0;var n,o=r(n=t.data)&&r(n=n.attrs)&&n.type,i=r(n=e.data)&&r(n=n.attrs)&&n.type;return o===i}function rn(t,e,n){var o,i,a={};for(o=e;o<=n;++o)i=t[o].key,r(i)&&(a[i]=o);return a}function on(t){function e(t){return new Mi(j.tagName(t).toLowerCase(),{},[],void 0,t)}function i(t,e){function n(){0===--n.listeners&&s(t)}return n.listeners=e,n}function s(t){var e=j.parentNode(t);r(e)&&j.removeChild(e,t)}function u(t,e,n,i,a){if(t.isRootInsert=!a,!c(t,e,n,i)){var s=t.data,u=t.children,f=t.tag;r(f)?(t.elm=t.ns?j.createElementNS(t.ns,f):j.createElement(f,t),y(t),h(t,u,e),r(s)&&m(t,e),d(n,t.elm,i)):o(t.isComment)?(t.elm=j.createComment(t.text),d(n,t.elm,i)):(t.elm=j.createTextNode(t.text),d(n,t.elm,i))}}function c(t,e,n,i){var a=t.data;if(r(a)){var s=r(t.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(t,!1,n,i),r(t.componentInstance))return f(t,e),o(s)&&l(t,e,n,i),!0}}function f(t,e){r(t.data.pendingInsert)&&e.push.apply(e,t.data.pendingInsert),t.elm=t.componentInstance.$el,v(t)?(m(t,e),y(t)):(tn(t),e.push(t))}function l(t,e,n,o){for(var i,a=t;a.componentInstance;)if(a=a.componentInstance._vnode,r(i=a.data)&&r(i=i.transition)){for(i=0;ih?(l=n(o[y+1])?null:o[y+1].elm,g(t,l,o,d,y,i)):d>y&&b(t,e,p,h)}function $(t,e,i,a){if(t!==e){if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))return e.elm=t.elm,void(e.componentInstance=t.componentInstance);var s,u=e.data;r(u)&&r(s=u.hook)&&r(s=s.prepatch)&&s(t,e);var c=e.elm=t.elm,f=t.children,l=e.children;if(r(u)&&v(e)){for(s=0;s=0&&(m=t.charAt(v)," "===m);v--);m&&Ra.test(m)||(f=!0)}}else void 0===i?(h=o+1,i=t.slice(0,o).trim()):e();if(void 0===i?i=t.slice(0,o).trim():0!==h&&e(),a)for(o=0;o=ra}function En(t){return 34===t||39===t}function jn(t){var e=1;for(sa=aa;!Sn();)if(t=An(),En(t))Tn(t);else if(91===t&&e++,93===t&&e--,0===e){ua=aa;break}}function Tn(t){for(var e=t;!Sn()&&(t=An(),t!==e););}function Mn(t,e,n){ca=n;var r=e.value,o=e.modifiers,i=t.tag,a=t.attrsMap.type;if("select"===i)Ln(t,r,o);else if("input"===i&&"checkbox"===a)Pn(t,r,o);else if("input"===i&&"radio"===a)Nn(t,r,o);else if("input"===i||"textarea"===i)Rn(t,r,o);else if(!ei.isReservedTag(i))return On(t,r,o),!1;return!0}function Pn(t,e,n){var r=n&&n.number,o=xn(t,"value")||"null",i=xn(t,"true-value")||"true",a=xn(t,"false-value")||"false";gn(t,"checked","Array.isArray("+e+")?_i("+e+","+o+")>-1"+("true"===i?":("+e+")":":_q("+e+","+i+")")),wn(t,Da,"var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+o+")":o)+",$$i=_i($$a,$$v);if($$c){$$i<0&&("+e+"=$$a.concat($$v))}else{$$i>-1&&("+e+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+Cn(e,"$$c")+"}",null,!0)}function Nn(t,e,n){var r=n&&n.number,o=xn(t,"value")||"null";o=r?"_n("+o+")":o,gn(t,"checked","_q("+e+","+o+")"),wn(t,Da,Cn(e,o),null,!0)}function Ln(t,e,n){var r=n&&n.number,o='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",i="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",a="var $$selectedVal = "+o+";";a=a+" "+Cn(e,i),wn(t,"change",a,null,!0)}function Rn(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o.trim,u=!i&&"range"!==r,c=i?"change":"range"===r?Ia:"input",f="$event.target.value";s&&(f="$event.target.value.trim()"),a&&(f="_n("+f+")");var l=Cn(e,f);u&&(l="if($event.target.composing)return;"+l),gn(t,"value","("+e+")"),wn(t,c,l,null,!0),(s||a||"number"===r)&&wn(t,"blur","$forceUpdate()")}function In(t){var e;r(t[Ia])&&(e=ui?"change":"input",t[e]=[].concat(t[Ia],t[e]||[]),delete t[Ia]),r(t[Da])&&(e=di?"click":"change",t[e]=[].concat(t[Da],t[e]||[]),delete t[Da])}function Dn(t,e,n,r,o){if(n){var i=e,a=fa;e=function(n){var o=1===arguments.length?i(n):i.apply(null,arguments);null!==o&&Fn(t,e,r,a)}}fa.addEventListener(t,e,hi?{capture:r,passive:o}:r)}function Fn(t,e,n,r){(r||fa).removeEventListener(t,e,n)}function Un(t,e){if(!n(t.data.on)||!n(e.data.on)){var r=e.data.on||{},o=t.data.on||{};fa=e.elm,In(r),tt(r,o,Dn,Fn,e.context)}}function Bn(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var o,i,a=e.elm,s=t.data.domProps||{},u=e.data.domProps||{};r(u.__ob__)&&(u=e.data.domProps=g({},u));for(o in s)n(u[o])&&(a[o]="");for(o in u)if(i=u[o],"textContent"!==o&&"innerHTML"!==o||(e.children&&(e.children.length=0),i!==s[o]))if("value"===o){a._value=i;var c=n(i)?"":String(i);Hn(a,e,c)&&(a.value=c)}else a[o]=i}}function Hn(t,e,n){return!t.composing&&("option"===e.tag||Vn(t,n)||qn(t,n))}function Vn(t,e){return document.activeElement!==t&&t.value!==e}function qn(t,e){var n=t.value,o=t._vModifiers;return r(o)&&o.number||"number"===t.type?l(n)!==l(e):r(o)&&o.trim?n.trim()!==e.trim():n!==e}function zn(t){var e=Jn(t.style);return t.staticStyle?g(t.staticStyle,e):e}function Jn(t){return Array.isArray(t)?_(t):"string"==typeof t?Ba(t):t}function Kn(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)o=o.componentInstance._vnode,o.data&&(n=zn(o.data))&&g(r,n);(n=zn(t.data))&&g(r,n);for(var i=t;i=i.parent;)i.data&&(n=zn(i.data))&&g(r,n);return r}function Wn(t,e){var o=e.data,i=t.data;if(!(n(o.staticStyle)&&n(o.style)&&n(i.staticStyle)&&n(i.style))){var a,s,u=e.elm,c=i.staticStyle,f=i.normalizedStyle||i.style||{},l=c||f,p=Jn(e.data.style)||{};e.data.normalizedStyle=r(p.__ob__)?g({},p):p;var d=Kn(e,!0);for(s in l)n(d[s])&&qa(u,s,"");for(s in d)a=d[s],a!==l[s]&&qa(u,s,null==a?"":a)}}function Gn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Yn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e);else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");t.setAttribute("class",n.trim())}}function Zn(t){if(t){if("object"==typeof t){var e={};return t.css!==!1&&g(e,Wa(t.name||"v")),g(e,t),e}return"string"==typeof t?Wa(t):void 0}}function Qn(t){ns(function(){ns(t)})}function Xn(t,e){(t._transitionClasses||(t._transitionClasses=[])).push(e),Gn(t,e)}function tr(t,e){t._transitionClasses&&d(t._transitionClasses,e),Yn(t,e)}function er(t,e,n){var r=nr(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Ya?Xa:es,u=0,c=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++u>=a&&c()};setTimeout(function(){u0&&(n=Ya,f=a,l=i.length):e===Za?c>0&&(n=Za,f=c,l=u.length):(f=Math.max(a,c),n=f>0?a>c?Ya:Za:null,l=n?n===Ya?i.length:u.length:0);var p=n===Ya&&rs.test(r[Qa+"Property"]);return{type:n,timeout:f,propCount:l,hasTransform:p}}function rr(t,e){for(;t.length1}function cr(t,e){e.data.show!==!0&&ir(e)}function fr(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,u=t.options.length;s-1,a.selected!==i&&(a.selected=i);else if(x(pr(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function lr(t,e){for(var n=0,r=e.length;n',n.innerHTML.indexOf(e)>0}function kr(t){return ms=ms||document.createElement("div"),ms.innerHTML=t,ms.textContent}function Ar(t,e){var n=e?nu:eu;return t.replace(n,function(t){return tu[t]})}function Sr(t,e){function n(e){p+=e,t=t.substring(e)}function r(){var e=t.match(As);if(e){var r={tagName:e[1],attrs:[],start:p};n(e[0].length);for(var o,i;!(o=t.match(Ss))&&(i=t.match(Os));)n(i[0].length),r.attrs.push(i);if(o)return r.unarySlash=o[1],n(o[0].length),r.end=p,r}}function o(t){var n=t.tagName,r=t.unarySlash;c&&("p"===s&&bs(n)&&i(s),l(n)&&s===n&&i(n));for(var o=f(n)||"html"===n&&"head"===s||!!r,a=t.attrs.length,p=new Array(a),d=0;d=0&&u[o].lowerCasedTag!==i;o--);else o=0;if(o>=0){for(var a=u.length-1;a>=o;a--)e.end&&e.end(u[a].tag,n,r);u.length=o,s=o&&u[o-1].tag}else"br"===i?e.start&&e.start(t,[],!0,n,r):"p"===i&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var a,s,u=[],c=e.expectHTML,f=e.isUnaryTag||Yo,l=e.canBeLeftOpenTag||Yo,p=0;t;){if(a=t,s&&Qs(s)){var d=s.toLowerCase(),h=Xs[d]||(Xs[d]=new RegExp("([\\s\\S]*?)("+d+"[^>]*>)","i")),v=0,m=t.replace(h,function(t,n,r){return v=r.length,Qs(d)||"noscript"===d||(n=n.replace(//g,"$1").replace(//g,"$1")),e.chars&&e.chars(n),""});p+=t.length-m.length,t=m,i(d,p-v,p)}else{var y=t.indexOf("<");if(0===y){if(Ts.test(t)){var g=t.indexOf("-->");if(g>=0){n(g+3);continue}}if(Ms.test(t)){var _=t.indexOf("]>");if(_>=0){n(_+2);continue}}var b=t.match(js);if(b){n(b[0].length);continue}var w=t.match(Es);if(w){var x=p;n(w[0].length),i(w[1],x,p);continue}var $=r();if($){o($);continue}}var O=void 0,C=void 0,k=void 0;if(y>=0){for(C=t.slice(y);!(Es.test(C)||As.test(C)||Ts.test(C)||Ms.test(C)||(k=C.indexOf("<",1),k<0));)y+=k,C=t.slice(y);O=t.substring(0,y),n(y)}y<0&&(O=t,t=""),e.chars&&O&&e.chars(O)}if(t===a){e.chars&&e.chars(t);break}}i()}function Er(t,e){var n=e?iu(e):ru;if(n.test(t)){for(var r,o,i=[],a=n.lastIndex=0;r=n.exec(t);){o=r.index,o>a&&i.push(JSON.stringify(t.slice(a,o)));var s=hn(r[1].trim());i.push("_s("+s+")"),a=o+r[0].length}return a0,fi=si&&si.indexOf("edge/")>0,li=si&&si.indexOf("android")>0,pi=si&&/iphone|ipad|ipod|ios/.test(si),di=si&&/chrome\/\d+/.test(si)&&!fi,hi=!1;if(ai)try{var vi={};Object.defineProperty(vi,"passive",{get:function(){hi=!0}}),window.addEventListener("test-passive",null,vi)}catch(t){}var mi,yi,gi=function(){return void 0===mi&&(mi=!ai&&"undefined"!=typeof e&&"server"===e.process.env.VUE_ENV),mi},_i=ai&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,bi="undefined"!=typeof Symbol&&E(Symbol)&&"undefined"!=typeof Reflect&&E(Reflect.ownKeys),wi=function(){function t(){r=!1;var t=n.slice(0);n.length=0;for(var e=0;e1&&(e[n[0].trim()]=n[1].trim())}}),e}),Ha=/^--/,Va=/\s*!important$/,qa=function(t,e,n){if(Ha.test(e))t.style.setProperty(e,n);else if(Va.test(n))t.style.setProperty(e,n.replace(Va,""),"important");else{var r=Ja(e);if(Array.isArray(n))for(var o=0,i=n.length;o\/=]+)/,xs=/(?:=)/,$s=[/"([^"]*)"+/.source,/'([^']*)'+/.source,/([^\s"'=<>`]+)/.source],Os=new RegExp("^\\s*"+ws.source+"(?:\\s*("+xs.source+")\\s*(?:"+$s.join("|")+"))?"),Cs="[a-zA-Z_][\\w\\-\\.]*",ks="((?:"+Cs+"\\:)?"+Cs+")",As=new RegExp("^<"+ks),Ss=/^\s*(\/?)>/,Es=new RegExp("^<\\/"+ks+"[^>]*>"),js=/^]+>/i,Ts=/^