8 lines
359 KiB
Plaintext
8 lines
359 KiB
Plaintext
{
|
|
"version": 3,
|
|
"sources": ["../../vue/dist/vue.runtime.esm.js"],
|
|
"sourcesContent": ["/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar 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/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n var vnode = res && res[0];\n return res && (\n !vnode ||\n (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallbackRender,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) {\n // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn('slot v-bind without argument expects an Object', this);\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes =\n scopedSlotFn(props) ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n } else {\n nodes =\n this.$slots[name] ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n return eventKeyCode === undefined\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n // we know it's MountedComponentVNode but flow doesn't\n vnode,\n // activeInstance in lifecycle state\n parent\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n (!newScopedSlots && vm.$scopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n } else if (vm.$options.methods && key in vm.$options.methods) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n pushTarget();\n invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n popTarget();\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var entry = cache[key];\n if (entry) {\n var name = entry.name;\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var entry = cache[key];\n if (entry && (!current || entry.tag !== current.tag)) {\n entry.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n methods: {\n cacheVNode: function cacheVNode() {\n var ref = this;\n var cache = ref.cache;\n var keys = ref.keys;\n var vnodeToCache = ref.vnodeToCache;\n var keyToCache = ref.keyToCache;\n if (vnodeToCache) {\n var tag = vnodeToCache.tag;\n var componentInstance = vnodeToCache.componentInstance;\n var componentOptions = vnodeToCache.componentOptions;\n cache[keyToCache] = {\n name: getComponentName(componentOptions),\n tag: tag,\n componentInstance: componentInstance,\n };\n keys.push(keyToCache);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n this.vnodeToCache = null;\n }\n }\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.cacheVNode();\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n updated: function updated () {\n this.cacheVNode();\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n // delay setting the cache until update\n this.vnodeToCache = vnode;\n this.keyToCache = key;\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key &&\n a.asyncFactory === b.asyncFactory && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur, vnode.data.pre);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n if (isInPre || el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nexport default Vue;\n"],
|
|
"mappings": "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",
|
|
"names": ["index", "get", "Set", "has", "add", "vm", "Dep", "target", "VNode", "inserted", "Observer", "hooks", "props", "key", "def", "set", "initProxy", "fns", "remove$$1", "createOnceHandler", "attrs", "render", "cached", "Vue", "ref", "e", "res", "queue", "Watcher", "depend", "parentNode", "tagName", "update", "destroy", "modules", "nodeOps", "createComponent", "insert", "i", "j", "patch", "style", "enter", "leave", "bind", "updated"]
|
|
}
|