{"version":3,"file":"js/chunk-vendors-655c3335.282d1aec.js","mappings":"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","sources":["webpack://wasatch_upp/../node_modules/.pnpm/vue-loader@15.10.1_css-loader@6.7.3_webpack@5.79.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://wasatch_upp/../node_modules/.pnpm/vue-router@3.1.6_vue@2.7.13/node_modules/vue-router/dist/vue-router.esm.js"],"sourcesContent":["/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * vue-router v3.1.6\n * (c) 2020 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isExtendedError (constructor, err) {\n return (\n err instanceof constructor ||\n // _name is to support IE9 too\n (err && (err.name === constructor.name || err._name === constructor._name))\n )\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cachce\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"RouterLink with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\nvar NavigationDuplicated = /*@__PURE__*/(function (Error) {\n function NavigationDuplicated (normalizedLocation) {\n Error.call(this);\n this.name = this._name = 'NavigationDuplicated';\n // passing the message to super() doesn't seem to work in the transpiled version\n this.message = \"Navigating to current location (\\\"\" + (normalizedLocation.fullPath) + \"\\\") is not allowed\";\n // add a stack property so services like Sentry can correctly display it\n Object.defineProperty(this, 'stack', {\n value: new Error().stack,\n writable: true,\n configurable: true\n });\n // we could also have used\n // Error.captureStackTrace(this, this.constructor)\n // but it only exists on node and chrome\n }\n\n if ( Error ) NavigationDuplicated.__proto__ = Error;\n NavigationDuplicated.prototype = Object.create( Error && Error.prototype );\n NavigationDuplicated.prototype.constructor = NavigationDuplicated;\n\n return NavigationDuplicated;\n}(Error));\n\n// support IE9\nNavigationDuplicated._name = 'NavigationDuplicated';\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(\n route,\n function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n // after merging https://github.com/vuejs/vue-router/pull/2771 we\n // When the user navigates through history through back/forward buttons\n // we do not want to throw the error. We only throw it if directly calling\n // push/replace. That's why it's not included in isError\n if (!isExtendedError(NavigationDuplicated, err) && isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort(new NavigationDuplicated(route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) {\n cb();\n });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n next(cb);\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (\n instances[key] &&\n !instances[key]._isBeingDestroyed // do not reuse being destroyed instance\n ) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = decodeURI(window.location.pathname);\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(\n supportsPushState ? 'popstate' : 'hashchange',\n function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n }\n );\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n // decode the hash but not the search or hash\n // as search(query) is already decoded\n // https://github.com/vuejs/vue-router/issues/2708\n var searchIndex = href.indexOf('?');\n if (searchIndex < 0) {\n var hashIndex = href.indexOf('#');\n if (hashIndex > -1) {\n href = decodeURI(href.slice(0, hashIndex)) + href.slice(hashIndex);\n } else { href = decodeURI(href); }\n } else {\n href = decodeURI(href.slice(0, searchIndex)) + href.slice(searchIndex);\n }\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n },\n function (err) {\n if (isExtendedError(NavigationDuplicated, err)) {\n this$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1.apps.indexOf(app);\n if (index > -1) { this$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(\n to,\n current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.1.6';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n"],"names":["normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","warn","condition","message","isError","err","Object","prototype","toString","indexOf","isExtendedError","constructor","name","_name","extend","a","b","key","View","props","type","String","default","_","ref","children","data","routerView","$createElement","route","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","component","configProps","fillPropsinData","matched","components","registerRouteInstance","vm","val","current","instances","prepatch","vnode","componentInstance","init","propsToPass","resolveProps","attrs","config","params","undefined","encodeReserveRE","encodeReserveReplacer","c","charCodeAt","commaRE","encode","str","encodeURIComponent","replace","decode","decodeURIComponent","resolveQuery","query","extraQuery","_parseQuery","parsedQuery","parse","parseQuery","e","res","trim","split","forEach","param","parts","shift","length","join","Array","isArray","push","stringifyQuery","obj","keys","map","result","val2","filter","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","clone","meta","path","hash","fullPath","getFullPath","formatMatch","freeze","value","START","unshift","_stringifyQuery","stringify","isSameRoute","isObjectEqual","aKeys","bKeys","every","aVal","bVal","isIncludedRoute","target","queryIncludes","resolvePath","relative","base","append","firstChar","charAt","stack","pop","segments","i","segment","parsePath","hashIndex","slice","queryIndex","cleanPath","isarray","arr","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","RegExp","tokens","index","defaultDelimiter","delimiter","exec","m","escaped","offset","next","prefix","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","encodeAsterisk","matches","opts","pretty","token","TypeError","JSON","j","test","attachKeys","re","flags","sensitive","regexpToRegexp","groups","source","match","arrayToRegexp","regexp","stringToRegexp","strict","end","endsWithDelimiter","regexpCompileCache","create","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","basePath","_Vue","toTypes","eventTypes","noop","Link","to","required","tag","exact","Boolean","activeClass","exactActiveClass","event","this$1","$router","resolve","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","handler","guardEvent","on","click","class","scopedSlot","$scopedSlots","$hasNormal","navigate","isActive","isExactActive","findAnchor","$slots","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","getAttribute","preventDefault","child","install","Vue","installed","isDef","v","registerInstance","callVal","_parentVnode","mixin","_router","util","defineReactive","history","destroyed","defineProperty","get","_route","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","inBrowser","window","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","l","splice","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","beforeEnter","childMatchAs","alias","aliases","aliasRoute","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","hasOwnProperty","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","len","Time","performance","now","Date","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","protocolAndPath","protocol","host","absolutePath","stateCopy","state","replaceState","addEventListener","saveScrollPosition","handleScroll","from","isPop","app","behavior","scrollBehavior","$nextTick","position","getScrollPosition","shouldScroll","then","scrollToPosition","catch","pageXOffset","y","pageYOffset","getElementPosition","el","docEl","document","documentElement","docRect","getBoundingClientRect","elRect","left","top","isValidPosition","isNumber","normalizePosition","normalizeOffset","hashStartsWithNumberRE","isObject","selector","getElementById","querySelector","scrollTo","supportsPushState","ua","navigator","userAgent","pushState","url","runQueue","queue","fn","cb","step","resolveAsyncComponents","hasAsync","pending","error","flatMapComponents","def","cid","once","resolvedDef","isESModule","resolved","reject","reason","msg","Error","comp","flatten","apply","hasSymbol","Symbol","toStringTag","__esModule","called","args","arguments","NavigationDuplicated","normalizedLocation","writable","configurable","__proto__","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","max","Math","updated","activated","deactivated","extractGuards","records","bind","reverse","guards","instance","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","cbs","isValid","bindEnterGuard","poll","_isBeingDestroyed","setTimeout","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","abort","console","beforeHooks","iterator","postEnterCbs","enterGuards","resolveHooks","prev","afterHooks","HTML5History","expectScroll","supportsScroll","initLocation","getLocation","go","n","fromRoute","getCurrentLocation","decodeURI","pathname","search","HashHistory","fallback","checkFallback","ensureSlash","setupListeners","getHash","replaceHash","pushHash","searchIndex","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","mode","prototypeAccessors","registerHook","list","createHref","$once","setupHashListener","beforeEach","beforeResolve","afterEach","Promise","back","forward","getMatchedComponents","normalizedTo","defineProperties","version","use"],"sourceRoot":""}