(()=>{var e,t,n={501:(e,t)=>{"use strict";Object.prototype.toString},892:e=>{var t={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),i=new RegExp(n,"");function o(e){return t[e]}var l=function(e){return e.replace(r,o)};e.exports=l,e.exports.has=function(e){return!!e.match(i)},e.exports.remove=l},296:(e,t,n)=>{"use strict";var r=n(609),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,l=r.useEffect,s=r.useLayoutEffect,a=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),i=r[0].inst,u=r[1];return s((function(){i.value=n,i.getSnapshot=t,c(i)&&u({inst:i})}),[e,n,t]),l((function(){return c(i)&&u({inst:i}),e((function(){c(i)&&u({inst:i})}))}),[e]),a(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},139:(e,t,n)=>{"use strict";e.exports=n(296)},609:e=>{"use strict";e.exports=window.React}},r={};function i(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var o=Object.create(null);i.r(o);var l={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>l[e]=()=>n[e]));return l.default=()=>n,i.d(o,l),o},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e=i(609),t=i.t(e,2),n=(i(501),"popstate");function r(e={}){return function(e,t,r,i={}){let{window:l=document.defaultView,v5Compat:u=!1}=i,d=l.history,p="POP",m=null,f=h();function h(){return(d.state||{idx:null}).idx}function v(){p="POP";let e=h(),t=null==e?null:e-f;f=e,m&&m({action:p,location:w.location,delta:t})}function g(e){let t="null"!==l.location.origin?l.location.origin:l.location.href,n="string"==typeof e?e:c(e);return n=n.replace(/ $/,"%20"),o(t,`No window.location.(origin|href) available to create URL for href: ${n}`),new URL(n,t)}null==f&&(f=0,d.replaceState({...d.state,idx:f},""));let w={get action(){return p},get location(){return e(l,d)},listen(e){if(m)throw new Error("A history only accepts one active listener");return l.addEventListener(n,v),m=e,()=>{l.removeEventListener(n,v),m=null}},createHref:e=>t(l,e),createURL:g,encodeLocation(e){let t=g(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){p="PUSH";let n=a(w.location,e,t);r&&r(n,e),f=h()+1;let i=s(n,f),o=w.createHref(n);try{d.pushState(i,"",o)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;l.location.assign(o)}u&&m&&m({action:p,location:w.location,delta:1})},replace:function(e,t){p="REPLACE";let n=a(w.location,e,t);r&&r(n,e),f=h();let i=s(n,f),o=w.createHref(n);d.replaceState(i,"",o),u&&m&&m({action:p,location:w.location,delta:0})},go:e=>d.go(e)};return w}((function(e,t){let{pathname:n="/",search:r="",hash:i=""}=u(e.location.hash.substring(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),a("",{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"==typeof t?t:c(t))}),(function(e,t){l("/"===e.pathname.charAt(0),`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)}),e)}function o(e,t){if(!1===e||null==e)throw new Error(t)}function l(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function s(e,t){return{usr:e.state,key:e.key,idx:t}}function a(e,t,n=null,r){return{pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof t?u(t):t,state:n,key:t&&t.key||r||Math.random().toString(36).substring(2,10)}}function c({pathname:e="/",search:t="",hash:n=""}){return t&&"?"!==t&&(e+="?"===t.charAt(0)?t:"?"+t),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function u(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function d(e,t,n="/"){return function(e,t,n,r){let i=k(("string"==typeof t?u(t):t).pathname||"/",n);if(null==i)return null;let o=p(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every(((e,n)=>e===t[n]))?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(o);let l=null;for(let e=0;null==l&&e{let s={relativePath:void 0===l?e.path||"":l,caseSensitive:!0===e.caseSensitive,childrenIndex:i,route:e};s.relativePath.startsWith("/")&&(o(s.relativePath.startsWith(r),`Absolute route path "${s.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),s.relativePath=s.relativePath.slice(r.length));let a=N([r,s.relativePath]),c=n.concat(s);e.children&&e.children.length>0&&(o(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${a}".`),p(e.children,t,c,a)),(null!=e.path||e.index)&&t.push({path:a,score:y(a,e.index),routesMeta:c})};return e.forEach(((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let n of m(e.path))i(e,t,n);else i(e,t)})),t}function m(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,i=n.endsWith("?"),o=n.replace(/\?$/,"");if(0===r.length)return i?[o,""]:[o];let l=m(r.join("/")),s=[];return s.push(...l.map((e=>""===e?o:[o,e].join("/")))),i&&s.push(...l),s.map((t=>e.startsWith("/")&&""===t?"/":t))}new WeakMap;var f=/^:[\w-]+$/,h=3,v=2,g=1,w=10,x=-2,b=e=>"*"===e;function y(e,t){let n=e.split("/"),r=n.length;return n.some(b)&&(r+=x),t&&(r+=v),n.filter((e=>!b(e))).reduce(((e,t)=>e+(f.test(t)?h:""===t?g:w)),r)}function j(e,t,n=!1){let{routesMeta:r}=e,i={},o="/",l=[];for(let e=0;e(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));return e.endsWith("*")?(r.push({paramName:"*"}),i+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":""!==e&&"/"!==e&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let o=i[0],s=o.replace(/(.)\/+$/,"$1"),a=i.slice(1),c=r.reduce(((e,{paramName:t,isOptional:n},r)=>{if("*"===t){let e=a[r]||"";s=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const i=a[r];return e[t]=n&&!i?void 0:(i||"").replace(/%2F/g,"/"),e}),{});return{params:c,pathname:o,pathnameBase:s,pattern:e}}function C(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(t){return l(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function k(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function S(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function E(e){let t=function(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}(e);return t.map(((e,n)=>n===t.length-1?e.pathname:e.pathnameBase))}function I(e,t,n,r=!1){let i;"string"==typeof e?i=u(e):(i={...e},o(!i.pathname||!i.pathname.includes("?"),S("?","pathname","search",i)),o(!i.pathname||!i.pathname.includes("#"),S("#","pathname","hash",i)),o(!i.search||!i.search.includes("#"),S("#","search","hash",i)));let l,s=""===e||""===i.pathname,a=s?"/":i.pathname;if(null==a)l=n;else{let e=t.length-1;if(!r&&a.startsWith("..")){let t=a.split("/");for(;".."===t[0];)t.shift(),e-=1;i.pathname=t.join("/")}l=e>=0?t[e]:"/"}let c=function(e,t="/"){let{pathname:n,search:r="",hash:i=""}="string"==typeof e?u(e):e,o=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:o,search:P(r),hash:M(i)}}(i,l),d=a&&"/"!==a&&a.endsWith("/"),p=(s||"."===a)&&n.endsWith("/");return c.pathname.endsWith("/")||!d&&!p||(c.pathname+="/"),c}var N=e=>e.join("/").replace(/\/\/+/g,"/"),V=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),P=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",M=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";function R(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}var O=["POST","PUT","PATCH","DELETE"],F=(new Set(O),["GET",...O]);new Set(F),Symbol("ResetLoaderData");var L=e.createContext(null);L.displayName="DataRouter";var A=e.createContext(null);A.displayName="DataRouterState";var T=e.createContext({isTransitioning:!1});T.displayName="ViewTransition",e.createContext(new Map).displayName="Fetchers",e.createContext(null).displayName="Await";var D=e.createContext(null);D.displayName="Navigation";var H=e.createContext(null);H.displayName="Location";var B=e.createContext({outlet:null,matches:[],isDataRoute:!1});B.displayName="Route";var $=e.createContext(null);function z(){return null!=e.useContext(H)}function U(){return o(z(),"useLocation() may be used only in the context of a component."),e.useContext(H).location}$.displayName="RouteError";var W="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function K(t){e.useContext(D).static||e.useLayoutEffect(t)}function G(){let{isDataRoute:t}=e.useContext(B);return t?function(){let{router:t}=function(t){let n=e.useContext(L);return o(n,ee(t)),n}("useNavigate"),n=te("useNavigate"),r=e.useRef(!1);return K((()=>{r.current=!0})),e.useCallback((async(e,i={})=>{l(r.current,W),r.current&&("number"==typeof e?t.navigate(e):await t.navigate(e,{fromRouteId:n,...i}))}),[t,n])}():function(){o(z(),"useNavigate() may be used only in the context of a component.");let t=e.useContext(L),{basename:n,navigator:r}=e.useContext(D),{matches:i}=e.useContext(B),{pathname:s}=U(),a=JSON.stringify(E(i)),c=e.useRef(!1);return K((()=>{c.current=!0})),e.useCallback(((e,i={})=>{if(l(c.current,W),!c.current)return;if("number"==typeof e)return void r.go(e);let o=I(e,JSON.parse(a),s,"path"===i.relative);null==t&&"/"!==n&&(o.pathname="/"===o.pathname?n:N([n,o.pathname])),(i.replace?r.replace:r.push)(o,i.state,i)}),[n,r,a,s,t])}()}function Z(t,{relative:n}={}){let{matches:r}=e.useContext(B),{pathname:i}=U(),o=JSON.stringify(E(r));return e.useMemo((()=>I(t,JSON.parse(o),i,"path"===n)),[t,o,i,n])}function q(t,n,r,i){o(z(),"useRoutes() may be used only in the context of a component.");let{navigator:s,static:a}=e.useContext(D),{matches:c}=e.useContext(B),p=c[c.length-1],m=p?p.params:{},f=p?p.pathname:"/",h=p?p.pathnameBase:"/",v=p&&p.route;{let e=v&&v.path||"";re(f,!v||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${f}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent to .`)}let g,w=U();if(n){let e="string"==typeof n?u(n):n;o("/"===h||e.pathname?.startsWith(h),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${h}" but pathname "${e.pathname}" was given in the \`location\` prop.`),g=e}else g=w;let x=g.pathname||"/",b=x;if("/"!==h){let e=h.replace(/^\//,"").split("/");b="/"+x.replace(/^\//,"").split("/").slice(e.length).join("/")}let y=!a&&r&&r.matches&&r.matches.length>0?r.matches:d(t,{pathname:b});l(v||null!=y,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),l(null==y||void 0!==y[y.length-1].route.element||void 0!==y[y.length-1].route.Component||void 0!==y[y.length-1].route.lazy,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let j=function(t,n=[],r=null){if(null==t){if(!r)return null;if(r.errors)t=r.matches;else{if(0!==n.length||r.initialized||!(r.matches.length>0))return null;t=r.matches}}let i=t,l=r?.errors;if(null!=l){let e=i.findIndex((e=>e.route.id&&void 0!==l?.[e.route.id]));o(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),i=i.slice(0,Math.min(i.length,e+1))}let s=!1,a=-1;if(r)for(let e=0;e=0?i.slice(0,a+1):[i[0]];break}}}return i.reduceRight(((t,o,c)=>{let u,d=!1,p=null,m=null;r&&(u=l&&o.route.id?l[o.route.id]:void 0,p=o.route.errorElement||X,s&&(a<0&&0===c?(re("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,m=null):a===c&&(d=!0,m=o.route.hydrateFallbackElement||null)));let f=n.concat(i.slice(0,c+1)),h=()=>{let n;return n=u?p:d?m:o.route.Component?e.createElement(o.route.Component,null):o.route.element?o.route.element:t,e.createElement(Q,{match:o,routeContext:{outlet:t,matches:f,isDataRoute:null!=r},children:n})};return r&&(o.route.ErrorBoundary||o.route.errorElement||0===c)?e.createElement(J,{location:r.location,revalidation:r.revalidation,component:p,error:u,children:h(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):h()}),null)}(y&&y.map((e=>Object.assign({},e,{params:Object.assign({},m,e.params),pathname:N([h,s.encodeLocation?s.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?h:N([h,s.encodeLocation?s.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),c,r,i);return n&&j?e.createElement(H.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...g},navigationType:"POP"}},j):j}function Y(){let t=function(){let t=e.useContext($),n=function(t){let n=e.useContext(A);return o(n,ee(t)),n}("useRouteError"),r=te("useRouteError");return void 0!==t?t:n.errors?.[r]}(),n=R(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),r=t instanceof Error?t.stack:null,i="rgba(200,200,200, 0.5)",l={padding:"0.5rem",backgroundColor:i},s={padding:"2px 4px",backgroundColor:i},a=null;return console.error("Error handled by React Router default ErrorBoundary:",t),a=e.createElement(e.Fragment,null,e.createElement("p",null,"💿 Hey developer 👋"),e.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",e.createElement("code",{style:s},"ErrorBoundary")," or"," ",e.createElement("code",{style:s},"errorElement")," prop on your route.")),e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},n),r?e.createElement("pre",{style:l},r):null,a)}e.createContext(null);var X=e.createElement(Y,null),J=class extends e.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?e.createElement(B.Provider,{value:this.props.routeContext},e.createElement($.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Q({routeContext:t,match:n,children:r}){let i=e.useContext(L);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),e.createElement(B.Provider,{value:t},r)}function ee(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function te(t){let n=function(t){let n=e.useContext(B);return o(n,ee(t)),n}(t),r=n.matches[n.matches.length-1];return o(r.route.id,`${t} can only be used on routes that contain a unique "id"`),r.route.id}var ne={};function re(e,t,n){t||ne[e]||(ne[e]=!0,l(!1,n))}function ie({to:t,replace:n,state:r,relative:i}){o(z()," may be used only in the context of a component.");let{static:s}=e.useContext(D);l(!s," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:a}=e.useContext(B),{pathname:c}=U(),u=G(),d=I(t,E(a),c,"path"===i),p=JSON.stringify(d);return e.useEffect((()=>{u(JSON.parse(p),{replace:n,state:r,relative:i})}),[u,p,i,n,r]),null}function oe(e){o(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function le({basename:t="/",children:n=null,location:r,navigationType:i="POP",navigator:s,static:a=!1}){o(!z(),"You cannot render a inside another . You should never have more than one in your app.");let c=t.replace(/^\/*/,"/"),d=e.useMemo((()=>({basename:c,navigator:s,static:a,future:{}})),[c,s,a]);"string"==typeof r&&(r=u(r));let{pathname:p="/",search:m="",hash:f="",state:h=null,key:v="default"}=r,g=e.useMemo((()=>{let e=k(p,c);return null==e?null:{location:{pathname:e,search:m,hash:f,state:h,key:v},navigationType:i}}),[c,p,m,f,h,v,i]);return l(null!=g,` is not able to match the URL "${p}${m}${f}" because it does not start with the basename, so the won't render anything.`),null==g?null:e.createElement(D.Provider,{value:d},e.createElement(H.Provider,{children:n,value:g}))}function se({children:e,location:t}){return q(ae(e),t)}function ae(t,n=[]){let r=[];return e.Children.forEach(t,((t,i)=>{if(!e.isValidElement(t))return;let l=[...n,i];if(t.type===e.Fragment)return void r.push.apply(r,ae(t.props.children,l));o(t.type===oe,`[${"string"==typeof t.type?t.type:t.type.name}] is not a component. All component children of must be a or `),o(!t.props.index||!t.props.children,"An index route cannot have child routes.");let s={id:t.props.id||l.join("-"),caseSensitive:t.props.caseSensitive,element:t.props.element,Component:t.props.Component,index:t.props.index,path:t.props.path,loader:t.props.loader,action:t.props.action,hydrateFallbackElement:t.props.hydrateFallbackElement,HydrateFallback:t.props.HydrateFallback,errorElement:t.props.errorElement,ErrorBoundary:t.props.ErrorBoundary,hasErrorBoundary:!0===t.props.hasErrorBoundary||null!=t.props.ErrorBoundary||null!=t.props.errorElement,shouldRevalidate:t.props.shouldRevalidate,handle:t.props.handle,lazy:t.props.lazy};t.props.children&&(s.children=ae(t.props.children,l)),r.push(s)})),r}e.memo((function({routes:e,future:t,state:n}){return q(e,void 0,n,t)})),e.Component;var ce="get",ue="application/x-www-form-urlencoded";function de(e){return null!=e&&"string"==typeof e.tagName}var pe=null,me=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function fe(e){return null==e||me.has(e)?e:(l(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${ue}"`),null)}function he(e,t){if(!1===e||null==e)throw new Error(t)}function ve(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}function ge(e,t,n,r,i,o){let l=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith("*")&&n[t].params["*"]!==e.params["*"];return"assets"===o?t.filter(((e,t)=>l(e,t)||s(e,t))):"data"===o?t.filter(((t,o)=>{let a=r.routes[t.route.id];if(!a||!a.hasLoader)return!1;if(l(t,o)||s(t,o))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"==typeof r)return r}return!0})):[]}function we(e,t,{includeHydrateFallback:n}={}){return r=e.map((e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i})).flat(1),[...new Set(r)];var r}function xe(){let t=e.useContext(L);return he(t,"You must render this element inside a element"),t}function be(){let t=e.useContext(A);return he(t,"You must render this element inside a element"),t}Symbol("SingleFetchRedirect"),e.Component;var ye=e.createContext(void 0);function je(){let t=e.useContext(ye);return he(t,"You must render this element inside a element"),t}function _e(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Ce({page:t,...n}){let{router:r}=xe(),i=e.useMemo((()=>d(r.routes,t,r.basename)),[r.routes,t,r.basename]);return i?e.createElement(Se,{page:t,matches:i,...n}):null}function ke(t){let{manifest:n,routeModules:r}=je(),[i,o]=e.useState([]);return e.useEffect((()=>{let e=!1;return async function(e,t,n){return function(e,t){let n=new Set,r=new Set(t);return e.reduce(((e,i)=>{if(t&&(null==(o=i)||"string"!=typeof o.page)&&"script"===i.as&&i.href&&r.has(i.href))return e;var o;let l=JSON.stringify(function(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}(i));return n.has(l)||(n.add(l),e.push({key:l,link:i})),e}),[])}((await Promise.all(e.map((async e=>{let r=t.routes[e.route.id];if(r){let e=await async function(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise((()=>{}))}}(r,n);return e.links?e.links():[]}return[]})))).flat(1).filter(ve).filter((e=>"stylesheet"===e.rel||"preload"===e.rel)).map((e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"})))}(t,n,r).then((t=>{e||o(t)})),()=>{e=!0}}),[t,n,r]),i}function Se({page:t,matches:n,...r}){let i=U(),{manifest:o,routeModules:l}=je(),{basename:s}=xe(),{loaderData:a,matches:c}=be(),u=e.useMemo((()=>ge(t,n,c,o,i,"data")),[t,n,c,o,i]),d=e.useMemo((()=>ge(t,n,c,o,i,"assets")),[t,n,c,o,i]),p=e.useMemo((()=>{if(t===i.pathname+i.search+i.hash)return[];let e=new Set,r=!1;if(n.forEach((t=>{let n=o.routes[t.route.id];n&&n.hasLoader&&(!u.some((e=>e.route.id===t.route.id))&&t.route.id in a&&l[t.route.id]?.shouldRevalidate||n.hasClientLoader?r=!0:e.add(t.route.id))})),0===e.size)return[];let c=function(e,t){let n="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return"/"===n.pathname?n.pathname="_root.data":t&&"/"===k(n.pathname,t)?n.pathname=`${t.replace(/\/$/,"")}/_root.data`:n.pathname=`${n.pathname.replace(/\/$/,"")}.data`,n}(t,s);return r&&e.size>0&&c.searchParams.set("_routes",n.filter((t=>e.has(t.route.id))).map((e=>e.route.id)).join(",")),[c.pathname+c.search]}),[s,a,i,o,u,n,t,l]),m=e.useMemo((()=>we(d,o)),[d,o]),f=ke(d);return e.createElement(e.Fragment,null,p.map((t=>e.createElement("link",{key:t,rel:"prefetch",as:"fetch",href:t,...r}))),m.map((t=>e.createElement("link",{key:t,rel:"modulepreload",href:t,...r}))),f.map((({key:t,link:n})=>e.createElement("link",{key:t,...n}))))}ye.displayName="FrameworkContext";function Ee(...e){return t=>{e.forEach((e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)}))}}var Ie="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{Ie&&(window.__reactRouterVersion="7.5.0")}catch(e){}function Ne({basename:t,children:n,window:i}){let o=e.useRef();null==o.current&&(o.current=r({window:i,v5Compat:!0}));let l=o.current,[s,a]=e.useState({action:l.action,location:l.location}),c=e.useCallback((t=>{e.startTransition((()=>a(t)))}),[a]);return e.useLayoutEffect((()=>l.listen(c)),[l,c]),e.createElement(le,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:l})}var Ve=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Pe=e.forwardRef((function({onClick:t,discover:n="render",prefetch:r="none",relative:i,reloadDocument:s,replace:a,state:u,target:d,to:p,preventScrollReset:m,viewTransition:f,...h},v){let g,{basename:w}=e.useContext(D),x="string"==typeof p&&Ve.test(p),b=!1;if("string"==typeof p&&x&&(g=p,Ie))try{let e=new URL(window.location.href),t=p.startsWith("//")?new URL(e.protocol+p):new URL(p),n=k(t.pathname,w);t.origin===e.origin&&null!=n?p=n+t.search+t.hash:b=!0}catch(e){l(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let y=function(t,{relative:n}={}){o(z(),"useHref() may be used only in the context of a component.");let{basename:r,navigator:i}=e.useContext(D),{hash:l,pathname:s,search:a}=Z(t,{relative:n}),c=s;return"/"!==r&&(c="/"===s?r:N([r,s])),i.createHref({pathname:c,search:a,hash:l})}(p,{relative:i}),[j,_,C]=function(t,n){let r=e.useContext(ye),[i,o]=e.useState(!1),[l,s]=e.useState(!1),{onFocus:a,onBlur:c,onMouseEnter:u,onMouseLeave:d,onTouchStart:p}=n,m=e.useRef(null);e.useEffect((()=>{if("render"===t&&s(!0),"viewport"===t){let e=new IntersectionObserver((e=>{e.forEach((e=>{s(e.isIntersecting)}))}),{threshold:.5});return m.current&&e.observe(m.current),()=>{e.disconnect()}}}),[t]),e.useEffect((()=>{if(i){let e=setTimeout((()=>{s(!0)}),100);return()=>{clearTimeout(e)}}}),[i]);let f=()=>{o(!0)},h=()=>{o(!1),s(!1)};return r?"intent"!==t?[l,m,{}]:[l,m,{onFocus:_e(a,f),onBlur:_e(c,h),onMouseEnter:_e(u,f),onMouseLeave:_e(d,h),onTouchStart:_e(p,f)}]:[!1,m,{}]}(r,h),S=function(t,{target:n,replace:r,state:i,preventScrollReset:o,relative:l,viewTransition:s}={}){let a=G(),u=U(),d=Z(t,{relative:l});return e.useCallback((e=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(e,n)){e.preventDefault();let n=void 0!==r?r:c(u)===c(d);a(t,{replace:n,state:i,preventScrollReset:o,relative:l,viewTransition:s})}}),[u,a,d,r,i,n,t,o,l,s])}(p,{replace:a,state:u,target:d,preventScrollReset:m,relative:i,viewTransition:f}),E=e.createElement("a",{...h,...C,href:g||y,onClick:b||s?t:function(e){t&&t(e),e.defaultPrevented||S(e)},ref:Ee(v,_),target:d,"data-discover":x||"render"!==n?void 0:"true"});return j&&!x?e.createElement(e.Fragment,null,E,e.createElement(Ce,{page:y})):E}));function Me(t){let n=e.useContext(L);return o(n,function(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}(t)),n}Pe.displayName="Link",e.forwardRef((function({"aria-current":t="page",caseSensitive:n=!1,className:r="",end:i=!1,style:l,to:s,viewTransition:a,children:c,...u},d){let p=Z(s,{relative:u.relative}),m=U(),f=e.useContext(A),{navigator:h,basename:v}=e.useContext(D),g=null!=f&&function(t,n={}){let r=e.useContext(T);o(null!=r,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=Me("useViewTransitionState"),l=Z(t,{relative:n.relative});if(!r.isTransitioning)return!1;let s=k(r.currentLocation.pathname,i)||r.currentLocation.pathname,a=k(r.nextLocation.pathname,i)||r.nextLocation.pathname;return null!=_(l.pathname,a)||null!=_(l.pathname,s)}(p)&&!0===a,w=h.encodeLocation?h.encodeLocation(p).pathname:p.pathname,x=m.pathname,b=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;n||(x=x.toLowerCase(),b=b?b.toLowerCase():null,w=w.toLowerCase()),b&&v&&(b=k(b,v)||b);const y="/"!==w&&w.endsWith("/")?w.length-1:w.length;let j,C=x===w||!i&&x.startsWith(w)&&"/"===x.charAt(y),S=null!=b&&(b===w||!i&&b.startsWith(w)&&"/"===b.charAt(w.length)),E={isActive:C,isPending:S,isTransitioning:g},I=C?t:void 0;j="function"==typeof r?r(E):[r,C?"active":null,S?"pending":null,g?"transitioning":null].filter(Boolean).join(" ");let N="function"==typeof l?l(E):l;return e.createElement(Pe,{...u,"aria-current":I,className:j,ref:d,style:N,to:s,viewTransition:a},"function"==typeof c?c(E):c)})).displayName="NavLink",e.forwardRef((({discover:t="render",fetcherKey:n,navigate:r,reloadDocument:i,replace:l,state:s,method:a=ce,action:u,onSubmit:d,relative:p,preventScrollReset:m,viewTransition:f,...h},v)=>{let g=function(){let{router:t}=Me("useSubmit"),{basename:n}=e.useContext(D),r=te("useRouteId");return e.useCallback((async(e,i={})=>{let{action:o,method:l,encType:s,formData:a,body:c}=function(e,t){let n,r,i,o,l;if(de(s=e)&&"form"===s.tagName.toLowerCase()){let l=e.getAttribute("action");r=l?k(l,t):null,n=e.getAttribute("method")||ce,i=fe(e.getAttribute("enctype"))||ue,o=new FormData(e)}else if(function(e){return de(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return de(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let l=e.form;if(null==l)throw new Error('Cannot submit a