{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./views/App.vue?b3b6","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./views/App.vue","webpack:///views/App.vue","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./views/pages/Dashboard.vue?1194","webpack:///views/pages/Dashboard.vue","webpack:///./views/pages/Dashboard.vue","webpack:///./routes.js","webpack:///./widgets/AkApprovalStatusSelect.vue?1df6","webpack:///widgets/AkApprovalStatusSelect.vue","webpack:///./widgets/AkApprovalStatusSelect.vue","webpack:///./main.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","render","_vm","this","_h","$createElement","_c","_self","class","$authService","isAuthenticated","userInterface","attrs","drawerPinned","scopedSlots","_u","fn","_v","$getSetting","staticClass","_s","$t","proxy","model","showDrawer","callback","$$v","expression","_e","logoPath","on","close","$event","togglePinned","items","menu","searchEnabled","menuItemClicked","size","loading","normalizeComponent","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","_withStripped","component","__file","extend","a","b","encodeReserveRE","encodeReserveReplacer","charCodeAt","toString","commaRE","encode","str","encodeURIComponent","replace","decode","decodeURIComponent","err","castQueryParamValue","String","parseQuery","query","res","trim","split","forEach","param","parts","shift","val","length","join","undefined","Array","isArray","push","stringifyQuery","obj","keys","map","result","val2","filter","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","clone","e","route","meta","path","hash","params","fullPath","getFullPath","matched","formatMatch","freeze","START","unshift","ref","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","sort","bKeys","every","aVal","bVal","handleRouteEntered","instances","instance","cbs","enteredCbs","i$1","_isBeingDestroyed","View","props","type","default","_","children","data","routerView","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","components","registerRouteInstance","vm","current","prepatch","vnode","componentInstance","init","propsToPass","config","resolveProps","resolvePath","relative","base","append","firstChar","charAt","stack","pop","segments","segment","cleanPath","isarray","arr","pathToRegexp_1","pathToRegexp","parse_1","parse","compile_1","tokensToFunction","tokensToFunction_1","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","RegExp","tokens","index","defaultDelimiter","delimiter","exec","escaped","offset","slice","next","prefix","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","matches","flags","opts","pretty","token","TypeError","JSON","stringify","j","test","attachKeys","re","sensitive","strict","end","endsWithDelimiter","groups","source","match","regexpToRegexp","arrayToRegexp","stringToRegexp","compile","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","hashIndex","indexOf","queryIndex","parsePath","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","_Vue","noop","Link","to","required","tag","custom","Boolean","exact","exactPath","activeClass","exactActiveClass","ariaCurrentValue","event","this$1","$router","resolve","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","target","queryIncludes","isIncludedRoute","handler","guardEvent","click","scopedSlot","$scopedSlots","$hasNormal","navigate","isActive","isExactActive","findAnchor","child","$slots","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","getAttribute","preventDefault","inBrowser","window","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","splice","createMatcher","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedMatch","aliasedRecord","addRoute","parentOrRoute","getRoutes","addRoutes","len","Time","performance","now","Date","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","state","replaceState","addEventListener","handlePopState","removeEventListener","handleScroll","from","isPop","app","behavior","scrollBehavior","$nextTick","position","getScrollPosition","shouldScroll","then","scrollToPosition","catch","saveScrollPosition","pageXOffset","y","pageYOffset","isValidPosition","isNumber","normalizePosition","v","hashStartsWithNumberRE","isObject","selector","el","document","getElementById","querySelector","docRect","documentElement","getBoundingClientRect","elRect","left","top","getElementPosition","style","scrollTo","ua","supportsPushState","navigator","userAgent","pushState","url","runQueue","queue","cb","step","NavigationFailureType","redirected","aborted","cancelled","duplicated","createNavigationRedirectedError","createRouterError","propertiesToLog","createNavigationCancelledError","message","error","Error","_isRouter","isError","isNavigationFailure","errorType","resolveAsyncComponents","hasAsync","pending","flatMapComponents","def","cid","once","resolvedDef","hasSymbol","resolved","reject","reason","msg","comp","flatten","apply","called","args","arguments","History","baseEl","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","listeners","extractGuards","records","reverse","guards","guard","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","prev","confirmTransition","updateRoute","ensureURL","afterHooks","abort","console","lastRouteIndex","lastCurrentIndex","max","Math","updated","activated","deactivated","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","iterator","createNavigationAbortedError","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","__proto__","constructor","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","pathname","pathLowerCase","toLowerCase","baseLowerCase","search","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","prototypeAccessors","configurable","registerHook","list","$once","routeOrError","handleInitialScroll","_route","beforeEach","beforeResolve","afterEach","Promise","back","forward","getMatchedComponents","createHref","normalizedTo","defineProperties","install","Vue","installed","isDef","registerInstance","callVal","_parentVnode","mixin","_router","util","defineReactive","destroyed","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","version","START_LOCATION","use","_l","item","currentUrl","title","childItem","Dashboard","cmsRouter","setRoutes","setActiveRouter","placeholder","selectOptions","reduce","input","valueChanged","currentValue","id","statuses","computed","label","methods","$emit","option","AkApprovalStatusSelect","globalMessages","App","$mount","AppKit"],"mappings":"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","file":"admin.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"ak-wrapper\",\n {\n class: {\n \"ak-wrapper--no-header\":\n _vm.$authService && !_vm.$authService.isAuthenticated(),\n },\n },\n [\n _vm.$authService.isAuthenticated() && _vm.userInterface\n ? _c(\"ak-header\", {\n attrs: { drawerPinned: _vm.drawerPinned },\n scopedSlots: _vm._u(\n [\n {\n key: \"header-left\",\n fn: function () {\n return [\n _c(\"cms-active-workspace\"),\n _vm._v(\" \"),\n _vm.$getSetting(\"isStaging\")\n ? _c(\n \"div\",\n {\n staticClass:\n \"ak-chip ak-chip--small ak-chip--outlined ak-chip--warning\",\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Testomgeving\")) +\n \"\\n \"\n ),\n ]\n )\n : !_vm.$getSetting(\"isLocal\") &&\n !_vm.$getSetting(\"isStaging\")\n ? _c(\n \"div\",\n {\n staticClass:\n \"ak-chip ak-chip--small ak-chip--outlined ak-chip--info\",\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Productie\")) +\n \"\\n \"\n ),\n ]\n )\n : _c(\n \"div\",\n {\n staticClass:\n \"ak-chip ak-chip--small ak-chip--outlined ak-chip--success\",\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Lokaal\")) +\n \"\\n \"\n ),\n ]\n ),\n ]\n },\n proxy: true,\n },\n {\n key: \"header-right\",\n fn: function () {\n return [\n _c(\"cms-settings-menu\"),\n _vm._v(\" \"),\n _c(\"cms-account-menu\"),\n ]\n },\n proxy: true,\n },\n ],\n null,\n false,\n 3731699500\n ),\n model: {\n value: _vm.showDrawer,\n callback: function ($$v) {\n _vm.showDrawer = $$v\n },\n expression: \"showDrawer\",\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ak-drawer\",\n {\n attrs: {\n logoPath: _vm.$getSetting(\"assets.logoDrawer\"),\n showDrawer: _vm.showDrawer,\n },\n on: {\n close: function ($event) {\n _vm.showDrawer = false\n },\n togglePinned: function ($event) {\n _vm.drawerPinned = $event\n },\n },\n },\n [\n _vm.userInterface\n ? _c(\"ak-menu\", {\n attrs: { items: _vm.userInterface.menu, searchEnabled: true },\n on: {\n menuItemClicked: function ($event) {\n !_vm.drawerPinned ? (_vm.showDrawer = false) : null\n },\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n !_vm.$authService.isAuthenticated() ||\n (_vm.$authService.isAuthenticated() && _vm.userInterface)\n ? _c(\n \"div\",\n {\n staticClass: \"ak-content\",\n class: {\n \"ak-content--pinned\":\n _vm.drawerPinned &&\n _vm.$authService &&\n _vm.$authService.isAuthenticated(),\n },\n },\n [_c(\"router-view\")],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"ak-loader\", { attrs: { size: \"large\", loading: _vm.loading } }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/* 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=c1862d7c&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Volumes/htdocs/brecht/src/vue-apps/admin/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('c1862d7c')) {\n api.createRecord('c1862d7c', component.options)\n } else {\n api.reload('c1862d7c', component.options)\n }\n module.hot.accept(\"./App.vue?vue&type=template&id=c1862d7c&\", function () {\n api.rerender('c1862d7c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"views/App.vue\"\nexport default component.exports","\n\n\n\n","/*!\n * vue-router v3.5.4\n * (c) 2022 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 (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\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\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\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 var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\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 ? decode(parts.join('=')) : 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\n ? Object.keys(obj)\n .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 })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : 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, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\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).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\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\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\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 // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\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\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(/\\/(?:\\s*\\/)+/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), 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, options) {\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 + ')$', flags(options));\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 && 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 warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\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 custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\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, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\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 (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an element. Use the custom prop to remove this warning:\\n\\n');\n warnedCustomSlot = true;\n }\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 (\" 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 (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\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 aAttrs['aria-current'] = ariaCurrentValue;\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 parentRoute\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, parentRoute);\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 warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\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 alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\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 addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\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 addRoute: addRoute,\n getRoutes: getRoutes,\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 if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\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 // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\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', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\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 handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\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 // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\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 && typeof window.history.pushState === 'function'\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// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\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\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 this.listeners = [];\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;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n this$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\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 // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\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 this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, 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 var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\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(createNavigationRedirectedError(current, route));\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 // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\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) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\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.setupListeners = function setupListeners () {\n var this$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\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 === this$1._startLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\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 = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 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 if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = 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 var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\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\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 var prev = this$1.current;\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n this$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\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\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\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 =\n 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 (raw, current, redirectedFrom) {\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' &&\n 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 if (!this$1.app) { this$1.history.teardown(); }\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 || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\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(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\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(to, current, append, this);\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.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\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.5.4';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"container\" }, [\n _c(\"div\", { staticClass: \"bg--white border-radius m-t-25 m-b-25 p-30\" }, [\n _c(\"h1\", [_vm._v(\"\\n Dashboard\\n \")]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"ak-button-group\" },\n [\n _vm._l(_vm.menu, function (item) {\n return [\n !item.items.length && item.href !== _vm.currentUrl\n ? _c(\"ak-button\", { attrs: { href: item.href } }, [\n _vm._v(\n \"\\n \" +\n _vm._s(item.title) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(item.items, function (childItem) {\n return [\n _c(\"ak-button\", { attrs: { href: childItem.href } }, [\n _vm._v(\n \"\\n \" +\n _vm._s(childItem.title) +\n \"\\n \"\n ),\n ]),\n ]\n }),\n ]\n }),\n ],\n 2\n ),\n ]),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=5e0117aa&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Volumes/htdocs/brecht/src/vue-apps/admin/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('5e0117aa')) {\n api.createRecord('5e0117aa', component.options)\n } else {\n api.reload('5e0117aa', component.options)\n }\n module.hot.accept(\"./Dashboard.vue?vue&type=template&id=5e0117aa&\", function () {\n api.rerender('5e0117aa', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"views/pages/Dashboard.vue\"\nexport default component.exports","import VueRouter from 'vue-router';\nimport Dashboard from './views/pages/Dashboard.vue';\n\nVue.use(VueRouter);\n\nlet routes = [\n {\n path: '/',\n component: Dashboard,\n meta: {\n title: \"dashboard\",\n },\n alias: '/home'\n }\n];\n\n\nroutes = Vue.cmsRouter.setRoutes(routes);\n\nconst router = new VueRouter({\n routes\n})\n\nVue.cmsRouter.setActiveRouter(router);\n\nexport default router;\n","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"v-select\", {\n attrs: {\n placeholder: _vm.$t(\"Status selecteren\"),\n options: _vm.selectOptions,\n reduce: _vm.reduce,\n },\n on: { input: _vm.valueChanged },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v\n },\n expression: \"currentValue\",\n },\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./AkApprovalStatusSelect.vue?vue&type=template&id=f184c06e&\"\nimport script from \"./AkApprovalStatusSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./AkApprovalStatusSelect.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/Volumes/htdocs/brecht/src/vue-apps/admin/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('f184c06e')) {\n api.createRecord('f184c06e', component.options)\n } else {\n api.reload('f184c06e', component.options)\n }\n module.hot.accept(\"./AkApprovalStatusSelect.vue?vue&type=template&id=f184c06e&\", function () {\n api.rerender('f184c06e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"widgets/AkApprovalStatusSelect.vue\"\nexport default component.exports","import App from './views/App.vue';\nimport router from './routes';\n\nimport AkApprovalStatusSelect from \"./widgets/AkApprovalStatusSelect.vue\";\n\nVue.component('ak-approval-status-select', AkApprovalStatusSelect);\n\nlet app = new Vue({\n data() { \n return {\n globalMessages: []\n }\n },\n router,\n render: h => h(App),\n}).$mount('#app')\n\nAppKit.init(app);\n"],"sourceRoot":""}