@real-router/core 0.119.0 → 0.119.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- const e=require("./route-name-BBu872EN.js"),t=require("./ingest-DxGcWzr6.js"),n=require("./RouterError-DQi2HDYI.js"),r=Object.entries,i=Object.hasOwn;function a(e,n,a){if(e===void 0||a.length===0)return e;let o,s=!1;for(let[c,l]of r(e)){if(i(n,c)&&n[c]!==void 0&&a.includes(c)){s=!0;continue}o??={},t.a(o,c,l)}return o===void 0?s?void 0:e:o}function o(t,n,i){for(let[a,o]of r(t))e.v(i,a,o,n(a),"this route's `defaultParams`","Move it to `defaultSearch`")}const s=Object.entries,c=Object.freeze;function l(e,n,r){let i,a=!1;for(let[o,c]of s(e))n.includes(o)?(i??={},t.a(i,o,c)):(a=!0,r?.(o));return a?c(i??t.u):e}const u=Object.keys,d=Object.values,f=Object.hasOwn,p=Object.getOwnPropertyDescriptor,m=Object.getPrototypeOf,h=Object,g=new Set(d(t.h));function _(e){if(!g.has(e))throw TypeError(`[router.addEventListener] Invalid event name: ${String(e)}. Must be one of: ${[...g].join(`, `)}`)}function v(e,t){if(typeof e!=`string`)throw TypeError(`[router.${t}] Route name must be a string, got ${typeof e}`)}function y(e){if(!e||typeof e!=`object`)throw TypeError(`dependencies must be a plain object`);let t=m(e);if(t!==null&&t.constructor!==h)throw TypeError(`dependencies must be a plain object`)}function b(e,t){y(e);let n=e,r=[];for(let e of u(n)){if(p(n,e)?.get)throw TypeError(`dependencies cannot contain getters: "${e}"`);let t=n[e];t!==void 0&&r.push([e,t])}for(let[e,n]of r)t(e,n)}function x(e,t){for(let n of e){let e=n;if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(`route must be a non-array object`);t?.routes.guardRouteCallbacks(n),t?.routes.guardNoAsyncCallbacks(n);let r=n.children;r&&x(r,t)}}const S=new Set([`all`,`warn-error`,`error-only`,`none`]);function ee(e){return typeof e==`string`&&S.has(e)}function te(e){return typeof e==`string`?`"${e}"`:typeof e==`object`?JSON.stringify(e):String(e)}function ne(e){for(let t of u(e))if(t!==`level`&&t!==`callback`&&t!==`callbackIgnoresLevel`)throw TypeError(`Unknown logger config property: "${t}"`)}function re(e){if(!f(e,`level`))return;let t=e.level;if(t!==void 0){if(!ee(t))throw TypeError(`Invalid logger level: ${te(t)}. Expected: "all" | "warn-error" | "error-only" | "none"`);return t}}function ie(e){if(!f(e,`callbackIgnoresLevel`))return;let t=e.callbackIgnoresLevel;if(t!==void 0){if(typeof t!=`boolean`)throw TypeError(`Logger callbackIgnoresLevel must be a boolean, got ${typeof t}`);return t}}function ae(e){if(typeof e!=`object`||!e)throw TypeError(`Logger config must be an object`);let t=e;ne(t);let n={},r=re(t);if(r!==void 0&&(n.level=r),f(t,`callback`)){let e=t.callback;if(e!==void 0&&typeof e!=`function`)throw TypeError(`Logger callback must be a function, got ${typeof e}`);n.callback=e}let i=ie(t);return i!==void 0&&(n.callbackIgnoresLevel=i),n}const C=Object.freeze,oe=Object.hasOwn,w=Object.keys;function T(e,n){if(e===void 0)return ce(n);let r={};for(let n of w(e)){if(n===`__proto__`)continue;let i=e[n];i!==void 0&&t.a(r,n,i)}if(n!==void 0)for(let e of w(n)){if(e===`__proto__`)continue;let i=n[e];i!==void 0&&t.a(r,e,i)}return r}function se(e){let n={};for(let r of w(e)){if(r===`__proto__`)continue;let i=e[r];i!==void 0&&t.a(n,r,i)}return n}function ce(e){if(e===void 0)return;let t;for(let n in e)!oe(e,n)||e[n]!==void 0||(t??=se(e),delete t[n]);return t??e}const le=new Set([`string`,`number`,`boolean`]);function ue(e){return le.has(typeof e)}function E(e,t){if(e===t)return!0;if(Array.isArray(e)){if(!Array.isArray(t))return e.length===1&&E(e[0],t);if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!E(e[n],t[n]))return!1;return!0}return Array.isArray(t)?t.length===1&&E(e,t[0]):ue(e)&&ue(t)&&String(e)===String(t)}function de(e,t){let n=w(e);if(n.length!==w(t).length)return!1;for(let r of n)if(!(r in t)||!E(e[r],t[r]))return!1;return!0}function fe(e){return C(e)}function pe(e,t,n){return e===void 0?t===void 0||t===n?n:t:T(e,t)}function me(e,n){return pe(e,n,t.l)}function he(e,n){let r=pe(e,n,t.u);return r===t.u?r:C(r)}function D(e,n){if(e===void 0||e===n)return n;let r=T(void 0,e);if(r!==e)return C(r);let i={};for(let n of w(e)){if(n===`__proto__`)continue;let r=e[n];r!==void 0&&t.a(i,n,r)}return C(i)}function ge(e){if(e===t.c)return t.c;let n={},r=e;for(let e of w(r))e!==`__proto__`&&e!==`signal`&&t.a(n,e,r[e]);return C(n)}function O(e,n){if(e===void 0)return e;let r;for(let n of w(e)){if(n===`__proto__`)continue;let i=e[n];i!==void 0&&(r??={},t.a(r,n,i))}return r??n}function _e(e){return delete e[t.f],e}function k(e){if(!oe(e,`__proto__`))return e;let n={};for(let r of w(e))r!==`__proto__`&&t.a(n,r,e[r]);return n}function ve(e={}){let n={...t.o,...e};return Object.freeze({maxDependencies:Number(n.maxDependencies),maxPlugins:Number(n.maxPlugins),maxListeners:Number(n.maxListeners),warnListeners:Number(n.warnListeners),maxLifecycleHandlers:Number(n.maxLifecycleHandlers)})}function ye(e={}){let n=Object.create(null),r=e,i=n;return b(r,(e,t)=>{i[e]=t}),{dependencies:n,limits:t.o}}function be(e,t){let n=e.path,r=n.startsWith(`~`),i=r?n.slice(1):n,a=i!==``&&!i.startsWith(`/`)&&!i.startsWith(`?`)?`/${i}`:i,o={name:e.name,path:a,absolute:r,children:[],parent:t};if(e.children)for(let t of e.children){let e=be(t,o);o.children.push(e)}return o}function xe(e,t,n){let r=be({name:e,path:t},null);for(let e of n){let t=be(e,r);r.children.push(t)}return r}const Se=/[^\w!$'()*+,.:;|~-]/gu,Ce=/[^\w!$'()*+,.:;|~-]/u,we=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,Te=e=>t=>{try{return e(t)}catch{return e(t.replaceAll(we,`�`))}},Ee=Te(e=>e.replaceAll(Se,e=>encodeURIComponent(e))),De={default:e=>Ce.test(e)?Ee(e):e,uri:Te(encodeURI),uriComponent:Te(encodeURIComponent),none:e=>e},Oe={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:e=>e},ke=(e,t)=>{let n=De[t],r=String(e).split(`/`),i=n(r[0]);for(let e=1;e<r.length;e++)i+=`/`+n(r[e]);return i},Ae=Object.freeze(Object.create(null));function je(){return{staticChildren:Ae,hasChildren:!1,paramChild:void 0,splatChild:void 0,route:void 0,slashChildRoute:void 0}}function A(e){return e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e}function Me(e,t){return e===``?t:t===``?e:e.endsWith(`/`)&&t.startsWith(`/`)?e+t.slice(1):e+t}function Ne(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Pe(e){let t=0;for(;t<e.length;)if(e.codePointAt(t)===37){if(t+2>=e.length)return!1;let n=e.codePointAt(t+1)??0,r=e.codePointAt(t+2)??0;if(!Ne(n)||!Ne(r))return!1;t+=3}else t++;return!0}const Fe=Object.freeze([]),Ie=Object.freeze(new Set),Le=Object.freeze([]),Re=Object.freeze({}),ze=Object.freeze({}),Be=Object.freeze({});function Ve(e,t){let n=e.kind===`splat`;return{paramName:e.name,encoder:n?e=>ke(e,t):De[t]}}function He(t,n,r,i){let a=new Set(i);for(let e of n)for(let t of e.paramMeta.urlParams)a.add(t);if(a.size===0)return{buildStaticParts:[t],buildParamSlots:Le};let o=[],s=[],c=``,l=e.f(t),u=l.length-1;for(let[t,n]of l.entries()){let i=e.d(n);if(!(!(`error`in i)&&i.kind===`splat`&&t!==u)){if(t>0&&(c+=`/`),`error`in i||i.kind===`static`){c+=n;continue}o.push(c),c=``,s.push(Ve(i,r))}}return o.push(c),{buildStaticParts:o,buildParamSlots:s}}function Ue(e,t,n){throw Error(`[SegmentMatcher.registerTree] Parameter name conflict at the same path position: '${n}${e}' and '${n}${t}'. One position binds one name across every route that shares it. Rename one — e.g. use '${n}${e}' in both.`)}function We(){throw Error(`[SegmentMatcher.registerTree] Empty parameter name: a ':'/'*' marker must be followed by a name (e.g. ':id', '*rest'), and a segment cannot end in a bare '?'.`)}function Ge(e){throw Error(`[SegmentMatcher.registerTree] Fused parameter marker in segment "${e}": a ':'/'*' marker must begin a segment — write 'a/:b', not 'a:b'.`)}function Ke(e){throw Error(`[SegmentMatcher.registerTree] Trailing parameter marker in segment "${e}": a param name cannot end in a bare ':' or '*'. Drop the stray marker.`)}function qe(e){throw Error(`[SegmentMatcher.registerTree] Optional params are not supported: "${e}" — declare two sibling routes instead, one with the segment and one without.`)}function Je(e){throw Error(`[SegmentMatcher.registerTree] Regex constraints are not supported: '<' and '>' are reserved in path segments ("${e}"). Match it as a plain string and validate the value in a canActivate guard.`)}function Ye(e){throw Error(`[SegmentMatcher.registerTree] Non-ASCII static segment "${e}": match compares static keys raw and rejects non-ASCII input, so this route can never match. Percent-encode it (e.g. "/caf%C3%A9") or use a param.`)}function Xe(e,t){switch(e){case`name-less`:return We();case`trailing-marker`:return Ke(t);case`fused-marker`:return Ge(t);case`optional-removed`:return qe(t);case`constraint-removed`:return Je(t)}}function Ze(e,t){let n=new Set,r=``;for(let e of t){if(n.has(e)){r=e;break}n.add(e)}throw Error(`[SegmentMatcher.registerTree] Duplicate parameter name '${r}' in route "${e}": a name must be unique within a route — the second position overwrites the first. Rename one.`)}function Qe(e,t){throw Error(`[SegmentMatcher.registerTree] Invalid query-param declaration "${t}" in route "${e}": a query-param name cannot contain '<' or '>'. Rename it.`)}function $e(e){throw Error(`[SegmentMatcher.registerTree] Double slashes are not allowed in path "${e}": the route would build a URL its own matcher refuses. Remove the empty segment.`)}function et(e,t){throw Error(`[SegmentMatcher.registerTree] Duplicate route path: routes "${e}" and "${t}" resolve to the same URL — the later would shadow the earlier. Give them distinct paths.`)}function tt(e,t){throw Error(`[SegmentMatcher.registerTree] Index route "${e}" (path "/") under the splat parent "${t}" is unreachable: the wildcard match never reaches the index node. Give the index a distinct path, or make the parent static.`)}function nt(e,t){return e.paramChild?e.paramChild.name!==t&&Ue(e.paramChild.name,t,`:`):e.paramChild={node:je(),name:t},e.paramChild.node}function rt(e,t){return e.splatChild?e.splatChild.name!==t&&Ue(e.splatChild.name,t,`*`):e.splatChild={node:je(),name:t},e.splatChild.node}function it(e,t){e.route!==void 0&&e.route!==t&&et(e.route.name,t.name),e.route=t}function at(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>=128)return!0;return!1}function ot(e,t,n){let r=A(n);if(r===`/`){it(e.root,t);return}st(e,e.root,r,1,t)}function st(e,t,n,r,i){let a=n.length;for(;r<=a;){let i=n.indexOf(`/`,r),o=i===-1?a:i,s=n.slice(r,o);t=dt(e,t,s),r=o+1}it(t,i)}function ct(e,t,n){let r=n.length;for(;r>1&&n.codePointAt(r-1)===47;)--r;let i=n.slice(0,r);i.slice(i.lastIndexOf(`/`)+1).startsWith(`*`)&&tt(t.name,n);let a=lt(e,n);a.slashChildRoute=t}function lt(e,t){return ut(e,e.root,t)}function ut(e,t,n){let r=A(n);if(r===`/`||r===``)return t;let i=t,a=1,o=r.length;for(;a<=o;){let t=r.indexOf(`/`,a),n=t===-1?o:t;if(n<=a)break;let s=r.slice(a,n);i=dt(e,i,s),a=n+1}return i}function dt(t,n,r){let i=e.d(r);if(`error`in i&&We(),i.kind===`splat`){let e=rt(n,i.name);return n.hasChildren=!0,e}if(i.kind===`param`){let e=nt(n,i.name);return n.hasChildren=!0,e}at(r)&&Ye(r);let a=t.options.caseSensitive?r:r.toLowerCase();return a in n.staticChildren||(n.staticChildren===Ae&&(n.staticChildren=Object.create(null)),n.staticChildren[a]=je(),n.hasChildren=!0),n.staticChildren[a]}const ft=Object.hasOwn;function pt(t){let n=e.f(t);for(let[e,r]of n.entries())r===``&&e>0&&e<n.length-1&&$e(t)}function mt(t){for(let n of e.f(t)){let t=e.d(n);`error`in t&&Xe(t.error,n)}}function ht(t,n,r,i,a){let o=n.fullName===``;o||i.push(n);let s=n.absolute,c=n.paramMeta===e.o?n.path:n.paramMeta.pathPattern,l=s&&c.startsWith(`~`)?c.slice(1):c,u=s?l:c;pt(n.path),mt(u);let d=u,f=s?d:Me(r,d),p=o?a:gt(t,n,f,s?``:r,i,a);for(let e of n.children.values())ht(t,e,f,i,p);o||i.pop()}function gt(e,t,n,r,i,a){let o=xt(n,r),s=Object.freeze([...i]),c=_t(s),l=A(n),u=St(e.rootQueryParams,i),{buildStaticParts:d,buildParamSlots:f}=He(o?A(r):l,o?i.slice(0,-1):i,e.options.urlParamsEncoding,e.rootUrlParams),p=f.map(e=>e.paramName),m=p.length===0?Ie:new Set(p);m.size!==p.length&&Ze(t.fullName,p),Ct(t.fullName,u);let h={name:t.fullName,parent:a,matchSegments:s,meta:c,declaredQueryParams:u,declaredQueryParamsSet:u.length===0?Ie:new Set(u),hasTrailingSlash:n.length>1&&n.endsWith(`/`),buildStaticParts:d,buildParamSlots:f,buildParamNamesSet:m,cachedResult:void 0};return t.paramMeta.urlParams.length===0&&(h.cachedResult=Object.freeze({segments:h.matchSegments,params:Re,search:ze,meta:h.meta})),e.routesByName.set(t.fullName,h),o?yt(e,h,r):bt(e,h,n,l,t),h}function _t(e){let n;for(let r of e)vt(r.paramTypeMap)&&(n??=t.r(),n[r.fullName]=r.paramTypeMap);return n===void 0?Be:Object.freeze(t.t(t.i(n)))}function vt(e){for(let t in e)if(ft(e,t))return!0;return!1}function yt(e,t,n){ct(e,t,n);let r=A(n),i=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.has(i)&&e.staticCache.set(i,t)}function bt(e,t,n,r,i){if(ot(e,t,n),i.paramMeta.urlParams.length===0){let n=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.set(n,t)}}function xt(e,t){return A(e)===A(t)}function St(e,t){let n=[];e.length>0&&n.push(...e);for(let e of t)e.paramMeta.queryParams.length>0&&n.push(...e.paramMeta.queryParams);return n.length===0?Fe:n}function Ct(t,n){for(let r of n)e.s.test(r)&&Qe(t,r)}const wt=Symbol.for(`real-router.searchParams.configFault`),Tt=Object.hasOwn,Et=Object.keys,Dt=Object.getOwnPropertyDescriptor;function Ot(e){try{return Dt(e,wt)?.configurable===!1}catch{return!1}}function kt(e){return typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):String(e)}const At=Object.freeze({});function jt(e,t){return e===`strict`?t?`always`:`never`:e}var Mt=class{get options(){return this.#e}#e;#t=je();#n=new Map;#r=new Map;#i={cleanPath:``,normalized:``,queryString:void 0};#a=[];#o=``;#s;#c;constructor(e){let t=e.urlParamsEncoding??`default`,n=typeof t==`string`?t:String(t),r=Tt(De,n)?n:`default`;this.#e={caseSensitive:e.caseSensitive??!0,strictTrailingSlash:e.strictTrailingSlash??!1,strictQueryParams:e.strictQueryParams??!1,urlParamsEncoding:r,parseQueryString:e.parseQueryString,buildQueryString:e.buildQueryString},this.#s=this.#e.caseSensitive,this.#c=this.#e.urlParamsEncoding===`none`?null:Oe[this.#e.urlParamsEncoding]}registerTree(e){this.#a=e.paramMeta.queryParams,ht({root:this.#t,options:this.#e,routesByName:this.#n,staticCache:this.#r,rootQueryParams:this.#a,rootUrlParams:e.paramMeta.urlParams},e,``,[],null)}match(e){if(!this.#f(e))return;let{cleanPath:t,normalized:n,queryString:r}=this.#i,i=this.#s?n:n.toLowerCase(),a=this.#r.get(i);if(a)return this.#e.strictTrailingSlash&&!this.#g(t,a)?void 0:r===void 0&&a.cachedResult?a.cachedResult:this.#m(a,{},r);let o={},s=this.#_(n,o);if(s&&!(this.#e.strictTrailingSlash&&!this.#g(t,s))&&this.#b(o))return this.#m(s,o,r)}buildPath(e,t,n,r){let i=this.#n.get(e);if(!i)throw Error(`[SegmentMatcher.buildPath] '${e}' is not defined`);let a=this.#l(i,t),o=this.#u(a,jt(r?.trailingSlash,i.hasTrailingSlash)),s=this.#d(i,n??t,r?.queryParamsMode);return o+(s?`?${s}`:``)}getSegmentsByName(e){return this.#n.get(e)?.matchSegments}getMetaByName(e){return this.#n.get(e)?.meta}getDeclaredQueryParams(e){return this.#n.get(e)?.declaredQueryParams}hasRoute(e){return this.#n.has(e)}#l(e,t){let n=e.buildStaticParts,r=e.buildParamSlots;if(r.length===0)return n[0];let i=n[0];for(let[e,a]of r.entries()){let r=t!=null&&Tt(t,a.paramName)?t[a.paramName]:void 0;if(r==null)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}'`);if(r===``)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}' (empty string)`);let o=a.encoder(kt(r));i+=o+n[e+1]}return i}#u(e,t){return t===`always`&&!e.endsWith(`/`)?`${e}/`:t===`never`&&e!==`/`&&e.endsWith(`/`)?e.slice(0,-1):e}#d(e,n,r){if(!n||e.declaredQueryParams.length===0&&r!==`loose`)return``;let i={},a=!1;for(let r of e.declaredQueryParams)Tt(n,r)&&(t.a(i,r,n[r]),a=!0);if(r===`loose`)for(let r of Et(n))e.declaredQueryParamsSet.has(r)||e.buildParamNamesSet.has(r)||(t.a(i,r,n[r]),a=!0);return a?this.#e.buildQueryString(i):``}#f(e){if(e===``&&(e=`/`),e.codePointAt(0)!==47)return!1;let t=this.#p(e);if(t===-2)return!1;t===-3&&(e=this.#o);let n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1):void 0;if(r!==void 0){let e=r.indexOf(`#`);e!==-1&&(r=r.slice(0,e))}let i=A(n);return this.#i.cleanPath=n,this.#i.normalized=i,this.#i.queryString=r,!0}#p(e){let t=!1;for(let n=0;n<e.length;n++){let r=e.codePointAt(n);if(r===35)return this.#o=e.slice(0,n),-3;if(r===63)return n;if(r>=128)return-2;if(r===47){if(t)return-2;t=!0}else t=!1}return-1}#m(e,t,n){let r=At;if(n!==void 0){let t=this.#h(e,n);if(t===void 0)return;r=t}return{segments:e.matchSegments,params:t,search:r,meta:e.meta}}#h(e,t){let n;try{n=this.#e.parseQueryString(t)}catch(e){if(Ot(e))throw e;return}if(this.#e.strictQueryParams){let t=e.declaredQueryParamsSet;for(let e of Et(n))if(!t.has(e))return}return n}#g(e,t){return(e.length>1&&e.endsWith(`/`))===t.hasTrailingSlash}#_(e,t){return e.length===1?this.#t.slashChildRoute??this.#t.route:this.#v(this.#t,e,1,t)}#v(e,n,r,i){let a=e,o=n.length,s=this.#s;for(;r<=o;){let e=n.indexOf(`/`,r),c=e===-1?o:e,l=n.slice(r,c),u=s?l:l.toLowerCase(),d;if(u in a.staticChildren){let e=a.staticChildren[u];if(a.splatChild!==void 0){let o={},s=this.#v(e,n,c+1,o);return s===void 0?this.#y(a.splatChild,n,r,i):(t.n(i,o),s)}d=e}else if(a.paramChild){let e=a.paramChild;if(a.splatChild!==void 0){let o={[e.name]:l},s=this.#v(e.node,n,c+1,o);return s===void 0?this.#y(a.splatChild,n,r,i):(t.n(i,o),s)}d=e.node,t.a(i,e.name,l)}else if(a.splatChild)return this.#y(a.splatChild,n,r,i);else return;a=d,r=c+1}return a.slashChildRoute??a.route}#y(e,n,r,i){let a=e.node;if(!a.hasChildren)return t.a(i,e.name,n.slice(r)),a.route;let o={},s=this.#v(a,n,r,o);return s?(t.n(i,o),s):(t.a(i,e.name,n.slice(r)),a.route)}#b(e){let t=this.#c;if(!t)return!0;for(let n of Et(e)){let r=e[n];if(r.includes(`%`)){if(!Pe(r))return!1;try{e[n]=t(r)}catch{return!1}}}return!0}};const Nt=Object.freeze(new Map),Pt=Object.freeze([]);function Ft(e){return e.parent?.name?`${e.parent.fullName}.${e.name}`:e.name}function It(e){let t=new Map;for(let n of e)t.set(n.name,n);return t}function Lt(e,t){let n=[],r=[];for(let i of e){let e=Rt(i,t);n.push(e),e.absolute||r.push(e)}return{childrenMap:It(n),nonAbsoluteChildren:r}}function Rt(t,n){let r=e.c(t.path),i=r.urlParams.length===0&&r.queryParams.length===0&&r.pathPattern===t.path?e.o:r,a=i.paramTypeMap,o={name:t.name,path:t.path,absolute:t.absolute,parent:n,children:void 0,paramMeta:i,nonAbsoluteChildren:void 0,fullName:``,paramTypeMap:a};if(o.fullName=Ft(o),t.children.length===0)o.children=Nt,o.nonAbsoluteChildren=Pt;else{let{childrenMap:e,nonAbsoluteChildren:n}=Lt(t.children,o);o.children=e,o.nonAbsoluteChildren=n,Object.freeze(o.nonAbsoluteChildren),Object.freeze(o.children)}return Object.freeze(a),Object.freeze(i.urlParams),Object.freeze(i.queryParams),Object.freeze(i),Object.freeze(o),o}function zt(e){return Rt(e,null)}function Bt(e,t,n){return zt(xe(e,t,n))}function Vt(e){let t=e.absolute?`~${e.path}`:e.path,n={name:e.name,path:t};return e.children.size>0&&(n.children=Array.from(e.children.values(),Vt)),n}function Ht(e){return Array.from(e.children.values(),Vt)}const Ut=e=>{let t=e.indexOf(`%`),n=e.indexOf(`+`);if(t===-1&&n===-1)return e;let r=n===-1?e:e.replaceAll(`+`,` `);return t===-1?r:decodeURIComponent(r)},Wt=(e,t)=>{if(e===void 0)return t.boolean.decodeUndefined();let n=t.boolean.decodeRaw(e);if(n!==null)return n;let r=Ut(e),i=t.number.decode(r);return i===null?t.boolean.decodeValue(r):i},Gt=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,Kt=e=>{try{return encodeURIComponent(e)}catch(t){if(!(t instanceof URIError))throw t;return encodeURIComponent(String(e).replaceAll(Gt,`�`))}},qt=e=>{let t=typeof e;if(t!==`string`&&t!==`number`&&t!==`boolean`)throw TypeError(`[router] Invalid query value: an array element must be a string, number, or boolean — received ${t}`);return Kt(e)},Jt=(e,t,n,r)=>{let i=`${e}${n}`,a=[];for(let e of t)if(e===null){let e=r.encode(i);e&&a.push(e)}else a.push(`${i}=${qt(e)}`);return a.join(`&`)},Yt={none:{encodeArray:(e,t,n)=>Jt(e,t,``,n)},brackets:{encodeArray:(e,t,n)=>Jt(e,t,`[]`,n)},index:{encodeArray:(e,t,n)=>{let r=[];for(let[i,a]of t.entries()){let t=`${e}[${i}]`;if(a===null){let e=n.encode(t);e&&r.push(e)}else r.push(`${t}=${qt(a)}`)}return r.join(`&`)},indexed:!0},comma:{encodeArray:(e,t)=>{let n=[];for(let e of t)e!==null&&n.push(qt(e));return n.length===0?``:`${e}=${n.join(`,`)}`},decodeValue:e=>e.includes(`,`)?e.split(`,`):null}},Xt={none:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:()=>null,decodeValue:e=>e},auto:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e},"empty-true":{encode:(e,t)=>t?e:`${e}=false`,decodeUndefined:()=>!0,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e}},Zt={default:{encode:e=>e},hidden:{encode:()=>``}},Qt={auto:{decode:e=>{let t=e.length;if(t===0)return null;let n=+(e.codePointAt(0)===45);if(n===t||t-n>1&&e.codePointAt(n)===48&&e.codePointAt(n+1)!==46)return null;let r=!1;for(let i=n;i<t;i++){let a=e.codePointAt(i);if(!(a!==void 0&&a>=48&&a<=57)){if(a===46&&!r&&i!==n&&i!==t-1){r=!0;continue}return null}}let i=Number(e);return String(i)!==e||!Number.isSafeInteger(i)&&!r?null:i}},none:{decode:()=>null}},$t=Object.defineProperty,en=Object.keys,tn=Object.hasOwn,nn=Symbol.for(`real-router.searchParams.configFault`),rn=(e,t,n)=>{let r=typeof t==`string`?t:String(t);if(!tn(e,r)){let t=TypeError(`[router.constructor] Invalid "queryParams.${n}": "${r}" — expected ${en(e).map(e=>`"${e}"`).join(` | `)}`);throw $t(t,nn,{value:!0}),t}return e[r]},an=(e,t,n,r)=>({boolean:rn(Xt,t,`booleanFormat`),null:rn(Zt,n,`nullFormat`),number:rn(Qt,r,`numberFormat`),array:rn(Yt,e,`arrayFormat`)}),on=Object.freeze({boolean:Xt.auto,null:Zt.default,number:Qt.auto,array:Yt.none}),j=Object.freeze({arrayFormat:`none`,booleanFormat:`auto`,nullFormat:`default`,numberFormat:`auto`}),sn=Object.freeze({...j,strategies:on}),cn=e=>{if(!e||e.arrayFormat===void 0&&e.booleanFormat===void 0&&e.nullFormat===void 0&&e.numberFormat===void 0)return sn;let t=e.arrayFormat??j.arrayFormat,n=e.booleanFormat??j.booleanFormat,r=e.nullFormat??j.nullFormat,i=e.numberFormat??j.numberFormat;return{arrayFormat:t,booleanFormat:n,nullFormat:r,numberFormat:i,strategies:an(t,n,r,i)}},M=e=>Kt(e),ln=(e,t,n)=>{let r=M(e);switch(typeof t){case`string`:case`number`:return`${r}=${M(t)}`;case`boolean`:return n.strategies.boolean.encode(r,t);case`object`:return t===null?n.strategies.null.encode(r):Array.isArray(t)?n.strategies.array.encodeArray(r,t,n.strategies.null):`${r}=${M(t)}`;default:return`${r}=${M(t)}`}},un=Object.hasOwn,dn=Object.keys;function fn(e,n,r){t.a(e,n,r)}function pn(e,t,n,r){if(!un(e,t)){fn(e,t,r?[n]:n);return}let i=e[t];Array.isArray(i)?i.push(n):fn(e,t,[i,n])}function mn(e,t,n){let r=t+1,i=0,a=!1;for(;r<n;){let t=e.codePointAt(r);if(t===93)return a?i:null;if(t!==void 0&&t>=48&&t<=57){i=i*10+(t-48),a=!0,r++;continue}return null}return null}function hn(e,t,n){let{searchPart:r,nameEnd:i,nameSourceEnd:a,rawValue:o,decodedName:s}=e,c=mn(r,i,a);if(c===null)return!1;let l=Wt(o,t),u=n.get(s);return u===void 0?n.set(s,[[c,l]]):u.push([c,l]),!0}function gn(e,t,n,r,i,a,o){let s=a!==-1&&a<n?e.slice(a+1,n):void 0,c=s===void 0?n:a,l=c,u=!1;for(let n=t;n<c;n++)if(e.codePointAt(n)===91){l=n,u=!0;break}let d=Ut(e.slice(t,l));if(!(o!==void 0&&u&&hn({searchPart:e,nameEnd:l,nameSourceEnd:c,rawValue:s,decodedName:d},i,o))){if(!u&&s!==void 0&&i.array.decodeValue){let e=i.array.decodeValue(s);if(e){for(let t of e)pn(r,d,Wt(t,i),!0);return}}pn(r,d,Wt(s,i),u)}}const _n=(e,t)=>{if(e===``||e===`?`)return{};let n={};return vn(e,n,t.strategies),n};function vn(e,t,n){let r=n.array.indexed?new Map:void 0,i=0,a=e.length,o=-2;for(;i<a;){let s=e.indexOf(`&`,i);s===-1&&(s=a),s>i&&(o!==-1&&o<i&&(o=e.indexOf(`=`,i)),gn(e,i,s,t,n,o,r)),i=s+1}if(r!==void 0)for(let[e,n]of r)n.sort((e,t)=>e[0]-t[0]),fn(t,e,n.map(e=>e[1]))}const yn=(e,t)=>{let n=dn(e);if(n.length===0)return``;let r=[];for(let i of n){let n=e[i];if(n===void 0)continue;let a=ln(i,n,t);a&&r.push(a)}return r.join(`&`)};function bn(e){let t=e?.queryParams,n=cn(t);return new Mt({...e?.caseSensitive!==void 0&&{caseSensitive:e.caseSensitive},...e?.strictTrailingSlash!==void 0&&{strictTrailingSlash:e.strictTrailingSlash},...e?.strictQueryParams!==void 0&&{strictQueryParams:e.strictQueryParams},...e?.urlParamsEncoding!==void 0&&{urlParamsEncoding:e.urlParamsEncoding},parseQueryString:e=>_n(e,n),buildQueryString:e=>yn(e,n)})}const xn={defaultRoute:``,defaultParams:{},defaultSearch:{},trailingSlash:`preserve`,caseSensitive:!0,queryParamsMode:`loose`,queryParams:j,urlParamsEncoding:`default`,allowNotFound:!0,rewritePathOnMatch:!0};function Sn(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`[router.constructor] options must be a plain object`)}const Cn=Object.freeze;var wn=class{#e;constructor(e={}){this.#e=Cn(_e({...xn,...e}))}static validateOptionsIsObject(e){Sn(e)}get(){return this.#e}};function Tn(e,t){return typeof e==`function`?e(t):e}const En=Object.keys;function Dn(e,t,n,r,i){let a=e.pathNames(t);if(a!==void 0)for(let e of En(n))!r.includes(e)&&!a.includes(e)&&i(t,e)}function N(e,n,r,i,o){let s=String(n),c=o?.resolveForward===!1?{name:s,params:r,search:i}:e.resolveForward(s,r,i),u=c.name,d=O(c.params,t.l),f=o?.diagnoseUndeclared===!0?e.reportUndeclaredParamKey:void 0;f&&Dn(e,u,d,e.queryNames(u),f);let p=e.defaultParams(u),m=e.defaultSearch(u);if((c.search===void 0||c.search===t.u)&&p===void 0&&m===void 0)return{name:u,path:d,query:t.u};let h=e.queryNames(u),g=e.reportDroppedQueryKey,_=he(o?.resolveForward===!1?a(m,d,h):m,O(c.search,t.u));return{name:u,path:me(p,d),query:e.admitsUndeclaredQuery()?_:l(_,h,t=>{g!==void 0&&e.pathNames(u)!==void 0&&g(u,t)})}}const On=Object.keys;function P(e,t){return t.buildPath(e.name,e.path,e.query)}function kn(e,t){let n=t.reportUndeclaredParamKey;if(!n)return P(e,t);let r=On(e.path).length,i=P(e,t);return On(e.path).length>r&&Dn(t,e.name,e.path,t.queryNames(e.name),n),i}const An=Object.freeze;function jn(e,n){let r={name:e.name,params:e.path,search:e.query,path:n,context:{},transition:t.s};return An(r.params),r}function Mn(e,t){return fe(jn(e,t))}function Nn(e,t){return jn(e,t)}var Pn=class{#e;#t;get(){return this.#e.current}getPrevious(){return this.#e.previous}setContext(e){this.#e=e}setDependencies(e){this.#t=e}makeState(n,r,i,a){let o=this.#t.port(),s=N(o,n,r??t.l,i,{resolveForward:!1});return e.y(`makeState`,s.name,s.path,o.queryNames(s.name)),Mn(s,a??P(s,o))}areStatesEqual(e,t,n=!0){if(!e||!t)return!!e==!!t;if(e.name!==t.name)return!1;if(n){let n=this.#t.getUrlParams(e.name);for(let r of n)if(!E(e.params[r],t.params[r]))return!1;return!0}return de(e.params,t.params)&&de(e.search,t.search)}};const Fn=Object.keys,In={[t.g.ROUTER_START]:t.h.ROUTER_START,[t.g.ROUTER_STOP]:t.h.ROUTER_STOP,[t.g.TRANSITION_SUCCESS]:t.h.TRANSITION_SUCCESS,[t.g.TRANSITION_START]:t.h.TRANSITION_START,[t.g.TRANSITION_LEAVE_APPROVE]:t.h.TRANSITION_LEAVE_APPROVE,[t.g.TRANSITION_ERROR]:t.h.TRANSITION_ERROR,[t.g.TRANSITION_CANCEL]:t.h.TRANSITION_CANCEL},Ln=Fn(In),Rn=`router.usePlugin`;function zn(e){if(!(e&&typeof e==`object`)||Array.isArray(e))throw TypeError(`[router.usePlugin] Plugin factory must return an object, got ${typeof e}`);if(typeof e.then==`function`)throw TypeError(`[router.usePlugin] Async plugin factories are not supported. Factory returned a Promise instead of a plugin object.`)}var Bn=class e{#e=new Set;#t=new Set;#n;static validatePlugin(e){zn(e)}setDependencies(e){this.#n=e}count(){return this.#e.size}use(...e){if(this.#n.getValidator()?.plugins.validateCountThresholds(this.#e.size+e.length),e.length===1){let t=e[0],n=this.#i(t);this.#e.add(t);let r=!1,i=()=>{if(!r){r=!0,this.#e.delete(t),this.#t.delete(i);try{n()}catch(e){this.#n.logger.error(Rn,`Error during cleanup:`,e)}}};return this.#t.add(i),i}let t=this.#r(e),n=[];try{for(let e of t){let t=this.#i(e);n.push({factory:e,cleanup:t})}}catch(e){for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(Rn,`Cleanup error:`,e)}throw e}for(let{factory:e}of n)this.#e.add(e);let r=!1,i=()=>{if(!r){r=!0,this.#t.delete(i);for(let{factory:e}of n)this.#e.delete(e);for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(Rn,`Error during cleanup:`,e)}}};return this.#t.add(i),i}getAll(){return[...this.#e]}has(e){return this.#e.has(e)}disposeAll(){for(let e of this.#t)e();this.#e.clear(),this.#t.clear()}#r(e){let t=new Set;for(let n of e)t.has(n)?this.#n.getValidator()?.plugins.warnBatchDuplicates(e):t.add(n);return t}#i(t){let n=this.#n.compileFactory(t);e.validatePlugin(n),this.#n.getValidator()?.plugins.validatePluginKeys(n),Object.freeze(n);let r=[];for(let e of Ln)e in n&&(typeof n[e]==`function`?(r.push(this.#n.addEventListener(In[e],n[e])),e===`onStart`&&this.#n.canNavigate()&&this.#n.getValidator()?.plugins.warnPluginAfterStart(e)):this.#n.getValidator()?.plugins.warnPluginMethodType(e));return()=>{for(let e of r)e();typeof n.teardown==`function`&&n.teardown()}}};const Vn=()=>!0,Hn=()=>!1,Un=()=>Vn,Wn=()=>Hn;function Gn(e){return e?Un:Wn}function Kn(e,t,n){n===void 0?e.delete(t):e.set(t,n)}var qn=class{#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=new Map;#a=new Map;#o=new Map;#s=new Map;#c=new Map;#l=new Map;#u=[this.#i,this.#a];#d;setDependencies(e){this.#d=e}getHandlerCount(e){let t=e===`activate`?this.#e:this.#n,n=e===`activate`?this.#t:this.#r;if(t.size===0)return n.size;if(n.size===0)return t.size;let r=new Set(t.keys());for(let e of n.keys())r.add(e);return r.size}preflightHandlerLimit(e,t,n){let r=this.#d.getValidator();if(!r)return;let i=(e,t,i)=>{let{definition:a,external:o}=this.#g(e),s=0;for(let e of t)(n?o.has(e):a.has(e)||o.has(e))||s++;if(s===0)return;let c=n?o.size:this.getHandlerCount(e);r.lifecycle.validateHandlerLimit(c+s-1,i)};i(`activate`,e,`canActivate`),i(`deactivate`,t,`canDeactivate`)}addCanActivate(e,t,n,r){this.#f(`activate`,e,t,n,`canActivate`,r)}addCanDeactivate(e,t,n,r){this.#f(`deactivate`,e,t,n,`canDeactivate`,r)}clearCanActivate(e,t){this.#p(`activate`,e,t)}clearCanDeactivate(e,t){this.#p(`deactivate`,e,t)}clearAll(){this.#e.clear(),this.#t.clear(),this.#n.clear(),this.#r.clear(),this.#a.clear(),this.#i.clear(),this.#o.clear(),this.#s.clear(),this.#c.clear(),this.#l.clear()}clearDefinitionGuards(){for(let e of this.#e.keys())this.#c.delete(e),this.#t.has(e)?this.#m(`activate`,e):this.#a.delete(e);for(let e of this.#n.keys())this.#o.delete(e),this.#r.has(e)?this.#m(`deactivate`,e):this.#i.delete(e);this.#e.clear(),this.#n.clear()}getFactories(){let e=Object.create(null),t=Object.create(null);for(let[t,n]of this.#n)e[t]=n;for(let[t,n]of this.#r)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,n]of this.#t)t[e]=n;return[e,t]}getFactoriesByOrigin(){let e=Object.create(null),t=Object.create(null),n=Object.create(null),r=Object.create(null);for(let[t,n]of this.#n)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,t]of this.#r)n[e]=t;for(let[e,t]of this.#t)r[e]=t;return{definition:[e,t],external:[n,r]}}getFunctions(){return this.#u}canNavigateTo(e,t,n,r){for(let t of e)if(!this.#_(this.#i,t,n,r,`canNavigateTo`))return!1;for(let e of t)if(!this.#_(this.#a,e,n,r,`canNavigateTo`))return!1;return!0}compileGuardFactory(e,t){let n=typeof e==`boolean`?Gn(e):e,r=this.#d.compileFactory(n);if(typeof r!=`function`)throw TypeError(`[router.${t}] Factory must return a function, got ${typeof r}`);return r}#f(e,t,n,r,i,a){let o=this.#g(e),s=e===`activate`?this.#a:this.#i,c=r?o.definition:o.external,l=r?o.external:o.definition;if(c.has(t)||l.has(t))this.#d.getValidator()?.lifecycle.warnOverwrite(t,e,i);else{let t=this.#d.getValidator();if(t){let n=this.getHandlerCount(e);t.lifecycle.validateHandlerLimit(n,i),t.lifecycle.validateCountThresholds(n+1,i)}}let u=typeof n==`boolean`?Gn(n):n,d=c.get(t),f=this.#h(e),p=r?f.definition:f.external,m=p.get(t);c.set(t,u);let h=r&&l.has(t);try{let e=a??this.compileGuardFactory(u,i);p.set(t,e),h||s.set(t,e)}catch(n){throw Kn(c,t,d),Kn(p,t,m),this.#m(e,t),n}}#p(e,t,n){let{definition:r,external:i}=this.#g(e),a=this.#h(e),o=n!==`external`&&r.delete(t),s=n!==`definition`&&i.delete(t);o&&a.definition.delete(t),s&&a.external.delete(t),(o||s)&&this.#m(e,t)}#m(e,t){let n=this.#h(e),r=e===`activate`?this.#a:this.#i,i=n.external.get(t)??n.definition.get(t);if(!i){r.delete(t);return}r.set(t,i)}#h(e){return e===`activate`?{definition:this.#c,external:this.#l}:{definition:this.#o,external:this.#s}}#g(e){return e===`activate`?{definition:this.#e,external:this.#t}:{definition:this.#n,external:this.#r}}#_(e,t,n,r,i){let a=e.get(t);if(!a)return!0;try{let e=a(n,r);return typeof e==`boolean`?e:(this.#d.getValidator()?.lifecycle.warnAsyncGuardSync(t,i),!1)}catch(e){return this.#d.logger.warn(`router.${i}`,`Guard for "${t}" threw — treated as navigation-blocking (returned false)`,e),!1}}};const Jn=new Set([`name`,`path`,`children`,`canActivate`,`canDeactivate`,`forwardTo`,`encodeParams`,`decodeParams`,`defaultParams`,`defaultSearch`]),Yn=Object.hasOwn,F=Object.keys;function Xn(){return{decoders:Object.create(null),encoders:Object.create(null),defaultParams:Object.create(null),defaultSearch:Object.create(null),forwardMap:Object.create(null),forwardFnMap:Object.create(null)}}function Zn(e){return F(e.forwardMap).length>0||F(e.forwardFnMap).length>0}function Qn(e,t){for(let n of F(t))Object.assign(e[n],t[n])}function $n(e,t){for(let n in e)if(Yn(t,n)&&!E(e[n],t[n]))return!1;return!0}function er(e){return typeof e==`string`?e:`<non-string>`}function tr(e,t){for(let n in e)if(!E(e[n],t[n]))return!1;return!0}function nr(e){let t={name:e.name,path:e.path};return e.children&&(t.children=e.children.map(e=>nr(e))),t}function rr(e,t,n){if(n.add(t),e.children)for(let r of e.children)rr(r,`${t}.${r.name}`,n)}function ir(e,t,n=``){for(let r=0;r<e.length;r++){let i=e[r],a=n?`${n}.${i.name}`:i.name;if(a===t){e.splice(r,1);let t=new Set;return rr(i,a,t),t}if(i.children&&t.startsWith(`${a}.`)){let e=ir(i.children,t,a);if(e)return e}}}function ar(e,t){for(let n of F(e))t(n)&&delete e[n]}function or(e,t){let n=t.search(/[?#]/),r=n===-1?t:t.slice(0,n);if(r===`/`||r.endsWith(`/`))return t;let i=e.search(/[?#]/),a=i===-1?e:e.slice(0,i);return a.length>1&&a.endsWith(`/`)?`${r}/${n===-1?``:t.slice(n)}`:t}function sr(e){let t=[];for(let n of e)for(let e of n.paramMeta.urlParams)t.push(e);return t}function cr(e,t,n){let r=n.get(t);if(r!==void 0)return r;let i=e.getSegmentsByName(t),a=i?sr(i):[];return n.set(t,a),a}function lr(e,t){return cr(e.matcher,t,e.urlParamsCache)}function ur(e,t,n,r){let i=r.get(t);if(i!==void 0)return i;let a=e.getDeclaredQueryParams(t),o=[];if(a){let r=cr(e,t,n);o=a.filter(e=>!r.includes(e))}return r.set(t,o),o}function dr(e,t){return ur(e.matcher,t,e.urlParamsCache,e.queryParamsCache)}function fr(e,t,n){let r=new Map,i=new Map;o(t.defaultParams,t=>ur(e,t,r,i),n)}function pr(e,t,n=100){let r=String(e),i=new Set,a=[r],o=r;for(;;){let e=t[o];if(!e)break;let r=String(e);if(i.has(r)){let e=a.indexOf(r),t=[...a.slice(e),r];throw Error(`Circular forwardTo: ${t.join(` → `)}`)}if(i.add(o),a.push(r),o=r,a.length>n)throw Error(`forwardTo chain exceeds maximum depth (${n}): ${a.join(` → `)}`)}return o}const mr=Object.entries,I=Object.keys,hr=Object.defineProperty,gr=Object.fromEntries;function _r(e,t,n){let r=Bt(``,t,e),i=bn(n);return i.registerTree(r),{tree:r,matcher:i}}function vr(e,t=e.definitions){let n=_r(t,e.rootPath,e.matcherOptions);e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function yr(e,t){let n=_r(e.definitions,t,e.matcherOptions);fr(n.matcher,e.config,`setRootPath`),e.rootPath=t,e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function br(e,t){vr(e,t),L(e,Cr(e.config))}function xr(e){Sr(e),vr(e,[])}function Sr(e){Object.assign(e.config,Xn()),L(e,Object.create(null)),e.routeCustomFields=Object.create(null)}function L(e,t){e.resolvedForwardMap=t,e.hasAnyForward=Zn(e.config)}function Cr(e){let t=Object.create(null);for(let n of I(e.forwardMap))t[n]=pr(n,e.forwardMap);return t}function wr(e,t){if(typeof e!=`function`)return;let n=e.constructor.name===`AsyncFunction`,r=e.toString().includes(`__awaiter`);if(n||r)throw TypeError(`forwardTo callback cannot be async for route "${t}". Async functions break matchPath/buildPath.`)}function Tr(e,t,n,r){if(e.canActivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${n}".`)}if(e.canDeactivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${n}".`)}wr(e.forwardTo,t),typeof e.forwardTo==`string`?n.forwardMap[t]=e.forwardTo:n.forwardFnMap[t]=e.forwardTo}function Er(e,t,n,r,i,a,o){let s=gr(mr(e).filter(([e])=>!Jn.has(e)));if(I(s).length>0&&(r[t]=s),e.canActivate&&i.set(t,e.canActivate),e.canDeactivate&&a.set(t,e.canDeactivate),e.forwardTo&&Tr(e,t,n,o),e.decodeParams){let r=e.decodeParams;n.decoders[t]=e=>r(e)??e}if(e.encodeParams){let r=e.encodeParams;n.encoders[t]=e=>r(e)??e}e.defaultParams&&(n.defaultParams[t]=e.defaultParams),e.defaultSearch&&(n.defaultSearch[t]=e.defaultSearch)}function Dr(e,t,n,r,i,a,o=``){for(let s of e){let e=o?`${o}.${s.name}`:s.name;Er(s,e,t,n,r,i,a),s.children&&Dr(s.children,t,n,r,i,a,e)}}function Or(e){let t=Xn();return Qn(t,e),t}function kr(e,t,n){if(n.length===0)return[...e,...t];let[r,...i]=n;return e.map(e=>{if(e.name!==r)return e;let n=e.children??[];return{...e,children:i.length===0?[...n,...t]:kr(n,t,i)}})}function Ar(e){return e.map(e=>{let t={...e};return Array.isArray(t.children)&&(t.children=Ar(t.children)),t})}function jr(e,t,n){for(let r of e){let e=t?`${t}.${r.name}`:r.name;n(e),r.children&&jr(r.children,e,n)}}function Mr(e,t,n){let r=new Set;jr(e,t,e=>{if(r.has(e))throw Error(`[router.${n}] Duplicate route "${e}" in batch`);r.add(e)})}function Nr(e,t){if(v(e,t),e.startsWith(`@@`))throw Error(`[router.${t}] Route name "${e}" uses the reserved "@@" prefix. Routes with this prefix are internal and cannot be modified through the public API.`)}function R(e,t){for(let n of e)Nr(n.name,t),n.children&&R(n.children,t)}function z(t,n){for(let r of t)e.r(r.name,n),r.children&&z(r.children,n)}function B(t,n){for(let r of t)e.t(r.name,n),r.children&&B(r.children,n)}function Pr(e,t,n){let r=new Map,i=(e,t)=>{for(let a of e){let e=r.get(t);if(e?.has(a.path))throw Error(`[router.${n}] Path "${a.path}" is already defined`);e?e.add(a.path):r.set(t,new Set([a.path])),a.children&&i(a.children,t?`${t}.${a.name}`:a.name)}};i(e,t)}function Fr(e,t,n){if(R(t,`addRoute`),z(t,`addRoute`),B(t,`addRoute`),n!==void 0&&!e.matcher.hasRoute(n))throw Error(`[router.addRoute] Parent route "${n}" does not exist`);jr(t,n??``,t=>{if(e.matcher.hasRoute(t))throw Error(`[router.addRoute] Route "${t}" already exists`)}),Mr(t,n??``,`addRoute`),Pr(t,n??``,`addRoute`)}function Ir({definitions:e,routesForHandlers:t,config:n,routeCustomFields:r,handlerParentName:i,rootPath:a,matcherOptions:o,logger:s}){let c=new Map,l=new Map;Dr(t,n,r,c,l,s,i);let u=Cr(n),{tree:d,matcher:f}=_r(e,a,o);return{config:n,routeCustomFields:r,pendingCanActivate:c,pendingCanDeactivate:l,tree:d,matcher:f,resolvedForwardMap:u}}function Lr(e,t,n,r){return Ir({definitions:kr(e.definitions,t.map(e=>nr(e)),n===void 0?[]:n.split(`.`)),routesForHandlers:t,config:Or(e.config),routeCustomFields:Object.assign(Object.create(null),e.routeCustomFields),handlerParentName:n??``,rootPath:e.rootPath,matcherOptions:e.matcherOptions,logger:r})}function Rr(e,t,n,r){return Ir({definitions:e.map(e=>nr(e)),routesForHandlers:e,config:Xn(),routeCustomFields:Object.create(null),handlerParentName:``,rootPath:t,matcherOptions:n,logger:r})}function zr(e,t,n){let r=[];for(let[i,a]of e)r.push([i,a,t(a,n)]);return r}function Br(e,t){return{activate:zr(e.pendingCanActivate,t.compileGuard,`canActivate`),deactivate:zr(e.pendingCanDeactivate,t.compileGuard,`canDeactivate`)}}function Vr(e,t,n){let r=e.depsStore,{activate:i,deactivate:a}=n??Br(t,r);Object.assign(e.config,t.config),e.routeCustomFields=t.routeCustomFields,e.tree=t.tree,e.matcher=t.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear(),L(e,t.resolvedForwardMap);for(let[e,t,n]of i)r.addActivateGuard(e,t,n);for(let[e,t,n]of a)r.addDeactivateGuard(e,t,n)}function V(e){return e===null?e:e||void 0}function Hr(t,n,r,i){let{forwardTo:a,defaultParams:o,defaultSearch:s,decodeParams:c,encodeParams:l,canActivate:u,canDeactivate:d}=i,f=V(a),p=V(o),m=V(s),h=V(c),g=V(l),_=V(u),v=V(d);p!=null&&e.v(`updateRoute`,r,p,dr(t,r),"this route's `defaultParams`","Move it to `defaultSearch`");let y=f===void 0?void 0:Ur(r,f,t.config),b=Wr(t,r,i),x=_==null?void 0:n.compileGuardFactory(_,`canActivate`),S=v==null?void 0:n.compileGuardFactory(v,`canDeactivate`);return n.preflightHandlerLimit(x===void 0?[]:[r],S===void 0?[]:[r],!1),b!==void 0&&(I(b).length>0?t.routeCustomFields[r]=b:delete t.routeCustomFields[r]),y!==void 0&&(t.config.forwardMap=y.forwardMap,t.config.forwardFnMap=y.forwardFnMap,L(t,y.resolved)),Kr(t,r,{defaultParams:p,defaultSearch:m,decodeParams:h,encodeParams:g}),qr(n,`activate`,r,_,x),qr(n,`deactivate`,r,v,S),{forwardTo:f,defaultParams:p,defaultSearch:m,decodeParams:h,encodeParams:g}}function Ur(e,t,n){wr(t,e);let r=Object.assign(Object.create(null),n.forwardMap),i=Object.assign(Object.create(null),n.forwardFnMap);return t===null?(delete r[e],delete i[e]):typeof t==`string`?(delete i[e],r[e]=t):(delete r[e],i[e]=t),{forwardMap:r,forwardFnMap:i,resolved:Cr({...n,forwardMap:r})}}function Wr(e,n,r){let i;for(let a of I(r)){if(Jn.has(a))continue;let o=r[a];o!==void 0&&(i??={...e.routeCustomFields[n]},o===null?delete i[a]:t.a(i,a,o))}return i}function Gr(e,t,n){n!==void 0&&(n===null?delete e[t]:e[t]=n)}function Kr(e,t,n){if(Gr(e.config.defaultParams,t,n.defaultParams),Gr(e.config.defaultSearch,t,n.defaultSearch),n.decodeParams!==void 0)if(n.decodeParams===null)delete e.config.decoders[t];else{let r=n.decodeParams;e.config.decoders[t]=e=>r(e)??e}if(n.encodeParams!==void 0)if(n.encodeParams===null)delete e.config.encoders[t];else{let r=n.encodeParams;e.config.encoders[t]=e=>r(e)??e}}function qr(e,t,n,r,i){r!==void 0&&(t===`activate`?r===null?e.clearCanActivate(n,`definition`):e.addCanActivate(n,r,!0,i):r===null?e.clearCanDeactivate(n,`definition`):e.addCanDeactivate(n,r,!0,i))}function Jr(e,t,n){let r=Ar(e);R(r,`addRoute`),z(r,`constructor`),B(r,`constructor`),Mr(r,``,`addRoute`);let i=Rr(r,``,t,n),a={get definitions(){return Ht(a.tree)},config:i.config,tree:i.tree,matcher:i.matcher,urlParamsCache:new Map,queryParamsCache:new Map,resolvedForwardMap:i.resolvedForwardMap,hasAnyForward:Zn(i.config),routeCustomFields:i.routeCustomFields,rootPath:``,matcherOptions:t,depsStore:void 0,lifecycleNamespace:void 0,pendingCanActivate:i.pendingCanActivate,pendingCanDeactivate:i.pendingCanDeactivate};return fr(a.matcher,a.config,`addRoute`),hr(a,`matcherOptions`,{writable:!1,configurable:!1}),a}const Yr=Object.keys,Xr=[];Object.freeze(Xr);function Zr(e){let t=e.split(`.`),n=t.length,r=[t[0]],i=t[0].length;for(let a=1;a<n-1;a++)i+=1+t[a].length,r.push(e.slice(0,i));return r.push(e),r}const Qr=new Set([`string`,`number`,`boolean`]);function $r(e){return Qr.has(typeof e)}function ei(e,t,n,r){let i=t[e];if(!i||typeof i!=`object`)return!0;for(let e of Yr(i)){let t=n.params[e],i=r.params[e];if($r(t)&&$r(i)&&String(t)!==String(i))return!1}return!0}function ti(e,t,n,r,i,a){for(let o=0;o<a;o++){let a=r[o];if(a!==i[o]||!ei(a,e,t,n))return o}return a}const ni=new Map;function H(e){let t=ni.get(e);if(t)return t;let n=ri(e);return Object.freeze(n),ni.set(e,n),n}function ri(e){if(!e)return[``];let t=e.indexOf(`.`);if(t===-1)return[e];let n=e.indexOf(`.`,t+1);if(n===-1)return[e.slice(0,t),e];let r=e.indexOf(`.`,n+1);return r===-1?[e.slice(0,t),e.slice(0,n),e]:e.indexOf(`.`,r+1)===-1?[e.slice(0,t),e.slice(0,n),e.slice(0,r),e]:Zr(e)}let ii,ai,U=null,oi,si,ci=null;function li(e,t,n){if(!t)return{intersection:``,toActivate:H(e.name),toDeactivate:Xr};let r=n(e.name),i=n(t.name);if(!r&&!i)return{intersection:``,toActivate:H(e.name),toDeactivate:H(t.name)};let a=H(e.name),o=H(t.name),s=Math.min(o.length,a.length),c=ti(r??i,e,t,a,o,s),l;if(c>=o.length)l=Xr;else if(c===0&&o.length===1)l=o;else{l=[];for(let e=o.length-1;e>=c;e--)l.push(o[e])}let u=c===0?a:a.slice(c);return{intersection:c>0?o[c-1]:``,toDeactivate:l,toActivate:u}}function W(e,t,n){if(U!==null&&e===ii&&t===ai)return U;if(ci!==null&&e===oi&&t===si)return ci;let r=li(e,t,n);return oi=ii,si=ai,ci=U,ii=e,ai=t,U=r,r}const G=Object.hasOwn;function ui(e,t){return{name:t??e.segments.at(-1).fullName,params:e.params,search:e.search,meta:e.meta}}function di(e){return e===`preserve`?void 0:e}var fi=class{#e;#t;#n;get#r(){return this.#e.depsStore}constructor(e,t,n){this.#e=Jr(e,t,n)}static shouldUpdateNode(e,t){return(n,r)=>{if(!(n&&typeof n==`object`&&`name`in n))throw TypeError(`[router.shouldUpdateNode] toState must be valid State object`);if(n.transition?.reload||e===``)return!0;let{intersection:i,toActivate:a,toDeactivate:o}=W(n,r,t);return e===i||a.includes(e)?!0:o.includes(e)}}setDependencies(e){this.#e.depsStore=e}flushPendingGuards(){let e=this.#r;for(let[t,n]of this.#e.pendingCanActivate)e.addActivateGuard(t,n);this.#e.pendingCanActivate.clear();for(let[t,n]of this.#e.pendingCanDeactivate)e.addDeactivateGuard(t,n);this.#e.pendingCanDeactivate.clear()}setLifecycleNamespace(e){this.#e.lifecycleNamespace=e}setRootPath(e){yr(this.#e,e)}hasRoute(e){return this.#e.matcher.hasRoute(e)}clearRoutes(){xr(this.#e)}buildPath(e,n,r,i){if(e===t.p.UNKNOWN_ROUTE)return typeof n.path==`string`?n.path:``;let a=r??t.u,o=this.#e.config.encoders[e];if(typeof o==`function`){let t=o({params:{...n},search:{...a}});return this.#e.matcher.buildPath(e,t.params,t.search,this.#c(i))}return this.#e.matcher.buildPath(e,n,a,this.#c(i))}buildPathFromIntent(e,n,r){let i=n??t.l;return e===t.p.UNKNOWN_ROUTE?this.#r.port.buildPath(e,i,r??t.u):P(N(this.#r.port,e,i,r,{resolveForward:!1}),this.#r.port)}matchPath(t,n){let r=n,i=this.#e.matcher.match(t);if(!i)return;let a=ui(i),{name:o}=a,s=k(a.params),c=k(a.search),l=this.#e.config.decoders[o],u;typeof l==`function`?(u=l({params:s,search:c}),this.#r.getValidator()?.routes.validateStateBuilderArgs(o,u.params,`matchPath`),e.v(`matchPath`,o,u.params,this.getQueryParams(o),"the `params` returned by this route's `decodeParams`")):u={params:s,search:c};let d=N(this.#r.port,o,u.params,u.search),f=d.name;e.y(`matchPath`,d.name,d.path,this.getQueryParams(d.name));let p=d.path,m=d.query,h=t;if(r.rewritePathOnMatch){let e=this.#e.config.encoders[f],n=typeof e==`function`?e({params:p,search:m}):{params:p,search:m},i=r.trailingSlash;try{h=this.#e.matcher.buildPath(f,n.params,n.search,{trailingSlash:di(i),queryParamsMode:r.queryParamsMode}),i===`preserve`&&(h=or(t,h))}catch{h=t}}return Mn(d,h)}forwardState(e,n,r){let i=r??t.u;if(G(this.#e.config.forwardFnMap,e)){let t=this.#e.config.forwardFnMap[e],{target:r,chain:a}=this.#l(e,t,n);return this.#s(r,a,n,i)}let a=this.#e.resolvedForwardMap[e]??e;if(a!==e&&G(this.#e.config.forwardFnMap,a)){let t=this.#e.config.forwardFnMap[a],{target:r,chain:o}=this.#l(a,t,n);return this.#s(r,[...this.#o(e),...o],n,i)}return a===e?{name:e,params:n,search:i}:this.#s(a,this.#o(e),n,i)}buildStateResolved(e,t){let n=this.#e.matcher.getSegmentsByName(e);if(n)return ui({segments:n,params:t,search:{},meta:this.#e.matcher.getMetaByName(e)},e)}isActiveRoute(e,n=t.l,r=t.u,i=!1,a=!0){if(this.#i(e,n,r,i,a))return!0;if(!this.#e.hasAnyForward)return!1;let o;try{o=typeof e==`string`?e:String(e)}catch{return!1}if(!G(this.#e.config.forwardMap,o)&&!G(this.#e.config.forwardFnMap,o))return!1;let s;try{s=this.forwardState(e,n,r)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Dynamic forwardTo of route "${er(e)}" threw while resolving the active-link destination; treating the link as inactive.`,t),!1}return this.#i(s.name,s.params,s.search,i,a)}getMetaForState(e){return this.#e.matcher.hasRoute(e)?this.#e.matcher.getMetaByName(e):void 0}getUrlParams(e){return lr(this.#e,e)}getQueryParams(e){return dr(this.#e,e)}getStore(){return this.#e}getPort(){return this.#r.port}#i(e,t,n,r,i){try{return this.#a(e,t,n,r,i)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Reading the arguments for route "${er(e)}" threw while resolving the active-link state; treating the link as inactive.`,t),!1}}#a(e,t,n,r,i){let a=this.#r.getState();if(!a)return!1;let o=a.name;if(o!==e&&!o.startsWith(`${e}.`)&&!e.startsWith(`${o}.`))return!1;let s=N(this.#r.port,e,t,n,{resolveForward:!1});if(r||o===e){let e=Nn(s,``);return!this.#r.areStatesEqual(e,a,!0)||!$n(s.path,a.params)?!1:i||de(e.search,a.search)}return!(!o.startsWith(`${e}.`)||!$n(s.path,a.params)||!i&&!tr(s.query,a.search))}#o(e){let t=[],n=e;for(;G(this.#e.config.forwardMap,n);)t.push(n),n=this.#e.config.forwardMap[n];return t}#s(e,n,r,i){let a,o;for(let e of n)a=T(this.#e.config.defaultParams[e],a),o=T(this.#e.config.defaultSearch[e],o);return{name:e,params:O(a===void 0?r:T(a,r),t.l),search:O(o===void 0?i:T(o,i),t.u)}}#c(e){return this.#t?(e!==this.#n&&this.#r.logger.warn(`router.buildPath`,"`options` differs from the cached source reference; router options are immutable per router instance, so the first-cached buildPath options are reused (#957)."),this.#t):(this.#n=e,this.#t=Object.freeze({trailingSlash:di(e?.trailingSlash),queryParamsMode:e?.queryParamsMode}),this.#t)}#l(e,t,n){let r=new Set([e]),i=[e],a=t(this.#r.getDependency,n),o=0;if(typeof a!=`string`)throw TypeError(`forwardTo callback must return a string, got ${typeof a}`);for(;o<100;){if(this.#e.matcher.getSegmentsByName(a)===void 0)throw Error(`Route "${a}" does not exist`);if(r.has(a)){let e=[...r,a].join(` → `);throw Error(`Circular forwardTo: ${e}`)}if(r.add(a),G(this.#e.config.forwardFnMap,a)){let e=this.#e.config.forwardFnMap[a];i.push(a),a=e(this.#r.getDependency,n),o++;continue}let e=this.#e.config.forwardMap[a];if(e!==void 0){i.push(a),a=e,o++;continue}return{target:a,chain:i}}throw Error(`forwardTo exceeds maximum depth of 100`)}};const pi=new n.t(t.m.ROUTER_NOT_STARTED),mi=new n.t(t.m.ROUTE_NOT_FOUND),hi=new n.t(t.m.SAME_STATES),gi=new n.t(t.m.ROUTER_NOT_STARTED,{message:`[router] cannot commit before the start navigation does — the boot would overwrite it; defer with queueMicrotask/await, or navigate after start() resolves`});Object.freeze(pi),Object.freeze(mi),Object.freeze(hi),Object.freeze(gi);const K=Promise.reject(pi),_i=Promise.reject(mi),vi=Promise.reject(hi),q=Promise.reject(gi);K.catch(()=>{}),_i.catch(()=>{}),vi.catch(()=>{}),q.catch(()=>{});const yi=new Set([t.m.SAME_STATES,t.m.TRANSITION_CANCELLED,t.m.ROUTER_NOT_STARTED,t.m.ROUTE_NOT_FOUND,t.m.CANNOT_ACTIVATE,t.m.CANNOT_DEACTIVATE,t.m.ROUTER_ALREADY_STARTED]);function bi(e){return e instanceof n.t&&yi.has(e.code)}const xi=new Set([K,_i,vi,q]),J=Object.freeze;function Si(e){let{fromState:t,toDeactivate:n,toActivate:r,intersection:i}=e;J(n),J(r);let a={phase:`activating`,reason:`success`,segments:J({deactivated:n,activated:r,intersection:i})};return t?.name!==void 0&&(a.from=t.name),e.reload!==void 0&&(a.reload=e.reload),e.replace!==void 0&&(a.replace=e.replace),e.redirected!==void 0&&(a.redirected=e.redirected),J(a)}function Ci(e,r){let{toState:i,fromState:a,toDeactivate:o,toActivate:s}=r;if(i.name!==t.p.UNKNOWN_ROUTE&&!e.hasRoute(i.name)){let o=new n.t(t.m.ROUTE_NOT_FOUND,{routeName:i.name});throw e.sendTransitionFail(a,o,r),n.n(o)}let c=r;i.transition=Si(r);let l=J(i),u=e.canCommitTransition(c);if(!u)throw n.n(new n.t(t.m.TRANSITION_CANCELLED));for(let t of o)s.includes(t)||!r.canDeactivateFunctions.has(t)||e.clearCanDeactivate(t,u);return e.sendTransitionDone(c),l}const wi=Object.entries;function Ti(e){return e instanceof n.t&&e.code===t.m.TRANSITION_CANCELLED}function Ei(e){return Ti(e)?e:new n.t(t.m.TRANSITION_CANCELLED,{reason:e})}function Di(e,n,r,i){let a=n;a.code!==t.m.TRANSITION_CANCELLED&&a.code!==t.m.ROUTE_NOT_FOUND&&e.sendTransitionFail(r,a,i)}function Oi(e,r,i){if(e instanceof DOMException&&e.name===`AbortError`)throw n.n(new n.t(t.m.TRANSITION_CANCELLED));if(Ti(e))throw e;ki(e,r,i)}function ki(e,t,r){if(e instanceof n.t){let{code:r,message:i,...a}=e.toJSON(),o=new n.t(r,{...a,message:i});throw o.setCode(t),o.stack=e.stack??``,n.n(o)}throw n.n(new n.t(t,ji(e,r)))}const Ai=new Set([`code`,`segment`,`path`,`then`]);function ji(e,n){let r={segment:n};if(e instanceof Error)return{...r,message:e.message,stack:e.stack,...`cause`in e&&e.cause!==void 0&&{cause:e.cause}};if(e&&typeof e==`object`){let n={};for(let[r,i]of wi(e))r!==`__proto__`&&!Ai.has(r)&&t.a(n,r,i);return{...r,...n}}return r}async function Mi(e,t,r){let i;try{i=await e}catch(e){Oi(e,t,r);return}if(!i)throw n.n(new n.t(t,{segment:r}))}function Ni(e,r,i,a,o,s,c,l,u,d){if(!u())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));if(e===1){let t=d();return t===void 0?void 0:{phase:e,index:r+1,pending:t}}let f=i[r],p=a.get(f);if(!p)return;let m=!1;try{m=p(s,c,l)}catch(e){Oi(e,o,f)}if(m instanceof Promise)return{phase:e,index:r+1,pending:m};if(!m)throw n.n(new n.t(o,{segment:f}))}function Pi(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=e===1,h=e===0;if(!m&&!(h?s:c))return;let g=h?a:o,_=m?1:g.length,v=h?r:i,y=h?t.m.CANNOT_DEACTIVATE:t.m.CANNOT_ACTIVATE;for(let t=n;t<_;t++){let n=Ni(e,t,g,v,y,l,u,d,f,p);if(n!==void 0)return n}}function Fi(e,t,n,r,i,a,o,s,c,l,u,d,f){for(let p=d;p<=2;p++){let m=Pi(p,p===d?f:0,e,t,n,r,i,a,o,s,c,l,u);if(m!==void 0)return m}}async function Ii(e,n,r,i,a,o,s,c,l,u,d,f){let p=e;for(;p!==void 0;){if(p.phase===1)await p.pending;else{let e=p.phase===0;await Mi(p.pending,e?t.m.CANNOT_DEACTIVATE:t.m.CANNOT_ACTIVATE,(e?i:a)[p.index-1])}p=Fi(n,r,i,a,o,s,c,l,u,d,f,p.phase,p.index)}}function Li(e,t,n,r,i,a,o,s,c,l,u){let d=Fi(e,t,n,r,i,a,o,s,c,l,u,0,0);return d===void 0?void 0:Ii(d,e,t,n,r,i,a,o,s,c,l,u)}const Ri=Object.freeze,zi=Object.freeze([]),Bi=new Map;function Vi(e,t){return t?Ri({...e,replace:!0}):e}function Hi(e,t,n,r){return!!e&&!t&&!n&&e.path===r.path}function Ui(e,t){if(e.size===0)return!1;for(let n of t)if(e.has(n))return!0;return!1}function Wi(e){let t=e.controller;if(t!==void 0)return t;let n=new AbortController;return e.cancelReason!==void 0&&n.abort(e.cancelReason),e.controller=n,n}function Gi(e,t){t.externalSignal===void 0||t.cancelReason!==void 0||!t.hasGuards||e.bridgeExternalSignal(t)}function Ki(e,r,i,a,o,s,c,l,u,d){$i(e,s);let f=e.hasLeaveListeners()||e.hasPreCommitListeners(),p={toState:r,fromState:i,opts:a,suspendable:o!==void 0||f,forceDeactivate:d,toDeactivate:zi,toActivate:zi,intersection:``,canDeactivateFunctions:Bi,canActivateFunctions:Bi,shouldDeactivate:!1,shouldActivate:!1,hasGuards:!1,controller:void 0,cancelReason:void 0,detachExternalBridge:void 0,externalSignal:o,reload:c,replace:l,redirected:u};if(!e.startTransition(p))throw n.n(new n.t(t.m.TRANSITION_CANCELLED));return p}function qi(e,t){return e.sendLeaveApprove(t),Ci(e,t)}function Ji(e,n){let[r,i]=e.getLifecycleFunctions(),{toDeactivate:a,toActivate:o,intersection:s}=W(n.toState,n.fromState,t=>e.getMetaForState(t));n.canDeactivateFunctions=r,n.canActivateFunctions=i,n.toDeactivate=a,n.toActivate=o,n.intersection=s,n.shouldDeactivate=!!n.fromState&&!n.forceDeactivate&&a.length>0,n.shouldActivate=n.toState.name!==t.p.UNKNOWN_ROUTE&&o.length>0,n.hasGuards=n.shouldDeactivate&&Ui(r,a)||n.shouldActivate&&Ui(i,o)}function Yi(e,r,i){let a,o;try{a=e.getState();let s=i.signal,c=s?.aborted===!0?s:void 0;i=ge(i);let l=i.reload,u=i.force,d=i.replace,f=i.redirected,p=i.forceDeactivate===!0,m=a?.name===t.p.UNKNOWN_ROUTE&&!d,h=m||d;if(i=Vi(i,m),Hi(a,l,u,r))return e.emitTransitionError(r,a,hi),vi;let g=Ki(e,r,a,i,s,c,l,h,f,p);o=g;let _=g.externalSignal;if(_?.aborted===!0&&e.cancelNavigation(_.reason),Ji(e,g),Gi(e,g),!g.hasGuards&&!g.suspendable)return qi(e,g);let{canDeactivateFunctions:v,canActivateFunctions:y,toDeactivate:b,toActivate:x,shouldDeactivate:S,shouldActivate:ee,hasGuards:te}=g,ne=r;if(!te){let t=Qi(e,g);if(t!==void 0)return t}if(te){let i=Wi(g),o=()=>!i.signal.aborted,s=i.signal,c=Li(v,y,b,x,S,ee,r,a,s,o,()=>{if(e.sendLeaveApprove(g),e.hasLeaveListeners())return e.awaitLeaveListeners(ne,a,s)});if(c!==void 0)return Xi(e,c,g,i);if(!o())throw n.n(new n.t(t.m.TRANSITION_CANCELLED))}return Ci(e,g)}catch(t){let n=Zi(e,t,{nav:o,fromState:a});return Promise.reject(n)}}async function Xi(e,r,i,a){let o=()=>!a.signal.aborted,s=i.externalSignal,c,l=!1,u,d=new Promise(e=>{if(a.signal.aborted){e();return}c=()=>{e()},a.signal.addEventListener(`abort`,c,{once:!0})});r.catch(()=>{});try{if(s?.aborted)throw n.n(new n.t(t.m.TRANSITION_CANCELLED,{reason:s.reason}));if(await Promise.race([r,d]),!o())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));let a=Ci(e,i);return l=!0,a}catch(t){let n=o()?t:Ei(t);throw u=n,Di(e,n,i.fromState,i),n}finally{c&&a.signal.removeEventListener(`abort`,c),l||a.abort(u)}}function Zi(e,t,n){let{nav:r}=n;if(r?.controller?.abort(t),r!==void 0){let i=e.isTransitioning()?t:Ei(t);return Di(e,i,n.fromState,r),i}return t}function Qi(e,t){let{toState:n,fromState:r}=t;if(e.hasLeaveListeners()&&Wi(t),e.sendLeaveApprove(t),e.hasLeaveListeners()){let i=Wi(t),a;try{a=e.awaitLeaveListeners(n,r,i.signal)}catch(e){throw i.abort(e),e}return a===void 0?void 0:Xi(e,a,t,i)}}function $i(e,r){if(e.isTransitioning()&&(e.logger.warn(`router.navigate`,`Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request.`),e.cancelNavigation()),r!==void 0)throw n.n(new n.t(t.m.TRANSITION_CANCELLED,{reason:r.reason}))}const ea=Object.freeze,ta=Object.freeze([t.p.UNKNOWN_ROUTE]),na=Object.freeze({replace:!0});function ra(e,r,i){$i(e,void 0);let a=e.getState(),o=a?H(a.name).toReversed():[];ea(o);let s={deactivated:o,activated:ta,intersection:``};ea(s);let c={phase:`activating`,...a&&{from:a.name},reason:`success`,replace:!0,segments:s};ea(c);let l={name:t.p.UNKNOWN_ROUTE,params:t.l,search:t.u,path:r,transition:c,context:{}};if(ea(l),i&&a!==void 0&&!e.canDeactivateCurrent(o,l,a)){let i=new n.t(t.m.CANNOT_DEACTIVATE,{path:r,message:`[router.navigateToNotFound] a canDeactivate guard on "${a.name}" refused to leave for ${r}`});throw e.emitTransitionError(void 0,a,i),n.n(i)}return e.systemCommit(l,a,na)}function ia(e,t){return ra(e,t,!0)}function aa(e,t){return ra(e,t,!1)}var oa=class{#e;#t;#n=0;setDependencies(e){this.#e=e,this.#t=t=>{bi(t)||e.logger.error(`router.navigate`,`Unexpected navigation error`,t)}}navigate(e,t,n,r){return this.#r(this.#i(e,t,n,r))}navigateToState(e,t){return this.#r(this.#a(e,t))}navigateToDefault(e){return this.#r(this.#s(e))}navigateToNotFound(e){return ia(this.#e,e)}revalidateToNotFound(e){return aa(this.#e,e)}isPreparing(){return this.#n>0}#r(e){return e instanceof Promise&&!xi.has(e)&&e.catch(this.#t),e}#i(e,t,n,r){let i=this.#e;if(!i.canNavigate())return i.isStarting()?q:K;let a;this.#n++;try{a=i.buildNavigateState(e,t,n)}catch(e){return Promise.reject(e)}finally{this.#n--}return a?Yi(this.#e,a,r):(i.emitTransitionError(void 0,i.getState(),mi),_i)}#a(r,i){let a=this.#e;if(!a.canNavigate())return a.isStarting()?q:K;if(r.name!==t.p.UNKNOWN_ROUTE&&!a.hasRoute(r.name)){let e=new n.t(t.m.ROUTE_NOT_FOUND,{routeName:r.name});return a.emitTransitionError(void 0,a.getState(),e),Promise.reject(e)}let o=e.b(r.params,a.getQueryParams(r.name));if(o!==void 0){let i=new n.t(t.m.WRONG_CHANNEL,{routeName:r.name,message:`[router.navigateToState] ${e.x(r.name,o,"`state.params`")}`});return a.emitTransitionError(void 0,a.getState(),i),Promise.reject(i)}let s;try{s=this.#o(r)}catch(e){return Promise.reject(e)}return Yi(this.#e,s,i)}#o(e){return{name:e.name,params:D(e.params,t.l),search:D(e.search,t.u),path:e.path,context:{...e.context},transition:t.s}}#s(e){let r=this.#e;if(!r.getOptions().defaultRoute)return Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute not configured`}));let i,a,o;this.#n++;try{({route:i,params:a,search:o}=r.resolveDefault())}catch(e){return Promise.reject(e)}finally{this.#n--}return i?typeof i==`string`?this.#i(i,a,o,e):Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute did not resolve to a route name`})):Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute resolved to empty`}))}};const sa={},ca=Object.freeze({replace:!0});function la(e){return[e,e?.reason].some(e=>e instanceof n.t&&e.code===t.m.ROUTE_NOT_FOUND)}var ua=class{#e;setDependencies(e){this.#e=e}async start(e){let r=this.#e;if(r.isIdle())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));let i=r.getOptions();if(typeof e!=`string`)throw TypeError(`[router.start] path must be a string, got ${typeof e}`);let a=r.matchPath(e);if(!a&&!i.allowNotFound)throw n.n(new n.t(t.m.ROUTE_NOT_FOUND,{path:e}));if(r.completeStart(),a)try{return await r.navigateToState(a,ca)}catch(t){if(!i.allowNotFound||!la(t))throw t;return r.navigateToNotFound(e)}return r.navigateToNotFound(e)}};const da={},fa=Object.entries,pa=Object.hasOwn,ma=Object.values,ha=new WeakMap;function ga(e,t,n){if(typeof n==`string`)return{target:n,when:void 0,update:void 0};if(n.when!==void 0&&typeof n.when!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].when is not a function`);if(n.update!==void 0&&typeof n.update!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].update is not a function`);return{target:n.target,when:n.when,update:n.update}}function _a(e){let t=ha.get(e);if(t!==void 0)return t;let n=e,r=Object.create(null);for(let[e,t]of fa(n)){let n=Object.create(null);for(let[r,i]of fa(t))i!==void 0&&(n[r]=ga(e,r,i));r[e]=n}for(let e of ma(r))for(let t of ma(e))if(t!==void 0&&r[t.target]===void 0)throw Error(`[FSM.constructor] state "${t.target}" is not declared in config.transitions`);return ha.set(e,r),r}var va=class{#e;#t;#n=0;#r=null;#i;#a;#o=[];constructor(e){if(this.#e=e.initial,this.#i=e.context,this.#a=_a(e.transitions),this.#a[e.initial]===void 0)throw Error(`[FSM.constructor] state "${e.initial}" is not declared in config.transitions`);this.#t=this.#a[e.initial]}send(e,t){let n=this.#t[e];if(n===void 0)return this.#e;let r=t,i=n.when;if(i!==void 0&&!i(this.#i,r))return this.#e;let a=n.target,o=n.update,s=this.#e;if(this.#e=a,this.#t=this.#a[a],o?.(this.#i,r),this.#r!==null){let t=this.#r.get(s)?.get(e);t!==void 0&&t(r)}if(this.#n>0){let t={from:s,to:a,event:e,payload:r};for(let e of this.#o)e!==null&&e(t)}return this.#e}canSend(e,t){let n=this.#t[e];return n===void 0?!1:n.when===void 0||n.when(this.#i,t)}getState(){return this.#e}getContext(){return this.#i}on(e,t,n){let r=this.#a[e];if(r===void 0)throw Error(`[FSM.on] state "${e}" is not declared in config.transitions`);if(!pa(r,t))throw Error(`[FSM.on] event "${t}" has no edge from state "${e}"`);this.#r??=new Map;let i=this.#r.get(e);i||(i=new Map,this.#r.set(e,i));let a=n;return i.set(t,a),()=>{let n=this.#r?.get(e);n?.get(t)===a&&n.delete(t)}}onTransition(e){let t=this.#o.indexOf(null),n;t===-1?(n=this.#o.length,this.#o.push(e)):(this.#o[t]=e,n=t),this.#n++;let r=!0;return()=>{r&&(r=!1,this.#o[n]=null,this.#n--)}}};const Y={IDLE:`IDLE`,STARTING:`STARTING`,READY:`READY`,TRANSITION_STARTED:`TRANSITION_STARTED`,LEAVE_APPROVED:`LEAVE_APPROVED`,DISPOSED:`DISPOSED`},X={START:`START`,STARTED:`STARTED`,NAVIGATE:`NAVIGATE`,LEAVE_APPROVE:`LEAVE_APPROVE`,COMPLETE:`COMPLETE`,FAIL:`FAIL`,CANCEL:`CANCEL`,STOP:`STOP`,DISPOSE:`DISPOSE`,SYSTEM_COMMIT:`SYSTEM_COMMIT`};function ya(){return{inflight:void 0,current:void 0,previous:void 0}}const ba=(e,t)=>t?.nav===void 0||t.nav===e.inflight,xa=(e,t)=>t!==void 0&&t===e.inflight&&t.externalSignal?.aborted!==!0,Sa=(e,t)=>{e.previous=e.current,e.current=fe(t)},Ca=(e,t)=>{Sa(e,t.toState),e.inflight=void 0},wa=(e,t)=>{Sa(e,t.toState)},Ta=e=>{e.previous=e.current,e.current=void 0},Z=e=>{e.current=void 0,e.previous=void 0,e.inflight=void 0},Ea=(e,t)=>{e.inflight=t},Da={[Y.IDLE]:{[X.START]:Y.STARTING,[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.STARTING]:{[X.STARTED]:Y.READY,[X.FAIL]:Y.IDLE,[X.STOP]:{target:Y.IDLE,update:Ta},[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.READY]:{[X.NAVIGATE]:{target:Y.TRANSITION_STARTED,update:Ea},[X.SYSTEM_COMMIT]:{target:Y.READY,update:wa},[X.STOP]:{target:Y.IDLE,update:Ta},[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.TRANSITION_STARTED]:{[X.NAVIGATE]:{target:Y.TRANSITION_STARTED,update:Ea},[X.LEAVE_APPROVE]:Y.LEAVE_APPROVED,[X.CANCEL]:Y.READY,[X.FAIL]:{target:Y.READY,when:ba},[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.LEAVE_APPROVED]:{[X.NAVIGATE]:{target:Y.TRANSITION_STARTED,update:Ea},[X.COMPLETE]:{target:Y.READY,when:xa,update:Ca},[X.CANCEL]:Y.READY,[X.FAIL]:{target:Y.READY,when:ba},[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.DISPOSED]:{}};function Oa(){return new va({initial:Y.IDLE,context:ya(),transitions:Da})}const ka=`TREE_CHANGED`;function Aa(e){return e instanceof Error?e:Error(String(e))}function ja(e,r,i){return new Promise((a,o)=>{let s=()=>{let e=i.reason;o(e instanceof n.t&&e.code===t.m.TRANSITION_CANCELLED?e:new n.t(t.m.TRANSITION_CANCELLED,{reason:e}))};if(i.aborted){s();return}i.addEventListener(`abort`,s,{once:!0}),Promise.allSettled(e).then(e=>{if(i.removeEventListener(`abort`,s),i.aborted)return;if(r!==void 0){o(Aa(r));return}let t=e.find(e=>e.status===`rejected`);if(t!==void 0){o(Aa(t.reason));return}a()})})}function Ma(e,t,n){return e.addEventListener(`abort`,t,{once:!0}),()=>{n(),e.removeEventListener(`abort`,t)}}var Na=class{#e;#t;#n;#r=[];#i=0;constructor(e){this.#e=e.routerFSM,this.#t=e.emitter,this.#s()}static validateSubscribeListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribe] Expected a function. For Observable pattern use observable(router) from @real-router/rx`)}static validateSubscribeLeaveListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribeLeave] Expected a function`)}emitRouterStart(){this.#i++;try{this.#t.emit(t.h.ROUTER_START)}finally{this.#i--}}emitRouterStop(){this.#t.emit(t.h.ROUTER_STOP)}emitTransitionStart(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_START,e,n)}finally{this.#i--}}emitTransitionSuccess(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_SUCCESS,e,n,r)}finally{this.#i--}}emitTransitionError(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_ERROR,e,n,r)}finally{this.#i--}}emitTransitionCancel(e,n){this.#i++;try{this.#t.emit(t.h.TRANSITION_CANCEL,e,n)}finally{this.#i--}}emitTransitionLeaveApprove(e,n){this.#i++;try{this.#t.emit(t.h.TRANSITION_LEAVE_APPROVE,e,n)}finally{this.#i--}}isProcessing(){return this.#i>0}emitTreeChanged(e){this.#t.emit(ka,e)}isEmittingTreeChanged(){return this.#t.isDispatching(ka)}subscribeTreeChanged(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));return this.#t.on(ka,t=>{e(t)})}treeChangedListenerCount(){return this.#t.listenerCount(ka)}sendStart(){this.#e.send(X.START)}sendStop(){this.#e.send(X.STOP)}sendDispose(){this.#e.send(X.DISPOSE)}sendStarted(){this.#e.send(X.STARTED)}sendNavigate(e){return this.#e.send(X.NAVIGATE,e)===Y.TRANSITION_STARTED}canCommitTransition(e){return this.#e.canSend(X.COMPLETE,e)}sendComplete(e){this.#e.send(X.COMPLETE,e)}sendLeaveApprove(e){this.#e.send(X.LEAVE_APPROVE,e)}sendFail(e,t,n){this.#e.send(X.FAIL,{nav:n,fromState:e,error:t})}sendCancel(e,t){this.#e.send(X.CANCEL,{fromState:e,reason:t})}systemCommit(e){let{toState:n}=e,r={name:n.name,params:D(n.params,t.l),search:D(n.search,t.u),path:n.path,context:{...n.context},...n.transition!==void 0&&{transition:D(n.transition,t.l)}};if(!this.#e.canSend(X.SYSTEM_COMMIT))throw this.#o();return this.#e.send(X.SYSTEM_COMMIT,{...e,toState:r}),r}canBeginTransition(){return this.#e.canSend(X.NAVIGATE)}canStart(){return this.#e.canSend(X.START)}canCancel(){return this.#e.canSend(X.CANCEL)}isActive(){let e=this.#e.getState();return e!==Y.IDLE&&e!==Y.DISPOSED}isDisposed(){return this.#e.getState()===Y.DISPOSED}isTransitioning(){let e=this.#e.getState();return e===Y.TRANSITION_STARTED||e===Y.LEAVE_APPROVED}isLeaveApproved(){return this.#e.getState()===Y.LEAVE_APPROVED}isReady(){return this.#e.getState()===Y.READY}isStarting(){return this.#e.getState()===Y.STARTING}isIdle(){return this.#e.getState()===Y.IDLE}addEventListener(e,t){return this.#a(e,`addEventListener`),this.#t.on(e,t)}subscribe(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));return this.#a(t.h.TRANSITION_SUCCESS,`subscribe`),this.#t.on(t.h.TRANSITION_SUCCESS,(t,n)=>e({route:t,previousRoute:n}))}subscribeLeave(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));this.#r.push(e);let r=!1;return()=>{if(r)return;r=!0;let t=this.#r.indexOf(e);t!==-1&&this.#r.splice(t,1)}}hasLeaveListeners(){return this.#r.length>0}hasPreCommitListeners(){return this.#t.listenerCount(t.h.TRANSITION_START)>0||this.#t.listenerCount(t.h.TRANSITION_LEAVE_APPROVE)>0}awaitLeaveListeners(e,t,n){if(t===void 0)return;let r=Object.freeze({route:t,nextRoute:e,signal:n}),i,a,o=[...this.#r];this.#i++;try{for(let e of o)try{let t=e(r);t!==void 0&&typeof t.then==`function`&&(i??=[],i.push(t))}catch(e){a===void 0&&(a=e)}}finally{this.#i--}if(i===void 0){if(a!==void 0)throw Aa(a);return}return ja(i,a,n)}clearAll(){this.#t.clearAll(),this.#r.length=0}setLimits(e){this.#t.setLimits(e)}setValidatorAccessor(e){this.#n=e}sendCancelIfPossible(e,t){this.canCancel()&&this.sendCancel(e,t)}bridgeExternalSignal(e){let t=e.externalSignal;return t===void 0||e.detachExternalBridge!==void 0||(e.detachExternalBridge=Ma(t,()=>{this.sendCancelIfPossible(this.#e.getContext().current,t.reason)},()=>{e.detachExternalBridge=void 0})),da}#a(e,t){let n=this.#n?.();n&&n.eventBus.validateCountThresholds(this.#t.listenerCount(e)+1,e,t)}#o(){if(this.isDisposed())return new n.t(t.m.ROUTER_DISPOSED);let e;return e=this.isTransitioning()?`[router] cannot commit a state while a transition is in flight — the navigation in progress commits its own`:this.isStarting()?`[router] cannot commit before the start navigation does — the boot would overwrite it; await start() first`:`[router] cannot commit a state before the router has started`,new n.t(t.m.ROUTER_NOT_STARTED,{message:e})}#s(){let e=this.#e;e.on(Y.STARTING,X.STARTED,()=>{this.emitRouterStart()}),e.on(Y.READY,X.STOP,()=>{this.emitRouterStop()});let r=e=>{let t=e.externalSignal!==void 0&&(this.hasLeaveListeners()||this.hasPreCommitListeners())?this.bridgeExternalSignal(e):da;this.emitTransitionStart(e.toState,e.fromState,t)};e.on(Y.READY,X.NAVIGATE,r),e.on(Y.TRANSITION_STARTED,X.NAVIGATE,r),e.on(Y.LEAVE_APPROVED,X.NAVIGATE,r),e.on(Y.TRANSITION_STARTED,X.LEAVE_APPROVE,e=>{this.emitTransitionLeaveApprove(e.toState,e.fromState)}),e.on(Y.LEAVE_APPROVED,X.COMPLETE,e=>{e.detachExternalBridge?.(),this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let i=e=>{let{fromState:r,reason:i}=e,a=this.#e.getContext().inflight,o=i??new n.t(t.m.TRANSITION_CANCELLED);a.cancelReason=o,a.controller?.abort(o),a.detachExternalBridge?.(),this.emitTransitionCancel(a.toState,r)};e.on(Y.TRANSITION_STARTED,X.CANCEL,i),e.on(Y.LEAVE_APPROVED,X.CANCEL,i),e.on(Y.READY,X.SYSTEM_COMMIT,e=>{this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let a=e=>{let t=this.#e.getContext().inflight;t?.detachExternalBridge?.(),this.emitTransitionError(t?.toState,e.fromState,e.error)};e.on(Y.LEAVE_APPROVED,X.FAIL,a),e.on(Y.TRANSITION_STARTED,X.FAIL,a),e.on(Y.STARTING,X.FAIL,e=>{this.emitTransitionError(void 0,e.fromState,e.error)})}};const Pa=new n.t(t.m.ROUTER_ALREADY_STARTED);Object.freeze(Pa);const Fa={maxListeners:0,warnListeners:0};var Ia=class{#e=new Map;#t=new Set;#n=null;#r=Fa;#i;#a;constructor(e){e?.limits&&(this.#r=e.limits),this.#i=e?.onListenerError??null,this.#a=e?.onListenerWarn??null}static validateCallback(e,t){if(typeof e!=`function`)throw TypeError(`Expected callback to be a function for event ${t}`)}setLimits(e){this.#r=e}on(e,t){let n=this.#e.get(e),r=n?.size??0;if(n?.has(t))throw Error(`Duplicate listener for "${e}"`);let{maxListeners:i,warnListeners:a}=this.#r;if(i!==0&&r>=i)throw Error(`Listener limit (${i}) reached for "${e}"`);a!==0&&r===a&&this.#a!==null&&(this.#n??=new Set,this.#n.has(e)||(this.#a(e,a),this.#n.add(e)));let o=n;return o===void 0&&(o=new Set,this.#e.set(e,o)),o.add(t),()=>{this.off(e,t)}}off(e,t){let n=this.#e.get(e);n&&(n.delete(t),n.size===0&&(this.#e.delete(e),this.#n?.delete(e)))}emit(e,t,n,r,i){let a=this.#e.get(e);if(!a||a.size===0||this.#t.has(e))return;let o=arguments.length-1;this.#t.add(e);try{if(a.size===1){let[s]=a;this.#o(e,s,o,t,n,r,i)}else{let s=[...a];for(let a of s)this.#o(e,a,o,t,n,r,i)}}finally{this.#t.delete(e)}}clearAll(){this.#e.clear(),this.#n=null}listenerCount(e){return this.#e.get(e)?.size??0}isDispatching(e){return this.#t.has(e)}#o(e,t,n,r,i,a,o){try{let s=this.#s(t,n,r,i,a,o);s!=null&&typeof s.then==`function`&&Promise.resolve(s).catch(t=>{this.#i?.(e,t)})}catch(t){this.#i?.(e,t)}}#s(e,t,n,r,i,a){switch(t){case 0:return e();case 1:return e(n);case 2:return e(n,r);case 3:return e(n,r,i);default:return e(n,r,i,a)}}};const La=Object.freeze({log:0,warn:1,error:2}),Ra=Object.freeze({all:0,"warn-error":1,"error-only":2,none:3}),za=Object.hasOwn;var Ba=class{#e={level:`all`,callbackIgnoresLevel:!1};#t=0;#n=!1;constructor(e){e&&this.configure(e)}configure(e){let t=ae(e),n=t.level;n!==void 0&&(this.#e.level=n,this.#t=Ra[n]),za(t,`callback`)&&(this.#e.callback=t.callback),t.callbackIgnoresLevel!==void 0&&(this.#e.callbackIgnoresLevel=t.callbackIgnoresLevel)}getConfig(){return{level:this.#e.level,callback:this.#e.callback,callbackIgnoresLevel:this.#e.callbackIgnoresLevel}}log(e,t,...n){this.#r(`log`,e,t,n)}warn(e,t,...n){this.#r(`warn`,e,t,n)}error(e,t,...n){this.#r(`error`,e,t,n)}#r(e,t,n,r){if(this.#e.level===`none`&&!this.#e.callbackIgnoresLevel)return;let i=La[e]<this.#t;i||this.#i(e,t,n,r),this.#a(e,t,n,i,r)}#i(e,t,n,r){if(typeof console<`u`&&typeof console[e]==`function`){let i=t?`[${t}] ${n}`:n;console[e](i,...r)}}#a(e,t,n,r,i){if(!(!this.#e.callback||!this.#e.callbackIgnoresLevel&&r)&&!this.#n){this.#n=!0;try{let r=this.#e.callback(e,t,n,...i);r!=null&&typeof r.then==`function`&&Promise.resolve(r).catch(e=>{this.#o(`[Logger] Error in async callback:`,e)})}catch(e){this.#o(`[Logger] Error in callback:`,e)}finally{this.#n=!1}}}#o(e,t){typeof console<`u`&&typeof console.error==`function`&&console.error(e,t)}};function Va(t){let n=Ha(t),r=Ja(t),i=()=>e.h(t.router).validator;Ua(t),Wa(t,i),Ga(t,n,i),Ka(t,r,i),qa(t,n,i),Ya(t,r),Xa(t),Za(t,r)}function Ha(e){let{router:t,dependenciesStore:n}=e,r=e=>n.dependencies[e];return e=>e(t,r)}function Ua(e){e.dependenciesStore.limits=e.limits,e.eventBus.setLimits({maxListeners:e.limits.maxListeners,warnListeners:e.limits.warnListeners})}function Wa(e,t){e.eventBus.setValidatorAccessor(t)}function Ga(t,n,r){let i={logger:e.h(t.router).logger,compileFactory:n,getValidator:r};t.routeLifecycle.setDependencies(i)}function Ka(t,n,r){let i={logger:e.h(t.router).logger,getValidator:r,port:n,addActivateGuard:(e,n,r)=>{t.routeLifecycle.addCanActivate(e,n,!0,r)},addDeactivateGuard:(e,n,r)=>{t.routeLifecycle.addCanDeactivate(e,n,!0,r)},compileGuard:(e,n)=>t.routeLifecycle.compileGuardFactory(e,n),getState:()=>t.state.get(),areStatesEqual:(e,n,r)=>t.state.areStatesEqual(e,n,r),getDependency:e=>t.dependenciesStore.dependencies[e]};t.routes.setDependencies(i),t.routes.setLifecycleNamespace(t.routeLifecycle)}function qa(t,n,r){let i={logger:e.h(t.router).logger,addEventListener:(e,n)=>t.eventBus.addEventListener(e,n),canNavigate:()=>t.eventBus.canBeginTransition(),compileFactory:n,getValidator:r};t.plugins.setDependencies(i)}function Ja(t){let n=e.h(t.router),r=t.routes.getStore(),i=(e,t)=>{n.validator?.state.reportUndeclaredParamKey(e,t)},a=(e,t)=>{n.validator?.state.reportDroppedQueryKey(e,t)};return{resolveForward:(e,t,r)=>n.forwardState(e,t,r),defaultParams:e=>r.config.defaultParams[e],defaultSearch:e=>r.config.defaultSearch[e],buildPath:(e,t,r)=>n.buildPath(e,t,r),queryNames:e=>t.routes.getQueryParams(e),pathNames:e=>t.routes.hasRoute(e)?t.routes.getUrlParams(e):void 0,admitsUndeclaredQuery:()=>t.options.get().queryParamsMode===`loose`,get reportDroppedQueryKey(){return n.validator?a:void 0},get reportUndeclaredParamKey(){return n.validator?i:void 0}}}function Ya(t,n){let r={logger:e.h(t.router).logger,getOptions:()=>t.options.get(),hasRoute:e=>t.routes.hasRoute(e),getQueryParams:e=>t.routes.getQueryParams(e),getMetaForState:e=>t.routes.getMetaForState(e),getState:()=>t.state.get(),buildNavigateState:(r,i,a)=>{e.h(t.router).validator?.routes.validateStateBuilderArgs(r,i,`navigate`);let o=N(n,r,i,a,{diagnoseUndeclared:!0});if(t.routes.getMetaForState(o.name)!==void 0)return e.y(`navigate`,o.name,o.path,n.queryNames(o.name)),Nn(o,kn(o,n))},resolveDefault:()=>{let n=t.options.get(),r=e.h(t.router),i=Tn(n.defaultRoute,e=>t.dependenciesStore.dependencies[e]),a=Tn(n.defaultParams,e=>t.dependenciesStore.dependencies[e]),o=Tn(n.defaultSearch,e=>t.dependenciesStore.dependencies[e]);return typeof n.defaultRoute==`function`&&r.validator?.options.validateResolvedDefaultRoute(i,r.routeGetStore()),{route:i,params:a,search:o}},startTransition:e=>t.eventBus.sendNavigate(e),systemCommit:(e,n,r)=>t.eventBus.systemCommit({toState:e,fromState:n,opts:r}),cancelNavigation:e=>{t.eventBus.sendCancelIfPossible(t.state.get(),e)},bridgeExternalSignal:e=>{t.eventBus.bridgeExternalSignal(e)},canCommitTransition:e=>t.eventBus.canCommitTransition(e)?sa:void 0,sendTransitionDone:e=>{t.eventBus.sendComplete(e)},sendTransitionFail:(e,n,r)=>{t.eventBus.sendFail(e,n,r)},emitTransitionError:(e,n,r)=>{t.eventBus.emitTransitionError(e,n,r)},sendLeaveApprove:e=>{t.eventBus.sendLeaveApprove(e)},canNavigate:()=>t.eventBus.canBeginTransition(),isStarting:()=>t.eventBus.isStarting(),getLifecycleFunctions:()=>t.routeLifecycle.getFunctions(),canDeactivateCurrent:(e,n,r)=>t.routeLifecycle.canNavigateTo(e,[],n,r),isTransitioning:()=>t.eventBus.isTransitioning(),clearCanDeactivate:(e,n)=>{t.routeLifecycle.clearCanDeactivate(e,`external`)},hasLeaveListeners:()=>t.eventBus.hasLeaveListeners(),hasPreCommitListeners:()=>t.eventBus.hasPreCommitListeners(),awaitLeaveListeners:(e,n,r)=>t.eventBus.awaitLeaveListeners(e,n,r)};t.navigation.setDependencies(r)}function Xa(e){e.lifecycle.setDependencies({getOptions:()=>e.options.get(),navigateToState:(t,n)=>e.navigation.navigateToState(t,n),navigateToNotFound:t=>e.navigation.navigateToNotFound(t),matchPath:t=>e.routes.matchPath(t,e.options.get()),completeStart:()=>{e.eventBus.sendStarted()},isIdle:()=>e.eventBus.isIdle()})}function Za(e,t){e.state.setDependencies({port:()=>t,getUrlParams:t=>e.routes.getUrlParams(t)})}const Qa=Object.keys,$a=Object.freeze;var eo=class r{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;constructor(n=[],i={},a={}){let{logger:o,...s}=i,c=new Ba(o?ae(o):void 0);this.#d=e=>{bi(e)||c.error(`router.start`,`Unexpected start error`,e)},wn.validateOptionsIsObject(i),y(a),n.length>0&&x(n),this.#e=new wn(s),this.#t=ve(s.limits),this.#n=s.limits==null?void 0:$a(Qa(s.limits)),this.#r=ye(a),this.#i=new Pn,this.#a=new fi(n,io(this.#e.get()),c),this.#o=new qn,this.#s=new Bn,this.#c=new oa,this.#l=new ua;let l=Oa();this.#i.setContext(l.getContext());let u=new Ia({onListenerError:(e,t)=>{c.error(`Router`,`Error in listener for ${e}:`,t)},onListenerWarn:(e,t)=>{c.warn(`router.addEventListener`,`Event "${e}" has ${t} listeners — possible memory leak`)}});this.#u=new Na({routerFSM:l,emitter:u});let d=new Map,f=e.m(`forwardState`,(e,t,n)=>this.#a.forwardState(e,t,n),d,e=>{let t=e.params,n=e.search;return{name:e.name,params:t==null?t:k(t),search:n==null?n:k(n)}});e.g(this,{logger:c,makeState:(e,t,n,r)=>this.#i.makeState(e,t,n,r),getMetaForState:e=>this.#a.getMetaForState(e),getQueryParams:e=>this.#a.getQueryParams(e),forwardState:((n,r,i)=>{let a=f(n,r,i),o=a.name,s=a.params;e.v(`forwardState`,o,s,this.#a.getQueryParams(o),()=>o===n?"the `params` bag leaving the forwardState chain":`the \`params\` bag leaving the forwardState chain (forwarded here from "${n}")`);let c=a.search,l=c==null;return{name:o,params:k(s??t.l),search:l?c:k(c)}}),buildStateResolved:(e,t)=>this.#a.buildStateResolved(e,t),port:()=>this.#a.getPort(),matchPath:(e,t)=>this.#a.matchPath(e,t),getOptions:()=>this.#e.get(),addEventListener:(e,t)=>this.#u.addEventListener(e,t),treeChanged:{emit:e=>{this.#u.emitTreeChanged(e)},subscribe:e=>this.#u.subscribeTreeChanged(e),listenerCount:()=>this.#u.treeChangedListenerCount(),isEmitting:()=>this.#u.isEmittingTreeChanged()},buildPath:e.m(`buildPath`,(e,n,r)=>this.#a.buildPath(e,n??t.l,r,this.#e.get()),d),emitTransitionError:e=>{this.#u.emitTransitionError(void 0,this.#i.get(),e)},navigateToNotFound:e=>this.#c.navigateToNotFound(e),revalidateToNotFound:e=>this.#c.revalidateToNotFound(e),start:e.p(`start`,e=>this.#l.start(e),d),navigateToState:(e,n)=>(this.#m(),r.#f(this.#c.navigateToState(e,n??t.c))),interceptors:d,setRootPath:e=>{this.#a.setRootPath(e)},getRootPath:()=>this.#a.getStore().rootPath,getTree:()=>this.#a.getStore().tree,isDisposed:()=>this.#u.isDisposed(),validator:null,dependenciesGetStore:()=>this.#r,getCloneState:()=>({options:{...this.#e.get()},dependencies:_e({...this.#r.dependencies}),pluginFactories:this.#s.getAll(),loggerConfig:c.getConfig(),limits:this.#t,limitKeys:this.#n}),routeGetStore:()=>this.#a.getStore(),getStateName:()=>this.#i.get()?.name,isTransitioning:()=>this.#u.isTransitioning(),systemCommit:(e,t,n)=>this.#u.systemCommit({toState:e,fromState:t,opts:n}),routerExtensions:[],contextClaimRecords:new Set,hydrationState:null}),Va({router:this,options:this.#e,limits:this.#t,dependenciesStore:this.#r,state:this.#i,routes:this.#a,routeLifecycle:this.#o,plugins:this.#s,navigation:this.#c,lifecycle:this.#l,eventBus:this.#u}),this.isActiveRoute=this.isActiveRoute.bind(this),this.buildPath=this.buildPath.bind(this),this.getState=this.getState.bind(this),this.getPreviousState=this.getPreviousState.bind(this),this.areStatesEqual=this.areStatesEqual.bind(this),this.shouldUpdateNode=this.shouldUpdateNode.bind(this),this.isActive=this.isActive.bind(this),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.dispose=this.dispose.bind(this),this.canNavigateTo=this.canNavigateTo.bind(this),this.usePlugin=this.usePlugin.bind(this),this.navigate=this.navigate.bind(this),this.navigateToDefault=this.navigateToDefault.bind(this),this.navigateToNotFound=this.navigateToNotFound.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeLeave=this.subscribeLeave.bind(this),this.isLeaveApproved=this.isLeaveApproved.bind(this);try{this.#a.flushPendingGuards()}catch(e){throw this.dispose(),e}}isActiveRoute(t,n,r,i,a){let o=e.h(this);return o.validator?.routes.validateIsActiveRouteArgs(t,n,i,a),o.validator?.navigation.validateSearch(r,`isActiveRoute`),o.validator?.routes.validateRouteName(t,`isActiveRoute`),t===``?(o.logger.warn(`real-router`,`isActiveRoute("") called with empty string. Root node is not considered a parent of any route.`),!1):this.#a.isActiveRoute(t,n,r,i,a)}buildPath(n,r,i){let a=e.h(this);return a.validator?.routes.validateBuildPathArgs(n),a.validator?.navigation.validateParams(r,`buildPath`),a.validator?.navigation.validateSearch(i,`buildPath`),this.#a.buildPathFromIntent(n,O(r,t.l),i)}getState(){return this.#i.get()}getPreviousState(){return this.#i.getPrevious()}areStatesEqual(t,n,r=!0){return e.h(this).validator?.state.validateAreStatesEqualArgs(t,n,r),this.#i.areStatesEqual(t,n,r)}shouldUpdateNode(t){return e.h(this).validator?.routes.validateShouldUpdateNodeArgs(t),fi.shouldUpdateNode(t,e=>this.#a.getMetaForState(e))}isActive(){return this.#u.isActive()}start(e){let t=this.#p(e);return t.catch(this.#d),t}stop(){return this.#u.sendCancelIfPossible(this.#i.get()),!this.#u.isReady()&&!this.#u.isTransitioning()&&!this.#u.isStarting()||this.#u.sendStop(),this}dispose(){if(this.#u.isDisposed())return;this.#u.sendCancelIfPossible(this.#i.get()),(this.#u.isReady()||this.#u.isTransitioning())&&this.#u.sendStop(),this.#u.sendDispose(),this.#u.clearAll(),this.#s.disposeAll();let t=e.h(this);for(let e of t.routerExtensions)for(let t of e.keys)delete this[t];t.routerExtensions.length=0,t.contextClaimRecords.clear(),t.interceptors.clear(),this.#a.clearRoutes(),this.#o.clearAll(),this.#r.dependencies=Object.create(null),this.#g()}canNavigateTo(n,r,i){let a=e.h(this);if(a.validator?.routes.validateRouteName(n,`canNavigateTo`),a.validator?.navigation.validateParams(r,`canNavigateTo`),a.validator?.navigation.validateSearch(i,`canNavigateTo`),!this.#a.hasRoute(n)||e.b(r,this.#a.getQueryParams(n))!==void 0)return!1;let o=this.#a.getPort(),s;try{s=N(o,n,r??t.l,i)}catch(e){return a.logger.warn(`router.canNavigateTo`,`Resolving route "${n}" threw while answering the predicate; treating the route as unreachable.`,e),!1}let c;try{c=Nn(s,P(s,o))}catch{return!1}let l=this.#i.get(),{toDeactivate:u,toActivate:d}=W(c,l,e=>this.#a.getMetaForState(e));return this.#o.canNavigateTo(u,d,c,l)}usePlugin(...r){if(this.#u.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));let i=r.filter(Boolean);if(i.length===0)return()=>{};let a=e.h(this);a.validator?.plugins.validatePluginLimit(this.#s.count(),this.#t);for(let e of i)a.validator?.plugins.validateNoDuplicatePlugins(e,this.#s.getAll());return this.#s.use(...i)}subscribe(e){return Na.validateSubscribeListener(e),this.#u.subscribe(e)}subscribeLeave(e){return Na.validateSubscribeLeaveListener(e),this.#u.subscribeLeave(e)}isLeaveApproved(){return this.#u.isLeaveApproved()}navigate(n,i,a,o){this.#m();let s=e.h(this),c,l,u,d;return typeof n==`object`&&n?(c=n.name,l=n.params,u=n.search,d=i??t.c):(c=n,l=i,u=a,d=o??t.c),e._(s,`navigate`,c,l),s.validator?.navigation.validateNavigateArgs(c),s.validator?.navigation.validateParams(l,`navigate`),s.validator?.navigation.validateSearch(u,`navigate`),s.validator?.navigation.validateNavigationOptions(d,`navigate`),r.#f(this.#c.navigate(c,l??t.l,u,d))}navigateToDefault(n){this.#m();let i=e.h(this);i.validator?.navigation.validateNavigateToDefaultArgs(n);let a=n??t.c;return i.validator?.navigation.validateNavigationOptions(a,`navigateToDefault`),r.#f(this.#c.navigateToDefault(a))}navigateToNotFound(e){if(this.#m(),!this.#u.isActive())throw n.n(new n.t(t.m.ROUTER_NOT_STARTED));if(e!==void 0&&typeof e!=`string`)throw TypeError(`[router.navigateToNotFound] path must be a string, got ${typeof e}`);if(e!==void 0)return this.#c.navigateToNotFound(e);let r=this.#i.get();if(r===void 0)throw n.n(new n.t(t.m.ROUTER_NOT_STARTED,{message:`[router.navigateToNotFound] cannot derive the path before the start navigation commits — pass an explicit path`}));return this.#c.navigateToNotFound(r.path)}static#f(e){return e instanceof Promise?e:Promise.resolve(e)}#p(t){if(!this.#u.canStart())return Promise.reject(Pa);e.h(this).validator?.navigation.validateStartArgs(t),this.#u.sendStart();let n;try{let r=e.h(this).start(t);n=typeof r?.then==`function`?r:Promise.reject(TypeError("[router.start] a `start` interceptor returned without calling next(). Every start interceptor must return `next(path)`."))}catch(e){n=Promise.reject(e)}return n.catch(e=>this.#h(e))}#m(){if(this.#u.isProcessing())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a router event listener — the nested navigation would commit a state the outer one overwrites. Defer it: queueMicrotask(() => router.navigate(...)), await the current transition, or use an async listener.`}));if(this.#c.isPreparing())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a forwardState/buildPath interceptor, a route's encodeParams or dynamic forwardTo callback, or a defaultRoute/defaultParams/defaultSearch option callback — they run while a navigation is being prepared, before it is announced. Defer it: queueMicrotask(() => router.navigate(...)).`}))}#h(e){throw this.#u.isReady()&&this.#i.get()===void 0?this.#u.sendStop():this.#u.isStarting()&&this.#u.sendFail(void 0,e),e}#g(){this.navigate=Q,this.navigateToDefault=Q,this.navigateToNotFound=Q,this.start=Q,this.stop=Q,this.usePlugin=Q,this.subscribe=Q,this.subscribeLeave=Q,this.canNavigateTo=Q}};function Q(){throw n.n(new n.t(t.m.ROUTER_DISPOSED))}const to=Object.freeze({});function $(e,t){let n;try{n=t[e]}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": reading it threw.`,{cause:t})}if(n!=null){if(typeof n==`string`)return n;try{return String(n)}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": its value cannot be converted to a string.`,{cause:t})}}}function no(e){if(e==null)return`default`;try{return String(e)}catch(e){throw TypeError(`[router.constructor] Invalid "urlParamsEncoding": coercing it threw.`,{cause:e})}}function ro(e){if(!e)return to;let t=$(`arrayFormat`,e),n=$(`booleanFormat`,e),r=$(`nullFormat`,e),i=$(`numberFormat`,e);return Object.freeze({...t!==void 0&&{arrayFormat:t},...n!==void 0&&{booleanFormat:n},...r!==void 0&&{nullFormat:r},...i!==void 0&&{numberFormat:i}})}function io(e){return Object.freeze({strictTrailingSlash:e.trailingSlash===`strict`,caseSensitive:e.caseSensitive,strictQueryParams:e.queryParamsMode===`strict`,urlParamsEncoding:no(e.urlParamsEncoding),queryParams:ro(e.queryParams)})}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return ir}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return Vt}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Ht}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return ar}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return fr}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Pr}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Br}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Vr}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Hr}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Mr}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return eo}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Nr}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Ar}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return Mn}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return Qn}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return pr}});
2
- //# sourceMappingURL=Router-COQnuP5B.js.map
1
+ const e=require("./route-name-BBu872EN.js"),t=require("./ingest-DxGcWzr6.js"),n=require("./RouterError-DQi2HDYI.js"),r=Object.entries,i=Object.hasOwn;function a(e,n,a){if(e===void 0||a.length===0)return e;let o,s=!1;for(let[c,l]of r(e)){if(i(n,c)&&n[c]!==void 0&&a.includes(c)){s=!0;continue}o??={},t.a(o,c,l)}return o===void 0?s?void 0:e:o}function o(t,n,i){for(let[a,o]of r(t))e.v(i,a,o,n(a),"this route's `defaultParams`","Move it to `defaultSearch`")}const s=Object.entries,c=Object.freeze;function l(e,n,r){let i,a=!1;for(let[o,c]of s(e))n.includes(o)?(i??={},t.a(i,o,c)):(a=!0,r?.(o));return a?c(i??t.u):e}const u=Object.keys,d=Object.values,f=Object.hasOwn,p=Object.getOwnPropertyDescriptor,m=Object.getPrototypeOf,h=Object,g=new Set(d(t.h));function _(e){if(!g.has(e))throw TypeError(`[router.addEventListener] Invalid event name: ${String(e)}. Must be one of: ${[...g].join(`, `)}`)}function v(e,t){if(typeof e!=`string`)throw TypeError(`[router.${t}] Route name must be a string, got ${typeof e}`)}function y(e){if(!e||typeof e!=`object`)throw TypeError(`dependencies must be a plain object`);let t=m(e);if(t!==null&&t.constructor!==h)throw TypeError(`dependencies must be a plain object`)}function b(e,t){y(e);let n=e,r=[];for(let e of u(n)){if(p(n,e)?.get)throw TypeError(`dependencies cannot contain getters: "${e}"`);let t=n[e];t!==void 0&&r.push([e,t])}for(let[e,n]of r)t(e,n)}function x(e,t){for(let n of e){let e=n;if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(`route must be a non-array object`);t?.routes.guardRouteCallbacks(n),t?.routes.guardNoAsyncCallbacks(n);let r=n.children;r&&x(r,t)}}const S=new Set([`all`,`warn-error`,`error-only`,`none`]);function ee(e){return typeof e==`string`&&S.has(e)}function te(e){return typeof e==`string`?`"${e}"`:typeof e==`object`?JSON.stringify(e):String(e)}function ne(e){for(let t of u(e))if(t!==`level`&&t!==`callback`&&t!==`callbackIgnoresLevel`)throw TypeError(`Unknown logger config property: "${t}"`)}function re(e){if(!f(e,`level`))return;let t=e.level;if(t!==void 0){if(!ee(t))throw TypeError(`Invalid logger level: ${te(t)}. Expected: "all" | "warn-error" | "error-only" | "none"`);return t}}function ie(e){if(!f(e,`callbackIgnoresLevel`))return;let t=e.callbackIgnoresLevel;if(t!==void 0){if(typeof t!=`boolean`)throw TypeError(`Logger callbackIgnoresLevel must be a boolean, got ${typeof t}`);return t}}function ae(e){if(typeof e!=`object`||!e)throw TypeError(`Logger config must be an object`);let t=e;ne(t);let n={},r=re(t);if(r!==void 0&&(n.level=r),f(t,`callback`)){let e=t.callback;if(e!==void 0&&typeof e!=`function`)throw TypeError(`Logger callback must be a function, got ${typeof e}`);n.callback=e}let i=ie(t);return i!==void 0&&(n.callbackIgnoresLevel=i),n}const C=Object.freeze,oe=Object.hasOwn,w=Object.keys;function T(e,n){if(e===void 0)return ce(n);let r={};for(let n of w(e)){if(n===`__proto__`)continue;let i=e[n];i!==void 0&&t.a(r,n,i)}if(n!==void 0)for(let e of w(n)){if(e===`__proto__`)continue;let i=n[e];i!==void 0&&t.a(r,e,i)}return r}function se(e){let n={};for(let r of w(e)){if(r===`__proto__`)continue;let i=e[r];i!==void 0&&t.a(n,r,i)}return n}function ce(e){if(e===void 0)return;let t;for(let n in e)!oe(e,n)||e[n]!==void 0||(t??=se(e),delete t[n]);return t??e}const le=new Set([`string`,`number`,`boolean`]);function ue(e){return le.has(typeof e)}function E(e,t){if(e===t)return!0;if(Array.isArray(e)){if(!Array.isArray(t))return e.length===1&&E(e[0],t);if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!E(e[n],t[n]))return!1;return!0}return Array.isArray(t)?t.length===1&&E(e,t[0]):ue(e)&&ue(t)&&String(e)===String(t)}function de(e,t){let n=w(e);if(n.length!==w(t).length)return!1;for(let r of n)if(!(r in t)||!E(e[r],t[r]))return!1;return!0}function fe(e){return C(e)}function pe(e,t,n){return e===void 0?t===void 0||t===n?n:t:T(e,t)}function me(e,n){return pe(e,n,t.l)}function he(e,n){let r=pe(e,n,t.u);return r===t.u?r:C(r)}function D(e,n){if(e===void 0||e===n)return n;let r=T(void 0,e);if(r!==e)return C(r);let i={};for(let n of w(e)){if(n===`__proto__`)continue;let r=e[n];r!==void 0&&t.a(i,n,r)}return C(i)}function ge(e){if(e===t.c)return t.c;let n={},r=e;for(let e of w(r))e!==`__proto__`&&e!==`signal`&&t.a(n,e,r[e]);return C(n)}function O(e,n){if(e===void 0)return e;let r;for(let n of w(e)){if(n===`__proto__`)continue;let i=e[n];i!==void 0&&(r??={},t.a(r,n,i))}return r??n}function _e(e){return delete e[t.f],e}function k(e){if(!oe(e,`__proto__`))return e;let n={};for(let r of w(e))r!==`__proto__`&&t.a(n,r,e[r]);return n}function ve(e={}){let n={...t.o,...e};return Object.freeze({maxDependencies:Number(n.maxDependencies),maxPlugins:Number(n.maxPlugins),maxListeners:Number(n.maxListeners),warnListeners:Number(n.warnListeners),maxLifecycleHandlers:Number(n.maxLifecycleHandlers)})}function ye(e={}){let n=Object.create(null),r=e,i=n;return b(r,(e,t)=>{i[e]=t}),{dependencies:n,limits:t.o}}function be(e,t){let n=e.path,r=n.startsWith(`~`),i=r?n.slice(1):n,a=i!==``&&!i.startsWith(`/`)&&!i.startsWith(`?`)?`/${i}`:i,o={name:e.name,path:a,absolute:r,children:[],parent:t};if(e.children)for(let t of e.children){let e=be(t,o);o.children.push(e)}return o}function xe(e,t,n){let r=be({name:e,path:t},null);for(let e of n){let t=be(e,r);r.children.push(t)}return r}const Se=/[^\w!$'()*+,.:;|~-]/gu,Ce=/[^\w!$'()*+,.:;|~-]/u,we=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,Te=e=>t=>{try{return e(t)}catch{return e(t.replaceAll(we,`�`))}},Ee=Te(e=>e.replaceAll(Se,e=>encodeURIComponent(e))),De={default:e=>Ce.test(e)?Ee(e):e,uri:Te(encodeURI),uriComponent:Te(encodeURIComponent),none:e=>e},Oe={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:e=>e},ke=(e,t)=>{let n=De[t],r=String(e).split(`/`),i=n(r[0]);for(let e=1;e<r.length;e++)i+=`/`+n(r[e]);return i},Ae=Object.freeze(Object.create(null));function je(){return{staticChildren:Ae,hasChildren:!1,paramChild:void 0,splatChild:void 0,route:void 0,slashChildRoute:void 0}}function A(e){return e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e}function Me(e,t){return e===``?t:t===``?e:e.endsWith(`/`)&&t.startsWith(`/`)?e+t.slice(1):e+t}function Ne(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Pe(e){let t=0;for(;t<e.length;)if(e.codePointAt(t)===37){if(t+2>=e.length)return!1;let n=e.codePointAt(t+1)??0,r=e.codePointAt(t+2)??0;if(!Ne(n)||!Ne(r))return!1;t+=3}else t++;return!0}const Fe=Object.freeze([]),Ie=Object.freeze(new Set),Le=Object.freeze([]),Re=Object.freeze({}),ze=Object.freeze({}),Be=Object.freeze({});function Ve(e,t){let n=e.kind===`splat`;return{paramName:e.name,encoder:n?e=>ke(e,t):De[t]}}function He(t,n,r,i){let a=new Set(i);for(let e of n)for(let t of e.paramMeta.urlParams)a.add(t);if(a.size===0)return{buildStaticParts:[t],buildParamSlots:Le};let o=[],s=[],c=``,l=e.f(t),u=l.length-1;for(let[t,n]of l.entries()){let i=e.d(n);if(!(!(`error`in i)&&i.kind===`splat`&&t!==u)){if(t>0&&(c+=`/`),`error`in i||i.kind===`static`){c+=n;continue}o.push(c),c=``,s.push(Ve(i,r))}}return o.push(c),{buildStaticParts:o,buildParamSlots:s}}function Ue(e,t,n){throw Error(`[SegmentMatcher.registerTree] Parameter name conflict at the same path position: '${n}${e}' and '${n}${t}'. One position binds one name across every route that shares it. Rename one — e.g. use '${n}${e}' in both.`)}function We(){throw Error(`[SegmentMatcher.registerTree] Empty parameter name: a ':'/'*' marker must be followed by a name (e.g. ':id', '*rest'), and a segment cannot end in a bare '?'.`)}function Ge(e){throw Error(`[SegmentMatcher.registerTree] Fused parameter marker in segment "${e}": a ':'/'*' marker must begin a segment — write 'a/:b', not 'a:b'.`)}function Ke(e){throw Error(`[SegmentMatcher.registerTree] Trailing parameter marker in segment "${e}": a param name cannot end in a bare ':' or '*'. Drop the stray marker.`)}function qe(e){throw Error(`[SegmentMatcher.registerTree] Optional params are not supported: "${e}" — declare two sibling routes instead, one with the segment and one without.`)}function Je(e){throw Error(`[SegmentMatcher.registerTree] Regex constraints are not supported: '<' and '>' are reserved in path segments ("${e}"). Match it as a plain string and validate the value in a canActivate guard.`)}function Ye(e){throw Error(`[SegmentMatcher.registerTree] Non-ASCII static segment "${e}": match compares static keys raw and rejects non-ASCII input, so this route can never match. Percent-encode it (e.g. "/caf%C3%A9") or use a param.`)}function Xe(e,t){switch(e){case`name-less`:return We();case`trailing-marker`:return Ke(t);case`fused-marker`:return Ge(t);case`optional-removed`:return qe(t);case`constraint-removed`:return Je(t)}}function Ze(e,t){let n=new Set,r=``;for(let e of t){if(n.has(e)){r=e;break}n.add(e)}throw Error(`[SegmentMatcher.registerTree] Duplicate parameter name '${r}' in route "${e}": a name must be unique within a route — the second position overwrites the first. Rename one.`)}function Qe(e,t){throw Error(`[SegmentMatcher.registerTree] Invalid query-param declaration "${t}" in route "${e}": a query-param name cannot contain '<' or '>'. Rename it.`)}function $e(e){throw Error(`[SegmentMatcher.registerTree] Double slashes are not allowed in path "${e}": the route would build a URL its own matcher refuses. Remove the empty segment.`)}function et(e,t){throw Error(`[SegmentMatcher.registerTree] Duplicate route path: routes "${e}" and "${t}" resolve to the same URL — the later would shadow the earlier. Give them distinct paths.`)}function tt(e,t){throw Error(`[SegmentMatcher.registerTree] Index route "${e}" (path "/") under the splat parent "${t}" is unreachable: the wildcard match never reaches the index node. Give the index a distinct path, or make the parent static.`)}function nt(e,t){return e.paramChild?e.paramChild.name!==t&&Ue(e.paramChild.name,t,`:`):e.paramChild={node:je(),name:t},e.paramChild.node}function rt(e,t){return e.splatChild?e.splatChild.name!==t&&Ue(e.splatChild.name,t,`*`):e.splatChild={node:je(),name:t},e.splatChild.node}function it(e,t){e.route!==void 0&&e.route!==t&&et(e.route.name,t.name),e.route=t}function at(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>=128)return!0;return!1}function ot(e,t,n){let r=A(n);if(r===`/`){it(e.root,t);return}st(e,e.root,r,1,t)}function st(e,t,n,r,i){let a=n.length;for(;r<=a;){let i=n.indexOf(`/`,r),o=i===-1?a:i,s=n.slice(r,o);t=dt(e,t,s),r=o+1}it(t,i)}function ct(e,t,n){let r=n.length;for(;r>1&&n.codePointAt(r-1)===47;)--r;let i=n.slice(0,r);i.slice(i.lastIndexOf(`/`)+1).startsWith(`*`)&&tt(t.name,n);let a=lt(e,n);a.slashChildRoute=t}function lt(e,t){return ut(e,e.root,t)}function ut(e,t,n){let r=A(n);if(r===`/`||r===``)return t;let i=t,a=1,o=r.length;for(;a<=o;){let t=r.indexOf(`/`,a),n=t===-1?o:t;if(n<=a)break;let s=r.slice(a,n);i=dt(e,i,s),a=n+1}return i}function dt(t,n,r){let i=e.d(r);if(`error`in i&&We(),i.kind===`splat`){let e=rt(n,i.name);return n.hasChildren=!0,e}if(i.kind===`param`){let e=nt(n,i.name);return n.hasChildren=!0,e}at(r)&&Ye(r);let a=t.options.caseSensitive?r:r.toLowerCase();return a in n.staticChildren||(n.staticChildren===Ae&&(n.staticChildren=Object.create(null)),n.staticChildren[a]=je(),n.hasChildren=!0),n.staticChildren[a]}const ft=Object.hasOwn;function pt(t){let n=e.f(t);for(let[e,r]of n.entries())r===``&&e>0&&e<n.length-1&&$e(t)}function mt(t){for(let n of e.f(t)){let t=e.d(n);`error`in t&&Xe(t.error,n)}}function ht(t,n,r,i,a){let o=n.fullName===``;o||i.push(n);let s=n.absolute,c=n.paramMeta===e.o?n.path:n.paramMeta.pathPattern,l=s&&c.startsWith(`~`)?c.slice(1):c,u=s?l:c;pt(n.path),mt(u);let d=u,f=s?d:Me(r,d),p=o?a:gt(t,n,f,s?``:r,i,a);for(let e of n.children.values())ht(t,e,f,i,p);o||i.pop()}function gt(e,t,n,r,i,a){let o=xt(n,r),s=Object.freeze([...i]),c=_t(s),l=A(n),u=St(e.rootQueryParams,i),{buildStaticParts:d,buildParamSlots:f}=He(o?A(r):l,o?i.slice(0,-1):i,e.options.urlParamsEncoding,e.rootUrlParams),p=f.map(e=>e.paramName),m=p.length===0?Ie:new Set(p);m.size!==p.length&&Ze(t.fullName,p),Ct(t.fullName,u);let h={name:t.fullName,parent:a,matchSegments:s,meta:c,declaredQueryParams:u,declaredQueryParamsSet:u.length===0?Ie:new Set(u),hasTrailingSlash:n.length>1&&n.endsWith(`/`),buildStaticParts:d,buildParamSlots:f,buildParamNamesSet:m,cachedResult:void 0};return t.paramMeta.urlParams.length===0&&(h.cachedResult=Object.freeze({segments:h.matchSegments,params:Re,search:ze,meta:h.meta})),e.routesByName.set(t.fullName,h),o?yt(e,h,r):bt(e,h,n,l,t),h}function _t(e){let n;for(let r of e)vt(r.paramTypeMap)&&(n??=t.r(),n[r.fullName]=r.paramTypeMap);return n===void 0?Be:Object.freeze(t.t(t.i(n)))}function vt(e){for(let t in e)if(ft(e,t))return!0;return!1}function yt(e,t,n){ct(e,t,n);let r=A(n),i=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.has(i)&&e.staticCache.set(i,t)}function bt(e,t,n,r,i){if(ot(e,t,n),i.paramMeta.urlParams.length===0){let n=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.set(n,t)}}function xt(e,t){return A(e)===A(t)}function St(e,t){let n=[];e.length>0&&n.push(...e);for(let e of t)e.paramMeta.queryParams.length>0&&n.push(...e.paramMeta.queryParams);return n.length===0?Fe:n}function Ct(t,n){for(let r of n)e.s.test(r)&&Qe(t,r)}const wt=Symbol.for(`real-router.searchParams.configFault`),Tt=Object.hasOwn,Et=Object.keys,Dt=Object.getOwnPropertyDescriptor;function Ot(e){try{return Dt(e,wt)?.configurable===!1}catch{return!1}}function kt(e){return typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):String(e)}const At=Object.freeze({});function jt(e,t){return e===`strict`?t?`always`:`never`:e}var Mt=class{get options(){return this.#e}#e;#t=je();#n=new Map;#r=new Map;#i={cleanPath:``,normalized:``,queryString:void 0};#a=[];#o=``;#s;#c;constructor(e){let t=e.urlParamsEncoding??`default`,n=typeof t==`string`?t:String(t),r=Tt(De,n)?n:`default`;this.#e={caseSensitive:e.caseSensitive??!0,strictTrailingSlash:e.strictTrailingSlash??!1,strictQueryParams:e.strictQueryParams??!1,urlParamsEncoding:r,parseQueryString:e.parseQueryString,buildQueryString:e.buildQueryString},this.#s=this.#e.caseSensitive,this.#c=this.#e.urlParamsEncoding===`none`?null:Oe[this.#e.urlParamsEncoding]}registerTree(e){this.#a=e.paramMeta.queryParams,ht({root:this.#t,options:this.#e,routesByName:this.#n,staticCache:this.#r,rootQueryParams:this.#a,rootUrlParams:e.paramMeta.urlParams},e,``,[],null)}match(e){if(!this.#f(e))return;let{cleanPath:t,normalized:n,queryString:r}=this.#i,i=this.#s?n:n.toLowerCase(),a=this.#r.get(i);if(a)return this.#e.strictTrailingSlash&&!this.#g(t,a)?void 0:r===void 0&&a.cachedResult?a.cachedResult:this.#m(a,{},r);let o={},s=this.#_(n,o);if(s&&!(this.#e.strictTrailingSlash&&!this.#g(t,s))&&this.#b(o))return this.#m(s,o,r)}buildPath(e,t,n,r){let i=this.#n.get(e);if(!i)throw Error(`[SegmentMatcher.buildPath] '${e}' is not defined`);let a=this.#l(i,t),o=this.#u(a,jt(r?.trailingSlash,i.hasTrailingSlash)),s=this.#d(i,n??t,r?.queryParamsMode);return o+(s?`?${s}`:``)}getSegmentsByName(e){return this.#n.get(e)?.matchSegments}getMetaByName(e){return this.#n.get(e)?.meta}getDeclaredQueryParams(e){return this.#n.get(e)?.declaredQueryParams}hasRoute(e){return this.#n.has(e)}#l(e,t){let n=e.buildStaticParts,r=e.buildParamSlots;if(r.length===0)return n[0];let i=n[0];for(let[e,a]of r.entries()){let r=t!=null&&Tt(t,a.paramName)?t[a.paramName]:void 0;if(r==null)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}'`);if(r===``)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}' (empty string)`);let o=a.encoder(kt(r));i+=o+n[e+1]}return i}#u(e,t){return t===`always`&&!e.endsWith(`/`)?`${e}/`:t===`never`&&e!==`/`&&e.endsWith(`/`)?e.slice(0,-1):e}#d(e,n,r){if(!n||e.declaredQueryParams.length===0&&r!==`loose`)return``;let i={},a=!1;for(let r of e.declaredQueryParams)Tt(n,r)&&(t.a(i,r,n[r]),a=!0);if(r===`loose`)for(let r of Et(n))e.declaredQueryParamsSet.has(r)||e.buildParamNamesSet.has(r)||(t.a(i,r,n[r]),a=!0);return a?this.#e.buildQueryString(i):``}#f(e){if(e===``&&(e=`/`),e.codePointAt(0)!==47)return!1;let t=this.#p(e);if(t===-2)return!1;t===-3&&(e=this.#o);let n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1):void 0;if(r!==void 0){let e=r.indexOf(`#`);e!==-1&&(r=r.slice(0,e))}let i=A(n);return this.#i.cleanPath=n,this.#i.normalized=i,this.#i.queryString=r,!0}#p(e){let t=!1;for(let n=0;n<e.length;n++){let r=e.codePointAt(n);if(r===35)return this.#o=e.slice(0,n),-3;if(r===63)return n;if(r>=128)return-2;if(r===47){if(t)return-2;t=!0}else t=!1}return-1}#m(e,t,n){let r=At;if(n!==void 0){let t=this.#h(e,n);if(t===void 0)return;r=t}return{segments:e.matchSegments,params:t,search:r,meta:e.meta}}#h(e,t){let n;try{n=this.#e.parseQueryString(t)}catch(e){if(Ot(e))throw e;return}if(this.#e.strictQueryParams){let t=e.declaredQueryParamsSet;for(let e of Et(n))if(!t.has(e))return}return n}#g(e,t){return(e.length>1&&e.endsWith(`/`))===t.hasTrailingSlash}#_(e,t){return e.length===1?this.#t.slashChildRoute??this.#t.route:this.#v(this.#t,e,1,t)}#v(e,n,r,i){let a=e,o=n.length,s=this.#s;for(;r<=o;){let e=n.indexOf(`/`,r),c=e===-1?o:e,l=n.slice(r,c),u=s?l:l.toLowerCase(),d;if(u in a.staticChildren){let e=a.staticChildren[u];if(a.splatChild!==void 0){let o={},s=this.#v(e,n,c+1,o);return s===void 0?this.#y(a.splatChild,n,r,i):(t.n(i,o),s)}d=e}else if(a.paramChild){let e=a.paramChild;if(a.splatChild!==void 0){let o={[e.name]:l},s=this.#v(e.node,n,c+1,o);return s===void 0?this.#y(a.splatChild,n,r,i):(t.n(i,o),s)}d=e.node,t.a(i,e.name,l)}else if(a.splatChild)return this.#y(a.splatChild,n,r,i);else return;a=d,r=c+1}return a.slashChildRoute??a.route}#y(e,n,r,i){let a=e.node;if(!a.hasChildren)return t.a(i,e.name,n.slice(r)),a.route;let o={},s=this.#v(a,n,r,o);return s?(t.n(i,o),s):(t.a(i,e.name,n.slice(r)),a.route)}#b(e){let t=this.#c;if(!t)return!0;for(let n of Et(e)){let r=e[n];if(r.includes(`%`)){if(!Pe(r))return!1;try{e[n]=t(r)}catch{return!1}}}return!0}};const Nt=Object.freeze(new Map),Pt=Object.freeze([]);function Ft(e){return e.parent?.name?`${e.parent.fullName}.${e.name}`:e.name}function It(e){let t=new Map;for(let n of e)t.set(n.name,n);return t}function Lt(e,t){let n=[],r=[];for(let i of e){let e=Rt(i,t);n.push(e),e.absolute||r.push(e)}return{childrenMap:It(n),nonAbsoluteChildren:r}}function Rt(t,n){let r=e.c(t.path),i=r.urlParams.length===0&&r.queryParams.length===0&&r.pathPattern===t.path?e.o:r,a=i.paramTypeMap,o={name:t.name,path:t.path,absolute:t.absolute,parent:n,children:void 0,paramMeta:i,nonAbsoluteChildren:void 0,fullName:``,paramTypeMap:a};if(o.fullName=Ft(o),t.children.length===0)o.children=Nt,o.nonAbsoluteChildren=Pt;else{let{childrenMap:e,nonAbsoluteChildren:n}=Lt(t.children,o);o.children=e,o.nonAbsoluteChildren=n,Object.freeze(o.nonAbsoluteChildren),Object.freeze(o.children)}return Object.freeze(a),Object.freeze(i.urlParams),Object.freeze(i.queryParams),Object.freeze(i),Object.freeze(o),o}function zt(e){return Rt(e,null)}function Bt(e,t,n){return zt(xe(e,t,n))}function Vt(e){let t=e.absolute?`~${e.path}`:e.path,n={name:e.name,path:t};return e.children.size>0&&(n.children=Array.from(e.children.values(),Vt)),n}function Ht(e){return Array.from(e.children.values(),Vt)}const Ut=e=>{let t=e.indexOf(`%`),n=e.indexOf(`+`);if(t===-1&&n===-1)return e;let r=n===-1?e:e.replaceAll(`+`,` `);return t===-1?r:decodeURIComponent(r)},Wt=(e,t)=>{if(e===void 0)return t.boolean.decodeUndefined();let n=t.boolean.decodeRaw(e);if(n!==null)return n;let r=Ut(e),i=t.number.decode(r);return i===null?t.boolean.decodeValue(r):i},Gt=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,Kt=e=>{try{return encodeURIComponent(e)}catch(t){if(!(t instanceof URIError))throw t;return encodeURIComponent(String(e).replaceAll(Gt,`�`))}},qt=e=>{let t=typeof e;if(t!==`string`&&t!==`number`&&t!==`boolean`)throw TypeError(`[router] Invalid query value: an array element must be a string, number, or boolean — received ${t}`);return Kt(e)},Jt=(e,t,n,r)=>{let i=`${e}${n}`,a=[];for(let e of t)if(e===null){let e=r.encode(i);e&&a.push(e)}else a.push(`${i}=${qt(e)}`);return a.join(`&`)},Yt={none:{encodeArray:(e,t,n)=>Jt(e,t,``,n)},brackets:{encodeArray:(e,t,n)=>Jt(e,t,`[]`,n)},index:{encodeArray:(e,t,n)=>{let r=[];for(let[i,a]of t.entries()){let t=`${e}[${i}]`;if(a===null){let e=n.encode(t);e&&r.push(e)}else r.push(`${t}=${qt(a)}`)}return r.join(`&`)},indexed:!0},comma:{encodeArray:(e,t)=>{let n=[];for(let e of t)e!==null&&n.push(qt(e));return n.length===0?``:`${e}=${n.join(`,`)}`},decodeValue:e=>e.includes(`,`)?e.split(`,`):null}},Xt={none:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:()=>null,decodeValue:e=>e},auto:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e},"empty-true":{encode:(e,t)=>t?e:`${e}=false`,decodeUndefined:()=>!0,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e}},Zt={default:{encode:e=>e},hidden:{encode:()=>``}},Qt={auto:{decode:e=>{let t=e.length;if(t===0)return null;let n=+(e.codePointAt(0)===45);if(n===t||t-n>1&&e.codePointAt(n)===48&&e.codePointAt(n+1)!==46)return null;let r=!1;for(let i=n;i<t;i++){let a=e.codePointAt(i);if(!(a!==void 0&&a>=48&&a<=57)){if(a===46&&!r&&i!==n&&i!==t-1){r=!0;continue}return null}}let i=Number(e);return String(i)!==e||!Number.isSafeInteger(i)&&!r?null:i}},none:{decode:()=>null}},$t=Object.defineProperty,en=Object.keys,tn=Object.hasOwn,nn=Symbol.for(`real-router.searchParams.configFault`),rn=(e,t,n)=>{let r=typeof t==`string`?t:String(t);if(!tn(e,r)){let t=TypeError(`[router.constructor] Invalid "queryParams.${n}": "${r}" — expected ${en(e).map(e=>`"${e}"`).join(` | `)}`);throw $t(t,nn,{value:!0}),t}return e[r]},an=(e,t,n,r)=>({boolean:rn(Xt,t,`booleanFormat`),null:rn(Zt,n,`nullFormat`),number:rn(Qt,r,`numberFormat`),array:rn(Yt,e,`arrayFormat`)}),on=Object.freeze({boolean:Xt.auto,null:Zt.default,number:Qt.auto,array:Yt.none}),j=Object.freeze({arrayFormat:`none`,booleanFormat:`auto`,nullFormat:`default`,numberFormat:`auto`}),sn=Object.freeze({...j,strategies:on}),cn=e=>{if(!e||e.arrayFormat===void 0&&e.booleanFormat===void 0&&e.nullFormat===void 0&&e.numberFormat===void 0)return sn;let t=e.arrayFormat??j.arrayFormat,n=e.booleanFormat??j.booleanFormat,r=e.nullFormat??j.nullFormat,i=e.numberFormat??j.numberFormat;return{arrayFormat:t,booleanFormat:n,nullFormat:r,numberFormat:i,strategies:an(t,n,r,i)}},M=e=>Kt(e),ln=(e,t,n)=>{let r=M(e);switch(typeof t){case`string`:case`number`:return`${r}=${M(t)}`;case`boolean`:return n.strategies.boolean.encode(r,t);case`object`:return t===null?n.strategies.null.encode(r):Array.isArray(t)?n.strategies.array.encodeArray(r,t,n.strategies.null):`${r}=${M(t)}`;default:return`${r}=${M(t)}`}},un=Object.hasOwn,dn=Object.keys;function fn(e,n,r){t.a(e,n,r)}function pn(e,t,n,r){if(!un(e,t)){fn(e,t,r?[n]:n);return}let i=e[t];Array.isArray(i)?i.push(n):fn(e,t,[i,n])}function mn(e,t,n){let r=t+1,i=0,a=!1;for(;r<n;){let t=e.codePointAt(r);if(t===93)return a?i:null;if(t!==void 0&&t>=48&&t<=57){i=i*10+(t-48),a=!0,r++;continue}return null}return null}function hn(e,t,n){let{searchPart:r,nameEnd:i,nameSourceEnd:a,rawValue:o,decodedName:s}=e,c=mn(r,i,a);if(c===null)return!1;let l=Wt(o,t),u=n.get(s);return u===void 0?n.set(s,[[c,l]]):u.push([c,l]),!0}function gn(e,t,n,r,i,a,o){let s=a!==-1&&a<n?e.slice(a+1,n):void 0,c=s===void 0?n:a,l=c,u=!1;for(let n=t;n<c;n++)if(e.codePointAt(n)===91){l=n,u=!0;break}let d=Ut(e.slice(t,l));if(!(o!==void 0&&u&&hn({searchPart:e,nameEnd:l,nameSourceEnd:c,rawValue:s,decodedName:d},i,o))){if(!u&&s!==void 0&&i.array.decodeValue){let e=i.array.decodeValue(s);if(e){for(let t of e)pn(r,d,Wt(t,i),!0);return}}pn(r,d,Wt(s,i),u)}}const _n=(e,t)=>{if(e===``||e===`?`)return{};let n={};return vn(e,n,t.strategies),n};function vn(e,t,n){let r=n.array.indexed?new Map:void 0,i=0,a=e.length,o=-2;for(;i<a;){let s=e.indexOf(`&`,i);s===-1&&(s=a),s>i&&(o!==-1&&o<i&&(o=e.indexOf(`=`,i)),gn(e,i,s,t,n,o,r)),i=s+1}if(r!==void 0)for(let[e,n]of r)n.sort((e,t)=>e[0]-t[0]),fn(t,e,n.map(e=>e[1]))}const yn=(e,t)=>{let n=dn(e);if(n.length===0)return``;let r=[];for(let i of n){let n=e[i];if(n===void 0)continue;let a=ln(i,n,t);a&&r.push(a)}return r.join(`&`)};function bn(e){let t=e?.queryParams,n=cn(t);return new Mt({...e?.caseSensitive!==void 0&&{caseSensitive:e.caseSensitive},...e?.strictTrailingSlash!==void 0&&{strictTrailingSlash:e.strictTrailingSlash},...e?.strictQueryParams!==void 0&&{strictQueryParams:e.strictQueryParams},...e?.urlParamsEncoding!==void 0&&{urlParamsEncoding:e.urlParamsEncoding},parseQueryString:e=>_n(e,n),buildQueryString:e=>yn(e,n)})}const xn={defaultRoute:``,defaultParams:{},defaultSearch:{},trailingSlash:`preserve`,caseSensitive:!0,queryParamsMode:`loose`,queryParams:j,urlParamsEncoding:`default`,allowNotFound:!0,rewritePathOnMatch:!0};function Sn(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`[router.constructor] options must be a plain object`)}const Cn=Object.freeze;var wn=class{#e;constructor(e={}){this.#e=Cn(_e({...xn,...e}))}static validateOptionsIsObject(e){Sn(e)}get(){return this.#e}};function Tn(e,t){return typeof e==`function`?e(t):e}const En=Object.keys;function Dn(e,t,n,r,i){let a=e.pathNames(t);if(a!==void 0)for(let e of En(n))!r.includes(e)&&!a.includes(e)&&i(t,e)}function N(e,n,r,i,o){let s=String(n),c=o?.resolveForward===!1?{name:s,params:r,search:i}:e.resolveForward(s,r,i),u=c.name,d=O(c.params,t.l),f=o?.diagnoseUndeclared===!0?e.reportUndeclaredParamKey:void 0;f&&Dn(e,u,d,e.queryNames(u),f);let p=e.defaultParams(u),m=e.defaultSearch(u);if((c.search===void 0||c.search===t.u)&&p===void 0&&m===void 0)return{name:u,path:d,query:t.u};let h=e.queryNames(u),g=e.reportDroppedQueryKey,_=he(o?.resolveForward===!1?a(m,d,h):m,O(c.search,t.u));return{name:u,path:me(p,d),query:e.admitsUndeclaredQuery()?_:l(_,h,t=>{g!==void 0&&e.pathNames(u)!==void 0&&g(u,t)})}}const On=Object.keys;function P(e,t){return t.buildPath(e.name,e.path,e.query)}function kn(e,t){let n=t.reportUndeclaredParamKey;if(!n)return P(e,t);let r=On(e.path).length,i=P(e,t);return On(e.path).length>r&&Dn(t,e.name,e.path,t.queryNames(e.name),n),i}const An=Object.freeze;function jn(e,n){let r={name:e.name,params:e.path,search:e.query,path:n,context:{},transition:t.s};return An(r.params),r}function Mn(e,t){return fe(jn(e,t))}function Nn(e,t){return jn(e,t)}var Pn=class{#e;#t;get(){return this.#e.current}getPrevious(){return this.#e.previous}setContext(e){this.#e=e}setDependencies(e){this.#t=e}makeState(n,r,i,a){let o=this.#t.port(),s=N(o,n,r??t.l,i,{resolveForward:!1});return e.y(`makeState`,s.name,s.path,o.queryNames(s.name)),Mn(s,a??P(s,o))}areStatesEqual(e,t,n=!0){if(!e||!t)return!!e==!!t;if(e.name!==t.name)return!1;if(n){let n=this.#t.getUrlParams(e.name);for(let r of n)if(!E(e.params[r],t.params[r]))return!1;return!0}return de(e.params,t.params)&&de(e.search,t.search)}};const Fn=Object.keys,In={[t.g.ROUTER_START]:t.h.ROUTER_START,[t.g.ROUTER_STOP]:t.h.ROUTER_STOP,[t.g.TRANSITION_SUCCESS]:t.h.TRANSITION_SUCCESS,[t.g.TRANSITION_START]:t.h.TRANSITION_START,[t.g.TRANSITION_LEAVE_APPROVE]:t.h.TRANSITION_LEAVE_APPROVE,[t.g.TRANSITION_ERROR]:t.h.TRANSITION_ERROR,[t.g.TRANSITION_CANCEL]:t.h.TRANSITION_CANCEL},Ln=Fn(In),Rn=`router.usePlugin`;function zn(e){if(!(e&&typeof e==`object`)||Array.isArray(e))throw TypeError(`[router.usePlugin] Plugin factory must return an object, got ${typeof e}`);if(typeof e.then==`function`)throw TypeError(`[router.usePlugin] Async plugin factories are not supported. Factory returned a Promise instead of a plugin object.`)}var Bn=class e{#e=new Set;#t=new Set;#n;static validatePlugin(e){zn(e)}setDependencies(e){this.#n=e}count(){return this.#e.size}use(...e){if(this.#n.getValidator()?.plugins.validateCountThresholds(this.#e.size+e.length),e.length===1){let t=e[0],n=this.#i(t);this.#e.add(t);let r=!1,i=()=>{if(!r){r=!0,this.#e.delete(t),this.#t.delete(i);try{n()}catch(e){this.#n.logger.error(Rn,`Error during cleanup:`,e)}}};return this.#t.add(i),i}let t=this.#r(e),n=[];try{for(let e of t){let t=this.#i(e);n.push({factory:e,cleanup:t})}}catch(e){for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(Rn,`Cleanup error:`,e)}throw e}for(let{factory:e}of n)this.#e.add(e);let r=!1,i=()=>{if(!r){r=!0,this.#t.delete(i);for(let{factory:e}of n)this.#e.delete(e);for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(Rn,`Error during cleanup:`,e)}}};return this.#t.add(i),i}getAll(){return[...this.#e]}has(e){return this.#e.has(e)}disposeAll(){for(let e of this.#t)e();this.#e.clear(),this.#t.clear()}#r(e){let t=new Set;for(let n of e)t.has(n)?this.#n.getValidator()?.plugins.warnBatchDuplicates(e):t.add(n);return t}#i(t){let n=this.#n.compileFactory(t);e.validatePlugin(n),this.#n.getValidator()?.plugins.validatePluginKeys(n),Object.freeze(n);let r=[];for(let e of Ln)e in n&&(typeof n[e]==`function`?(r.push(this.#n.addEventListener(In[e],n[e])),e===`onStart`&&this.#n.canNavigate()&&this.#n.getValidator()?.plugins.warnPluginAfterStart(e)):this.#n.getValidator()?.plugins.warnPluginMethodType(e));return()=>{for(let e of r)e();typeof n.teardown==`function`&&n.teardown()}}};const Vn=()=>!0,Hn=()=>!1,Un=()=>Vn,Wn=()=>Hn;function Gn(e){return e?Un:Wn}function Kn(e,t,n){n===void 0?e.delete(t):e.set(t,n)}var qn=class{#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=new Map;#a=new Map;#o=new Map;#s=new Map;#c=new Map;#l=new Map;#u=[this.#i,this.#a];#d;setDependencies(e){this.#d=e}getHandlerCount(e){let t=e===`activate`?this.#e:this.#n,n=e===`activate`?this.#t:this.#r;if(t.size===0)return n.size;if(n.size===0)return t.size;let r=new Set(t.keys());for(let e of n.keys())r.add(e);return r.size}preflightHandlerLimit(e,t,n){let r=this.#d.getValidator();if(!r)return;let i=(e,t,i)=>{let{definition:a,external:o}=this.#g(e),s=0;for(let e of t)(n?o.has(e):a.has(e)||o.has(e))||s++;if(s===0)return;let c=n?o.size:this.getHandlerCount(e);r.lifecycle.validateHandlerLimit(c+s-1,i)};i(`activate`,e,`canActivate`),i(`deactivate`,t,`canDeactivate`)}addCanActivate(e,t,n,r){this.#f(`activate`,e,t,n,`canActivate`,r)}addCanDeactivate(e,t,n,r){this.#f(`deactivate`,e,t,n,`canDeactivate`,r)}clearCanActivate(e,t){this.#p(`activate`,e,t)}clearCanDeactivate(e,t){this.#p(`deactivate`,e,t)}clearAll(){this.#e.clear(),this.#t.clear(),this.#n.clear(),this.#r.clear(),this.#a.clear(),this.#i.clear(),this.#o.clear(),this.#s.clear(),this.#c.clear(),this.#l.clear()}clearDefinitionGuards(){for(let e of this.#e.keys())this.#c.delete(e),this.#t.has(e)?this.#m(`activate`,e):this.#a.delete(e);for(let e of this.#n.keys())this.#o.delete(e),this.#r.has(e)?this.#m(`deactivate`,e):this.#i.delete(e);this.#e.clear(),this.#n.clear()}getFactories(){let e=Object.create(null),t=Object.create(null);for(let[t,n]of this.#n)e[t]=n;for(let[t,n]of this.#r)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,n]of this.#t)t[e]=n;return[e,t]}getFactoriesByOrigin(){let e=Object.create(null),t=Object.create(null),n=Object.create(null),r=Object.create(null);for(let[t,n]of this.#n)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,t]of this.#r)n[e]=t;for(let[e,t]of this.#t)r[e]=t;return{definition:[e,t],external:[n,r]}}getFunctions(){return this.#u}canNavigateTo(e,t,n,r){for(let t of e)if(!this.#_(this.#i,t,n,r,`canNavigateTo`))return!1;for(let e of t)if(!this.#_(this.#a,e,n,r,`canNavigateTo`))return!1;return!0}compileGuardFactory(e,t){let n=typeof e==`boolean`?Gn(e):e,r=this.#d.compileFactory(n);if(typeof r!=`function`)throw TypeError(`[router.${t}] Factory must return a function, got ${typeof r}`);return r}#f(e,t,n,r,i,a){let o=this.#g(e),s=e===`activate`?this.#a:this.#i,c=r?o.definition:o.external,l=r?o.external:o.definition;if(c.has(t)||l.has(t))this.#d.getValidator()?.lifecycle.warnOverwrite(t,e,i);else{let t=this.#d.getValidator();if(t){let n=this.getHandlerCount(e);t.lifecycle.validateHandlerLimit(n,i),t.lifecycle.validateCountThresholds(n+1,i)}}let u=typeof n==`boolean`?Gn(n):n,d=c.get(t),f=this.#h(e),p=r?f.definition:f.external,m=p.get(t);c.set(t,u);let h=r&&l.has(t);try{let e=a??this.compileGuardFactory(u,i);p.set(t,e),h||s.set(t,e)}catch(n){throw Kn(c,t,d),Kn(p,t,m),this.#m(e,t),n}}#p(e,t,n){let{definition:r,external:i}=this.#g(e),a=this.#h(e),o=n!==`external`&&r.delete(t),s=n!==`definition`&&i.delete(t);o&&a.definition.delete(t),s&&a.external.delete(t),(o||s)&&this.#m(e,t)}#m(e,t){let n=this.#h(e),r=e===`activate`?this.#a:this.#i,i=n.external.get(t)??n.definition.get(t);if(!i){r.delete(t);return}r.set(t,i)}#h(e){return e===`activate`?{definition:this.#c,external:this.#l}:{definition:this.#o,external:this.#s}}#g(e){return e===`activate`?{definition:this.#e,external:this.#t}:{definition:this.#n,external:this.#r}}#_(e,t,n,r,i){let a=e.get(t);if(!a)return!0;try{let e=a(n,r);return typeof e==`boolean`?e:(this.#d.getValidator()?.lifecycle.warnAsyncGuardSync(t,i),!1)}catch(e){return this.#d.logger.warn(`router.${i}`,`Guard for "${t}" threw — treated as navigation-blocking (returned false)`,e),!1}}};const Jn=new Set([`name`,`path`,`children`,`canActivate`,`canDeactivate`,`forwardTo`,`encodeParams`,`decodeParams`,`defaultParams`,`defaultSearch`]),Yn=Object.hasOwn,F=Object.keys;function Xn(){return{decoders:Object.create(null),encoders:Object.create(null),defaultParams:Object.create(null),defaultSearch:Object.create(null),forwardMap:Object.create(null),forwardFnMap:Object.create(null)}}function Zn(e){return F(e.forwardMap).length>0||F(e.forwardFnMap).length>0}function Qn(e,t){for(let n of F(t))Object.assign(e[n],t[n])}function $n(e,t){for(let n in e)if(Yn(t,n)&&!E(e[n],t[n]))return!1;return!0}function er(e){return typeof e==`string`?e:`<non-string>`}function tr(e,t){for(let n in e)if(!E(e[n],t[n]))return!1;return!0}function nr(e){let t={name:e.name,path:e.path};return e.children&&(t.children=e.children.map(e=>nr(e))),t}function rr(e,t,n){if(n.add(t),e.children)for(let r of e.children)rr(r,`${t}.${r.name}`,n)}function ir(e,t,n=``){for(let r=0;r<e.length;r++){let i=e[r],a=n?`${n}.${i.name}`:i.name;if(a===t){e.splice(r,1);let t=new Set;return rr(i,a,t),t}if(i.children&&t.startsWith(`${a}.`)){let e=ir(i.children,t,a);if(e)return e}}}function ar(e,t){for(let n of F(e))t(n)&&delete e[n]}function or(e,t){let n=t.search(/[?#]/),r=n===-1?t:t.slice(0,n);if(r===`/`||r.endsWith(`/`))return t;let i=e.search(/[?#]/),a=i===-1?e:e.slice(0,i);return a.length>1&&a.endsWith(`/`)?`${r}/${n===-1?``:t.slice(n)}`:t}function sr(e){let t=[];for(let n of e)for(let e of n.paramMeta.urlParams)t.push(e);return t}function cr(e,t,n){let r=n.get(t);if(r!==void 0)return r;let i=e.getSegmentsByName(t),a=i?sr(i):[];return n.set(t,a),a}function lr(e,t){return cr(e.matcher,t,e.urlParamsCache)}function ur(e,t,n,r){let i=r.get(t);if(i!==void 0)return i;let a=e.getDeclaredQueryParams(t),o=[];if(a){let r=cr(e,t,n);o=a.filter(e=>!r.includes(e))}return r.set(t,o),o}function dr(e,t){return ur(e.matcher,t,e.urlParamsCache,e.queryParamsCache)}function fr(e,t,n){let r=new Map,i=new Map;o(t.defaultParams,t=>ur(e,t,r,i),n)}function pr(e,t,n=100){let r=String(e),i=new Set,a=[r],o=r;for(;;){let e=t[o];if(!e)break;let r=String(e);if(i.has(r)){let e=a.indexOf(r),t=[...a.slice(e),r];throw Error(`Circular forwardTo: ${t.join(` → `)}`)}if(i.add(o),a.push(r),o=r,a.length>n)throw Error(`forwardTo chain exceeds maximum depth (${n}): ${a.join(` → `)}`)}return o}const mr=Object.entries,I=Object.keys,hr=Object.defineProperty,gr=Object.fromEntries;function _r(e,t,n){let r=Bt(``,t,e),i=bn(n);return i.registerTree(r),{tree:r,matcher:i}}function vr(e,t=e.definitions){let n=_r(t,e.rootPath,e.matcherOptions);e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function yr(e,t){let n=_r(e.definitions,t,e.matcherOptions);fr(n.matcher,e.config,`setRootPath`),e.rootPath=t,e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function br(e,t){vr(e,t),L(e,Cr(e.config))}function xr(e){Sr(e),vr(e,[])}function Sr(e){Object.assign(e.config,Xn()),L(e,Object.create(null)),e.routeCustomFields=Object.create(null)}function L(e,t){e.resolvedForwardMap=t,e.hasAnyForward=Zn(e.config)}function Cr(e){let t=Object.create(null);for(let n of I(e.forwardMap))t[n]=pr(n,e.forwardMap);return t}function wr(e,t){if(typeof e!=`function`)return;let n=e.constructor.name===`AsyncFunction`,r=e.toString().includes(`__awaiter`);if(n||r)throw TypeError(`forwardTo callback cannot be async for route "${t}". Async functions break matchPath/buildPath.`)}function Tr(e,t,n,r){if(e.canActivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${n}".`)}if(e.canDeactivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${n}".`)}wr(e.forwardTo,t),typeof e.forwardTo==`string`?n.forwardMap[t]=e.forwardTo:n.forwardFnMap[t]=e.forwardTo}function Er(e,t,n,r,i,a,o){let s=gr(mr(e).filter(([e])=>!Jn.has(e)));if(I(s).length>0&&(r[t]=s),e.canActivate&&i.set(t,e.canActivate),e.canDeactivate&&a.set(t,e.canDeactivate),e.forwardTo&&Tr(e,t,n,o),e.decodeParams){let r=e.decodeParams;n.decoders[t]=e=>r(e)??e}if(e.encodeParams){let r=e.encodeParams;n.encoders[t]=e=>r(e)??e}e.defaultParams&&(n.defaultParams[t]=e.defaultParams),e.defaultSearch&&(n.defaultSearch[t]=e.defaultSearch)}function Dr(e,t,n,r,i,a,o=``){for(let s of e){let e=o?`${o}.${s.name}`:s.name;Er(s,e,t,n,r,i,a),s.children&&Dr(s.children,t,n,r,i,a,e)}}function Or(e){let t=Xn();return Qn(t,e),t}function kr(e,t,n){if(n.length===0)return[...e,...t];let[r,...i]=n;return e.map(e=>{if(e.name!==r)return e;let n=e.children??[];return{...e,children:i.length===0?[...n,...t]:kr(n,t,i)}})}function Ar(e){return e.map(e=>{let t={...e};return Array.isArray(t.children)&&(t.children=Ar(t.children)),t})}function jr(e,t,n){for(let r of e){let e=t?`${t}.${r.name}`:r.name;n(e),r.children&&jr(r.children,e,n)}}function Mr(e,t,n){let r=new Set;jr(e,t,e=>{if(r.has(e))throw Error(`[router.${n}] Duplicate route "${e}" in batch`);r.add(e)})}function Nr(e,t){if(v(e,t),e.startsWith(`@@`))throw Error(`[router.${t}] Route name "${e}" uses the reserved "@@" prefix. Routes with this prefix are internal and cannot be modified through the public API.`)}function R(e,t){for(let n of e)Nr(n.name,t),n.children&&R(n.children,t)}function z(t,n){for(let r of t)e.r(r.name,n),r.children&&z(r.children,n)}function B(t,n){for(let r of t)e.t(r.name,n),r.children&&B(r.children,n)}function Pr(e,t,n){let r=new Map,i=(e,t)=>{for(let a of e){let e=r.get(t);if(e?.has(a.path))throw Error(`[router.${n}] Path "${a.path}" is already defined`);e?e.add(a.path):r.set(t,new Set([a.path])),a.children&&i(a.children,t?`${t}.${a.name}`:a.name)}};i(e,t)}function Fr(e,t,n){if(R(t,`addRoute`),z(t,`addRoute`),B(t,`addRoute`),n!==void 0&&!e.matcher.hasRoute(n))throw Error(`[router.addRoute] Parent route "${n}" does not exist`);jr(t,n??``,t=>{if(e.matcher.hasRoute(t))throw Error(`[router.addRoute] Route "${t}" already exists`)}),Mr(t,n??``,`addRoute`),Pr(t,n??``,`addRoute`)}function Ir({definitions:e,routesForHandlers:t,config:n,routeCustomFields:r,handlerParentName:i,rootPath:a,matcherOptions:o,logger:s}){let c=new Map,l=new Map;Dr(t,n,r,c,l,s,i);let u=Cr(n),{tree:d,matcher:f}=_r(e,a,o);return{config:n,routeCustomFields:r,pendingCanActivate:c,pendingCanDeactivate:l,tree:d,matcher:f,resolvedForwardMap:u}}function Lr(e,t,n,r){return Ir({definitions:kr(e.definitions,t.map(e=>nr(e)),n===void 0?[]:n.split(`.`)),routesForHandlers:t,config:Or(e.config),routeCustomFields:Object.assign(Object.create(null),e.routeCustomFields),handlerParentName:n??``,rootPath:e.rootPath,matcherOptions:e.matcherOptions,logger:r})}function Rr(e,t,n,r){return Ir({definitions:e.map(e=>nr(e)),routesForHandlers:e,config:Xn(),routeCustomFields:Object.create(null),handlerParentName:``,rootPath:t,matcherOptions:n,logger:r})}function zr(e,t,n){let r=[];for(let[i,a]of e)r.push([i,a,t(a,n)]);return r}function Br(e,t){return{activate:zr(e.pendingCanActivate,t.compileGuard,`canActivate`),deactivate:zr(e.pendingCanDeactivate,t.compileGuard,`canDeactivate`)}}function Vr(e,t,n){let r=e.depsStore,{activate:i,deactivate:a}=n??Br(t,r);Object.assign(e.config,t.config),e.routeCustomFields=t.routeCustomFields,e.tree=t.tree,e.matcher=t.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear(),L(e,t.resolvedForwardMap);for(let[e,t,n]of i)r.addActivateGuard(e,t,n);for(let[e,t,n]of a)r.addDeactivateGuard(e,t,n)}function V(e){return e===null?e:e||void 0}function Hr(t,n,r,i){let{forwardTo:a,defaultParams:o,defaultSearch:s,decodeParams:c,encodeParams:l,canActivate:u,canDeactivate:d}=i,f=V(a),p=V(o),m=V(s),h=V(c),g=V(l),_=V(u),v=V(d);p!=null&&e.v(`updateRoute`,r,p,dr(t,r),"this route's `defaultParams`","Move it to `defaultSearch`");let y=f===void 0?void 0:Ur(r,f,t.config),b=Wr(t,r,i),x=_==null?void 0:n.compileGuardFactory(_,`canActivate`),S=v==null?void 0:n.compileGuardFactory(v,`canDeactivate`);return n.preflightHandlerLimit(x===void 0?[]:[r],S===void 0?[]:[r],!1),b!==void 0&&(I(b).length>0?t.routeCustomFields[r]=b:delete t.routeCustomFields[r]),y!==void 0&&(t.config.forwardMap=y.forwardMap,t.config.forwardFnMap=y.forwardFnMap,L(t,y.resolved)),Kr(t,r,{defaultParams:p,defaultSearch:m,decodeParams:h,encodeParams:g}),qr(n,`activate`,r,_,x),qr(n,`deactivate`,r,v,S),{forwardTo:f,defaultParams:p,defaultSearch:m,decodeParams:h,encodeParams:g}}function Ur(e,t,n){wr(t,e);let r=Object.assign(Object.create(null),n.forwardMap),i=Object.assign(Object.create(null),n.forwardFnMap);return t===null?(delete r[e],delete i[e]):typeof t==`string`?(delete i[e],r[e]=t):(delete r[e],i[e]=t),{forwardMap:r,forwardFnMap:i,resolved:Cr({...n,forwardMap:r})}}function Wr(e,n,r){let i;for(let a of I(r)){if(Jn.has(a))continue;let o=r[a];o!==void 0&&(i??={...e.routeCustomFields[n]},o===null?delete i[a]:t.a(i,a,o))}return i}function Gr(e,t,n){n!==void 0&&(n===null?delete e[t]:e[t]=n)}function Kr(e,t,n){if(Gr(e.config.defaultParams,t,n.defaultParams),Gr(e.config.defaultSearch,t,n.defaultSearch),n.decodeParams!==void 0)if(n.decodeParams===null)delete e.config.decoders[t];else{let r=n.decodeParams;e.config.decoders[t]=e=>r(e)??e}if(n.encodeParams!==void 0)if(n.encodeParams===null)delete e.config.encoders[t];else{let r=n.encodeParams;e.config.encoders[t]=e=>r(e)??e}}function qr(e,t,n,r,i){r!==void 0&&(t===`activate`?r===null?e.clearCanActivate(n,`definition`):e.addCanActivate(n,r,!0,i):r===null?e.clearCanDeactivate(n,`definition`):e.addCanDeactivate(n,r,!0,i))}function Jr(e,t,n){let r=Ar(e);R(r,`addRoute`),z(r,`constructor`),B(r,`constructor`),Mr(r,``,`addRoute`);let i=Rr(r,``,t,n),a={get definitions(){return Ht(a.tree)},config:i.config,tree:i.tree,matcher:i.matcher,urlParamsCache:new Map,queryParamsCache:new Map,resolvedForwardMap:i.resolvedForwardMap,hasAnyForward:Zn(i.config),routeCustomFields:i.routeCustomFields,rootPath:``,matcherOptions:t,depsStore:void 0,lifecycleNamespace:void 0,pendingCanActivate:i.pendingCanActivate,pendingCanDeactivate:i.pendingCanDeactivate};return fr(a.matcher,a.config,`addRoute`),hr(a,`matcherOptions`,{writable:!1,configurable:!1}),a}const Yr=Object.keys,Xr=[];Object.freeze(Xr);function Zr(e){let t=e.split(`.`),n=t.length,r=[t[0]],i=t[0].length;for(let a=1;a<n-1;a++)i+=1+t[a].length,r.push(e.slice(0,i));return r.push(e),r}const Qr=new Set([`string`,`number`,`boolean`]);function $r(e){return Qr.has(typeof e)}function ei(e,t,n,r){let i=t[e];if(!i||typeof i!=`object`)return!0;for(let e of Yr(i)){let t=n.params[e],i=r.params[e];if($r(t)&&$r(i)&&String(t)!==String(i))return!1}return!0}function ti(e,t,n,r,i,a){for(let o=0;o<a;o++){let a=r[o];if(a!==i[o]||!ei(a,e,t,n))return o}return a}const ni=new Map;function H(e){let t=ni.get(e);if(t)return t;let n=ri(e);return Object.freeze(n),ni.set(e,n),n}function ri(e){if(!e)return[``];let t=e.indexOf(`.`);if(t===-1)return[e];let n=e.indexOf(`.`,t+1);if(n===-1)return[e.slice(0,t),e];let r=e.indexOf(`.`,n+1);return r===-1?[e.slice(0,t),e.slice(0,n),e]:e.indexOf(`.`,r+1)===-1?[e.slice(0,t),e.slice(0,n),e.slice(0,r),e]:Zr(e)}let ii,ai,U=null,oi,si,ci=null;function li(e,t,n){if(!t)return{intersection:``,toActivate:H(e.name),toDeactivate:Xr};let r=n(e.name),i=n(t.name);if(!r&&!i)return{intersection:``,toActivate:H(e.name),toDeactivate:H(t.name)};let a=H(e.name),o=H(t.name),s=Math.min(o.length,a.length),c=ti(r??i,e,t,a,o,s),l;if(c>=o.length)l=Xr;else if(c===0&&o.length===1)l=o;else{l=[];for(let e=o.length-1;e>=c;e--)l.push(o[e])}let u=c===0?a:a.slice(c);return{intersection:c>0?o[c-1]:``,toDeactivate:l,toActivate:u}}function W(e,t,n){if(U!==null&&e===ii&&t===ai)return U;if(ci!==null&&e===oi&&t===si)return ci;let r=li(e,t,n);return oi=ii,si=ai,ci=U,ii=e,ai=t,U=r,r}const G=Object.hasOwn;function ui(e,t){return{name:t??e.segments.at(-1).fullName,params:e.params,search:e.search,meta:e.meta}}function di(e){return e===`preserve`?void 0:e}var fi=class{#e;#t;#n;get#r(){return this.#e.depsStore}constructor(e,t,n){this.#e=Jr(e,t,n)}static shouldUpdateNode(e,t){return(n,r)=>{if(!(n&&typeof n==`object`&&`name`in n))throw TypeError(`[router.shouldUpdateNode] toState must be valid State object`);if(n.transition?.reload||e===``)return!0;let{intersection:i,toActivate:a,toDeactivate:o}=W(n,r,t);return e===i||a.includes(e)?!0:o.includes(e)}}setDependencies(e){this.#e.depsStore=e}flushPendingGuards(){let e=this.#r;for(let[t,n]of this.#e.pendingCanActivate)e.addActivateGuard(t,n);this.#e.pendingCanActivate.clear();for(let[t,n]of this.#e.pendingCanDeactivate)e.addDeactivateGuard(t,n);this.#e.pendingCanDeactivate.clear()}setLifecycleNamespace(e){this.#e.lifecycleNamespace=e}setRootPath(e){yr(this.#e,e)}hasRoute(e){return this.#e.matcher.hasRoute(e)}clearRoutes(){xr(this.#e)}buildPath(e,n,r,i){if(e===t.p.UNKNOWN_ROUTE)return typeof n.path==`string`?n.path:``;let a=r??t.u,o=this.#e.config.encoders[e];if(typeof o==`function`){let t=o({params:{...n},search:{...a}});return this.#e.matcher.buildPath(e,t.params,t.search,this.#c(i))}return this.#e.matcher.buildPath(e,n,a,this.#c(i))}buildPathFromIntent(e,n,r){let i=n??t.l;return e===t.p.UNKNOWN_ROUTE?this.#r.port.buildPath(e,i,r??t.u):P(N(this.#r.port,e,i,r,{resolveForward:!1}),this.#r.port)}matchPath(t,n){let r=n,i=this.#e.matcher.match(t);if(!i)return;let a=ui(i),{name:o}=a,s=k(a.params),c=k(a.search),l=this.#e.config.decoders[o],u;typeof l==`function`?(u=l({params:s,search:c}),this.#r.getValidator()?.routes.validateStateBuilderArgs(o,u.params,`matchPath`),e.v(`matchPath`,o,u.params,this.getQueryParams(o),"the `params` returned by this route's `decodeParams`")):u={params:s,search:c};let d=N(this.#r.port,o,u.params,u.search),f=d.name;e.y(`matchPath`,d.name,d.path,this.getQueryParams(d.name));let p=d.path,m=d.query,h=t;if(r.rewritePathOnMatch){let e=this.#e.config.encoders[f],n=typeof e==`function`?e({params:p,search:m}):{params:p,search:m},i=r.trailingSlash;try{h=this.#e.matcher.buildPath(f,n.params,n.search,{trailingSlash:di(i),queryParamsMode:r.queryParamsMode}),i===`preserve`&&(h=or(t,h))}catch{h=t}}return Mn(d,h)}forwardState(e,n,r){let i=r??t.u;if(G(this.#e.config.forwardFnMap,e)){let t=this.#e.config.forwardFnMap[e],{target:r,chain:a}=this.#l(e,t,n);return this.#s(r,a,n,i)}let a=this.#e.resolvedForwardMap[e]??e;if(a!==e&&G(this.#e.config.forwardFnMap,a)){let t=this.#e.config.forwardFnMap[a],{target:r,chain:o}=this.#l(a,t,n);return this.#s(r,[...this.#o(e),...o],n,i)}return a===e?{name:e,params:n,search:i}:this.#s(a,this.#o(e),n,i)}buildStateResolved(e,t){let n=this.#e.matcher.getSegmentsByName(e);if(n)return ui({segments:n,params:t,search:{},meta:this.#e.matcher.getMetaByName(e)},e)}isActiveRoute(e,n=t.l,r=t.u,i=!1,a=!0){if(this.#i(e,n,r,i,a))return!0;if(!this.#e.hasAnyForward)return!1;let o;try{o=typeof e==`string`?e:String(e)}catch{return!1}if(!G(this.#e.config.forwardMap,o)&&!G(this.#e.config.forwardFnMap,o))return!1;let s;try{s=this.forwardState(e,n,r)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Dynamic forwardTo of route "${er(e)}" threw while resolving the active-link destination; treating the link as inactive.`,t),!1}return this.#i(s.name,s.params,s.search,i,a)}getMetaForState(e){return this.#e.matcher.hasRoute(e)?this.#e.matcher.getMetaByName(e):void 0}getUrlParams(e){return lr(this.#e,e)}getQueryParams(e){return dr(this.#e,e)}getStore(){return this.#e}getPort(){return this.#r.port}#i(e,t,n,r,i){try{return this.#a(e,t,n,r,i)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Reading the arguments for route "${er(e)}" threw while resolving the active-link state; treating the link as inactive.`,t),!1}}#a(e,t,n,r,i){let a=this.#r.getState();if(!a)return!1;let o=a.name;if(o!==e&&!o.startsWith(`${e}.`)&&!e.startsWith(`${o}.`))return!1;let s=N(this.#r.port,e,t,n,{resolveForward:!1});if(r||o===e){let e=Nn(s,``);return!this.#r.areStatesEqual(e,a,!0)||!$n(s.path,a.params)?!1:i||de(e.search,a.search)}return!(!o.startsWith(`${e}.`)||!$n(s.path,a.params)||!i&&!tr(s.query,a.search))}#o(e){let t=[],n=e;for(;G(this.#e.config.forwardMap,n);)t.push(n),n=this.#e.config.forwardMap[n];return t}#s(e,n,r,i){let a,o;for(let e of n)a=T(this.#e.config.defaultParams[e],a),o=T(this.#e.config.defaultSearch[e],o);return{name:e,params:O(a===void 0?r:T(a,r),t.l),search:O(o===void 0?i:T(o,i),t.u)}}#c(e){return this.#t?(e!==this.#n&&this.#r.logger.warn(`router.buildPath`,"`options` differs from the cached source reference; router options are immutable per router instance, so the first-cached buildPath options are reused (#957)."),this.#t):(this.#n=e,this.#t=Object.freeze({trailingSlash:di(e?.trailingSlash),queryParamsMode:e?.queryParamsMode}),this.#t)}#l(e,t,n){let r=new Set([e]),i=[e],a=t(this.#r.getDependency,n),o=0;if(typeof a!=`string`)throw TypeError(`forwardTo callback must return a string, got ${typeof a}`);for(;o<100;){if(this.#e.matcher.getSegmentsByName(a)===void 0)throw Error(`Route "${a}" does not exist`);if(r.has(a)){let e=[...r,a].join(` → `);throw Error(`Circular forwardTo: ${e}`)}if(r.add(a),G(this.#e.config.forwardFnMap,a)){let e=this.#e.config.forwardFnMap[a];i.push(a),a=e(this.#r.getDependency,n),o++;continue}let e=this.#e.config.forwardMap[a];if(e!==void 0){i.push(a),a=e,o++;continue}return{target:a,chain:i}}throw Error(`forwardTo exceeds maximum depth of 100`)}};const pi=new n.t(t.m.ROUTER_NOT_STARTED),mi=new n.t(t.m.ROUTE_NOT_FOUND),hi=new n.t(t.m.SAME_STATES),gi=new n.t(t.m.ROUTER_NOT_STARTED,{message:`[router] cannot commit before the start navigation does — the boot would overwrite it; defer with queueMicrotask/await, or navigate after start() resolves`});Object.freeze(pi),Object.freeze(mi),Object.freeze(hi),Object.freeze(gi);const K=Promise.reject(pi),_i=Promise.reject(mi),vi=Promise.reject(hi),q=Promise.reject(gi);K.catch(()=>{}),_i.catch(()=>{}),vi.catch(()=>{}),q.catch(()=>{});const yi=new Set([t.m.SAME_STATES,t.m.TRANSITION_CANCELLED,t.m.ROUTER_NOT_STARTED,t.m.ROUTE_NOT_FOUND,t.m.CANNOT_ACTIVATE,t.m.CANNOT_DEACTIVATE,t.m.ROUTER_ALREADY_STARTED]);function bi(e){return e instanceof n.t&&yi.has(e.code)}const xi=new Set([K,_i,vi,q]),J=Object.freeze;function Si(e){let{fromState:t,toDeactivate:n,toActivate:r,intersection:i}=e;J(n),J(r);let a={phase:`activating`,reason:`success`,segments:J({deactivated:n,activated:r,intersection:i})};return t?.name!==void 0&&(a.from=t.name),e.reload!==void 0&&(a.reload=e.reload),e.replace!==void 0&&(a.replace=e.replace),e.redirected!==void 0&&(a.redirected=e.redirected),J(a)}function Ci(e,r){let{toState:i,fromState:a,toDeactivate:o,toActivate:s}=r;if(i.name!==t.p.UNKNOWN_ROUTE&&!e.hasRoute(i.name)){let o=new n.t(t.m.ROUTE_NOT_FOUND,{routeName:i.name});throw e.sendTransitionFail(a,o,r),n.n(o)}let c=r;i.transition=Si(r);let l=J(i),u=e.canCommitTransition(c);if(!u)throw n.n(new n.t(t.m.TRANSITION_CANCELLED));for(let t of o)s.includes(t)||!r.canDeactivateFunctions.has(t)||e.clearCanDeactivate(t,u);return e.sendTransitionDone(c),l}const wi=Object.entries;function Ti(e){return e instanceof n.t&&e.code===t.m.TRANSITION_CANCELLED}function Ei(e){return Ti(e)?e:new n.t(t.m.TRANSITION_CANCELLED,{reason:e})}function Di(e,n,r,i){let a=n;a.code!==t.m.TRANSITION_CANCELLED&&a.code!==t.m.ROUTE_NOT_FOUND&&e.sendTransitionFail(r,a,i)}function Oi(e,r,i){if(e instanceof DOMException&&e.name===`AbortError`)throw n.n(new n.t(t.m.TRANSITION_CANCELLED));if(Ti(e))throw e;ki(e,r,i)}function ki(e,t,r){if(e instanceof n.t){let{code:r,message:i,...a}=e.toJSON(),o=new n.t(r,{...a,message:i});throw o.setCode(t),o.stack=e.stack??``,n.n(o)}throw n.n(new n.t(t,ji(e,r)))}const Ai=new Set([`code`,`segment`,`path`,`then`]);function ji(e,n){let r={segment:n};if(e instanceof Error)return{...r,message:e.message,stack:e.stack,...`cause`in e&&e.cause!==void 0&&{cause:e.cause}};if(e&&typeof e==`object`){let n={};for(let[r,i]of wi(e))r!==`__proto__`&&!Ai.has(r)&&t.a(n,r,i);return{...r,...n}}return r}async function Mi(e,t,r){let i;try{i=await e}catch(e){Oi(e,t,r);return}if(!i)throw n.n(new n.t(t,{segment:r}))}function Ni(e,r,i,a,o,s,c,l,u,d){if(!u())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));if(e===1){let t=d();return t===void 0?void 0:{phase:e,index:r+1,pending:t}}let f=i[r],p=a.get(f);if(!p)return;let m=!1;try{m=p(s,c,l)}catch(e){Oi(e,o,f)}if(m instanceof Promise)return{phase:e,index:r+1,pending:m};if(!m)throw n.n(new n.t(o,{segment:f}))}function Pi(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=e===1,h=e===0;if(!m&&!(h?s:c))return;let g=h?a:o,_=m?1:g.length,v=h?r:i,y=h?t.m.CANNOT_DEACTIVATE:t.m.CANNOT_ACTIVATE;for(let t=n;t<_;t++){let n=Ni(e,t,g,v,y,l,u,d,f,p);if(n!==void 0)return n}}function Fi(e,t,n,r,i,a,o,s,c,l,u,d,f){for(let p=d;p<=2;p++){let m=Pi(p,p===d?f:0,e,t,n,r,i,a,o,s,c,l,u);if(m!==void 0)return m}}async function Ii(e,n,r,i,a,o,s,c,l,u,d,f){let p=e;for(;p!==void 0;){if(p.phase===1)await p.pending;else{let e=p.phase===0;await Mi(p.pending,e?t.m.CANNOT_DEACTIVATE:t.m.CANNOT_ACTIVATE,(e?i:a)[p.index-1])}p=Fi(n,r,i,a,o,s,c,l,u,d,f,p.phase,p.index)}}function Li(e,t,n,r,i,a,o,s,c,l,u){let d=Fi(e,t,n,r,i,a,o,s,c,l,u,0,0);return d===void 0?void 0:Ii(d,e,t,n,r,i,a,o,s,c,l,u)}const Ri=Object.freeze,zi=Object.freeze([]),Bi=new Map;function Vi(e,t){return t?Ri({...e,replace:!0}):e}function Hi(e,t,n,r){return!!e&&!t&&!n&&e.path===r.path}function Ui(e,t){if(e.size===0)return!1;for(let n of t)if(e.has(n))return!0;return!1}function Wi(e){let t=e.controller;if(t!==void 0)return t;let n=new AbortController;return e.cancelReason!==void 0&&n.abort(e.cancelReason),e.controller=n,n}function Gi(e,t){t.externalSignal===void 0||t.cancelReason!==void 0||!t.hasGuards||e.bridgeExternalSignal(t)}function Ki(e,r,i,a,o,s,c,l,u,d){$i(e,s);let f=e.hasLeaveListeners()||e.hasPreCommitListeners(),p={toState:r,fromState:i,opts:a,suspendable:o!==void 0||f,forceDeactivate:d,toDeactivate:zi,toActivate:zi,intersection:``,canDeactivateFunctions:Bi,canActivateFunctions:Bi,shouldDeactivate:!1,shouldActivate:!1,hasGuards:!1,controller:void 0,cancelReason:void 0,detachExternalBridge:void 0,externalSignal:o,reload:c,replace:l,redirected:u};if(!e.startTransition(p))throw n.n(new n.t(t.m.TRANSITION_CANCELLED));return p}function qi(e,t){return e.sendLeaveApprove(t),Ci(e,t)}function Ji(e,n){let[r,i]=e.getLifecycleFunctions(),{toDeactivate:a,toActivate:o,intersection:s}=W(n.toState,n.fromState,t=>e.getMetaForState(t));n.canDeactivateFunctions=r,n.canActivateFunctions=i,n.toDeactivate=a,n.toActivate=o,n.intersection=s,n.shouldDeactivate=!!n.fromState&&!n.forceDeactivate&&a.length>0,n.shouldActivate=n.toState.name!==t.p.UNKNOWN_ROUTE&&o.length>0,n.hasGuards=n.shouldDeactivate&&Ui(r,a)||n.shouldActivate&&Ui(i,o)}function Yi(e,r,i){let a,o;try{a=e.getState();let s=i.signal,c=s?.aborted===!0?s:void 0;i=ge(i);let l=i.reload,u=i.force,d=i.replace,f=i.redirected,p=i.forceDeactivate===!0,m=a?.name===t.p.UNKNOWN_ROUTE&&!d,h=m||d;if(i=Vi(i,m),Hi(a,l,u,r))return e.emitTransitionError(r,a,hi),vi;let g=Ki(e,r,a,i,s,c,l,h,f,p);o=g;let _=g.externalSignal;if(_?.aborted===!0&&e.cancelNavigation(_.reason),Ji(e,g),Gi(e,g),!g.hasGuards&&!g.suspendable)return qi(e,g);let{canDeactivateFunctions:v,canActivateFunctions:y,toDeactivate:b,toActivate:x,shouldDeactivate:S,shouldActivate:ee,hasGuards:te}=g,ne=r;if(!te){let t=Qi(e,g);if(t!==void 0)return t}if(te){let i=Wi(g),o=()=>!i.signal.aborted,s=i.signal,c=Li(v,y,b,x,S,ee,r,a,s,o,()=>{if(e.sendLeaveApprove(g),e.hasLeaveListeners())return e.awaitLeaveListeners(ne,a,s)});if(c!==void 0)return Xi(e,c,g,i);if(!o())throw n.n(new n.t(t.m.TRANSITION_CANCELLED))}return Ci(e,g)}catch(t){let n=Zi(e,t,{nav:o,fromState:a});return Promise.reject(n)}}async function Xi(e,r,i,a){let o=()=>!a.signal.aborted,s=i.externalSignal,c,l=!1,u,d=new Promise(e=>{if(a.signal.aborted){e();return}c=()=>{e()},a.signal.addEventListener(`abort`,c,{once:!0})});r.catch(()=>{});try{if(s?.aborted)throw n.n(new n.t(t.m.TRANSITION_CANCELLED,{reason:s.reason}));if(await Promise.race([r,d]),!o())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));let a=Ci(e,i);return l=!0,a}catch(t){let n=o()?t:Ei(t);throw u=n,Di(e,n,i.fromState,i),n}finally{c&&a.signal.removeEventListener(`abort`,c),l||a.abort(u)}}function Zi(e,t,n){let{nav:r}=n;if(r?.controller?.abort(t),r!==void 0){let i=e.isTransitioning()?t:Ei(t);return Di(e,i,n.fromState,r),i}return t}function Qi(e,t){let{toState:n,fromState:r}=t;if(e.hasLeaveListeners()&&Wi(t),e.sendLeaveApprove(t),e.hasLeaveListeners()){let i=Wi(t),a;try{a=e.awaitLeaveListeners(n,r,i.signal)}catch(e){throw i.abort(e),e}return a===void 0?void 0:Xi(e,a,t,i)}}function $i(e,r){if(e.isTransitioning()&&(e.logger.warn(`router.navigate`,`Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request.`),e.cancelNavigation()),r!==void 0)throw n.n(new n.t(t.m.TRANSITION_CANCELLED,{reason:r.reason}))}const ea=Object.freeze,ta=Object.freeze([t.p.UNKNOWN_ROUTE]),na=Object.freeze({replace:!0});function ra(e,r,i){$i(e,void 0);let a=e.getState(),o=a?H(a.name).toReversed():[];ea(o);let s={deactivated:o,activated:ta,intersection:``};ea(s);let c={phase:`activating`,...a&&{from:a.name},reason:`success`,replace:!0,segments:s};ea(c);let l={name:t.p.UNKNOWN_ROUTE,params:t.l,search:t.u,path:r,transition:c,context:{}};if(ea(l),i&&a!==void 0&&!e.canDeactivateCurrent(o,l,a)){let i=new n.t(t.m.CANNOT_DEACTIVATE,{path:r,message:`[router.navigateToNotFound] a canDeactivate guard on "${a.name}" refused to leave for ${r}`});throw e.emitTransitionError(void 0,a,i),n.n(i)}return e.systemCommit(l,a,na)}function ia(e,t){return ra(e,t,!0)}function aa(e,t){return ra(e,t,!1)}var oa=class{#e;#t;#n=0;setDependencies(e){this.#e=e,this.#t=t=>{bi(t)||e.logger.error(`router.navigate`,`Unexpected navigation error`,t)}}navigate(e,t,n,r){return this.#r(this.#i(e,t,n,r))}navigateToState(e,t){return this.#r(this.#a(e,t))}navigateToDefault(e){return this.#r(this.#s(e))}navigateToNotFound(e){return ia(this.#e,e)}revalidateToNotFound(e){return aa(this.#e,e)}isPreparing(){return this.#n>0}#r(e){return e instanceof Promise&&!xi.has(e)&&e.catch(this.#t),e}#i(e,t,n,r){let i=this.#e;if(!i.canNavigate())return i.isStarting()?q:K;let a;this.#n++;try{a=i.buildNavigateState(e,t,n)}catch(e){return Promise.reject(e)}finally{this.#n--}return a?Yi(this.#e,a,r):(i.emitTransitionError(void 0,i.getState(),mi),_i)}#a(r,i){let a=this.#e;if(!a.canNavigate())return a.isStarting()?q:K;if(r.name!==t.p.UNKNOWN_ROUTE&&!a.hasRoute(r.name)){let e=new n.t(t.m.ROUTE_NOT_FOUND,{routeName:r.name});return a.emitTransitionError(void 0,a.getState(),e),Promise.reject(e)}let o=e.b(r.params,a.getQueryParams(r.name));if(o!==void 0){let i=new n.t(t.m.WRONG_CHANNEL,{routeName:r.name,message:`[router.navigateToState] ${e.x(r.name,o,"`state.params`")}`});return a.emitTransitionError(void 0,a.getState(),i),Promise.reject(i)}let s;try{s=this.#o(r)}catch(e){return Promise.reject(e)}return Yi(this.#e,s,i)}#o(e){return{name:e.name,params:D(e.params,t.l),search:D(e.search,t.u),path:e.path,context:{...e.context},transition:t.s}}#s(e){let r=this.#e;if(!r.getOptions().defaultRoute)return Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute not configured`}));let i,a,o;this.#n++;try{({route:i,params:a,search:o}=r.resolveDefault())}catch(e){return Promise.reject(e)}finally{this.#n--}return i?typeof i==`string`?this.#i(i,a,o,e):Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute did not resolve to a route name`})):Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute resolved to empty`}))}};const sa={},ca=Object.freeze({replace:!0});function la(e){return[e,e?.reason].some(e=>e instanceof n.t&&e.code===t.m.ROUTE_NOT_FOUND)}var ua=class{#e;setDependencies(e){this.#e=e}async start(e){let r=this.#e;if(r.isIdle())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));let i=r.getOptions();if(typeof e!=`string`)throw TypeError(`[router.start] path must be a string, got ${typeof e}`);let a=r.matchPath(e);if(!a&&!i.allowNotFound)throw n.n(new n.t(t.m.ROUTE_NOT_FOUND,{path:e}));if(r.completeStart(),a)try{return await r.navigateToState(a,ca)}catch(t){if(!i.allowNotFound||!la(t))throw t;return r.navigateToNotFound(e)}return r.navigateToNotFound(e)}};const da={},fa=Object.entries,pa=Object.hasOwn,ma=Object.values,ha=new WeakMap;function ga(e,t,n){if(typeof n==`string`)return{target:n,when:void 0,update:void 0};if(n.when!==void 0&&typeof n.when!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].when is not a function`);if(n.update!==void 0&&typeof n.update!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].update is not a function`);return{target:n.target,when:n.when,update:n.update}}function _a(e){let t=ha.get(e);if(t!==void 0)return t;let n=e,r=Object.create(null);for(let[e,t]of fa(n)){let n=Object.create(null);for(let[r,i]of fa(t))i!==void 0&&(n[r]=ga(e,r,i));r[e]=n}for(let e of ma(r))for(let t of ma(e))if(t!==void 0&&r[t.target]===void 0)throw Error(`[FSM.constructor] state "${t.target}" is not declared in config.transitions`);return ha.set(e,r),r}var va=class{#e;#t;#n=0;#r=null;#i;#a;#o=[];constructor(e){if(this.#e=e.initial,this.#i=e.context,this.#a=_a(e.transitions),this.#a[e.initial]===void 0)throw Error(`[FSM.constructor] state "${e.initial}" is not declared in config.transitions`);this.#t=this.#a[e.initial]}send(e,t){let n=this.#t[e];if(n===void 0)return this.#e;let r=t,i=n.when;if(i!==void 0&&!i(this.#i,r))return this.#e;let a=n.target,o=n.update,s=this.#e;if(this.#e=a,this.#t=this.#a[a],o?.(this.#i,r),this.#r!==null){let t=this.#r.get(s)?.get(e);t!==void 0&&t(r)}if(this.#n>0){let t={from:s,to:a,event:e,payload:r};for(let e of this.#o)e!==null&&e(t)}return this.#e}canSend(e,t){let n=this.#t[e];return n===void 0?!1:n.when===void 0||n.when(this.#i,t)}getState(){return this.#e}getContext(){return this.#i}on(e,t,n){let r=this.#a[e];if(r===void 0)throw Error(`[FSM.on] state "${e}" is not declared in config.transitions`);if(!pa(r,t))throw Error(`[FSM.on] event "${t}" has no edge from state "${e}"`);this.#r??=new Map;let i=this.#r.get(e);i||(i=new Map,this.#r.set(e,i));let a=n;return i.set(t,a),()=>{let n=this.#r?.get(e);n?.get(t)===a&&n.delete(t)}}onTransition(e){let t=this.#o.indexOf(null),n;t===-1?(n=this.#o.length,this.#o.push(e)):(this.#o[t]=e,n=t),this.#n++;let r=!0;return()=>{r&&(r=!1,this.#o[n]=null,this.#n--)}}};const Y={IDLE:`IDLE`,STARTING:`STARTING`,READY:`READY`,TRANSITION_STARTED:`TRANSITION_STARTED`,LEAVE_APPROVED:`LEAVE_APPROVED`,DISPOSED:`DISPOSED`},X={START:`START`,STARTED:`STARTED`,NAVIGATE:`NAVIGATE`,LEAVE_APPROVE:`LEAVE_APPROVE`,COMPLETE:`COMPLETE`,FAIL:`FAIL`,CANCEL:`CANCEL`,STOP:`STOP`,DISPOSE:`DISPOSE`,SYSTEM_COMMIT:`SYSTEM_COMMIT`};function ya(){return{inflight:void 0,current:void 0,previous:void 0}}const ba=(e,t)=>t?.nav===void 0||t.nav===e.inflight,xa=(e,t)=>t!==void 0&&t===e.inflight&&t.externalSignal?.aborted!==!0,Sa=(e,t)=>{e.previous=e.current,e.current=fe(t)},Ca=(e,t)=>{Sa(e,t.toState),e.inflight=void 0},wa=(e,t)=>{Sa(e,t.toState)},Ta=e=>{e.previous=e.current,e.current=void 0},Z=e=>{e.current=void 0,e.previous=void 0,e.inflight=void 0},Ea=(e,t)=>{e.inflight=t},Da={[Y.IDLE]:{[X.START]:Y.STARTING,[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.STARTING]:{[X.STARTED]:Y.READY,[X.FAIL]:Y.IDLE,[X.STOP]:{target:Y.IDLE,update:Ta},[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.READY]:{[X.NAVIGATE]:{target:Y.TRANSITION_STARTED,update:Ea},[X.SYSTEM_COMMIT]:{target:Y.READY,update:wa},[X.STOP]:{target:Y.IDLE,update:Ta},[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.TRANSITION_STARTED]:{[X.NAVIGATE]:{target:Y.TRANSITION_STARTED,update:Ea},[X.LEAVE_APPROVE]:Y.LEAVE_APPROVED,[X.CANCEL]:Y.READY,[X.FAIL]:{target:Y.READY,when:ba},[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.LEAVE_APPROVED]:{[X.NAVIGATE]:{target:Y.TRANSITION_STARTED,update:Ea},[X.COMPLETE]:{target:Y.READY,when:xa,update:Ca},[X.CANCEL]:Y.READY,[X.FAIL]:{target:Y.READY,when:ba},[X.DISPOSE]:{target:Y.DISPOSED,update:Z}},[Y.DISPOSED]:{}};function Oa(){return new va({initial:Y.IDLE,context:ya(),transitions:Da})}const ka=`TREE_CHANGED`;function Aa(e){return e instanceof Error?e:Error(String(e))}function ja(e,r,i){return new Promise((a,o)=>{let s=()=>{let e=i.reason;o(e instanceof n.t&&e.code===t.m.TRANSITION_CANCELLED?e:new n.t(t.m.TRANSITION_CANCELLED,{reason:e}))};if(i.aborted){s();return}i.addEventListener(`abort`,s,{once:!0}),Promise.allSettled(e).then(e=>{if(i.removeEventListener(`abort`,s),i.aborted)return;if(r!==void 0){o(Aa(r));return}let t=e.find(e=>e.status===`rejected`);if(t!==void 0){o(Aa(t.reason));return}a()})})}function Ma(e,t,n){return e.addEventListener(`abort`,t,{once:!0}),()=>{n(),e.removeEventListener(`abort`,t)}}var Na=class{#e;#t;#n;#r=[];#i=0;constructor(e){this.#e=e.routerFSM,this.#t=e.emitter,this.#s()}static validateSubscribeListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribe] Expected a function. For Observable pattern use observable(router) from @real-router/rx`)}static validateSubscribeLeaveListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribeLeave] Expected a function`)}emitRouterStart(){this.#i++;try{this.#t.emit(t.h.ROUTER_START)}finally{this.#i--}}emitRouterStop(){this.#t.emit(t.h.ROUTER_STOP)}emitTransitionStart(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_START,e,n)}finally{this.#i--}}emitTransitionSuccess(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_SUCCESS,e,n,r)}finally{this.#i--}}emitTransitionError(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_ERROR,e,n,r)}finally{this.#i--}}emitTransitionCancel(e,n){this.#i++;try{this.#t.emit(t.h.TRANSITION_CANCEL,e,n)}finally{this.#i--}}emitTransitionLeaveApprove(e,n){this.#i++;try{this.#t.emit(t.h.TRANSITION_LEAVE_APPROVE,e,n)}finally{this.#i--}}isProcessing(){return this.#i>0}emitTreeChanged(e){this.#t.emit(ka,e)}isEmittingTreeChanged(){return this.#t.isDispatching(ka)}subscribeTreeChanged(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));return this.#t.on(ka,t=>{e(t)})}treeChangedListenerCount(){return this.#t.listenerCount(ka)}sendStart(){this.#e.send(X.START)}sendStop(){this.#e.send(X.STOP)}sendDispose(){this.#e.send(X.DISPOSE)}sendStarted(){this.#e.send(X.STARTED)}sendNavigate(e){return this.#e.send(X.NAVIGATE,e)===Y.TRANSITION_STARTED}canCommitTransition(e){return this.#e.canSend(X.COMPLETE,e)}sendComplete(e){this.#e.send(X.COMPLETE,e)}sendLeaveApprove(e){this.#e.send(X.LEAVE_APPROVE,e)}sendFail(e,t,n){this.#e.send(X.FAIL,{nav:n,fromState:e,error:t})}sendCancel(e,t){this.#e.send(X.CANCEL,{fromState:e,reason:t})}systemCommit(e){let{toState:n}=e,r={name:n.name,params:D(n.params,t.l),search:D(n.search,t.u),path:n.path,context:{...n.context},...n.transition!==void 0&&{transition:D(n.transition,t.l)}};if(!this.#e.canSend(X.SYSTEM_COMMIT))throw this.#o();return this.#e.send(X.SYSTEM_COMMIT,{...e,toState:r}),r}canBeginTransition(){return this.#e.canSend(X.NAVIGATE)}canStart(){return this.#e.canSend(X.START)}canCancel(){return this.#e.canSend(X.CANCEL)}isActive(){let e=this.#e.getState();return e!==Y.IDLE&&e!==Y.DISPOSED}isDisposed(){return this.#e.getState()===Y.DISPOSED}isTransitioning(){let e=this.#e.getState();return e===Y.TRANSITION_STARTED||e===Y.LEAVE_APPROVED}isLeaveApproved(){return this.#e.getState()===Y.LEAVE_APPROVED}isReady(){return this.#e.getState()===Y.READY}isStarting(){return this.#e.getState()===Y.STARTING}isIdle(){return this.#e.getState()===Y.IDLE}addEventListener(e,t){return this.#a(e,`addEventListener`),this.#t.on(e,t)}subscribe(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));return this.#a(t.h.TRANSITION_SUCCESS,`subscribe`),this.#t.on(t.h.TRANSITION_SUCCESS,(t,n)=>e({route:t,previousRoute:n}))}subscribeLeave(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));this.#r.push(e);let r=!1;return()=>{if(r)return;r=!0;let t=this.#r.indexOf(e);t!==-1&&this.#r.splice(t,1)}}hasLeaveListeners(){return this.#r.length>0}hasPreCommitListeners(){return this.#t.listenerCount(t.h.TRANSITION_START)>0||this.#t.listenerCount(t.h.TRANSITION_LEAVE_APPROVE)>0}awaitLeaveListeners(e,t,n){if(t===void 0)return;let r=Object.freeze({route:t,nextRoute:e,signal:n}),i,a,o=[...this.#r];this.#i++;try{for(let e of o)try{let t=e(r);t!==void 0&&typeof t.then==`function`&&(i??=[],i.push(t))}catch(e){a===void 0&&(a=e)}}finally{this.#i--}if(i===void 0){if(a!==void 0)throw Aa(a);return}return ja(i,a,n)}clearAll(){this.#t.clearAll(),this.#r.length=0}setLimits(e){this.#t.setLimits(e)}setValidatorAccessor(e){this.#n=e}sendCancelIfPossible(e,t){this.canCancel()&&this.sendCancel(e,t)}bridgeExternalSignal(e){let t=e.externalSignal;return t===void 0||e.detachExternalBridge!==void 0||(e.detachExternalBridge=Ma(t,()=>{this.sendCancelIfPossible(this.#e.getContext().current,t.reason)},()=>{e.detachExternalBridge=void 0})),da}#a(e,t){let n=this.#n?.();n&&n.eventBus.validateCountThresholds(this.#t.listenerCount(e)+1,e,t)}#o(){if(this.isDisposed())return new n.t(t.m.ROUTER_DISPOSED);let e;return e=this.isTransitioning()?`[router] cannot commit a state while a transition is in flight — the navigation in progress commits its own`:this.isStarting()?`[router] cannot commit before the start navigation does — the boot would overwrite it; await start() first`:`[router] cannot commit a state before the router has started`,new n.t(t.m.ROUTER_NOT_STARTED,{message:e})}#s(){let e=this.#e;e.on(Y.STARTING,X.STARTED,()=>{this.emitRouterStart()}),e.on(Y.READY,X.STOP,()=>{this.emitRouterStop()});let r=e=>{let t=e.externalSignal!==void 0&&(this.hasLeaveListeners()||this.hasPreCommitListeners())?this.bridgeExternalSignal(e):da;this.emitTransitionStart(e.toState,e.fromState,t)};e.on(Y.READY,X.NAVIGATE,r),e.on(Y.TRANSITION_STARTED,X.NAVIGATE,r),e.on(Y.LEAVE_APPROVED,X.NAVIGATE,r),e.on(Y.TRANSITION_STARTED,X.LEAVE_APPROVE,e=>{this.emitTransitionLeaveApprove(e.toState,e.fromState)}),e.on(Y.LEAVE_APPROVED,X.COMPLETE,e=>{e.detachExternalBridge?.(),this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let i=e=>{let{fromState:r,reason:i}=e,a=this.#e.getContext().inflight,o=i??new n.t(t.m.TRANSITION_CANCELLED);a.cancelReason=o,a.controller?.abort(o),a.detachExternalBridge?.(),this.emitTransitionCancel(a.toState,r)};e.on(Y.TRANSITION_STARTED,X.CANCEL,i),e.on(Y.LEAVE_APPROVED,X.CANCEL,i),e.on(Y.READY,X.SYSTEM_COMMIT,e=>{this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let a=e=>{let t=this.#e.getContext().inflight;t?.detachExternalBridge?.(),this.emitTransitionError(t?.toState,e.fromState,e.error)};e.on(Y.LEAVE_APPROVED,X.FAIL,a),e.on(Y.TRANSITION_STARTED,X.FAIL,a),e.on(Y.STARTING,X.FAIL,e=>{this.emitTransitionError(void 0,e.fromState,e.error)})}};const Pa=new n.t(t.m.ROUTER_ALREADY_STARTED);Object.freeze(Pa);const Fa={maxListeners:0,warnListeners:0};var Ia=class{#e=new Map;#t=new Set;#n=null;#r=Fa;#i;#a;constructor(e){e?.limits&&(this.#r=e.limits),this.#i=e?.onListenerError??null,this.#a=e?.onListenerWarn??null}static validateCallback(e,t){if(typeof e!=`function`)throw TypeError(`Expected callback to be a function for event ${t}`)}setLimits(e){this.#r=e}on(e,t){let n=this.#e.get(e),r=n?.size??0;if(n?.has(t))throw Error(`Duplicate listener for "${e}"`);let{maxListeners:i,warnListeners:a}=this.#r;if(i!==0&&r>=i)throw Error(`Listener limit (${i}) reached for "${e}"`);a!==0&&r===a&&this.#a!==null&&(this.#n??=new Set,this.#n.has(e)||(this.#a(e,a),this.#n.add(e)));let o=n;return o===void 0&&(o=new Set,this.#e.set(e,o)),o.add(t),()=>{this.off(e,t)}}off(e,t){let n=this.#e.get(e);n&&(n.delete(t),n.size===0&&(this.#e.delete(e),this.#n?.delete(e)))}emit(e,t,n,r,i){let a=this.#e.get(e);if(!a||a.size===0||this.#t.has(e))return;let o=arguments.length-1;this.#t.add(e);try{if(a.size===1){let[s]=a;this.#o(e,s,o,t,n,r,i)}else{let s=[...a];for(let a of s)this.#o(e,a,o,t,n,r,i)}}finally{this.#t.delete(e)}}clearAll(){this.#e.clear(),this.#n=null}listenerCount(e){return this.#e.get(e)?.size??0}isDispatching(e){return this.#t.has(e)}#o(e,t,n,r,i,a,o){try{let s=this.#s(t,n,r,i,a,o);s!=null&&typeof s.then==`function`&&Promise.resolve(s).catch(t=>{this.#i?.(e,t)})}catch(t){this.#i?.(e,t)}}#s(e,t,n,r,i,a){switch(t){case 0:return e();case 1:return e(n);case 2:return e(n,r);case 3:return e(n,r,i);default:return e(n,r,i,a)}}};const La=Object.freeze({log:0,warn:1,error:2}),Ra=Object.freeze({all:0,"warn-error":1,"error-only":2,none:3}),za=Object.hasOwn;var Ba=class{#e={level:`all`,callbackIgnoresLevel:!1};#t=0;#n=!1;constructor(e){e&&this.configure(e)}configure(e){let t=ae(e),n=t.level;n!==void 0&&(this.#e.level=n,this.#t=Ra[n]),za(t,`callback`)&&(this.#e.callback=t.callback),t.callbackIgnoresLevel!==void 0&&(this.#e.callbackIgnoresLevel=t.callbackIgnoresLevel)}getConfig(){return{level:this.#e.level,callback:this.#e.callback,callbackIgnoresLevel:this.#e.callbackIgnoresLevel}}log(e,t,...n){this.#r(`log`,e,t,n)}warn(e,t,...n){this.#r(`warn`,e,t,n)}error(e,t,...n){this.#r(`error`,e,t,n)}#r(e,t,n,r){if(this.#e.level===`none`&&!this.#e.callbackIgnoresLevel)return;let i=La[e]<this.#t;i||this.#i(e,t,n,r),this.#a(e,t,n,i,r)}#i(e,t,n,r){if(typeof console<`u`&&typeof console[e]==`function`){let i=t?`[${t}] ${n}`:n;console[e](i,...r)}}#a(e,t,n,r,i){if(!(!this.#e.callback||!this.#e.callbackIgnoresLevel&&r)&&!this.#n){this.#n=!0;try{let r=this.#e.callback(e,t,n,...i);r!=null&&typeof r.then==`function`&&Promise.resolve(r).catch(e=>{this.#o(`[Logger] Error in async callback:`,e)})}catch(e){this.#o(`[Logger] Error in callback:`,e)}finally{this.#n=!1}}}#o(e,t){typeof console<`u`&&typeof console.error==`function`&&console.error(e,t)}};function Va(t){let n=Ha(t),r=Ja(t),i=()=>e.h(t.router).validator;Ua(t),Wa(t,i),Ga(t,n,i),Ka(t,r,i),qa(t,n,i),Ya(t,r),Xa(t),Za(t,r)}function Ha(e){let{router:t,dependenciesStore:n}=e,r=e=>n.dependencies[e];return e=>e(t,r)}function Ua(e){e.dependenciesStore.limits=e.limits,e.eventBus.setLimits({maxListeners:e.limits.maxListeners,warnListeners:e.limits.warnListeners})}function Wa(e,t){e.eventBus.setValidatorAccessor(t)}function Ga(t,n,r){let i={logger:e.h(t.router).logger,compileFactory:n,getValidator:r};t.routeLifecycle.setDependencies(i)}function Ka(t,n,r){let i={logger:e.h(t.router).logger,getValidator:r,port:n,addActivateGuard:(e,n,r)=>{t.routeLifecycle.addCanActivate(e,n,!0,r)},addDeactivateGuard:(e,n,r)=>{t.routeLifecycle.addCanDeactivate(e,n,!0,r)},compileGuard:(e,n)=>t.routeLifecycle.compileGuardFactory(e,n),getState:()=>t.state.get(),areStatesEqual:(e,n,r)=>t.state.areStatesEqual(e,n,r),getDependency:e=>t.dependenciesStore.dependencies[e]};t.routes.setDependencies(i),t.routes.setLifecycleNamespace(t.routeLifecycle)}function qa(t,n,r){let i={logger:e.h(t.router).logger,addEventListener:(e,n)=>t.eventBus.addEventListener(e,n),canNavigate:()=>t.eventBus.canBeginTransition(),compileFactory:n,getValidator:r};t.plugins.setDependencies(i)}function Ja(t){let n=e.h(t.router),r=t.routes.getStore(),i=(e,t)=>{n.validator?.state.reportUndeclaredParamKey(e,t)},a=(e,t)=>{n.validator?.state.reportDroppedQueryKey(e,t)};return{resolveForward:(e,t,r)=>n.forwardState(e,t,r),defaultParams:e=>r.config.defaultParams[e],defaultSearch:e=>r.config.defaultSearch[e],buildPath:(e,t,r)=>n.buildPath(e,t,r),queryNames:e=>t.routes.getQueryParams(e),pathNames:e=>t.routes.hasRoute(e)?t.routes.getUrlParams(e):void 0,admitsUndeclaredQuery:()=>t.options.get().queryParamsMode===`loose`,get reportDroppedQueryKey(){return n.validator?a:void 0},get reportUndeclaredParamKey(){return n.validator?i:void 0}}}function Ya(t,n){let r={logger:e.h(t.router).logger,getOptions:()=>t.options.get(),hasRoute:e=>t.routes.hasRoute(e),getQueryParams:e=>t.routes.getQueryParams(e),getMetaForState:e=>t.routes.getMetaForState(e),getState:()=>t.state.get(),buildNavigateState:(r,i,a)=>{e.h(t.router).validator?.routes.validateStateBuilderArgs(r,i,`navigate`);let o=N(n,r,i,a,{diagnoseUndeclared:!0});if(t.routes.getMetaForState(o.name)!==void 0)return e.y(`navigate`,o.name,o.path,n.queryNames(o.name)),Nn(o,kn(o,n))},resolveDefault:()=>{let n=t.options.get(),r=e.h(t.router),i=Tn(n.defaultRoute,e=>t.dependenciesStore.dependencies[e]),a=Tn(n.defaultParams,e=>t.dependenciesStore.dependencies[e]),o=Tn(n.defaultSearch,e=>t.dependenciesStore.dependencies[e]);return typeof n.defaultRoute==`function`&&r.validator?.options.validateResolvedDefaultRoute(i,r.routeGetStore()),{route:i,params:a,search:o}},startTransition:e=>t.eventBus.sendNavigate(e),systemCommit:(e,n,r)=>t.eventBus.systemCommit({toState:e,fromState:n,opts:r}),cancelNavigation:e=>{t.eventBus.sendCancelIfPossible(t.state.get(),e)},bridgeExternalSignal:e=>{t.eventBus.bridgeExternalSignal(e)},canCommitTransition:e=>t.eventBus.canCommitTransition(e)?sa:void 0,sendTransitionDone:e=>{t.eventBus.sendComplete(e)},sendTransitionFail:(e,n,r)=>{t.eventBus.sendFail(e,n,r)},emitTransitionError:(e,n,r)=>{t.eventBus.emitTransitionError(e,n,r)},sendLeaveApprove:e=>{t.eventBus.sendLeaveApprove(e)},canNavigate:()=>t.eventBus.canBeginTransition(),isStarting:()=>t.eventBus.isStarting(),getLifecycleFunctions:()=>t.routeLifecycle.getFunctions(),canDeactivateCurrent:(e,n,r)=>t.routeLifecycle.canNavigateTo(e,[],n,r),isTransitioning:()=>t.eventBus.isTransitioning(),clearCanDeactivate:(e,n)=>{t.routeLifecycle.clearCanDeactivate(e,`external`)},hasLeaveListeners:()=>t.eventBus.hasLeaveListeners(),hasPreCommitListeners:()=>t.eventBus.hasPreCommitListeners(),awaitLeaveListeners:(e,n,r)=>t.eventBus.awaitLeaveListeners(e,n,r)};t.navigation.setDependencies(r)}function Xa(e){e.lifecycle.setDependencies({getOptions:()=>e.options.get(),navigateToState:(t,n)=>e.navigation.navigateToState(t,n),navigateToNotFound:t=>e.navigation.navigateToNotFound(t),matchPath:t=>e.routes.matchPath(t,e.options.get()),completeStart:()=>{e.eventBus.sendStarted()},isIdle:()=>e.eventBus.isIdle()})}function Za(e,t){e.state.setDependencies({port:()=>t,getUrlParams:t=>e.routes.getUrlParams(t)})}const Qa=Object.keys,$a=Object.freeze;var eo=class r{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;constructor(n=[],i={},a={}){let{logger:o,...s}=i,c=new Ba(o?ae(o):void 0);this.#d=e=>{bi(e)||c.error(`router.start`,`Unexpected start error`,e)},wn.validateOptionsIsObject(i),y(a),n.length>0&&x(n),this.#e=new wn(s),this.#t=ve(s.limits),this.#n=s.limits==null?void 0:$a(Qa(s.limits)),this.#r=ye(a),this.#i=new Pn,this.#a=new fi(n,io(this.#e.get()),c),this.#o=new qn,this.#s=new Bn,this.#c=new oa,this.#l=new ua;let l=Oa();this.#i.setContext(l.getContext());let u=new Ia({onListenerError:(e,t)=>{c.error(`Router`,`Error in listener for ${e}:`,t)},onListenerWarn:(e,t)=>{c.warn(`router.addEventListener`,`Event "${e}" has ${t} listeners — possible memory leak`)}});this.#u=new Na({routerFSM:l,emitter:u});let d=new Map,f=e.m(`forwardState`,(e,t,n)=>this.#a.forwardState(e,t,n),d,e=>{let t=e.params,n=e.search;return{name:e.name,params:t==null?t:k(t),search:n==null?n:k(n)}});e.g(this,{logger:c,makeState:(e,t,n,r)=>this.#i.makeState(e,t,n,r),getMetaForState:e=>this.#a.getMetaForState(e),getQueryParams:e=>this.#a.getQueryParams(e),forwardState:((n,r,i)=>{let a=f(n,r,i),o=a.name,s=a.params;e.v(`forwardState`,o,s,this.#a.getQueryParams(o),()=>o===n?"the `params` bag leaving the forwardState chain":`the \`params\` bag leaving the forwardState chain (forwarded here from "${n}")`);let c=a.search,l=c==null;return{name:o,params:k(s??t.l),search:l?c:k(c)}}),buildStateResolved:(e,t)=>this.#a.buildStateResolved(e,t),port:()=>this.#a.getPort(),matchPath:(e,t)=>this.#a.matchPath(e,t),getOptions:()=>this.#e.get(),addEventListener:(e,t)=>this.#u.addEventListener(e,t),treeChanged:{emit:e=>{this.#u.emitTreeChanged(e)},subscribe:e=>this.#u.subscribeTreeChanged(e),listenerCount:()=>this.#u.treeChangedListenerCount(),isEmitting:()=>this.#u.isEmittingTreeChanged()},buildPath:e.m(`buildPath`,(e,n,r)=>this.#a.buildPath(e,n??t.l,r,this.#e.get()),d),emitTransitionError:e=>{this.#u.emitTransitionError(void 0,this.#i.get(),e)},navigateToNotFound:e=>this.#c.navigateToNotFound(e),revalidateToNotFound:e=>this.#c.revalidateToNotFound(e),start:e.p(`start`,e=>this.#l.start(e),d),navigateToState:(e,n)=>(this.#m(),r.#f(this.#c.navigateToState(e,n??t.c))),interceptors:d,setRootPath:e=>{this.#a.setRootPath(e)},getRootPath:()=>this.#a.getStore().rootPath,getTree:()=>this.#a.getStore().tree,isDisposed:()=>this.#u.isDisposed(),validator:null,dependenciesGetStore:()=>this.#r,getCloneState:()=>({options:{...this.#e.get()},dependencies:_e({...this.#r.dependencies}),pluginFactories:this.#s.getAll(),loggerConfig:c.getConfig(),limits:this.#t,limitKeys:this.#n}),routeGetStore:()=>this.#a.getStore(),getStateName:()=>this.#i.get()?.name,isTransitioning:()=>this.#u.isTransitioning(),systemCommit:(e,t,n)=>this.#u.systemCommit({toState:e,fromState:t,opts:n}),routerExtensions:[],contextClaimRecords:new Map,hydrationState:null}),Va({router:this,options:this.#e,limits:this.#t,dependenciesStore:this.#r,state:this.#i,routes:this.#a,routeLifecycle:this.#o,plugins:this.#s,navigation:this.#c,lifecycle:this.#l,eventBus:this.#u}),this.isActiveRoute=this.isActiveRoute.bind(this),this.buildPath=this.buildPath.bind(this),this.getState=this.getState.bind(this),this.getPreviousState=this.getPreviousState.bind(this),this.areStatesEqual=this.areStatesEqual.bind(this),this.shouldUpdateNode=this.shouldUpdateNode.bind(this),this.isActive=this.isActive.bind(this),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.dispose=this.dispose.bind(this),this.canNavigateTo=this.canNavigateTo.bind(this),this.usePlugin=this.usePlugin.bind(this),this.navigate=this.navigate.bind(this),this.navigateToDefault=this.navigateToDefault.bind(this),this.navigateToNotFound=this.navigateToNotFound.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeLeave=this.subscribeLeave.bind(this),this.isLeaveApproved=this.isLeaveApproved.bind(this);try{this.#a.flushPendingGuards()}catch(e){throw this.dispose(),e}}isActiveRoute(t,n,r,i,a){let o=e.h(this);return o.validator?.routes.validateIsActiveRouteArgs(t,n,i,a),o.validator?.navigation.validateSearch(r,`isActiveRoute`),o.validator?.routes.validateRouteName(t,`isActiveRoute`),t===``?(o.logger.warn(`real-router`,`isActiveRoute("") called with empty string. Root node is not considered a parent of any route.`),!1):this.#a.isActiveRoute(t,n,r,i,a)}buildPath(n,r,i){let a=e.h(this);return a.validator?.routes.validateBuildPathArgs(n),a.validator?.navigation.validateParams(r,`buildPath`),a.validator?.navigation.validateSearch(i,`buildPath`),this.#a.buildPathFromIntent(n,O(r,t.l),i)}getState(){return this.#i.get()}getPreviousState(){return this.#i.getPrevious()}areStatesEqual(t,n,r=!0){return e.h(this).validator?.state.validateAreStatesEqualArgs(t,n,r),this.#i.areStatesEqual(t,n,r)}shouldUpdateNode(t){return e.h(this).validator?.routes.validateShouldUpdateNodeArgs(t),fi.shouldUpdateNode(t,e=>this.#a.getMetaForState(e))}isActive(){return this.#u.isActive()}start(e){let t=this.#p(e);return t.catch(this.#d),t}stop(){return this.#u.sendCancelIfPossible(this.#i.get()),!this.#u.isReady()&&!this.#u.isTransitioning()&&!this.#u.isStarting()||this.#u.sendStop(),this}dispose(){if(this.#u.isDisposed())return;this.#u.sendCancelIfPossible(this.#i.get()),(this.#u.isReady()||this.#u.isTransitioning())&&this.#u.sendStop(),this.#u.sendDispose(),this.#u.clearAll(),this.#s.disposeAll();let t=e.h(this);for(let e of t.routerExtensions)for(let t of e.keys)delete this[t];t.routerExtensions.length=0,t.contextClaimRecords.clear(),t.interceptors.clear(),this.#a.clearRoutes(),this.#o.clearAll(),this.#r.dependencies=Object.create(null),this.#g()}canNavigateTo(n,r,i){let a=e.h(this);if(a.validator?.routes.validateRouteName(n,`canNavigateTo`),a.validator?.navigation.validateParams(r,`canNavigateTo`),a.validator?.navigation.validateSearch(i,`canNavigateTo`),!this.#a.hasRoute(n)||e.b(r,this.#a.getQueryParams(n))!==void 0)return!1;let o=this.#a.getPort(),s;try{s=N(o,n,r??t.l,i)}catch(e){return a.logger.warn(`router.canNavigateTo`,`Resolving route "${n}" threw while answering the predicate; treating the route as unreachable.`,e),!1}let c;try{c=Nn(s,P(s,o))}catch{return!1}let l=this.#i.get(),{toDeactivate:u,toActivate:d}=W(c,l,e=>this.#a.getMetaForState(e));return this.#o.canNavigateTo(u,d,c,l)}usePlugin(...r){if(this.#u.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));let i=r.filter(Boolean);if(i.length===0)return()=>{};let a=e.h(this);a.validator?.plugins.validatePluginLimit(this.#s.count(),this.#t);for(let e of i)a.validator?.plugins.validateNoDuplicatePlugins(e,this.#s.getAll());return this.#s.use(...i)}subscribe(e){return Na.validateSubscribeListener(e),this.#u.subscribe(e)}subscribeLeave(e){return Na.validateSubscribeLeaveListener(e),this.#u.subscribeLeave(e)}isLeaveApproved(){return this.#u.isLeaveApproved()}navigate(n,i,a,o){this.#m();let s=e.h(this),c,l,u,d;return typeof n==`object`&&n?(c=n.name,l=n.params,u=n.search,d=i??t.c):(c=n,l=i,u=a,d=o??t.c),e._(s,`navigate`,c,l),s.validator?.navigation.validateNavigateArgs(c),s.validator?.navigation.validateParams(l,`navigate`),s.validator?.navigation.validateSearch(u,`navigate`),s.validator?.navigation.validateNavigationOptions(d,`navigate`),r.#f(this.#c.navigate(c,l??t.l,u,d))}navigateToDefault(n){this.#m();let i=e.h(this);i.validator?.navigation.validateNavigateToDefaultArgs(n);let a=n??t.c;return i.validator?.navigation.validateNavigationOptions(a,`navigateToDefault`),r.#f(this.#c.navigateToDefault(a))}navigateToNotFound(e){if(this.#m(),!this.#u.isActive())throw n.n(new n.t(t.m.ROUTER_NOT_STARTED));if(e!==void 0&&typeof e!=`string`)throw TypeError(`[router.navigateToNotFound] path must be a string, got ${typeof e}`);if(e!==void 0)return this.#c.navigateToNotFound(e);let r=this.#i.get();if(r===void 0)throw n.n(new n.t(t.m.ROUTER_NOT_STARTED,{message:`[router.navigateToNotFound] cannot derive the path before the start navigation commits — pass an explicit path`}));return this.#c.navigateToNotFound(r.path)}static#f(e){return e instanceof Promise?e:Promise.resolve(e)}#p(t){if(!this.#u.canStart())return Promise.reject(Pa);e.h(this).validator?.navigation.validateStartArgs(t),this.#u.sendStart();let n;try{let r=e.h(this).start(t);n=typeof r?.then==`function`?r:Promise.reject(TypeError("[router.start] a `start` interceptor returned without calling next(). Every start interceptor must return `next(path)`."))}catch(e){n=Promise.reject(e)}return n.catch(e=>this.#h(e))}#m(){if(this.#u.isProcessing())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a router event listener — the nested navigation would commit a state the outer one overwrites. Defer it: queueMicrotask(() => router.navigate(...)), await the current transition, or use an async listener.`}));if(this.#c.isPreparing())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a forwardState/buildPath interceptor, a route's encodeParams or dynamic forwardTo callback, or a defaultRoute/defaultParams/defaultSearch option callback — they run while a navigation is being prepared, before it is announced. Defer it: queueMicrotask(() => router.navigate(...)).`}))}#h(e){throw this.#u.isReady()&&this.#i.get()===void 0?this.#u.sendStop():this.#u.isStarting()&&this.#u.sendFail(void 0,e),e}#g(){this.navigate=Q,this.navigateToDefault=Q,this.navigateToNotFound=Q,this.start=Q,this.stop=Q,this.usePlugin=Q,this.subscribe=Q,this.subscribeLeave=Q,this.canNavigateTo=Q}};function Q(){throw n.n(new n.t(t.m.ROUTER_DISPOSED))}const to=Object.freeze({});function $(e,t){let n;try{n=t[e]}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": reading it threw.`,{cause:t})}if(n!=null){if(typeof n==`string`)return n;try{return String(n)}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": its value cannot be converted to a string.`,{cause:t})}}}function no(e){if(e==null)return`default`;try{return String(e)}catch(e){throw TypeError(`[router.constructor] Invalid "urlParamsEncoding": coercing it threw.`,{cause:e})}}function ro(e){if(!e)return to;let t=$(`arrayFormat`,e),n=$(`booleanFormat`,e),r=$(`nullFormat`,e),i=$(`numberFormat`,e);return Object.freeze({...t!==void 0&&{arrayFormat:t},...n!==void 0&&{booleanFormat:n},...r!==void 0&&{nullFormat:r},...i!==void 0&&{numberFormat:i}})}function io(e){return Object.freeze({strictTrailingSlash:e.trailingSlash===`strict`,caseSensitive:e.caseSensitive,strictQueryParams:e.queryParamsMode===`strict`,urlParamsEncoding:no(e.urlParamsEncoding),queryParams:ro(e.queryParams)})}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return ir}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return Vt}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Ht}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return ar}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return fr}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Pr}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Br}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Vr}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Hr}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Mr}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return eo}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Nr}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Ar}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return Mn}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return Qn}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return pr}});
2
+ //# sourceMappingURL=Router-DoN3tByo.js.map