Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/vue/vendor/v2/dev/dist/ |
Upload File : |
{"version":3,"file":"dev.vue.bundle.js","sources":["../src/vue-dev.js"],"sourcesContent":["/*!\n * Vue.js v2.6.12\n * (c) 2014-2020 Evan You\n * Released under the MIT License.\n */\n\n/**\n * Modify list for integration with Bitrix Framework:\n * - change default export to local for work in Bitrix CoreJS extensions;\n */\n\nlet VueVendorV2;\n\nif (typeof exports !== 'undefined' && typeof exports.VueVendorV2 !== 'undefined')\n{\n\tlet currentVersion = '2.6.12';\n\tif (exports.VueVendorV2.version != currentVersion)\n\t{\n\t\tconsole.warn('BX.Vue already loaded. Loaded: '+exports.VueVendorV2.version+', Skipped: '+currentVersion);\n\t}\n\tVueVendorV2 = exports.VueVendorV2;\n}\nelse\n{\n var emptyObject = Object.freeze({});\n\n // These helpers produce better VM code in JS engines due to their\n // explicitness and function inlining.\n function isUndef (v) {\n return v === undefined || v === null\n }\n\n function isDef (v) {\n return v !== undefined && v !== null\n }\n\n function isTrue (v) {\n return v === true\n }\n\n function isFalse (v) {\n return v === false\n }\n\n /**\n * Check if value is primitive.\n */\n function 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 */\n function 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 */\n var _toString = Object.prototype.toString;\n\n function 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 */\n function isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n }\n\n function isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n }\n\n /**\n * Check if val is a valid array index.\n */\n function isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n }\n\n function 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 */\n function 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 */\n function 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 */\n function 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 */\n var isBuiltInTag = makeMap('slot,component', true);\n\n /**\n * Check if an attribute is a reserved attribute.\n */\n var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n /**\n * Remove an item from an array.\n */\n function 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 */\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n function hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n }\n\n /**\n * Create a cached version of a pure function.\n */\n function 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 */\n var camelizeRE = /-(\\w)/g;\n var camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n });\n\n /**\n * Capitalize a string.\n */\n var capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n });\n\n /**\n * Hyphenate a camelCase string.\n */\n var hyphenateRE = /\\B([A-Z])/g;\n var 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 */\n function 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\n function nativeBind (fn, ctx) {\n return fn.bind(ctx)\n }\n\n var bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n /**\n * Convert an Array-like object to a real Array.\n */\n function 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 */\n function 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 */\n function 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 */\n function noop (a, b, c) {}\n\n /**\n * Always return false.\n */\n var no = function (a, b, c) { return false; };\n\n /* eslint-enable no-unused-vars */\n\n /**\n * Return the same value.\n */\n var identity = function (_) { return _; };\n\n /**\n * Generate a string containing static keys from compiler modules.\n */\n function genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n }\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 */\n function 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 */\n function 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 */\n function once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n }\n\n var SSR_ATTR = 'data-server-rendered';\n\n var ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n ];\n\n var 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\n var 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: \"development\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"development\" !== '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 */\n var unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n /**\n * Check if a string starts with $ or _\n */\n function isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n }\n\n /**\n * Define a property.\n */\n function 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 */\n var bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\n function 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__?\n var hasProto = '__proto__' in {};\n\n // Browser environment sniffing\n var inBrowser = typeof window !== 'undefined';\n var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\n var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\n var UA = inBrowser && window.navigator.userAgent.toLowerCase();\n var isIE = UA && /msie|trident/.test(UA);\n var isIE9 = UA && UA.indexOf('msie 9.0') > 0;\n var isEdge = UA && UA.indexOf('edge/') > 0;\n var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\n var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\n var isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n var isPhantomJS = UA && /phantomjs/.test(UA);\n var isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n // Firefox has a \"watch\" function on Object.prototype...\n var nativeWatch = ({}).watch;\n\n var supportsPassive = false;\n if (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\n var _isServer;\n var 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\n var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n /* istanbul ignore next */\n function isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n }\n\n var hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\n var _Set;\n /* istanbul ignore if */ // $flow-disable-line\n if (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\n var warn = noop;\n var tip = noop;\n var generateComponentTrace = (noop); // work around flow check\n var formatComponentName = (noop);\n\n {\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\n var uid = 0;\n\n /**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\n var Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n };\n\n Dep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n };\n\n Dep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n };\n\n Dep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n };\n\n Dep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (!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.\n Dep.target = null;\n var targetStack = [];\n\n function pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n }\n\n function popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n }\n\n /* */\n\n var 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\n var prototypeAccessors = { child: { configurable: true } };\n\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n prototypeAccessors.child.get = function () {\n return this.componentInstance\n };\n\n Object.defineProperties( VNode.prototype, prototypeAccessors );\n\n var 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\n function 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.\n function 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\n var arrayProto = Array.prototype;\n var arrayMethods = Object.create(arrayProto);\n\n var 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 */\n methodsToPatch.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\n var arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n /**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\n var shouldObserve = true;\n\n function 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 */\n var 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 */\n Observer.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 */\n Observer.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 */\n function 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 */\n function 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 */\n function 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 */\n function 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 (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 */\n function set (target, key, val) {\n if (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 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 */\n function del (target, key) {\n if (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 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 */\n function 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 */\n var strats = config.optionMergeStrategies;\n\n /**\n * Options with restrictions\n */\n {\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 */\n function 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 */\n function 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\n strats.data = function (\n parentVal,\n childVal,\n vm\n ) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n 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 */\n function 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\n function 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\n LIFECYCLE_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 */\n function mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n ) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n }\n\n ASSET_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 */\n strats.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 {\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 */\n strats.props =\n strats.methods =\n strats.inject =\n strats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n ) {\n if (childVal && \"development\" !== '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 };\n strats.provide = mergeDataOrFn;\n\n /**\n * Default strategy.\n */\n var defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n\n /**\n * Validate component names\n */\n function checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n }\n\n function 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 */\n function 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 {\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 {\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 */\n function 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 {\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 */\n function 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\n function 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 */\n function mergeOptions (\n parent,\n child,\n vm\n ) {\n {\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 */\n function 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 (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\n function 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 {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n }\n\n /**\n * Get the default value of a prop.\n */\n function 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 (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 */\n function 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]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\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\n var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\n function assertType (value, type) {\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 valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n }\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 */\n function getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n }\n\n function isSameType (a, b) {\n return getType(a) === getType(b)\n }\n\n function 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\n function 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 var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n }\n\n function 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\n function isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n }\n\n function 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\n function 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\n function 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\n function 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\n function logError (err, vm, info) {\n {\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\n var isUsingMicroTask = false;\n\n var callbacks = [];\n var pending = false;\n\n function 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).\n var 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 */\n if (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\n function 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 var mark;\n var measure;\n\n {\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 /* not type checking this file because flow doesn't play well with Proxy */\n\n var initProxy;\n\n {\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,' +\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\n var 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 */\n function traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n }\n\n function _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\n /* */\n\n var 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\n function 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\n function 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 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\n function 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\n function 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 {\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\n function 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.\n function 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.\n function normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n }\n\n function isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n }\n\n function 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\n function 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\n function 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 {\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 }\n });\n toggleObserving(true);\n }\n }\n\n function 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 {\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 */\n function 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\n function isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n }\n\n /* */\n\n function 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\n function 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 return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\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\n function proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n }\n\n /* */\n\n /**\n * Runtime helper for rendering v-for lists.\n */\n function 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 */\n function renderSlot (\n name,\n fallback,\n props,\n bindObject\n ) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (!isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\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 */\n function resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n }\n\n /* */\n\n function 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 */\n function 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 }\n\n /* */\n\n /**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\n function bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n ) {\n if (value) {\n if (!isObject(value)) {\n 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 */\n function 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 */\n function markOnce (\n tree,\n index,\n key\n ) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n }\n\n function 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\n function markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n }\n\n /* */\n\n function bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n 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\n function 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\n function 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 (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.\n function prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n }\n\n /* */\n\n function 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\n function 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\n installRenderHelpers(FunctionalRenderContext.prototype);\n\n function 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\n function 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 {\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\n function 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\n var 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\n var hooksToMerge = Object.keys(componentVNodeHooks);\n\n function 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 {\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\n function createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\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\n function 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\n function 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.\n function 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\n var SIMPLE_NORMALIZE = 1;\n var ALWAYS_NORMALIZE = 2;\n\n // wrapper function for providing a more flexible interface\n // without getting yelled at by flow\n function 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\n function _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n ) {\n if (isDef(data) && isDef((data).__ob__)) {\n 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 (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 (isDef(data) && isDef(data.nativeOn)) {\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\n function 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\n function 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\n function 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 {\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 }\n }\n\n var currentRenderingInstance = null;\n\n function 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 (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 (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\n function 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\n function 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\n function 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 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 \"timeout (\" + (res.timeout) + \"ms)\"\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\n function isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n }\n\n /* */\n\n function 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\n function 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\n var target;\n\n function add (event, fn) {\n target.$on(event, fn);\n }\n\n function remove$1 (event, fn) {\n target.$off(event, fn);\n }\n\n function 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\n function 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\n function 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 {\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\n var activeInstance = null;\n var isUpdatingChildComponent = false;\n\n function setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n }\n\n function 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\n function 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\n function mountComponent (\n vm,\n el,\n hydrating\n ) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n {\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 (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\n function updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n ) {\n {\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 );\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 {\n isUpdatingChildComponent = false;\n }\n }\n\n function isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n }\n\n function 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\n function 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\n function 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\n var MAX_UPDATE_COUNT = 100;\n\n var queue = [];\n var activatedChildren = [];\n var has = {};\n var circular = {};\n var waiting = false;\n var flushing = false;\n var index = 0;\n\n /**\n * Reset the scheduler's state.\n */\n function resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n {\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.\n var currentFlushTimestamp = 0;\n\n // Async edge case fix requires storing an event listener's attach timestamp.\n var 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)\n if (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 */\n function 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 (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\n function 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 */\n function 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\n function 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 */\n function 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 (!config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n }\n\n /* */\n\n\n\n var 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 */\n var 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 = expOrFn.toString();\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 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 */\n Watcher.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 */\n Watcher.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 */\n Watcher.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 */\n Watcher.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 */\n Watcher.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 try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\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 */\n Watcher.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 */\n Watcher.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 */\n Watcher.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\n var sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n };\n\n function 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\n function 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\n function 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 {\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 }\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\n function 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 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 {\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 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\n function 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\n var computedWatcherOptions = { lazy: true };\n\n function 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 (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 {\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 }\n }\n }\n }\n\n function 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 (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\n function 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\n function createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n }\n\n function initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n {\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\n function 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\n function 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\n function 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 {\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 try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n }\n\n /* */\n\n var uid$3 = 0;\n\n function 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 (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 {\n initProxy(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 (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\n function 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\n function 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\n function 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\n function Vue (options) {\n if (!(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\n initMixin(Vue);\n stateMixin(Vue);\n eventsMixin(Vue);\n lifecycleMixin(Vue);\n renderMixin(Vue);\n\n /* */\n\n function 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\n function initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n }\n\n /* */\n\n function 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 (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\n function initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n }\n\n function 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\n function 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 (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 function getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n }\n\n function 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\n function 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 cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n }\n\n function pruneCacheEntry (\n cache,\n key,\n keys,\n current\n ) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n }\n\n var patternTypes = [String, RegExp, Array];\n\n var KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\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.$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 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 cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n };\n\n var builtInComponents = {\n KeepAlive: KeepAlive\n };\n\n /* */\n\n function initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n {\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\n initGlobalAPI(Vue);\n\n Object.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n });\n\n Object.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\n Object.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n });\n\n Vue.version = '2.6.12';\n\n /* */\n\n // these are reserved for web because they are directly compiled away\n // during template compilation\n var isReservedAttr = makeMap('style,class');\n\n // attributes that should be using props for binding\n var acceptValue = makeMap('input,textarea,option,select,progress');\n var 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\n var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\n var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\n var 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\n var 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,translate,' +\n 'truespeed,typemustmatch,visible'\n );\n\n var xlinkNS = 'http://www.w3.org/1999/xlink';\n\n var isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n };\n\n var getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n };\n\n var isFalsyAttrValue = function (val) {\n return val == null || val === false\n };\n\n /* */\n\n function 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\n function 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\n function 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\n function concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n }\n\n function 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\n function 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\n function 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\n var namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n };\n\n var 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.\n var 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\n var isPreTag = function (tag) { return tag === 'pre'; };\n\n var isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n };\n\n function 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\n var unknownElementCache = Object.create(null);\n function 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\n var 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 */\n function query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n 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\n function 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\n function createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n }\n\n function createTextNode (text) {\n return document.createTextNode(text)\n }\n\n function createComment (text) {\n return document.createComment(text)\n }\n\n function insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n }\n\n function removeChild (node, child) {\n node.removeChild(child);\n }\n\n function appendChild (node, child) {\n node.appendChild(child);\n }\n\n function parentNode (node) {\n return node.parentNode\n }\n\n function nextSibling (node) {\n return node.nextSibling\n }\n\n function tagName (node) {\n return node.tagName\n }\n\n function setTextContent (node, text) {\n node.textContent = text;\n }\n\n function setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n }\n\n var 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\n var 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\n function 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\n var emptyNode = new VNode('', {}, []);\n\n var hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\n function sameVnode (a, b) {\n return (\n a.key === b.key && (\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 a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n }\n\n function 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\n function 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\n function 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 {\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 (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 {\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 {\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 {\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 {\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 (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 (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 {\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\n var directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n };\n\n function updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n }\n\n function _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\n var emptyModifiers = Object.create(null);\n\n function 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\n function getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n }\n\n function 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\n var baseModules = [\n ref,\n directives\n ];\n\n /* */\n\n function 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);\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\n function setAttr (el, key, value) {\n if (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\n function 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\n var attrs = {\n create: updateAttrs,\n update: updateAttrs\n };\n\n /* */\n\n function 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\n var klass = {\n create: updateClass,\n update: updateClass\n };\n\n /* */\n\n var validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\n function parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n }\n\n function wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n }\n\n /* */\n\n\n\n /* eslint-disable no-unused-vars */\n function baseWarn (msg, range) {\n console.error((\"[Vue compiler]: \" + msg));\n }\n /* eslint-enable no-unused-vars */\n\n function pluckModuleFunction (\n modules,\n key\n ) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n }\n\n function addProp (el, name, value, range, dynamic) {\n (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n }\n\n function addAttr (el, name, value, range, dynamic) {\n var attrs = dynamic\n ? (el.dynamicAttrs || (el.dynamicAttrs = []))\n : (el.attrs || (el.attrs = []));\n attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n }\n\n // add a raw attr (use this in preTransforms)\n function addRawAttr (el, name, value, range) {\n el.attrsMap[name] = value;\n el.attrsList.push(rangeSetItem({ name: name, value: value }, range));\n }\n\n function addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n isDynamicArg,\n modifiers,\n range\n ) {\n (el.directives || (el.directives = [])).push(rangeSetItem({\n name: name,\n rawName: rawName,\n value: value,\n arg: arg,\n isDynamicArg: isDynamicArg,\n modifiers: modifiers\n }, range));\n el.plain = false;\n }\n\n function prependModifierMarker (symbol, name, dynamic) {\n return dynamic\n ? (\"_p(\" + name + \",\\\"\" + symbol + \"\\\")\")\n : symbol + name // mark the event as captured\n }\n\n function addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn,\n range,\n dynamic\n ) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.',\n range\n );\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (modifiers.right) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'contextmenu':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'contextmenu';\n delete modifiers.right;\n }\n } else if (modifiers.middle) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'mouseup':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'mouseup';\n }\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = prependModifierMarker('!', name, dynamic);\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = prependModifierMarker('~', name, dynamic);\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = prependModifierMarker('&', name, dynamic);\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range);\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n }\n\n function getRawBindingAttr (\n el,\n name\n ) {\n return el.rawAttrsMap[':' + name] ||\n el.rawAttrsMap['v-bind:' + name] ||\n el.rawAttrsMap[name]\n }\n\n function getBindingAttr (\n el,\n name,\n getStatic\n ) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n }\n\n // note: this only removes the attr from the Array (attrsList) so that it\n // doesn't get processed by processAttrs.\n // By default it does NOT remove it from the map (attrsMap) because the map is\n // needed during codegen.\n function getAndRemoveAttr (\n el,\n name,\n removeFromMap\n ) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n }\n\n function getAndRemoveAttrByRegex (\n el,\n name\n ) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n var attr = list[i];\n if (name.test(attr.name)) {\n list.splice(i, 1);\n return attr\n }\n }\n }\n\n function rangeSetItem (\n item,\n range\n ) {\n if (range) {\n if (range.start != null) {\n item.start = range.start;\n }\n if (range.end != null) {\n item.end = range.end;\n }\n }\n return item\n }\n\n /* */\n\n /**\n * Cross-platform code generation for component v-model\n */\n function genComponentModel (\n el,\n value,\n modifiers\n ) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: JSON.stringify(value),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n }\n\n /**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\n function genAssignmentCode (\n value,\n assignment\n ) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n }\n\n /**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\n var len, str, chr, index$1, expressionPos, expressionEndPos;\n\n\n\n function parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n }\n\n function next () {\n return str.charCodeAt(++index$1)\n }\n\n function eof () {\n return index$1 >= len\n }\n\n function isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n }\n\n function parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n }\n\n function parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n }\n\n /* */\n\n var warn$1;\n\n // in some cases, the event used has to be determined at runtime\n // so we used some reserved tokens during compile.\n var RANGE_TOKEN = '__r';\n var CHECKBOX_RADIO_TOKEN = '__c';\n\n function model (\n el,\n dir,\n _warn\n ) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.',\n el.rawAttrsMap['v-model']\n );\n }\n\n // ensure runtime directive metadata\n return true\n }\n\n function genCheckboxModel (\n el,\n value,\n modifiers\n ) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n }\n\n function genRadioModel (\n el,\n value,\n modifiers\n ) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n }\n\n function genSelect (\n el,\n value,\n modifiers\n ) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n }\n\n function genDefaultModel (\n el,\n value,\n modifiers\n ) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally',\n el.rawAttrsMap[binding]\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n }\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.\n function 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\n var target$1;\n\n function 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.\n var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\n function 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\n function 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\n function 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\n var events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n };\n\n /* */\n\n var svgContainer;\n\n function 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\n function shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n }\n\n function 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\n function 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\n var domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n };\n\n /* */\n\n var 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\n function 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\n function 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 */\n function 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\n var cssVarRE = /^--/;\n var importantRE = /\\s*!important$/;\n var 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\n var vendorNames = ['Webkit', 'Moz', 'ms'];\n\n var emptyStyle;\n var 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\n function 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\n var style = {\n create: updateStyle,\n update: updateStyle\n };\n\n /* */\n\n var whitespaceRE = /\\s+/;\n\n /**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\n function 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 */\n function 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\n function 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\n var 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\n var hasTransition = inBrowser && !isIE9;\n var TRANSITION = 'transition';\n var ANIMATION = 'animation';\n\n // Transition property/event sniffing\n var transitionProp = 'transition';\n var transitionEndEvent = 'transitionend';\n var animationProp = 'animation';\n var animationEndEvent = 'animationend';\n if (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\n var raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\n function nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n }\n\n function 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\n function removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n }\n\n function 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\n var transformRE = /\\b(transform|all)(,|$)/;\n\n function 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\n function 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\n function toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n }\n\n /* */\n\n function 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 (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\n function 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 (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\n function 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\n function 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 */\n function 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\n function _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n }\n\n var 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\n var 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.\n var modules = platformModules.concat(baseModules);\n\n var 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 */\n if (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\n var 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\n function 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\n function actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n 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\n function hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n }\n\n function getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n }\n\n function onCompositionStart (e) {\n e.target.composing = true;\n }\n\n function 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\n function 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\n function locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n }\n\n var 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\n var platformDirectives = {\n model: directive,\n show: show\n };\n\n /* */\n\n var 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\n function 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\n function 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\n function 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\n function hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n }\n\n function isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n }\n\n var isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\n var isVShowDirective = function (d) { return d.name === 'show'; };\n\n var 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 (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 (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\n var props = extend({\n tag: String,\n moveClass: String\n }, transitionProps);\n\n delete props.mode;\n\n var 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 {\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\n function 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\n function recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n }\n\n function 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\n var platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n };\n\n /* */\n\n // install platform specific utils\n Vue.config.mustUseProp = mustUseProp;\n Vue.config.isReservedTag = isReservedTag;\n Vue.config.isReservedAttr = isReservedAttr;\n Vue.config.getTagNamespace = getTagNamespace;\n Vue.config.isUnknownElement = isUnknownElement;\n\n // install platform runtime directives & components\n extend(Vue.options.directives, platformDirectives);\n extend(Vue.options.components, platformComponents);\n\n // install platform patch function\n Vue.prototype.__patch__ = inBrowser ? patch : noop;\n\n // public mount method\n Vue.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 */\n if (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else {\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 (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\n var defaultTagRE = /\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g;\n var regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\n var buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n });\n\n\n\n function parseText (\n text,\n delimiters\n ) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n }\n\n /* */\n\n function transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.',\n el.rawAttrsMap['class']\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n }\n\n function genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n }\n\n var klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n };\n\n /* */\n\n function transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.',\n el.rawAttrsMap['style']\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n }\n\n function genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n }\n\n var style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n };\n\n /* */\n\n var decoder;\n\n var he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n };\n\n /* */\n\n var isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n );\n\n // Elements that you can, intentionally, leave open\n // (and which close themselves)\n var canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n );\n\n // HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n // Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\n var isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n );\n\n /**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n // Regular Expressions for parsing tags and attributes\n var attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n var dynamicArgAttribute = /^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n var ncname = \"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\" + (unicodeRegExp.source) + \"]*\";\n var qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\n var startTagOpen = new RegExp((\"^<\" + qnameCapture));\n var startTagClose = /^\\s*(\\/?)>/;\n var endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\n var doctype = /^<!DOCTYPE [^>]+>/i;\n // #7298: escape - to avoid being passed as HTML comment when inlined in page\n var comment = /^<!\\--/;\n var conditionalComment = /^<!\\[/;\n\n // Special Elements (can contain anything)\n var isPlainTextElement = makeMap('script,style,textarea', true);\n var reCache = {};\n\n var decodingMap = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&': '&',\n ' ': '\\n',\n '	': '\\t',\n ''': \"'\"\n };\n var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;\n var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;\n\n // #5992\n var isIgnoreNewlineTag = makeMap('pre,textarea', true);\n var shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\n function decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n }\n\n function parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n }\n\n if (text) {\n advance(text.length);\n }\n\n if (options.chars && text) {\n options.chars(text, index - text.length, index);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (!stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"), { start: index + html.length });\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {\n attr.start = index;\n advance(attr[0].length);\n attr.end = index;\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n if (options.outputSourceRange) {\n attrs[i].start = args.start + args[0].match(/^\\s*/).length;\n attrs[i].end = args.end;\n }\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (i > pos || !tagName &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\"),\n { start: stack[i].start, end: stack[i].end }\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n }\n\n /* */\n\n var onRE = /^@|^v-on:/;\n var dirRE = /^v-|^@|^:|^#/;\n var forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\n var forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\n var stripParensRE = /^\\(|\\)$/g;\n var dynamicArgRE = /^\\[.*\\]$/;\n\n var argRE = /:(.*)$/;\n var bindRE = /^:|^\\.|^v-bind:/;\n var modifierRE = /\\.[^.\\]]+(?=[^\\]]*$)/g;\n\n var slotRE = /^v-slot(:|$)|^#/;\n\n var lineBreakRE = /[\\r\\n]/;\n var whitespaceRE$1 = /\\s+/g;\n\n var invalidAttributeRE = /[\\s\"'<>\\/=]/;\n\n var decodeHTMLCached = cached(he.decode);\n\n var emptySlotScopeToken = \"_empty_\";\n\n // configurable state\n var warn$2;\n var delimiters;\n var transforms;\n var preTransforms;\n var postTransforms;\n var platformIsPreTag;\n var platformMustUseProp;\n var platformGetTagNamespace;\n var maybeComponent;\n\n function createASTElement (\n tag,\n attrs,\n parent\n ) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n rawAttrsMap: {},\n parent: parent,\n children: []\n }\n }\n\n /**\n * Convert HTML string to AST.\n */\n function parse (\n template,\n options\n ) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n var isReservedTag = options.isReservedTag || no;\n maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var whitespaceOption = options.whitespace;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg, range) {\n if (!warned) {\n warned = true;\n warn$2(msg, range);\n }\n }\n\n function closeElement (element) {\n trimEndingWhitespace(element);\n if (!inVPre && !element.processed) {\n element = processElement(element, options);\n }\n // tree management\n if (!stack.length && element !== root) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n {\n checkRootConstraints(element);\n }\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\",\n { start: element.start }\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else {\n if (element.slotScope) {\n // scoped slot\n // keep it in the children list so that v-else(-if) conditions can\n // find it as the prev node.\n var name = element.slotTarget || '\"default\"'\n ;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n }\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n\n // final children cleanup\n // filter out scoped slots\n element.children = element.children.filter(function (c) { return !(c).slotScope; });\n // remove trailing whitespace node again\n trimEndingWhitespace(element);\n\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n function trimEndingWhitespace (el) {\n // remove trailing whitespace node\n if (!inPre) {\n var lastNode;\n while (\n (lastNode = el.children[el.children.length - 1]) &&\n lastNode.type === 3 &&\n lastNode.text === ' '\n ) {\n el.children.pop();\n }\n }\n }\n\n function checkRootConstraints (el) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.',\n { start: el.start }\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.',\n el.rawAttrsMap['v-for']\n );\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n outputSourceRange: options.outputSourceRange,\n start: function start (tag, attrs, unary, start$1, end) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n {\n if (options.outputSourceRange) {\n element.start = start$1;\n element.end = end;\n element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) {\n cumulated[attr.name] = attr;\n return cumulated\n }, {});\n }\n attrs.forEach(function (attr) {\n if (invalidAttributeRE.test(attr.name)) {\n warn$2(\n \"Invalid dynamic argument expression: attribute names cannot contain \" +\n \"spaces, quotes, <, >, / or =.\",\n {\n start: attr.start + attr.name.indexOf(\"[\"),\n end: attr.start + attr.name.length\n }\n );\n }\n });\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.',\n { start: element.start }\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n }\n\n if (!root) {\n root = element;\n {\n checkRootConstraints(root);\n }\n }\n\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end (tag, start, end$1) {\n var element = stack[stack.length - 1];\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n if (options.outputSourceRange) {\n element.end = end$1;\n }\n closeElement(element);\n },\n\n chars: function chars (text, start, end) {\n if (!currentParent) {\n {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.',\n { start: start }\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\"),\n { start: start }\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n if (inPre || text.trim()) {\n text = isTextTag(currentParent) ? text : decodeHTMLCached(text);\n } else if (!children.length) {\n // remove the whitespace-only node right after an opening tag\n text = '';\n } else if (whitespaceOption) {\n if (whitespaceOption === 'condense') {\n // in condense mode, remove the whitespace node if it contains\n // line break, otherwise condense to a single space\n text = lineBreakRE.test(text) ? '' : ' ';\n } else {\n text = ' ';\n }\n } else {\n text = preserveWhitespace ? ' ' : '';\n }\n if (text) {\n if (!inPre && whitespaceOption === 'condense') {\n // condense consecutive whitespaces into single space\n text = text.replace(whitespaceRE$1, ' ');\n }\n var res;\n var child;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n child = {\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n };\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n child = {\n type: 3,\n text: text\n };\n }\n if (child) {\n if (options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n children.push(child);\n }\n }\n },\n comment: function comment (text, start, end) {\n // adding anything as a sibling to the root node is forbidden\n // comments should still be allowed, but ignored\n if (currentParent) {\n var child = {\n type: 3,\n text: text,\n isComment: true\n };\n if (options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n currentParent.children.push(child);\n }\n }\n });\n return root\n }\n\n function processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n }\n\n function processRawAttrs (el) {\n var list = el.attrsList;\n var len = list.length;\n if (len) {\n var attrs = el.attrs = new Array(len);\n for (var i = 0; i < len; i++) {\n attrs[i] = {\n name: list[i].name,\n value: JSON.stringify(list[i].value)\n };\n if (list[i].start != null) {\n attrs[i].start = list[i].start;\n attrs[i].end = list[i].end;\n }\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n }\n\n function processElement (\n element,\n options\n ) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = (\n !element.key &&\n !element.scopedSlots &&\n !element.attrsList.length\n );\n\n processRef(element);\n processSlotContent(element);\n processSlotOutlet(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n return element\n }\n\n function processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n {\n if (el.tag === 'template') {\n warn$2(\n \"<template> cannot be keyed. Place the key on real elements instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n if (el.for) {\n var iterator = el.iterator2 || el.iterator1;\n var parent = el.parent;\n if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {\n warn$2(\n \"Do not use v-for index as key on <transition-group> children, \" +\n \"this is the same as not using keys.\",\n getRawBindingAttr(el, 'key'),\n true /* tip */\n );\n }\n }\n }\n el.key = exp;\n }\n }\n\n function processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n }\n\n function processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else {\n warn$2(\n (\"Invalid v-for expression: \" + exp),\n el.rawAttrsMap['v-for']\n );\n }\n }\n }\n\n\n\n function parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '').trim();\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n }\n\n function processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n }\n\n function processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\",\n el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']\n );\n }\n }\n\n function findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\",\n children[i]\n );\n }\n children.pop();\n }\n }\n }\n\n function addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n }\n\n function processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n }\n\n // handle content being passed to a component as slot,\n // e.g. <template slot=\"xxx\">, <div slot-scope=\"xxx\">\n function processSlotContent (el) {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n el.rawAttrsMap['scope'],\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n el.rawAttrsMap['slot-scope'],\n true\n );\n }\n el.slotScope = slotScope;\n }\n\n // slot=\"xxx\"\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));\n }\n }\n\n // 2.6 v-slot syntax\n {\n if (el.tag === 'template') {\n // v-slot on <template>\n var slotBinding = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding) {\n {\n if (el.slotTarget || el.slotScope) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.parent && !maybeComponent(el.parent)) {\n warn$2(\n \"<template v-slot> can only appear at the root level inside \" +\n \"the receiving component\",\n el\n );\n }\n }\n var ref = getSlotName(slotBinding);\n var name = ref.name;\n var dynamic = ref.dynamic;\n el.slotTarget = name;\n el.slotTargetDynamic = dynamic;\n el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf\n }\n } else {\n // v-slot on component, denotes default slot\n var slotBinding$1 = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding$1) {\n {\n if (!maybeComponent(el)) {\n warn$2(\n \"v-slot can only be used on components or <template>.\",\n slotBinding$1\n );\n }\n if (el.slotScope || el.slotTarget) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.scopedSlots) {\n warn$2(\n \"To avoid scope ambiguity, the default slot should also use \" +\n \"<template> syntax when there are other named slots.\",\n slotBinding$1\n );\n }\n }\n // add the component's children to its default slot\n var slots = el.scopedSlots || (el.scopedSlots = {});\n var ref$1 = getSlotName(slotBinding$1);\n var name$1 = ref$1.name;\n var dynamic$1 = ref$1.dynamic;\n var slotContainer = slots[name$1] = createASTElement('template', [], el);\n slotContainer.slotTarget = name$1;\n slotContainer.slotTargetDynamic = dynamic$1;\n slotContainer.children = el.children.filter(function (c) {\n if (!c.slotScope) {\n c.parent = slotContainer;\n return true\n }\n });\n slotContainer.slotScope = slotBinding$1.value || emptySlotScopeToken;\n // remove children as they are returned from scopedSlots now\n el.children = [];\n // mark el non-plain so data gets generated\n el.plain = false;\n }\n }\n }\n }\n\n function getSlotName (binding) {\n var name = binding.name.replace(slotRE, '');\n if (!name) {\n if (binding.name[0] !== '#') {\n name = 'default';\n } else {\n warn$2(\n \"v-slot shorthand syntax requires a slot name.\",\n binding\n );\n }\n }\n return dynamicArgRE.test(name)\n // dynamic [name]\n ? { name: name.slice(1, -1), dynamic: true }\n // static name\n : { name: (\"\\\"\" + name + \"\\\"\"), dynamic: false }\n }\n\n // handle <slot/> outlets\n function processSlotOutlet (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n }\n }\n\n function processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n }\n\n function processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, syncGen, isDynamic;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name.replace(dirRE, ''));\n // support .foo shorthand syntax for the .prop modifier\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n if (\n value.trim().length === 0\n ) {\n warn$2(\n (\"The value for a v-bind expression cannot be empty. Found in \\\"v-bind:\" + name + \"\\\"\")\n );\n }\n if (modifiers) {\n if (modifiers.prop && !isDynamic) {\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel && !isDynamic) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n syncGen = genAssignmentCode(value, \"$event\");\n if (!isDynamic) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n if (hyphenate(name) !== camelize(name)) {\n addHandler(\n el,\n (\"update:\" + (hyphenate(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n }\n } else {\n // handler w/ dynamic event name\n addHandler(\n el,\n (\"\\\"update:\\\"+(\" + name + \")\"),\n syncGen,\n null,\n false,\n warn$2,\n list[i],\n true // dynamic\n );\n }\n }\n }\n if ((modifiers && modifiers.prop) || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value, list[i], isDynamic);\n } else {\n addAttr(el, name, value, list[i], isDynamic);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n isDynamic = false;\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n if (dynamicArgRE.test(arg)) {\n arg = arg.slice(1, -1);\n isDynamic = true;\n }\n }\n addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);\n if (name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.',\n list[i]\n );\n }\n }\n addAttr(el, name, JSON.stringify(value), list[i]);\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true', list[i]);\n }\n }\n }\n }\n\n function checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n }\n\n function parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n }\n\n function makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n }\n\n // for script (e.g. type=\"x/template\") or style, do not decode content\n function isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n }\n\n function isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n }\n\n var ieNSBug = /^xmlns:NS\\d+/;\n var ieNSPrefix = /^NS\\d+:/;\n\n /* istanbul ignore next */\n function guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n }\n\n function checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n _el = _el.parent;\n }\n }\n\n /* */\n\n function preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n }\n\n function cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n }\n\n var model$1 = {\n preTransformNode: preTransformNode\n };\n\n var modules$1 = [\n klass$1,\n style$1,\n model$1\n ];\n\n /* */\n\n function text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n }\n\n /* */\n\n function html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n }\n\n var directives$1 = {\n model: model,\n text: text,\n html: html\n };\n\n /* */\n\n var baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n };\n\n /* */\n\n var isStaticKey;\n var isPlatformReservedTag;\n\n var genStaticKeysCached = cached(genStaticKeys$1);\n\n /**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\n function optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n }\n\n function genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +\n (keys ? ',' + keys : '')\n )\n }\n\n function markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n }\n\n function markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n }\n\n function isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n }\n\n function isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n }\n\n /* */\n\n var fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function(?:\\s+[\\w$]+)?\\s*\\(/;\n var fnInvokeRE = /\\([^)]*?\\);*$/;\n var simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n // KeyboardEvent.keyCode aliases\n var keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n };\n\n // KeyboardEvent.key aliases\n var keyNames = {\n // #7880: IE11 and Edge use `Esc` for Escape key name.\n esc: ['Esc', 'Escape'],\n tab: 'Tab',\n enter: 'Enter',\n // #9112: IE11 uses `Spacebar` for Space key name.\n space: [' ', 'Spacebar'],\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n // #9112: IE11 uses `Del` for Delete key name.\n 'delete': ['Backspace', 'Delete', 'Del']\n };\n\n // #4868: modifiers that prevent the execution of the listener\n // need to explicitly return null so that we can determine whether to remove\n // the listener for .once\n var genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\n var modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n };\n\n function genHandlers (\n events,\n isNative\n ) {\n var prefix = isNative ? 'nativeOn:' : 'on:';\n var staticHandlers = \"\";\n var dynamicHandlers = \"\";\n for (var name in events) {\n var handlerCode = genHandler(events[name]);\n if (events[name] && events[name].dynamic) {\n dynamicHandlers += name + \",\" + handlerCode + \",\";\n } else {\n staticHandlers += \"\\\"\" + name + \"\\\":\" + handlerCode + \",\";\n }\n }\n staticHandlers = \"{\" + (staticHandlers.slice(0, -1)) + \"}\";\n if (dynamicHandlers) {\n return prefix + \"_d(\" + staticHandlers + \",[\" + (dynamicHandlers.slice(0, -1)) + \"])\"\n } else {\n return prefix + staticHandlers\n }\n }\n\n function genHandler (handler) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n return (\"function($event){\" + (isFunctionInvocation ? (\"return \" + (handler.value)) : handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : isFunctionInvocation\n ? (\"return \" + (handler.value))\n : handler.value;\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n }\n\n function genKeyFilter (keys) {\n return (\n // make sure the key filters only apply to KeyboardEvents\n // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake\n // key events that do not have keyCode property...\n \"if(!$event.type.indexOf('key')&&\" +\n (keys.map(genFilterCode).join('&&')) + \")return null;\"\n )\n }\n\n function genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n }\n\n /* */\n\n function on (el, dir) {\n if (dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n }\n\n /* */\n\n function bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n }\n\n /* */\n\n var baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n };\n\n /* */\n\n\n\n\n\n var CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n this.pre = false;\n };\n\n\n\n function generate (\n ast,\n options\n ) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n }\n\n function genElement (el, state) {\n if (el.parent) {\n el.pre = el.pre || el.parent.pre;\n }\n\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget && !state.pre) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data;\n if (!el.plain || (el.pre && state.maybeComponent(el))) {\n data = genData$2(el, state);\n }\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n }\n\n // hoist static sub-trees out\n function genStatic (el, state) {\n el.staticProcessed = true;\n // Some elements (templates) need to behave differently inside of a v-pre\n // node. All pre nodes are static roots, so we can use this as a location to\n // wrap a state change and reset it upon exiting the pre node.\n var originalPreState = state.pre;\n if (el.pre) {\n state.pre = el.pre;\n }\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n state.pre = originalPreState;\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n }\n\n // v-once\n function genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n state.warn(\n \"v-once can only be used inside v-for that is keyed. \",\n el.rawAttrsMap['v-once']\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n }\n\n function genIf (\n el,\n state,\n altGen,\n altEmpty\n ) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n }\n\n function genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n ) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n }\n\n function genFor (\n el,\n state,\n altGen,\n altHelper\n ) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n el.rawAttrsMap['v-for'],\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n }\n\n function genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:\" + (genProps(el.attrs)) + \",\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:\" + (genProps(el.props)) + \",\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el, el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind dynamic argument wrap\n // v-bind with dynamic arguments must be applied using the same v-bind object\n // merge helper so that class/style/mustUseProp attrs are handled correctly.\n if (el.dynamicAttrs) {\n data = \"_b(\" + data + \",\\\"\" + (el.tag) + \"\\\",\" + (genProps(el.dynamicAttrs)) + \")\";\n }\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n }\n\n function genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\" + (dir.isDynamicArg ? dir.arg : (\"\\\"\" + (dir.arg) + \"\\\"\"))) : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n }\n\n function genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (el.children.length !== 1 || ast.type !== 1) {\n state.warn(\n 'Inline-template components must have exactly one child element.',\n { start: el.start }\n );\n }\n if (ast && ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n }\n\n function genScopedSlots (\n el,\n slots,\n state\n ) {\n // by default scoped slots are considered \"stable\", this allows child\n // components with only scoped slots to skip forced updates from parent.\n // but in some cases we have to bail-out of this optimization\n // for example if the slot contains dynamic names, has v-if or v-for on them...\n var needsForceUpdate = el.for || Object.keys(slots).some(function (key) {\n var slot = slots[key];\n return (\n slot.slotTargetDynamic ||\n slot.if ||\n slot.for ||\n containsSlotChild(slot) // is passing down slot from parent which may be dynamic\n )\n });\n\n // #9534: if a component with scoped slots is inside a conditional branch,\n // it's possible for the same component to be reused but with different\n // compiled slot content. To avoid that, we generate a unique key based on\n // the generated code of all the slot contents.\n var needsKey = !!el.if;\n\n // OR when it is inside another scoped slot or v-for (the reactivity may be\n // disconnected due to the intermediate scope variable)\n // #9438, #9506\n // TODO: this can be further optimized by properly analyzing in-scope bindings\n // and skip force updating ones that do not actually use scope variables.\n if (!needsForceUpdate) {\n var parent = el.parent;\n while (parent) {\n if (\n (parent.slotScope && parent.slotScope !== emptySlotScopeToken) ||\n parent.for\n ) {\n needsForceUpdate = true;\n break\n }\n if (parent.if) {\n needsKey = true;\n }\n parent = parent.parent;\n }\n }\n\n var generatedSlots = Object.keys(slots)\n .map(function (key) { return genScopedSlot(slots[key], state); })\n .join(',');\n\n return (\"scopedSlots:_u([\" + generatedSlots + \"]\" + (needsForceUpdate ? \",null,true\" : \"\") + (!needsForceUpdate && needsKey ? (\",null,false,\" + (hash(generatedSlots))) : \"\") + \")\")\n }\n\n function hash(str) {\n var hash = 5381;\n var i = str.length;\n while(i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0\n }\n\n function containsSlotChild (el) {\n if (el.type === 1) {\n if (el.tag === 'slot') {\n return true\n }\n return el.children.some(containsSlotChild)\n }\n return false\n }\n\n function genScopedSlot (\n el,\n state\n ) {\n var isLegacySyntax = el.attrsMap['slot-scope'];\n if (el.if && !el.ifProcessed && !isLegacySyntax) {\n return genIf(el, state, genScopedSlot, \"null\")\n }\n if (el.for && !el.forProcessed) {\n return genFor(el, state, genScopedSlot)\n }\n var slotScope = el.slotScope === emptySlotScopeToken\n ? \"\"\n : String(el.slotScope);\n var fn = \"function(\" + slotScope + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if && isLegacySyntax\n ? (\"(\" + (el.if) + \")?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n // reverse proxy v-slot without scope on this.$slots\n var reverseProxy = slotScope ? \"\" : \",proxy:true\";\n return (\"{key:\" + (el.slotTarget || \"\\\"default\\\"\") + \",fn:\" + fn + reverseProxy + \"}\")\n }\n\n function genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n ) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n var normalizationType = checkSkip\n ? state.maybeComponent(el$1) ? \",1\" : \",0\"\n : \"\";\n return (\"\" + ((altGenElement || genElement)(el$1, state)) + normalizationType)\n }\n var normalizationType$1 = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType$1 ? (\",\" + normalizationType$1) : ''))\n }\n }\n\n // determine the normalization needed for the children array.\n // 0: no normalization needed\n // 1: simple normalization needed (possible 1-level deep nested array)\n // 2: full normalization needed\n function getNormalizationType (\n children,\n maybeComponent\n ) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n }\n\n function needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n }\n\n function genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } else if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n }\n\n function genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n }\n\n function genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n }\n\n function genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs || el.dynamicAttrs\n ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({\n // slot props are camelized\n name: camelize(attr.name),\n value: attr.value,\n dynamic: attr.dynamic\n }); }))\n : null;\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n }\n\n // componentName is el.component, take it as argument to shun flow's pessimistic refinement\n function genComponent (\n componentName,\n el,\n state\n ) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n }\n\n function genProps (props) {\n var staticProps = \"\";\n var dynamicProps = \"\";\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n var value = transformSpecialNewlines(prop.value);\n if (prop.dynamic) {\n dynamicProps += (prop.name) + \",\" + value + \",\";\n } else {\n staticProps += \"\\\"\" + (prop.name) + \"\\\":\" + value + \",\";\n }\n }\n staticProps = \"{\" + (staticProps.slice(0, -1)) + \"}\";\n if (dynamicProps) {\n return (\"_d(\" + staticProps + \",[\" + (dynamicProps.slice(0, -1)) + \"])\")\n } else {\n return staticProps\n }\n }\n\n // #3895, #4268\n function transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n }\n\n /* */\n\n\n\n // these keywords should not appear inside expressions, but operators like\n // typeof, instanceof and in are allowed\n var prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n ).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n // these unary operators should not be used as property/method names\n var unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n ).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n // strip strings in expressions\n var stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n // detect problematic expressions in a template\n function detectErrors (ast, warn) {\n if (ast) {\n checkNode(ast, warn);\n }\n }\n\n function checkNode (node, warn) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n var range = node.rawAttrsMap[name];\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), warn, range);\n } else if (name === 'v-slot' || name[0] === '#') {\n checkFunctionParameterExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], warn);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, warn, node);\n }\n }\n\n function checkEvent (exp, text, warn, range) {\n var stripped = exp.replace(stripStringRE, '');\n var keywordMatch = stripped.match(unaryOperatorsRE);\n if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') {\n warn(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim()),\n range\n );\n }\n checkExpression(exp, text, warn, range);\n }\n\n function checkFor (node, text, warn, range) {\n checkExpression(node.for || '', text, warn, range);\n checkIdentifier(node.alias, 'v-for alias', text, warn, range);\n checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);\n checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);\n }\n\n function checkIdentifier (\n ident,\n type,\n text,\n warn,\n range\n ) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n warn((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())), range);\n }\n }\n }\n\n function checkExpression (exp, text, warn, range) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n warn(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim()),\n range\n );\n } else {\n warn(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\",\n range\n );\n }\n }\n }\n\n function checkFunctionParameterExpression (exp, text, warn, range) {\n try {\n new Function(exp, '');\n } catch (e) {\n warn(\n \"invalid function parameter expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\",\n range\n );\n }\n }\n\n /* */\n\n var range = 2;\n\n function generateCodeFrame (\n source,\n start,\n end\n ) {\n if ( start === void 0 ) start = 0;\n if ( end === void 0 ) end = source.length;\n\n var lines = source.split(/\\r?\\n/);\n var count = 0;\n var res = [];\n for (var i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (var j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) { continue }\n res.push((\"\" + (j + 1) + (repeat$1(\" \", 3 - String(j + 1).length)) + \"| \" + (lines[j])));\n var lineLength = lines[j].length;\n if (j === i) {\n // push underline\n var pad = start - (count - lineLength) + 1;\n var length = end > count ? lineLength - pad : end - start;\n res.push(\" | \" + repeat$1(\" \", pad) + repeat$1(\"^\", length));\n } else if (j > i) {\n if (end > count) {\n var length$1 = Math.min(end - count, lineLength);\n res.push(\" | \" + repeat$1(\"^\", length$1));\n }\n count += lineLength + 1;\n }\n }\n break\n }\n }\n return res.join('\\n')\n }\n\n function repeat$1 (str, n) {\n var result = '';\n if (n > 0) {\n while (true) { // eslint-disable-line\n if (n & 1) { result += str; }\n n >>>= 1;\n if (n <= 0) { break }\n str += str;\n }\n }\n return result\n }\n\n /* */\n\n\n\n function createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n }\n\n function createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n {\n if (compiled.errors && compiled.errors.length) {\n if (options.outputSourceRange) {\n compiled.errors.forEach(function (e) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + (e.msg) + \"\\n\\n\" +\n generateCodeFrame(template, e.start, e.end),\n vm\n );\n });\n } else {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n }\n if (compiled.tips && compiled.tips.length) {\n if (options.outputSourceRange) {\n compiled.tips.forEach(function (e) { return tip(e.msg, vm); });\n } else {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n }\n\n /* */\n\n function createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n\n var warn = function (msg, range, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n if (options.outputSourceRange) {\n // $flow-disable-line\n var leadingSpaceLength = template.match(/^\\s*/)[0].length;\n\n warn = function (msg, range, tip) {\n var data = { msg: msg };\n if (range) {\n if (range.start != null) {\n data.start = range.start + leadingSpaceLength;\n }\n if (range.end != null) {\n data.end = range.end + leadingSpaceLength;\n }\n }\n (tip ? tips : errors).push(data);\n };\n }\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n finalOptions.warn = warn;\n\n var compiled = baseCompile(template.trim(), finalOptions);\n {\n detectErrors(compiled.ast, warn);\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n }\n\n /* */\n\n // `createCompilerCreator` allows creating compilers that use alternative\n // parser/optimizer/codegen, e.g the SSR optimizing compiler.\n // Here we just export a default compiler using the default parts.\n var createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n ) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n });\n\n /* */\n\n var ref$1 = createCompiler(baseOptions);\n var compile = ref$1.compile;\n var compileToFunctions = ref$1.compileToFunctions;\n\n /* */\n\n // check whether current browser encodes a char inside attribute values\n var div;\n function getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf(' ') > 0\n }\n\n // #3663: IE encodes newlines inside attribute values while other browsers don't\n var shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n // #6828: chrome encodes content in a[href]\n var shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n /* */\n\n var idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n });\n\n var mount = Vue.prototype.$mount;\n Vue.prototype.$mount = function (\n el,\n hydrating\n ) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (!template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n outputSourceRange: \"development\" !== 'production',\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n };\n\n /**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\n function getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n }\n\n Vue.compile = compileToFunctions;\n\n VueVendorV2 = Vue;\n}\n\nexport {VueVendorV2};"],"names":["exports","VueVendorV2","currentVersion","version","console","warn","emptyObject","Object","freeze","isUndef","v","undefined","isDef","isTrue","isFalse","isPrimitive","value","isObject","obj","_toString","prototype","toString","toRawType","call","slice","isPlainObject","isRegExp","isValidArrayIndex","val","n","parseFloat","String","Math","floor","isFinite","isPromise","then","catch","Array","isArray","JSON","stringify","toNumber","isNaN","makeMap","str","expectsLowerCase","map","create","list","split","i","length","toLowerCase","isBuiltInTag","isReservedAttribute","remove","arr","item","index","indexOf","splice","hasOwnProperty","hasOwn","key","cached","fn","cache","cachedFn","hit","camelizeRE","camelize","replace","_","c","toUpperCase","capitalize","charAt","hyphenateRE","hyphenate","polyfillBind","ctx","boundFn","a","l","arguments","apply","_length","nativeBind","bind","Function","toArray","start","ret","extend","to","_from","toObject","res","noop","b","no","identity","genStaticKeys","modules","reduce","keys","m","concat","staticKeys","join","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","e","Date","getTime","keysA","keysB","looseIndexOf","once","called","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","charCodeAt","def","enumerable","defineProperty","writable","configurable","bailRE","RegExp","source","parsePath","path","test","segments","hasProto","inBrowser","window","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","isIE9","isEdge","isAndroid","isIOS","isChrome","isPhantomJS","isFF","match","nativeWatch","watch","supportsPassive","opts","get","addEventListener","_isServer","isServerRendering","global","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","hasSymbol","Symbol","Reflect","ownKeys","_Set","Set","set","has","add","clear","tip","generateComponentTrace","formatComponentName","hasConsole","classifyRE","classify","msg","vm","trace","error","includeFile","$root","options","cid","_isVue","$options","constructor","name","_componentTag","file","__file","repeat","$parent","tree","currentRecursiveSequence","last","push","uid","Dep","id","subs","addSub","sub","removeSub","depend","target","addDep","notify","sort","update","targetStack","pushTarget","popTarget","pop","VNode","tag","data","children","text","elm","context","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","forEach","method","original","mutator","args","len","result","ob","__ob__","inserted","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","defineReactive$$1","items","observe","src","__proto__","asRootData","isExtensible","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","reactiveGetter","dependArray","reactiveSetter","newVal","max","del","strats","el","propsData","defaultStrat","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","mergedDataFn","mergedInstanceDataFn","instanceData","defaultData","mergeHook","dedupeHooks","hooks","hook","mergeAssets","assertObjectType","type","key$1","props","methods","inject","computed","provide","checkComponents","components","validateComponentName","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","prop","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","getPropDefaultValue","prevShouldObserve","assertProp","default","_props","getType","required","valid","expectedTypes","assertedType","assertType","expectedType","getInvalidTypeMessage","validator","simpleCheckRE","t","isSameType","message","receivedType","expectedValue","styleValue","receivedValue","isExplicable","isBoolean","Number","explicitTypes","some","elem","handleError","err","info","cur","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","timerFunc","Promise","p","resolve","setTimeout","MutationObserver","counter","observer","textNode","document","createTextNode","characterData","setImmediate","nextTick","cb","_resolve","mark","measure","perf","clearMarks","clearMeasures","startTag","endTag","initProxy","allowedGlobals","warnNonPresent","warnReservedPrefix","hasProxy","Proxy","isBuiltInModifier","hasHandler","isAllowed","$data","getHandler","handlers","render","_withStripped","_renderProxy","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","event","params","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","attrs","altKey","keyInLowerCase","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","shift","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","iterator","next","done","renderSlot","fallback","bindObject","scopedSlotFn","$scopedSlots","nodes","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","staticRenderFns","markStatic","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","this$1","contextVm","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","d","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","devtoolsMeta","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","destroy","$destroy","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","functional","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","callback","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","is","$vnode","pre","applyNS","registerDeepBindings","force","style","class","initRender","_vnode","parentVnode","_renderChildren","parentData","isUpdatingChildComponent","_parentListeners","currentRenderingInstance","renderMixin","Vue","$nextTick","_render","ref","renderError","ensureCtor","comp","base","__esModule","toStringTag","factory","errorComp","resolved","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","$forceUpdate","clearTimeout","reject","reason","component","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","eventsMixin","hookRE","$once","i$1","cbs","$emit","lowerCaseEvent","setActiveInstance","prevActiveInstance","initLifecycle","$children","$refs","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","mountComponent","template","updateComponent","_name","_uid","Watcher","before","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","direct","j","MAX_UPDATE_COUNT","queue","activatedChildren","circular","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","now","createEvent","timeStamp","flushSchedulerQueue","watcher","run","user","expression","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","expOrFn","isRenderWatcher","deep","lazy","active","dirty","deps","newDeps","depIds","newDepIds","cleanupDeps","tmp","oldValue","evaluate","sharedPropertyDefinition","sourceKey","proxyGetter","proxySetter","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","computedGetter","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","immediate","unwatchFn","uid$3","initMixin","_init","initInternalComponent","_self","vnodeComponentOptions","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","unshift","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","VueComponent","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","filter","cachedNode","pruneCacheEntry","current","cached$$1","patternTypes","KeepAlive","include","exclude","created","destroyed","mounted","ref$1","parseInt","builtInComponents","initGlobalAPI","configDef","util","defineReactive","delete","observable","ssrContext","acceptValue","attr","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","isPreTag","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","removeNode","isUnknownElement$$1","inVPre","ignore","creatingElmInVPre","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","checkDuplicateKeys","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","oldKeyToIdx","idxInOld","vnodeToMove","canMove","patchVnode","findIdxInOld","seenKeys","end","hydrate","postpatch","invokeInsertHook","initial","hydrationBailed","isRenderedModule","assertNodeMatch","hasChildNodes","innerHTML","childrenMatch","firstChild","childNodes","fullInvoke","nodeType","patch","isInitialPatch","isRealElement","hasAttribute","removeAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","unbindDirectives","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldDir","dir","callHook$1","oldArg","arg","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","klass","validDivisionCharRE","parseFilters","exp","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","prev","filters","trim","pushFilter","wrapFilter","baseWarn","range","pluckModuleFunction","addProp","dynamic","rangeSetItem","plain","addAttr","dynamicAttrs","addRawAttr","attrsMap","attrsList","addDirective","isDynamicArg","prependModifierMarker","addHandler","important","prevent","right","middle","events","native","nativeEvents","newHandler","getRawBindingAttr","rawAttrsMap","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","getAndRemoveAttrByRegex","genComponentModel","number","baseValueExpression","valueExpression","assignment","genAssignmentCode","parseModel","chr","index$1","expressionPos","expressionEndPos","lastIndexOf","eof","isStringStart","parseString","parseBracket","inBracket","stringQuote","warn$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","_warn","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","code","value$1","typeBinding","binding","needCompositionGuard","normalizeEvents","change","target$1","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","svgContainer","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","emptyStyle","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","s","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","checkDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","vmodel","trigger","directive","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","o","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","mode","getRealChild","compOptions","extractTransitionData","placeholder","h","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","pos","getBoundingClientRect","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","body","offsetHeight","moved","transform","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","left","dy","top","platformComponents","defaultTagRE","regexEscapeRE","buildRegex","delimiters","open","close","parseText","tagRE","tokens","rawTokens","tokenValue","exec","transformNode","classBinding","genData","klass$1","transformNode$1","styleBinding","genData$1","style$1","decoder","he","decode","html","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","attribute","dynamicArgAttribute","ncname","qnameCapture","startTagOpen","startTagClose","doctype","comment","conditionalComment","isPlainTextElement","reCache","decodingMap","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","re","parseHTML","stack","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","lastTag","textEnd","commentEnd","shouldKeepComment","substring","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","parseEndTag","startTagMatch","parseStartTag","handleStartTag","rest","chars","endTagLength","stackedTag","reStackedTag","rest$1","all","unarySlash","unary","shouldDecodeNewlinesForHref","outputSourceRange","lowerCasedTag","lowerCasedTagName","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","dynamicArgRE","argRE","bindRE","modifierRE","slotRE","lineBreakRE","whitespaceRE$1","invalidAttributeRE","decodeHTMLCached","emptySlotScopeToken","warn$2","transforms","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","maybeComponent","createASTElement","makeAttrsMap","parse","preserveWhitespace","whitespaceOption","whitespace","root","currentParent","inPre","warned","warnOnce","closeElement","element","trimEndingWhitespace","processed","processElement","if","elseif","else","checkRootConstraints","addIfCondition","block","forbidden","processIfConditions","slotScope","slotTarget","lastNode","comments","start$1","guardIESVGBug","cumulated","isForbiddenTag","processPre","processRawAttrs","processFor","processIf","processOnce","end$1","isTextTag","processKey","processRef","processSlotContent","processSlotOutlet","processComponent","processAttrs","for","iterator2","iterator1","checkInFor","parseFor","inMatch","alias","iteratorMatch","findPrevElement","condition","ifConditions","slotTargetDynamic","slotBinding","getSlotName","slotBinding$1","dynamic$1","slotContainer","slotName","syncGen","isDynamic","hasBindings","parseModifiers","camel","argMatch","checkForAliasModel","ieNSBug","ieNSPrefix","_el","preTransformNode","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","model$1","modules$1","directives$1","baseOptions","isStaticKey","isPlatformReservedTag","genStaticKeysCached","genStaticKeys$1","optimize","markStatic$1","markStaticRoots","static","l$1","staticInFor","staticRoot","isDirectChildOfTemplateFor","fnExpRE","fnInvokeRE","simplePathRE","esc","tab","space","up","down","keyNames","genGuard","modifierCode","stop","self","ctrl","alt","meta","genHandlers","prefix","staticHandlers","dynamicHandlers","handlerCode","genHandler","isMethodPath","isFunctionExpression","isFunctionInvocation","genModifierCode","keyModifier","genKeyFilter","genFilterCode","keyVal","keyCode","keyName","wrapListeners","bind$1","wrapData","baseDirectives","cloak","CodegenState","dataGenFns","onceId","generate","ast","state","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genChildren","genSlot","genComponent","genData$2","originalPreState","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","genProps","genScopedSlots","genInlineTemplate","hasRuntime","needRuntime","gen","inlineRenderFns","containsSlotChild","needsKey","generatedSlots","genScopedSlot","isLegacySyntax","reverseProxy","checkSkip","altGenElement","altGenNode","el$1","normalizationType$1","getNormalizationType","genNode","needsNormalization","genComment","genText","transformSpecialNewlines","bind$$1","componentName","staticProps","dynamicProps","prohibitedKeywordRE","unaryOperatorsRE","stripStringRE","detectErrors","checkNode","checkFor","checkFunctionParameterExpression","checkEvent","checkExpression","stripped","keywordMatch","checkIdentifier","ident","generateCodeFrame","lines","count","repeat$1","lineLength","pad","length$1","min","createFunction","errors","createCompileToFunctionFn","compile","compileToFunctions","warn$$1","compiled","tips","fnGenErrors","createCompilerCreator","baseCompile","createCompiler","finalOptions","leadingSpaceLength","div","getShouldDecode","href","idToTemplate","mount","documentElement","getOuterHTML","outerHTML","container"],"mappings":"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"}