var VueRouter=function(e,L){"use strict";const N="undefined"!=typeof window;function p(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const M=Object.assign;function n(e,t){const n={};for(const r in t){const o=t[r];n[r]=D(o)?o.map(e):e(o)}return n}const U=()=>{},D=Array.isArray;function V(e){var t=Array.from(arguments).slice(1);console.warn.apply(console,["[Vue Router warn]: "+e].concat(t))}const o=/\/$/,c=e=>e.replace(o,"");function B(e,t,n="/"){let r,o={},a="",i="";var s=t.indexOf("#");let l=t.indexOf("?");return-1<(l=se===n[t]):1===e.length&&e[0]===n}var q,d,t;(t=q=q||{}).pop="pop",t.push="push",(t=d=d||{}).back="back",t.forward="forward";t.unknown="";function g(e){if(!e)if(N){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),c(e)}const y=/^[^#]+#/;function b(e,t){return e.replace(y,"#")+t}const G=()=>({left:window.pageXOffset,top:window.pageYOffset});function ie(t){let e;if("el"in t){const a=t.el;var n="string"==typeof a&&a.startsWith("#");if(!("string"!=typeof t.el||n&&document.getElementById(t.el.slice(1))))try{var r=document.querySelector(t.el);if(n&&r)return void V(`The selector "${t.el}" should be passed as "el: document.querySelector('${t.el}')" because it starts with "#".`)}catch(e){return void V(`The selector "${t.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`)}r="string"==typeof a?n?document.getElementById(a.slice(1)):document.querySelector(a):a;if(!r)return void V(`Couldn't find element using selector "${t.el}" returned by scrollBehavior.`);e=(n=r,r=t,o=document.documentElement.getBoundingClientRect(),n=n.getBoundingClientRect(),{behavior:r.behavior,left:n.left-o.left-(r.left||0),top:n.top-o.top-(r.top||0)})}else e=t;var o;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function se(e,t){return(history.state?history.state.position-t:-1)+e}const F=new Map;let w=()=>location.protocol+"//"+location.host;function _(t,n){const{pathname:e,search:r,hash:o}=n;n=t.indexOf("#");if(-1{var t=_(a,location);const n=s.value;var r=i.value;let o=0;if(e){if(s.value=t,i.value=e,u&&u===n)return void(u=null);o=r?e.position-r.position:0}else l(t);c.forEach(e=>{e(s.value,n,{delta:o,type:q.pop,direction:o?0{var e=c.indexOf(t);-1t.location.value}),Object.defineProperty(e,"state",{enumerable:!0,get:()=>t.state.value}),e}function le(e){return"string"==typeof e||"symbol"==typeof e}const K={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},P=Symbol("navigation failure"),R=(e.NavigationFailureType=void 0,(t=e.NavigationFailureType||(e.NavigationFailureType={}))[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated",{[1]({location:e,currentLocation:t}){return`No match for `+JSON.stringify(e)+(t?"\nwhile being at\n"+JSON.stringify(t):"")},2({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${function(e){if("string"==typeof e)return e;if("path"in e)return e.path;const t={};for(const n of x)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}(t)}" via a navigation guard.`},4({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},8({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},16({from:e}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}});function Q(e,t){return M(new Error(R[e](t)),{type:e,[P]:!0},t)}function H(e,t){return e instanceof Error&&P in e&&(null==t||!!(e.type&t))}const x=["params","query","hash"];const S="[^/]+?",j={sensitive:!1,strict:!1,start:!0,end:!0},A=/[.+*?^${}()[\]/\\]/g;function I(c,e){var r=M({},j,e);const t=[];let o=r.start?"^":"";const a=[];for(const h of c){const p=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let n=0;nt.length?1===t.length&&80===t[0]?1:-1:0}(r[n],o[n]);if(a)return a;n++}if(1===Math.abs(o.length-r.length)){if(ce(r))return 1;if(ce(o))return-1}return o.length-r.length}function ce(e){var t=e[e.length-1];return 0e===n||t(n,e))}(f,y[e]));)e++;y.splice(e,0,f),f.record.name&&!me(f)&&b.set(f.record.name,f)}}return u?()=>{_(u)}:U}function _(e){if(le(e)){const n=b.get(e);n&&(b.delete(e),y.splice(y.indexOf(n),1),n.children.forEach(_),n.alias.forEach(_))}else{var t=y.indexOf(e);-1w(e)),{addRoute:w,resolve:function(e,t){let n,r={},o,a;if("name"in e&&e.name){if(!(n=b.get(e.name)))throw Q(1,{location:e});{const l=Object.keys(e.params||{}).filter(t=>!n.keys.find(e=>e.name===t));l.length&&V(`Discarded invalid param(s) "${l.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)}a=n.record.name,r=M(fe(t.params,n.keys.filter(e=>!e.optional).map(e=>e.name)),e.params&&fe(e.params,n.keys.map(e=>e.name))),o=n.stringify(r)}else if("path"in e)(o=e.path).startsWith("/")||V(`The Matcher cannot resolve relative paths but received "${o}". Unless you directly called \`matcher.resolve("${o}")\`, this is probably a bug in vue-router. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/router.`),(n=y.find(e=>e.re.test(o)))&&(r=n.parse(o),a=n.record.name);else{if(!(n=t.name?b.get(t.name):y.find(e=>e.re.test(t.path))))throw Q(1,{location:e,currentLocation:t});a=n.record.name,r=M({},t.params,e.params),o=n.stringify(r)}const i=[];let s=n;for(;s;)i.unshift(s.record),s=s.parent;return{name:a,path:o,params:r,matched:i,meta:i.reduce((e,t)=>M(e,t.meta),{})}},removeRoute:_,getRoutes:function(){return y},getRecordMatcher:function(e){return b.get(e)}}}function fe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function me(e){for(;e;){if(e.record.aliasOf)return 1;e=e.parent}}function ve(e,t){const n={};for(const r in e)n[r]=(r in t?t:e)[r];return n}function k(e,t){return e.name===t.name&&e.optional===t.optional&&e.repeatable===t.repeatable}const ge=/#/g,ye=/&/g,be=/\//g,we=/=/g,_e=/\?/g,ke=/\+/g,Ee=/%5B/g,$e=/%5D/g,Oe=/%5E/g,Ce=/%60/g,Pe=/%7B/g,Re=/%7C/g,xe=/%7D/g,Se=/%20/g;function z(e){return encodeURI(""+e).replace(Re,"|").replace(Ee,"[").replace($e,"]")}function a(e){return z(e).replace(ke,"%2B").replace(Se,"+").replace(ge,"%23").replace(ye,"%26").replace(Ce,"`").replace(Pe,"{").replace(xe,"}").replace(Oe,"^")}function je(e){return null==e?"":z(e).replace(ge,"%23").replace(_e,"%3F").replace(be,"%2F")}function J(t){try{return decodeURIComponent(""+t)}catch(e){V(`Error decoding "${t}". Using original value`)}return""+t}function Ae(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let e=0;ee&&a(e)):[r&&a(r)];o.forEach(e=>{void 0!==e&&(n+=(n.length?"&":"")+t,null!=e&&(n+="="+e))})}}return n}const i=Symbol("router view location matched"),s=Symbol("router view depth"),X=Symbol("router"),Z=Symbol("route location"),ee=Symbol("router view location");function te(){let n=[];return{add:function(t){return n.push(t),()=>{var e=n.indexOf(t);-1n,reset:function(){n=[]}}}function Ie(e,t,n){var r=()=>{e[t].delete(n)};L.onUnmounted(r),L.onDeactivated(r),L.onActivated(()=>{e[t].add(n)}),e[t].add(n)}function ne(i,s,l,c,u){const d=c&&(c.enterCallbacks[u]=c.enterCallbacks[u]||[]);return()=>new Promise((n,r)=>{const t=e=>{var t;!1===e?r(Q(4,{from:l,to:s})):e instanceof Error?r(e):"string"==typeof(t=e)||t&&"object"==typeof t?r(Q(2,{from:s,to:e})):(d&&c.enterCallbacks[u]===d&&"function"==typeof e&&d.push(e),n())};var e=i.call(c&&c.instances[u],s,l,function(e,t,n){let r=0;return function(){1==r++&&V(`The "next" callback was called more than once in one navigation guard when going from "${n.fullPath}" to "${t.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`),e._called=!0,1===r&&e.apply(null,arguments)}}(t,s,l));let o=Promise.resolve(e);if(i.length<3&&(o=o.then(t)),2t._called?e:(V(a),Promise.reject(new Error("Invalid navigation guard"))));else if(void 0!==e&&!t._called)return V(a),void r(new Error("Invalid navigation guard"))}o.catch(e=>r(e))})}function re(e,n,r,o){const a=[];for(const s of e){s.components||s.children.length||V(`Record with path "${s.path}" is either missing a "component(s)"`+' or "children" property.');for(const l in s.components){let t=s.components[l];if(!t||"object"!=typeof t&&"function"!=typeof t)throw V(`Component "${l}" in record with path "${s.path}" is not`+` a valid component. Received "${String(t)}".`),new Error("Invalid route component");if("then"in t){V(`Component "${l}" in record with path "${s.path}" is a `+"Promise instead of a function that returns a Promise. Did you "+`write "import('./MyPage.vue')" instead of `+`"() => import('./MyPage.vue')" ? This will break in `+"production if not fixed.");const c=t;t=()=>c}else t.__asyncLoader&&!t.__warnedDefineAsync&&(t.__warnedDefineAsync=!0,V(`Component "${l}" in record with path "${s.path}" is defined `+'using "defineAsyncComponent()". '+`Write "() => import('./MyPage.vue')" instead of `+`"defineAsyncComponent(() => import('./MyPage.vue'))".`));if("beforeRouteEnter"===n||s.instances[l])if("object"==typeof(i=t)||"displayName"in i||"props"in i||"__vccOpts"in i){i=(t.__vccOpts||t)[n];i&&a.push(ne(i,r,o,s,l))}else{let e=t();"catch"in e||(V(`Component "${l}" in record with path "${s.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`),e=Promise.resolve(e)),a.push(()=>e.then(e=>{if(!e)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${s.path}"`));e=p(e)?e.default:e,e=((s.components[l]=e).__vccOpts||e)[n];return e&&ne(e,r,o,s,l)()}))}}}var i;return a}function l(t){const n=L.inject(X),i=L.inject(Z),s=L.computed(()=>n.resolve(L.unref(t.to))),e=L.computed(()=>{var e=s.value["matched"],t=e["length"],n=e[t-1];const r=i.matched;if(!n||!r.length)return-1;var o=r.findIndex(W.bind(null,n));if(-1-1e!==o[t]))return!1}return!0}(i.params,s.value.params)),o=L.computed(()=>-1{l.route=s.value,l.isActive=r.value,l.isExactActive=o.value},{flush:"post"})}}return{route:s,href:L.computed(()=>s.value.href),isActive:r,isExactActive:o,navigate:function(e={}){return function(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){var t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),1}}(e)?n[L.unref(t.replace)?"replace":"push"](L.unref(t.to)).catch(U):Promise.resolve()}}}const Te=L.defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:l,setup(t,{slots:n}){const r=L.reactive(l(t)),e=L.inject(X)["options"],o=L.computed(()=>({[Ne(t.activeClass,e.linkActiveClass,"router-link-active")]:r.isActive,[Ne(t.exactActiveClass,e.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{var e=n.default&&n.default(r);return t.custom?e:L.h("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},e)}}});function Le(e){return e?(e.aliasOf||e).path:""}const Ne=(e,t,n)=>null!=e?e:null!=t?t:n;function Me(e,t){if(!e)return null;e=e(t);return 1===e.length?e[0]:e}const Ue=L.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(c,{attrs:u,slots:d}){{const n=L.getCurrentInstance(),o=n.parent&&n.parent.type.name;var e;o&&("KeepAlive"===o||o.includes("Transition"))&&V(' can no longer be used directly inside or .\nUse slot props instead:\n\n\n'+` <${e="KeepAlive"===o?"keep-alive":"transition"}> `+` `+` `+"")}const t=L.inject(ee),h=L.computed(()=>c.route||t.value),r=L.inject(s,0),p=L.computed(()=>{let e=L.unref(r);for(var t,n=h.value["matched"];(t=n[e])&&!t.components;)e++;return e}),f=L.computed(()=>h.value.matched[p.value]),m=(L.provide(s,L.computed(()=>p.value+1)),L.provide(i,f),L.provide(ee,h),L.ref());return L.watch(()=>[m.value,f.value,c.name],([t,e,n],[r,o])=>{e&&(e.instances[n]=t,o&&o!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=o.leaveGuards),e.updateGuards.size||(e.updateGuards=o.updateGuards))),!t||!e||o&&W(e,o)&&r||(e.enterCallbacks[n]||[]).forEach(e=>e(t))},{flush:"post"}),()=>{var e=h.value;const t=c.name,n=f.value;var r=n&&n.components[t];if(!r)return Me(d.default,{Component:r,route:e});const o=n.props[t];var a=o?!0===o?e.params:"function"==typeof o?o(e):o:null;const i=L.h(r,M({},a,u,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(n.instances[t]=null)},ref:m}));if(N&&i.ref){const s={depth:p.value,name:n.name,path:n.path,meta:n.meta},l=D(i.ref)?i.ref.map(e=>e.i):[i.ref.i];l.forEach(e=>{e.__vrv_devtools=s})}return Me(d.default,{Component:i,route:e})||i}}});function De(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}}const Ve="function"==typeof Proxy,Be="devtools-plugin:setup";let r,We;function qe(){return void 0!==r||("undefined"!=typeof window&&window.performance?(r=!0,We=window.performance):"undefined"!=typeof global&&null!=(e=global.perf_hooks)&&e.performance?(r=!0,We=global.perf_hooks.performance):r=!1),(r?We:Date).now();var e}class Ge{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const l in e.settings){var r=e.settings[l];n[l]=r.defaultValue}const o="__vue-devtools-plugin-settings__"+e.id;let a=Object.assign({},n);try{var i=localStorage.getItem(o),s=JSON.parse(i);Object.assign(a,s)}catch(e){}this.fallbacks={getSettings(){return a},setSettings(e){try{localStorage.setItem(o,JSON.stringify(e))}catch(e){}a=e},now(){return qe()}},t&&t.on("plugin:settings:set",(e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)}),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,n)=>this.target?this.target[n]:"on"===n?this.proxiedOn:Object.keys(this.fallbacks).includes(n)?(...e)=>(this.targetQueue.push({method:n,args:e,resolve:()=>{}}),this.fallbacks[n](...e)):(...t)=>new Promise(e=>{this.targetQueue.push({method:n,args:t,resolve:e})})})}async setRealTarget(e){this.target=e;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function Fe(e,t){var n=e;const r=De(),o=De().__VUE_DEVTOOLS_GLOBAL_HOOK__;var a=Ve&&n.enableEarlyProxy;if(!o||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&a){a=a?new Ge(n,o):null;const i=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];i.push({pluginDescriptor:n,setupFn:t,proxy:a}),a&&t(a.proxiedTarget)}else o.emit(Be,e,t)}function u(e,t){var n=M({},e,{matched:e.matched.map(e=>{{var t=e,n=["instances","children","aliasOf"];const r={};for(const o in t)n.includes(o)||(r[o]=t[o]);return r}})});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function h(e){return{_custom:{display:e}}}let Ke=0;function Qe(s,l,c){if(!l.__hasDevtools){l.__hasDevtools=!0;const e=Ke++;Fe({id:"org.vuejs.router"+(e?"."+e:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:s},o=>{"function"!=typeof o.now&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),o.on.inspectComponent((e,t)=>{e.instanceData&&e.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:u(l.currentRoute.value,"Current Route")})}),o.on.visitComponentTree(({treeNode:r,componentInstance:e})=>{if(e.__vrv_devtools){const t=e.__vrv_devtools;r.tags.push({label:(t.name?t.name.toString()+": ":"")+t.path,textColor:0,tooltip:"This component is rendered by <router-view>",backgroundColor:He})}D(e.__vrl_devtools)&&(e.__devtoolsApi=o,e.__vrl_devtools.forEach(e=>{let t=Xe,n="";e.isExactActive?(t=Je,n="This is exactly active"):e.isActive&&(t=ze,n="This link is active"),r.tags.push({label:e.route.path,textColor:0,tooltip:n,backgroundColor:t})}))}),L.watch(l.currentRoute,()=>{t(),o.notifyComponentUpdate(),o.sendInspectorTree(r),o.sendInspectorState(r)});const a="router:navigations:"+e;o.addTimelineLayer({id:a,label:`Router${e?" "+e:""} Navigations`,color:4237508}),l.onError((e,t)=>{o.addTimelineEvent({layerId:a,event:{title:"Error during Navigation",subtitle:t.fullPath,logType:"error",time:o.now(),data:{error:e},groupId:t.meta.__navigationId}})});let n=0;l.beforeEach((e,t)=>{t={guard:h("beforeEach"),from:u(t,"Current Location during this navigation"),to:u(e,"Target location")};Object.defineProperty(e.meta,"__navigationId",{value:n++}),o.addTimelineEvent({layerId:a,event:{time:o.now(),title:"Start of navigation",subtitle:e.fullPath,data:t,groupId:e.meta.__navigationId}})}),l.afterEach((e,t,n)=>{const r={guard:h("afterEach")};n?(r.failure={_custom:{type:Error,readOnly:!0,display:n?n.message:"",tooltip:"Navigation Failure",value:n}},r.status=h("❌")):r.status=h("✅"),r.from=u(t,"Current Location during this navigation"),r.to=u(e,"Target location"),o.addTimelineEvent({layerId:a,event:{title:"End of navigation",subtitle:e.fullPath,time:o.now(),data:r,logType:n?"warning":"default",groupId:e.meta.__navigationId}})});const r="router-inspector:"+e;function t(){if(i){const t=i;let e=c.getRoutes().filter(e=>!e.parent);e.forEach(rt),(e=t.filter?e.filter(e=>function t(e,n){const r=String(e.re).match(nt);e.__vd_match=!1;if(!r||r.length<3)return!1;const o=new RegExp(r[1].replace(/\$$/,""),r[2]);if(o.test(n))return e.children.forEach(e=>t(e,n)),("/"!==e.record.path||"/"===n)&&(e.__vd_match=e.re.test(n),!0);const a=e.record.path.toLowerCase();const i=J(a);if(!n.startsWith("/")&&(i.includes(n)||a.includes(n)))return!0;if(i.startsWith(n)||a.startsWith(n))return!0;if(e.record.name&&String(e.record.name).includes(n))return!0;return e.children.some(e=>t(e,n))}(e,t.filter.toLowerCase())):e).forEach(e=>function t(n,r){const e=r.matched.length&&W(r.matched[r.matched.length-1],n.record);n.__vd_exactActive=n.__vd_active=e;e||(n.__vd_active=r.matched.some(e=>W(e,n.record)));n.children.forEach(e=>t(e,r))}(e,l.currentRoute.value)),t.rootNodes=e.map(et)}}o.addInspector({id:r,label:"Routes"+(e?" "+e:""),icon:"book",treeFilterPlaceholder:"Search routes"});let i;o.on.getInspectorTree(e=>{(i=e).app===s&&e.inspectorId===r&&t()}),o.on.getInspectorState(t=>{if(t.app===s&&t.inspectorId===r){const n=c.getRoutes();var e=n.find(e=>e.record.__vd_id===t.nodeId);e&&(t.state={options:function(e){const t=e["record"],n=[{editable:!1,key:"path",value:t.path}];null!=t.name&&n.push({editable:!1,key:"name",value:t.name});n.push({editable:!1,key:"regexp",value:e.re}),e.keys.length&&n.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:e.keys.map(e=>""+e.name+function(e){return e.optional?e.repeatable?"*":"?":e.repeatable?"+":""}(e)).join(" "),tooltip:"Param keys",value:e.keys}}});null!=t.redirect&&n.push({editable:!1,key:"redirect",value:t.redirect});e.alias.length&&n.push({editable:!1,key:"aliases",value:e.alias.map(e=>e.record.path)});Object.keys(e.record.meta).length&&n.push({editable:!1,key:"meta",value:e.record.meta});return n.push({key:"score",editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map(e=>e.join(", ")).join(" | "),tooltip:"Score used to sort routes",value:e.score}}}),n}(e)})}}),o.sendInspectorTree(r),o.sendInspectorState(r)})}}const He=15485081,ze=2450411,Je=8702998,Ye=2282478,Xe=16486972,Ze=6710886;function et(e){const t=[],n=e["record"];null!=n.name&&t.push({label:String(n.name),textColor:0,backgroundColor:Ye}),n.aliasOf&&t.push({label:"alias",textColor:0,backgroundColor:Xe}),e.__vd_match&&t.push({label:"matches",textColor:0,backgroundColor:He}),e.__vd_exactActive&&t.push({label:"exact",textColor:0,backgroundColor:Je}),e.__vd_active&&t.push({label:"active",textColor:0,backgroundColor:ze}),n.redirect&&t.push({label:"string"==typeof n.redirect?"redirect: "+n.redirect:"redirects",textColor:16777215,backgroundColor:Ze});let r=n.__vd_id;return null==r&&(r=String(tt++),n.__vd_id=r),{id:r,label:n.path,tags:t,children:e.children.map(et)}}let tt=0;const nt=/^\/(.*)\/([a-z]*)$/;function rt(e){e.__vd_match=!1,e.children.forEach(rt)}function oe(e){return e.reduce((e,t)=>e.then(()=>t()),Promise.resolve())}return e.RouterLink=Te,e.RouterView=Ue,e.START_LOCATION=K,e.createMemoryHistory=function(e=""){let l=[],c=[""],u=0;function n(e){++u!==c.length&&c.splice(u),c.push(e)}return e={location:"",state:{},base:e=g(e),createHref:b.bind(null,e),replace(e){c.splice(u--,1),n(e)},push(e,t){n(e)},listen(t){return l.push(t),()=>{var e=l.indexOf(t);-1c[u]}),e},e.createRouter=function(l){const c=pe(l.routes,l),u=l.parseQuery||Ae,d=l.stringifyQuery||Y,h=l.history;if(!h)throw new Error('Provide the "history" option when calling "createRouter()": https://next.router.vuejs.org/api/#history.');const p=te(),f=te(),o=te(),m=L.shallowRef(K);let v=K;N&&l.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const g=n.bind(null,e=>""+e),y=n.bind(null,je),b=n.bind(null,J);function w(e,t){if(t=M({},t||m.value),"string"==typeof e){var n=B(u,e,t.path);const o=c.resolve({path:n.path},t),i=h.createHref(n.fullPath);return i.startsWith("//")?V(`Location "${e}" resolved to "${i}". A resolved location cannot start with multiple slashes.`):o.matched.length||V(`No match found for location with path "${e}"`),M(n,o,{params:b(o.params),hash:J(n.hash),redirectedFrom:void 0,href:i})}let r;if("path"in e)"params"in e&&!("name"in e)&&Object.keys(e.params).length&&V(`Path "${e.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`),r=M({},e,{path:B(u,e.path,t.path).path});else{const s=M({},e.params);for(const l in s)null==s[l]&&delete s[l];r=M({},e,{params:y(e.params)}),t.params=y(t.params)}const o=c.resolve(r,t),a=e.hash||"";a&&!a.startsWith("#")&&V(`A \`hash\` should always start with the character "#". Replace "${a}" with "#${a}".`),o.params=g(b(o.params));n=d,t=M({},e,{hash:z(a).replace(Pe,"{").replace(xe,"}").replace(Oe,"^"),path:o.path}),n=t.query?n(t.query):"";t=t.path+(n&&"?")+n+(t.hash||"");const i=h.createHref(t);return i.startsWith("//")?V(`Location "${e}" resolved to "${i}". A resolved location cannot start with multiple slashes.`):o.matched.length||V(`No match found for location with path "${"path"in e?e.path:e}"`),M({fullPath:t,hash:a,query:d===Y?function(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=D(r)?r.map(e=>null==e?null:""+e):null==r?r:""+r)}return t}(e.query):e.query||{}},o,{redirectedFrom:void 0,href:i})}function _(e){return"string"==typeof e?B(u,e,m.value.path):M({},e)}function k(e,t){if(v!==e)return Q(8,{from:t,to:e})}function a(e){return $(e)}function E(t){var n=t.matched[t.matched.length-1];if(n&&n.redirect){const r=n["redirect"];let e="function"==typeof r?r(t):r;if("string"==typeof e&&((e=e.includes("?")||e.includes("#")?e=_(e):{path:e}).params={}),"path"in e||"name"in e)return M({query:t.query,hash:t.hash,params:"path"in e?{}:t.params},e);throw V(`Invalid redirect found: ${JSON.stringify(e,null,2)} when navigating to "${t.fullPath}". A redirect must contain a name or path. This will break in production.`),new Error("Invalid redirect")}}function $(e,t){var n=v=w(e);const r=m.value,o=e.state,a=e.force,i=!0===e.replace;e=E(n);if(e)return $(M(_(e),{state:"object"==typeof e?M({},o,e.state):o,force:a,replace:i}),t||n);const s=n;s.redirectedFrom=t;let l;return!a&&ae(d,r,n)&&(l=Q(16,{to:s,from:r}),j(r,r,!0,!1)),(l?Promise.resolve(l):O(s,r)).catch(e=>H(e)?H(e,2)?e:S(e):x(e,s,r)).then(e=>{if(e){if(H(e,2))return ae(d,w(e.to),s)&&t&&10<(t._count=t._count?t._count+1:1)?(V(`Detected an infinite redirection in a navigation guard when going from "${r.fullPath}" to "${s.fullPath}". Aborting to avoid a Stack Overflow. This will break in production if not fixed.`),Promise.reject(new Error("Infinite redirect in navigation guard"))):$(M({replace:i},_(e.to),{state:"object"==typeof e.to?M({},o,e.to.state):o,force:a}),t||s)}else e=P(s,r,!0,i,o);return C(s,r,e),e})}function O(n,r){let o;const[e,t,a]=function(t,n){const r=[],o=[],a=[],i=Math.max(n.matched.length,t.matched.length);for(let e=0;eW(e,s))?o:r).push(s),t.matched[e]);!l||n.matched.find(e=>W(e,l))||a.push(l)}return[r,o,a]}(n,r);o=re(e.reverse(),"beforeRouteLeave",n,r);for(const s of e)s.leaveGuards.forEach(e=>{o.push(ne(e,n,r))});const i=function(e,t){return(e=k(e,t))?Promise.reject(e):Promise.resolve()}.bind(null,n,r);return o.push(i),oe(o).then(()=>{o=[];for(const e of p.list())o.push(ne(e,n,r));return o.push(i),oe(o)}).then(()=>{o=re(t,"beforeRouteUpdate",n,r);for(const e of t)e.updateGuards.forEach(e=>{o.push(ne(e,n,r))});return o.push(i),oe(o)}).then(()=>{o=[];for(const e of n.matched)if(e.beforeEnter&&!r.matched.includes(e))if(D(e.beforeEnter))for(const t of e.beforeEnter)o.push(ne(t,n,r));else o.push(ne(e.beforeEnter,n,r));return o.push(i),oe(o)}).then(()=>(n.matched.forEach(e=>e.enterCallbacks={}),(o=re(a,"beforeRouteEnter",n,r)).push(i),oe(o))).then(()=>{o=[];for(const e of f.list())o.push(ne(e,n,r));return o.push(i),oe(o)}).catch(e=>H(e,8)?e:Promise.reject(e))}function C(e,t,n){for(const r of o.list())r(e,t,n)}function P(e,t,n,r,o){var a=k(e,t);if(a)return a;var a=t===K,i=N?history.state:{};n&&(r||a?h.replace(e.fullPath,M({scroll:a&&i&&i.scroll},o)):h.push(e.fullPath,o)),j(m.value=e,t,n,a),S()}let i;function e(){i=i||h.listen((e,t,n)=>{if(T.listening){const o=w(e);var r,e=E(o);if(e)$(M(e,{replace:!0}),o).catch(U);else{v=o;const a=m.value;N&&(e=se(a.fullPath,n.delta),r=G(),F.set(e,r)),O(o,a).catch(e=>H(e,12)?e:H(e,2)?($(e.to,o).then(e=>{H(e,20)&&!n.delta&&n.type===q.pop&&h.go(-1,!1)}).catch(U),Promise.reject()):(n.delta&&h.go(-n.delta,!1),x(e,o,a))).then(e=>{(e=e||P(o,a,!1))&&(n.delta&&!H(e,8)?h.go(-n.delta,!1):n.type===q.pop&&H(e,20)&&h.go(-1,!1)),C(o,a,e)}).catch(U)}}})}let r=te(),s=te(),R;function x(t,n,r){S(t);const e=s.list();return e.length?e.forEach(e=>e(t,n,r)):(V("uncaught error during route navigation:"),console.error(t)),Promise.reject(t)}function S(n){return R||(R=!n,e(),r.list().forEach(([e,t])=>n?t(n):e()),r.reset()),n}function j(t,n,e,r){const o=l["scrollBehavior"];if(!N||!o)return Promise.resolve();const a=!e&&(i=se(t.fullPath,0),s=F.get(i),F.delete(i),s)||(r||!e)&&history.state&&history.state.scroll||null;var i,s;L.nextTick().then(()=>o(t,n,a)).then(e=>e&&ie(e)).catch(e=>x(e,t,n))}const t=e=>h.go(e);let A;const I=new Set,T={currentRoute:m,listening:!0,addRoute:function(e,t){let n,r;return r=le(e)?(n=c.getRecordMatcher(e),t):e,c.addRoute(r,n)},removeRoute:function(e){var t=c.getRecordMatcher(e);t?c.removeRoute(t):V(`Cannot remove non-existent route "${String(e)}"`)},hasRoute:function(e){return!!c.getRecordMatcher(e)},getRoutes:function(){return c.getRoutes().map(e=>e.record)},resolve:w,options:l,push:a,replace:function(e){return a(M(_(e),{replace:!0}))},go:t,back:()=>t(-1),forward:()=>t(1),beforeEach:p.add,beforeResolve:f.add,afterEach:o.add,onError:s.add,isReady:function(){return R&&m.value!==K?Promise.resolve():new Promise((e,t)=>{r.add([e,t])})},install(e){e.component("RouterLink",Te),e.component("RouterView",Ue),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>L.unref(m)}),N&&!A&&m.value===K&&(A=!0,a(h.location).catch(e=>{V("Unexpected error when starting the router:",e)}));const t={};for(const r in K)t[r]=L.computed(()=>m.value[r]);e.provide(X,this),e.provide(Z,L.reactive(t)),e.provide(ee,m);const n=e.unmount;I.add(e),e.unmount=function(){I.delete(e),I.size<1&&(v=K,i&&i(),i=null,m.value=K,A=!1,R=!1),n()},N&&Qe(e,this,c)}};return T},e.createRouterMatcher=pe,e.createWebHashHistory=function(e){return(e=location.host?e||location.pathname+location.search:"").includes("#")||(e+="#"),e.endsWith("#/")||e.endsWith("#")||V(`A hash base must end with a "#": "${e}" should be "${e.replace(/#.*$/,"#")}".`),C(e)},e.createWebHistory=C,e.isNavigationFailure=H,e.loadRouteLocation=function(e){return e.matched.every(e=>e.redirect)?Promise.reject(new Error("Cannot load a route that redirects.")):Promise.all(e.matched.map(r=>r.components&&Promise.all(Object.keys(r.components).reduce((e,t)=>{const n=r.components[t];return"function"!=typeof n||"displayName"in n||e.push(n().then(e=>{if(!e)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${r.path}". Ensure you passed a function that returns a promise.`));e=p(e)?e.default:e;r.components[t]=e})),e},[])))).then(()=>e)},e.matchedRouteKey=i,e.onBeforeRouteLeave=function(e){var t;L.getCurrentInstance()?(t=L.inject(i,{}).value)?Ie(t,"leaveGuards",e):V("No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?"):V("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function")},e.onBeforeRouteUpdate=function(e){var t;L.getCurrentInstance()?(t=L.inject(i,{}).value)?Ie(t,"updateGuards",e):V("No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?"):V("getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function")},e.parseQuery=Ae,e.routeLocationKey=Z,e.routerKey=X,e.routerViewLocationKey=ee,e.stringifyQuery=Y,e.useLink=l,e.useRoute=function(){return L.inject(Z)},e.useRouter=function(){return L.inject(X)},e.viewDepthKey=s,Object.defineProperty(e,"__esModule",{value:!0}),e}({},Vue);