@kne-components/form-info 0.1.0-alpha.2 → 0.1.0

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.
Files changed (32) hide show
  1. package/build/asset-manifest.json +16 -16
  2. package/build/index.html +1 -1
  3. package/build/remoteEntry.js +1 -1
  4. package/build/remoteEntry.js.map +1 -1
  5. package/build/static/js/{245.a2123b77.chunk.js → 245.24cc8621.chunk.js} +3 -3
  6. package/build/static/js/{245.a2123b77.chunk.js.LICENSE.txt → 245.24cc8621.chunk.js.LICENSE.txt} +3 -3
  7. package/build/static/js/245.24cc8621.chunk.js.map +1 -0
  8. package/build/static/js/268.bc0ef3b8.chunk.js +2 -0
  9. package/build/static/js/268.bc0ef3b8.chunk.js.map +1 -0
  10. package/build/static/js/414.85e14646.chunk.js +2 -0
  11. package/build/static/js/414.85e14646.chunk.js.map +1 -0
  12. package/build/static/js/516.d99a29a0.chunk.js +3 -0
  13. package/build/static/js/516.d99a29a0.chunk.js.map +1 -0
  14. package/build/static/js/{520.f368e5ff.chunk.js → 520.43395c68.chunk.js} +3 -3
  15. package/build/static/js/{520.f368e5ff.chunk.js.map → 520.43395c68.chunk.js.map} +1 -1
  16. package/build/static/js/{830.97dc0ec7.chunk.js → 830.ec4d6fc5.chunk.js} +2 -2
  17. package/build/static/js/830.ec4d6fc5.chunk.js.map +1 -0
  18. package/build/static/js/main.755feaed.js +2 -0
  19. package/build/static/js/main.755feaed.js.map +1 -0
  20. package/package.json +1 -1
  21. package/build/static/js/245.a2123b77.chunk.js.map +0 -1
  22. package/build/static/js/268.8e22da7e.chunk.js +0 -2
  23. package/build/static/js/268.8e22da7e.chunk.js.map +0 -1
  24. package/build/static/js/414.afa4ac79.chunk.js +0 -2
  25. package/build/static/js/414.afa4ac79.chunk.js.map +0 -1
  26. package/build/static/js/516.b2b069b4.chunk.js +0 -3
  27. package/build/static/js/516.b2b069b4.chunk.js.map +0 -1
  28. package/build/static/js/830.97dc0ec7.chunk.js.map +0 -1
  29. package/build/static/js/main.e30e4037.js +0 -2
  30. package/build/static/js/main.e30e4037.js.map +0 -1
  31. /package/build/static/js/{516.b2b069b4.chunk.js.LICENSE.txt → 516.d99a29a0.chunk.js.LICENSE.txt} +0 -0
  32. /package/build/static/js/{520.f368e5ff.chunk.js.LICENSE.txt → 520.43395c68.chunk.js.LICENSE.txt} +0 -0
@@ -1,3 +1,3 @@
1
- /*! For license information please see 245.a2123b77.chunk.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_kne_components_form_info=self.webpackChunk_kne_components_form_info||[]).push([[245],{53245:(e,t,r)=>{r.r(t),r.d(t,{AbortedDeferredError:()=>Y,Await:()=>nr,BrowserRouter:()=>Nr,Form:()=>$r,HashRouter:()=>Br,Link:()=>Wr,MemoryRouter:()=>Gt,NavLink:()=>Kr,Navigate:()=>Qt,NavigationType:()=>n,Outlet:()=>Zt,Route:()=>er,Router:()=>tr,RouterProvider:()=>Or,Routes:()=>rr,ScrollRestoration:()=>Vr,UNSAFE_DataRouterContext:()=>st,UNSAFE_DataRouterStateContext:()=>lt,UNSAFE_ErrorResponseImpl:()=>re,UNSAFE_FetchersContext:()=>Tr,UNSAFE_LocationContext:()=>dt,UNSAFE_NavigationContext:()=>ct,UNSAFE_RouteContext:()=>ht,UNSAFE_ViewTransitionContext:()=>kr,UNSAFE_useRouteId:()=>Ft,UNSAFE_useScrollRestoration:()=>ln,createBrowserRouter:()=>Dr,createHashRouter:()=>Cr,createMemoryRouter:()=>dr,createPath:()=>m,createRoutesFromChildren:()=>lr,createRoutesFromElements:()=>lr,createSearchParams:()=>yr,defer:()=>Q,generatePath:()=>j,isRouteErrorResponse:()=>ne,json:()=>q,matchPath:()=>O,matchRoutes:()=>S,parsePath:()=>v,redirect:()=>Z,redirectDocument:()=>ee,renderMatches:()=>ur,replace:()=>te,resolvePath:()=>B,unstable_HistoryRouter:()=>Ir,unstable_usePrompt:()=>cn,useActionData:()=>Wt,useAsyncError:()=>Vt,useAsyncValue:()=>$t,useBeforeUnload:()=>un,useBlocker:()=>qt,useFetcher:()=>nn,useFetchers:()=>an,useFormAction:()=>rn,useHref:()=>pt,useInRouterContext:()=>mt,useLinkClickHandler:()=>Gr,useLoaderData:()=>zt,useLocation:()=>vt,useMatch:()=>gt,useMatches:()=>It,useNavigate:()=>wt,useNavigation:()=>Nt,useNavigationType:()=>yt,useOutlet:()=>Rt,useOutletContext:()=>Et,useParams:()=>xt,useResolvedPath:()=>Dt,useRevalidator:()=>Bt,useRouteError:()=>Kt,useRouteLoaderData:()=>Ht,useRoutes:()=>Ct,useSearchParams:()=>Qr,useSubmit:()=>tn,useViewTransitionState:()=>dn});var n,a=r(94922),o=r(85714);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(n||(n={}));const s="popstate";function l(e){void 0===e&&(e={});let t,{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map(((e,t)=>d(e,"string"===typeof e?null:e.state,0===t?"default":void 0)));let i=u(null==a?t.length-1:a),s=n.Pop,l=null;function u(e){return Math.min(Math.max(e,0),t.length-1)}function c(){return t[i]}function d(e,r,n){void 0===r&&(r=null);let a=p(t?c().pathname:"/",e,r,n);return h("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function f(e){return"string"===typeof e?e:m(e)}return{get index(){return i},get action(){return s},get location(){return c()},createHref:f,createURL:e=>new URL(f(e),"http://localhost"),encodeLocation(e){let t="string"===typeof e?v(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){s=n.Push;let a=d(e,r);i+=1,t.splice(i,t.length,a),o&&l&&l({action:s,location:a,delta:1})},replace(e,r){s=n.Replace;let a=d(e,r);t[i]=a,o&&l&&l({action:s,location:a,delta:0})},go(e){s=n.Pop;let r=u(i+e),a=t[r];i=r,l&&l({action:s,location:a,delta:e})},listen:e=>(l=e,()=>{l=null})}}function u(e){return void 0===e&&(e={}),y((function(e,t){let{pathname:r,search:n,hash:a}=e.location;return p("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"===typeof t?t:m(t)}),null,e)}function c(e){return void 0===e&&(e={}),y((function(e,t){let{pathname:r="/",search:n="",hash:a=""}=v(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),p("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"===typeof t?t:m(t))}),(function(e,t){h("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}function d(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function h(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(r){}}}function f(e,t){return{usr:e.state,key:e.key,idx:t}}function p(e,t,r,n){return void 0===r&&(r=null),i({pathname:"string"===typeof e?e:e.pathname,search:"",hash:""},"string"===typeof t?v(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function m(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&"?"!==r&&(t+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(t+="#"===n.charAt(0)?n:"#"+n),t}function v(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function y(e,t,r,a){void 0===a&&(a={});let{window:o=document.defaultView,v5Compat:l=!1}=a,u=o.history,c=n.Pop,h=null,v=y();function y(){return(u.state||{idx:null}).idx}function g(){c=n.Pop;let e=y(),t=null==e?null:e-v;v=e,h&&h({action:c,location:w.location,delta:t})}function b(e){let t="null"!==o.location.origin?o.location.origin:o.location.href,r="string"===typeof e?e:m(e);return r=r.replace(/ $/,"%20"),d(t,"No window.location.(origin|href) available to create URL for href: "+r),new URL(r,t)}null==v&&(v=0,u.replaceState(i({},u.state,{idx:v}),""));let w={get action(){return c},get location(){return e(o,u)},listen(e){if(h)throw new Error("A history only accepts one active listener");return o.addEventListener(s,g),h=e,()=>{o.removeEventListener(s,g),h=null}},createHref:e=>t(o,e),createURL:b,encodeLocation(e){let t=b(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){c=n.Push;let a=p(w.location,e,t);r&&r(a,e),v=y()+1;let i=f(a,v),s=w.createHref(a);try{u.pushState(i,"",s)}catch(d){if(d instanceof DOMException&&"DataCloneError"===d.name)throw d;o.location.assign(s)}l&&h&&h({action:c,location:w.location,delta:1})},replace:function(e,t){c=n.Replace;let a=p(w.location,e,t);r&&r(a,e),v=y();let o=f(a,v),i=w.createHref(a);u.replaceState(o,"",i),l&&h&&h({action:c,location:w.location,delta:0})},go:e=>u.go(e)};return w}var g;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(g||(g={}));const b=new Set(["lazy","caseSensitive","path","id","index","children"]);function w(e,t,r,n){return void 0===r&&(r=[]),void 0===n&&(n={}),e.map(((e,a)=>{let o=[...r,String(a)],s="string"===typeof e.id?e.id:o.join("-");if(d(!0!==e.index||!e.children,"Cannot specify children on an index route"),d(!n[s],'Found a route id collision on id "'+s+"\". Route id's must be globally unique within Data Router usages"),function(e){return!0===e.index}(e)){let r=i({},e,t(e),{id:s});return n[s]=r,r}{let r=i({},e,t(e),{id:s,children:void 0});return n[s]=r,e.children&&(r.children=w(e.children,t,o,n)),r}}))}function S(e,t,r){return void 0===r&&(r="/"),E(e,t,r,!1)}function E(e,t,r,n){let a=N(("string"===typeof t?v(t):t).pathname||"/",r);if(null==a)return null;let o=x(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let r=e.length===t.length&&e.slice(0,-1).every(((e,r)=>e===t[r]));return r?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(o);let i=null;for(let s=0;null==i&&s<o.length;++s){let e=F(a);i=U(o[s],e,n)}return i}function R(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function x(e,t,r,n){void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n="");let a=(e,a,o)=>{let i={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};i.relativePath.startsWith("/")&&(d(i.relativePath.startsWith(n),'Absolute route path "'+i.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(n.length));let s=K([n,i.relativePath]),l=r.concat(i);e.children&&e.children.length>0&&(d(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),x(e.children,t,l,s)),(null!=e.path||e.index)&&t.push({path:s,score:M(s,e.index),routesMeta:l})};return e.forEach(((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let n of D(e.path))a(e,t,n);else a(e,t)})),t}function D(e){let t=e.split("/");if(0===t.length)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(0===n.length)return a?[o,""]:[o];let i=D(n.join("/")),s=[];return s.push(...i.map((e=>""===e?o:[o,e].join("/")))),a&&s.push(...i),s.map((t=>e.startsWith("/")&&""===t?"/":t))}const C=/^:[\w-]+$/,L=3,P=2,k=1,T=10,A=-2,_=e=>"*"===e;function M(e,t){let r=e.split("/"),n=r.length;return r.some(_)&&(n+=A),t&&(n+=P),r.filter((e=>!_(e))).reduce(((e,t)=>e+(C.test(t)?L:""===t?k:T)),n)}function U(e,t,r){void 0===r&&(r=!1);let{routesMeta:n}=e,a={},o="/",i=[];for(let s=0;s<n.length;++s){let e=n[s],l=s===n.length-1,u="/"===o?t:t.slice(o.length)||"/",c=O({path:e.relativePath,caseSensitive:e.caseSensitive,end:l},u),d=e.route;if(!c&&l&&r&&!n[n.length-1].route.index&&(c=O({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:K([o,c.pathname]),pathnameBase:$(K([o,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(o=K([o,c.pathnameBase]))}return i}function j(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(h(!1,'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),r=r.replace(/\*$/,"/*"));const n=r.startsWith("/")?"/":"",a=e=>null==e?"":"string"===typeof e?e:String(e);return n+r.split(/\/+/).map(((e,r,n)=>{if(r===n.length-1&&"*"===e){return a(t["*"])}const o=e.match(/^:([\w-]+)(\??)$/);if(o){const[,e,r]=o;let n=t[e];return d("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")})).filter((e=>!!e)).join("/")}function O(e,t){"string"===typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=function(e,t,r){void 0===t&&(t=!1);void 0===r&&(r=!0);h("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,((e,t,r)=>(n.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(n.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))");let o=new RegExp(a,t?void 0:"i");return[o,n]}(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),s=a.slice(1);return{params:n.reduce(((e,t,r)=>{let{paramName:n,isOptional:a}=t;if("*"===n){let e=s[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const l=s[r];return e[n]=a&&!l?void 0:(l||"").replace(/%2F/g,"/"),e}),{}),pathname:o,pathnameBase:i,pattern:e}}function F(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(t){return h(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function N(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function B(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:a=""}="string"===typeof e?v(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)})),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:V(n),hash:J(a)}}function I(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function z(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function H(e,t){let r=z(e);return t?r.map(((e,t)=>t===r.length-1?e.pathname:e.pathnameBase)):r.map((e=>e.pathnameBase))}function W(e,t,r,n){let a;void 0===n&&(n=!1),"string"===typeof e?a=v(e):(a=i({},e),d(!a.pathname||!a.pathname.includes("?"),I("?","pathname","search",a)),d(!a.pathname||!a.pathname.includes("#"),I("#","pathname","hash",a)),d(!a.search||!a.search.includes("#"),I("#","search","hash",a)));let o,s=""===e||""===a.pathname,l=s?"/":a.pathname;if(null==l)o=r;else{let e=t.length-1;if(!n&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=B(a,o),c=l&&"/"!==l&&l.endsWith("/"),h=(s||"."===l)&&r.endsWith("/");return u.pathname.endsWith("/")||!c&&!h||(u.pathname+="/"),u}const K=e=>e.join("/").replace(/\/\/+/g,"/"),$=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),V=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",J=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",q=function(e,t){void 0===t&&(t={});let r="number"===typeof t?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),i({},r,{headers:n}))};class Y extends Error{}class X{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],d(e&&"object"===typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise(((e,t)=>r=t)),this.controller=new AbortController;let n=()=>r(new Y("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",n),this.controller.signal.addEventListener("abort",n),this.data=Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})}),{}),this.done&&this.unlistenAbortSignal(),this.init=t}trackPromise(e,t){if(!(t instanceof Promise))return t;this.deferredKeys.push(e),this.pendingKeysSet.add(e);let r=Promise.race([t,this.abortPromise]).then((t=>this.onSettle(r,e,void 0,t)),(t=>this.onSettle(r,e,t)));return r.catch((()=>{})),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof Y)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);if(this.pendingKeysSet.delete(t),this.done&&this.unlistenAbortSignal(),void 0===r&&void 0===n){let r=new Error('Deferred data for key "'+t+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)}return void 0===n?(Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),this.emit(!1,t),n)}emit(e,t){this.subscribers.forEach((r=>r(e,t)))}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach(((e,t)=>this.pendingKeysSet.delete(t))),this.emit(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise((t=>{this.subscribe((n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)}))}))}return t}get done(){return 0===this.pendingKeysSet.size}get unwrappedData(){return d(null!==this.data&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:G(n)})}),{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}function G(e){if(!function(e){return e instanceof Promise&&!0===e._tracked}(e))return e;if(e._error)throw e._error;return e._data}const Q=function(e,t){return void 0===t&&(t={}),new X(e,"number"===typeof t?{status:t}:t)},Z=function(e,t){void 0===t&&(t=302);let r=t;"number"===typeof r?r={status:r}:"undefined"===typeof r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,i({},r,{headers:n}))},ee=(e,t)=>{let r=Z(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},te=(e,t)=>{let r=Z(e,t);return r.headers.set("X-Remix-Replace","true"),r};class re{constructor(e,t,r,n){void 0===n&&(n=!1),this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function ne(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const ae=["post","put","patch","delete"],oe=new Set(ae),ie=["get",...ae],se=new Set(ie),le=new Set([301,302,303,307,308]),ue=new Set([307,308]),ce={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},de={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},he={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},fe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,pe=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),me="remix-router-transitions";function ve(e){const t=e.window?e.window:"undefined"!==typeof window?window:void 0,r="undefined"!==typeof t&&"undefined"!==typeof t.document&&"undefined"!==typeof t.document.createElement,a=!r;let o;if(d(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let t=e.detectErrorBoundary;o=e=>({hasErrorBoundary:t(e)})}else o=pe;let s,l,u,c={},f=w(e.routes,o,void 0,c),m=e.basename||"/",v=e.dataStrategy||Ce,y=e.patchRoutesOnNavigation,b=i({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),x=null,D=new Set,C=null,L=null,P=null,k=null!=e.hydrationData,T=S(f,e.history.location,m),A=null;if(null==T&&!y){let t=Ie(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=Be(f);T=r,A={[n.id]:t}}if(T&&!e.hydrationData){ut(T,f,e.history.location.pathname).active&&(T=null)}if(T)if(T.some((e=>e.route.lazy)))l=!1;else if(T.some((e=>e.route.loader)))if(b.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,r=e.hydrationData?e.hydrationData.errors:null;if(r){let e=T.findIndex((e=>void 0!==r[e.route.id]));l=T.slice(0,e+1).every((e=>!Se(e.route,t,r)))}else l=T.every((e=>!Se(e.route,t,r)))}else l=null!=e.hydrationData;else l=!0;else if(l=!1,T=[],b.v7_partialHydration){let t=ut(null,f,e.history.location.pathname);t.active&&t.matches&&(T=t.matches)}let _,M,U={historyAction:e.history.action,location:e.history.location,matches:T,initialized:l,navigation:ce,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||A,fetchers:new Map,blockers:new Map},j=n.Pop,O=!1,F=!1,B=new Map,I=null,z=!1,H=!1,W=[],K=new Set,$=new Map,V=0,J=-1,q=new Map,Y=new Set,X=new Map,G=new Map,Q=new Set,Z=new Map,ee=new Map;function te(e,t){void 0===t&&(t={}),U=i({},U,e);let r=[],n=[];b.v7_fetcherPersist&&U.fetchers.forEach(((e,t)=>{"idle"===e.state&&(Q.has(t)?n.push(t):r.push(t))})),[...D].forEach((e=>e(U,{deletedFetchers:n,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync}))),b.v7_fetcherPersist&&(r.forEach((e=>U.fetchers.delete(e))),n.forEach((e=>De(e))))}function re(t,r,a){var o,l;let u,{flushSync:c}=void 0===a?{}:a,d=null!=U.actionData&&null!=U.navigation.formMethod&&Xe(U.navigation.formMethod)&&"loading"===U.navigation.state&&!0!==(null==(o=t.state)?void 0:o._isRedirect);u=r.actionData?Object.keys(r.actionData).length>0?r.actionData:null:d?U.actionData:null;let h=r.loaderData?Oe(U.loaderData,r.loaderData,r.matches||[],r.errors):U.loaderData,p=U.blockers;p.size>0&&(p=new Map(p),p.forEach(((e,t)=>p.set(t,he))));let m,v=!0===O||null!=U.navigation.formMethod&&Xe(U.navigation.formMethod)&&!0!==(null==(l=t.state)?void 0:l._isRedirect);if(s&&(f=s,s=void 0),z||j===n.Pop||(j===n.Push?e.history.push(t,t.state):j===n.Replace&&e.history.replace(t,t.state)),j===n.Pop){let e=B.get(U.location.pathname);e&&e.has(t.pathname)?m={currentLocation:U.location,nextLocation:t}:B.has(t.pathname)&&(m={currentLocation:t,nextLocation:U.location})}else if(F){let e=B.get(U.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),B.set(U.location.pathname,e)),m={currentLocation:U.location,nextLocation:t}}te(i({},r,{actionData:u,loaderData:h,historyAction:j,location:t,initialized:!0,navigation:ce,revalidation:"idle",restoreScrollPosition:lt(t,r.matches||U.matches),preventScrollReset:v,blockers:p}),{viewTransitionOpts:m,flushSync:!0===c}),j=n.Pop,O=!1,F=!1,z=!1,H=!1,W=[]}async function ae(t,r,a){_&&_.abort(),_=null,j=t,z=!0===(a&&a.startUninterruptedRevalidation),function(e,t){if(C&&P){let r=st(e,t);C[r]=P()}}(U.location,U.matches),O=!0===(a&&a.preventScrollReset),F=!0===(a&&a.enableViewTransition);let o=s||f,l=a&&a.overrideNavigation,u=S(o,r,m),c=!0===(a&&a.flushSync),d=ut(u,o,r.pathname);if(d.active&&d.matches&&(u=d.matches),!u){let{error:e,notFoundMatches:t,route:n}=et(r.pathname);return void re(r,{matches:t,loaderData:{},errors:{[n.id]:e}},{flushSync:c})}if(U.initialized&&!H&&function(e,t){if(e.pathname!==t.pathname||e.search!==t.search)return!1;if(""===e.hash)return""!==t.hash;if(e.hash===t.hash)return!0;if(""!==t.hash)return!0;return!1}(U.location,r)&&!(a&&a.submission&&Xe(a.submission.formMethod)))return void re(r,{matches:u},{flushSync:c});_=new AbortController;let h,p=Ae(e.history,r,_.signal,a&&a.submission);if(a&&a.pendingError)h=[Ne(u).route.id,{type:g.error,error:a.pendingError}];else if(a&&a.submission&&Xe(a.submission.formMethod)){let t=await async function(e,t,r,a,o,i){void 0===i&&(i={});ve();let s,l=function(e,t){let r={state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text};return r}(t,r);if(te({navigation:l},{flushSync:!0===i.flushSync}),o){let r=await ct(a,t.pathname,e.signal);if("aborted"===r.type)return{shortCircuited:!0};if("error"===r.type){let e=Ne(r.partialMatches).route.id;return{matches:r.partialMatches,pendingActionResult:[e,{type:g.error,error:r.error}]}}if(!r.matches){let{notFoundMatches:e,error:r,route:n}=et(t.pathname);return{matches:e,pendingActionResult:[n.id,{type:g.error,error:r}]}}a=r.matches}let u=tt(a,t);if(u.route.action||u.route.lazy){if(s=(await se("action",U,e,[u],a,null))[u.route.id],e.signal.aborted)return{shortCircuited:!0}}else s={type:g.error,error:Ie(405,{method:e.method,pathname:t.pathname,routeId:u.route.id})};if(Ve(s)){let t;if(i&&null!=i.replace)t=i.replace;else{t=Te(s.response.headers.get("Location"),new URL(e.url),m)===U.location.pathname+U.location.search}return await ie(e,s,!0,{submission:r,replace:t}),{shortCircuited:!0}}if(Ke(s))throw Ie(400,{type:"defer-action"});if($e(s)){let e=Ne(a,u.route.id);return!0!==(i&&i.replace)&&(j=n.Push),{matches:a,pendingActionResult:[e.route.id,s]}}return{matches:a,pendingActionResult:[u.route.id,s]}}(p,r,a.submission,u,d.active,{replace:a.replace,flushSync:c});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,n]=t.pendingActionResult;if($e(n)&&ne(n.error)&&404===n.error.status)return _=null,void re(r,{matches:t.matches,loaderData:{},errors:{[e]:n.error}})}u=t.matches||u,h=t.pendingActionResult,l=nt(r,a.submission),c=!1,d.active=!1,p=Ae(e.history,p.url,p.signal)}let{shortCircuited:v,matches:y,loaderData:w,errors:E}=await async function(t,r,n,a,o,l,u,c,d,h,p){let v=o||nt(r,l),y=l||u||rt(v),g=!z&&(!b.v7_partialHydration||!d);if(a){if(g){let e=oe(p);te(i({navigation:v},void 0!==e?{actionData:e}:{}),{flushSync:h})}let e=await ct(n,r.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=Ne(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(!e.matches){let{error:e,notFoundMatches:t,route:n}=et(r.pathname);return{matches:t,loaderData:{},errors:{[n.id]:e}}}n=e.matches}let w=s||f,[S,E]=we(e.history,U,n,y,r,b.v7_partialHydration&&!0===d,b.v7_skipActionErrorRevalidation,H,W,K,Q,X,Y,w,m,p);if(it((e=>!(n&&n.some((t=>t.route.id===e)))||S&&S.some((t=>t.route.id===e)))),J=++V,0===S.length&&0===E.length){let e=Ue();return re(r,i({matches:n,loaderData:{},errors:p&&$e(p[1])?{[p[0]]:p[1].error}:null},Fe(p),e?{fetchers:new Map(U.fetchers)}:{}),{flushSync:h}),{shortCircuited:!0}}if(g){let e={};if(!a){e.navigation=v;let t=oe(p);void 0!==t&&(e.actionData=t)}E.length>0&&(e.fetchers=function(e){return e.forEach((e=>{let t=U.fetchers.get(e.key),r=at(void 0,t?t.data:void 0);U.fetchers.set(e.key,r)})),new Map(U.fetchers)}(E)),te(e,{flushSync:h})}E.forEach((e=>{_e(e.key),e.controller&&$.set(e.key,e.controller)}));let R=()=>E.forEach((e=>_e(e.key)));_&&_.signal.addEventListener("abort",R);let{loaderResults:x,fetcherResults:D}=await le(U,n,S,E,t);if(t.signal.aborted)return{shortCircuited:!0};_&&_.signal.removeEventListener("abort",R);E.forEach((e=>$.delete(e.key)));let C=ze(x);if(C)return await ie(t,C.result,!0,{replace:c}),{shortCircuited:!0};if(C=ze(D),C)return Y.add(C.key),await ie(t,C.result,!0,{replace:c}),{shortCircuited:!0};let{loaderData:L,errors:P}=je(U,n,x,p,E,D,Z);Z.forEach(((e,t)=>{e.subscribe((r=>{(r||e.done)&&Z.delete(t)}))})),b.v7_partialHydration&&d&&U.errors&&(P=i({},U.errors,P));let k=Ue(),T=He(J),A=k||T||E.length>0;return i({matches:n,loaderData:L,errors:P},A?{fetchers:new Map(U.fetchers)}:{})}(p,r,u,d.active,l,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,a&&!0===a.initialHydration,c,h);v||(_=null,re(r,i({matches:y||u},Fe(h),{loaderData:w,errors:E})))}function oe(e){return e&&!$e(e[1])?{[e[0]]:e[1].data}:U.actionData?0===Object.keys(U.actionData).length?null:U.actionData:void 0}async function ie(a,o,s,l){let{submission:u,fetcherSubmission:c,preventScrollReset:h,replace:f}=void 0===l?{}:l;o.response.headers.has("X-Remix-Revalidate")&&(H=!0);let v=o.response.headers.get("Location");d(v,"Expected a Location header on the redirect Response"),v=Te(v,new URL(a.url),m);let y=p(U.location,v,{_isRedirect:!0});if(r){let r=!1;if(o.response.headers.has("X-Remix-Reload-Document"))r=!0;else if(fe.test(v)){const n=e.history.createURL(v);r=n.origin!==t.location.origin||null==N(n.pathname,m)}if(r)return void(f?t.location.replace(v):t.location.assign(v))}_=null;let g=!0===f||o.response.headers.has("X-Remix-Replace")?n.Replace:n.Push,{formMethod:b,formAction:w,formEncType:S}=U.navigation;!u&&!c&&b&&w&&S&&(u=rt(U.navigation));let E=u||c;if(ue.has(o.response.status)&&E&&Xe(E.formMethod))await ae(g,y,{submission:i({},E,{formAction:v}),preventScrollReset:h||O,enableViewTransition:s?F:void 0});else{let e=nt(y,u);await ae(g,y,{overrideNavigation:e,fetcherSubmission:c,preventScrollReset:h||O,enableViewTransition:s?F:void 0})}}async function se(e,t,r,n,a,i){let s,l={};try{s=await Le(v,e,t,r,n,a,i,c,o)}catch(u){return n.forEach((e=>{l[e.route.id]={type:g.error,error:u}})),l}for(let[o,c]of Object.entries(s))if(We(c)){let e=c.result;l[o]={type:g.redirect,response:ke(e,r,o,a,m,b.v7_relativeSplatPath)}}else l[o]=await Pe(c);return l}async function le(t,r,n,a,o){let i=t.matches,s=se("loader",t,o,n,r,null),l=Promise.all(a.map((async r=>{if(r.matches&&r.match&&r.controller){let n=(await se("loader",t,Ae(e.history,r.path,r.controller.signal),[r.match],r.matches,r.key))[r.match.route.id];return{[r.key]:n}}return Promise.resolve({[r.key]:{type:g.error,error:Ie(404,{pathname:r.path})}})}))),u=await s,c=(await l).reduce(((e,t)=>Object.assign(e,t)),{});return await Promise.all([Ge(r,u,o.signal,i,t.loaderData),Qe(r,c,a)]),{loaderResults:u,fetcherResults:c}}function ve(){H=!0,W.push(...it()),X.forEach(((e,t)=>{$.has(t)&&K.add(t),_e(t)}))}function be(e,t,r){void 0===r&&(r={}),U.fetchers.set(e,t),te({fetchers:new Map(U.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function Ee(e,t,r,n){void 0===n&&(n={});let a=Ne(U.matches,t);De(e),te({errors:{[a.route.id]:r},fetchers:new Map(U.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function Re(e){return b.v7_fetcherPersist&&(G.set(e,(G.get(e)||0)+1),Q.has(e)&&Q.delete(e)),U.fetchers.get(e)||de}function De(e){let t=U.fetchers.get(e);!$.has(e)||t&&"loading"===t.state&&q.has(e)||_e(e),X.delete(e),q.delete(e),Y.delete(e),Q.delete(e),K.delete(e),U.fetchers.delete(e)}function _e(e){let t=$.get(e);t&&(t.abort(),$.delete(e))}function Me(e){for(let t of e){let e=ot(Re(t).data);U.fetchers.set(t,e)}}function Ue(){let e=[],t=!1;for(let r of Y){let n=U.fetchers.get(r);d(n,"Expected fetcher: "+r),"loading"===n.state&&(Y.delete(r),e.push(r),t=!0)}return Me(e),t}function He(e){let t=[];for(let[r,n]of q)if(n<e){let e=U.fetchers.get(r);d(e,"Expected fetcher: "+r),"loading"===e.state&&(_e(r),q.delete(r),t.push(r))}return Me(t),t.length>0}function Je(e){U.blockers.delete(e),ee.delete(e)}function qe(e,t){let r=U.blockers.get(e)||he;d("unblocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"proceeding"===t.state||"blocked"===r.state&&"unblocked"===t.state||"proceeding"===r.state&&"unblocked"===t.state,"Invalid blocker state transition: "+r.state+" -> "+t.state);let n=new Map(U.blockers);n.set(e,t),te({blockers:n})}function Ye(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===ee.size)return;ee.size>1&&h(!1,"A router only supports one blocker at a time");let a=Array.from(ee.entries()),[o,i]=a[a.length-1],s=U.blockers.get(o);return s&&"proceeding"===s.state?void 0:i({currentLocation:t,nextLocation:r,historyAction:n})?o:void 0}function et(e){let t=Ie(404,{pathname:e}),r=s||f,{matches:n,route:a}=Be(r);return it(),{notFoundMatches:n,route:a,error:t}}function it(e){let t=[];return Z.forEach(((r,n)=>{e&&!e(n)||(r.cancel(),t.push(n),Z.delete(n))})),t}function st(e,t){if(L){return L(e,t.map((e=>R(e,U.loaderData))))||e.key}return e.key}function lt(e,t){if(C){let r=st(e,t),n=C[r];if("number"===typeof n)return n}return null}function ut(e,t,r){if(y){if(!e){return{active:!0,matches:E(t,r,m,!0)||[]}}if(Object.keys(e[0].params).length>0){return{active:!0,matches:E(t,r,m,!0)}}}return{active:!1,matches:null}}async function ct(e,t,r){if(!y)return{type:"success",matches:e};let n=e;for(;;){let e=null==s,i=s||f,l=c;try{await y({path:t,matches:n,patch:(e,t)=>{r.aborted||xe(e,t,i,l,o)}})}catch(a){return{type:"error",error:a,partialMatches:n}}finally{e&&!r.aborted&&(f=[...f])}if(r.aborted)return{type:"aborted"};let u=S(i,t,m);if(u)return{type:"success",matches:u};let d=E(i,t,m,!0);if(!d||n.length===d.length&&n.every(((e,t)=>e.route.id===d[t].route.id)))return{type:"success",matches:null};n=d}}return u={get basename(){return m},get future(){return b},get state(){return U},get routes(){return f},get window(){return t},initialize:function(){if(x=e.history.listen((t=>{let{action:r,location:n,delta:a}=t;if(M)return M(),void(M=void 0);h(0===ee.size||null!=a,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let o=Ye({currentLocation:U.location,nextLocation:n,historyAction:r});if(o&&null!=a){let t=new Promise((e=>{M=e}));return e.history.go(-1*a),void qe(o,{state:"blocked",location:n,proceed(){qe(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),t.then((()=>e.history.go(a)))},reset(){let e=new Map(U.blockers);e.set(o,he),te({blockers:e})}})}return ae(r,n)})),r){!function(e,t){try{let r=e.sessionStorage.getItem(me);if(r){let e=JSON.parse(r);for(let[r,n]of Object.entries(e||{}))n&&Array.isArray(n)&&t.set(r,new Set(n||[]))}}catch(r){}}(t,B);let e=()=>function(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(me,JSON.stringify(n))}catch(r){h(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}(t,B);t.addEventListener("pagehide",e),I=()=>t.removeEventListener("pagehide",e)}return U.initialized||ae(n.Pop,U.location,{initialHydration:!0}),u},subscribe:function(e){return D.add(e),()=>D.delete(e)},enableScrollRestoration:function(e,t,r){if(C=e,P=t,L=r||null,!k&&U.navigation===ce){k=!0;let e=lt(U.location,U.matches);null!=e&&te({restoreScrollPosition:e})}return()=>{C=null,P=null,L=null}},navigate:async function t(r,a){if("number"===typeof r)return void e.history.go(r);let o=ye(U.location,U.matches,m,b.v7_prependBasename,r,b.v7_relativeSplatPath,null==a?void 0:a.fromRouteId,null==a?void 0:a.relative),{path:s,submission:l,error:u}=ge(b.v7_normalizeFormMethod,!1,o,a),c=U.location,d=p(U.location,s,a&&a.state);d=i({},d,e.history.encodeLocation(d));let h=a&&null!=a.replace?a.replace:void 0,f=n.Push;!0===h?f=n.Replace:!1===h||null!=l&&Xe(l.formMethod)&&l.formAction===U.location.pathname+U.location.search&&(f=n.Replace);let v=a&&"preventScrollReset"in a?!0===a.preventScrollReset:void 0,y=!0===(a&&a.flushSync),g=Ye({currentLocation:c,nextLocation:d,historyAction:f});if(!g)return await ae(f,d,{submission:l,pendingError:u,preventScrollReset:v,replace:a&&a.replace,enableViewTransition:a&&a.viewTransition,flushSync:y});qe(g,{state:"blocked",location:d,proceed(){qe(g,{state:"proceeding",proceed:void 0,reset:void 0,location:d}),t(r,a)},reset(){let e=new Map(U.blockers);e.set(g,he),te({blockers:e})}})},fetch:function(t,r,n,o){if(a)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");_e(t);let i=!0===(o&&o.flushSync),l=s||f,u=ye(U.location,U.matches,m,b.v7_prependBasename,n,b.v7_relativeSplatPath,r,null==o?void 0:o.relative),c=S(l,u,m),h=ut(c,l,u);if(h.active&&h.matches&&(c=h.matches),!c)return void Ee(t,r,Ie(404,{pathname:u}),{flushSync:i});let{path:p,submission:v,error:y}=ge(b.v7_normalizeFormMethod,!0,u,o);if(y)return void Ee(t,r,y,{flushSync:i});let g=tt(c,p),w=!0===(o&&o.preventScrollReset);v&&Xe(v.formMethod)?async function(t,r,n,a,o,i,l,u,c){function h(e){if(!e.route.action&&!e.route.lazy){let e=Ie(405,{method:c.formMethod,pathname:n,routeId:r});return Ee(t,r,e,{flushSync:l}),!0}return!1}if(ve(),X.delete(t),!i&&h(a))return;let p=U.fetchers.get(t);be(t,function(e,t){let r={state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0};return r}(c,p),{flushSync:l});let v=new AbortController,y=Ae(e.history,n,v.signal,c);if(i){let e=await ct(o,n,y.signal);if("aborted"===e.type)return;if("error"===e.type)return void Ee(t,r,e.error,{flushSync:l});if(!e.matches)return void Ee(t,r,Ie(404,{pathname:n}),{flushSync:l});if(h(a=tt(o=e.matches,n)))return}$.set(t,v);let g=V,w=await se("action",U,y,[a],o,t),E=w[a.route.id];if(y.signal.aborted)return void($.get(t)===v&&$.delete(t));if(b.v7_fetcherPersist&&Q.has(t)){if(Ve(E)||$e(E))return void be(t,ot(void 0))}else{if(Ve(E))return $.delete(t),J>g?void be(t,ot(void 0)):(Y.add(t),be(t,at(c)),ie(y,E,!1,{fetcherSubmission:c,preventScrollReset:u}));if($e(E))return void Ee(t,r,E.error)}if(Ke(E))throw Ie(400,{type:"defer-action"});let R=U.navigation.location||U.location,x=Ae(e.history,R,v.signal),D=s||f,C="idle"!==U.navigation.state?S(D,U.navigation.location,m):U.matches;d(C,"Didn't find any matches after fetcher action");let L=++V;q.set(t,L);let P=at(c,E.data);U.fetchers.set(t,P);let[k,T]=we(e.history,U,C,c,R,!1,b.v7_skipActionErrorRevalidation,H,W,K,Q,X,Y,D,m,[a.route.id,E]);T.filter((e=>e.key!==t)).forEach((e=>{let t=e.key,r=U.fetchers.get(t),n=at(void 0,r?r.data:void 0);U.fetchers.set(t,n),_e(t),e.controller&&$.set(t,e.controller)})),te({fetchers:new Map(U.fetchers)});let A=()=>T.forEach((e=>_e(e.key)));v.signal.addEventListener("abort",A);let{loaderResults:M,fetcherResults:O}=await le(U,C,k,T,x);if(v.signal.aborted)return;v.signal.removeEventListener("abort",A),q.delete(t),$.delete(t),T.forEach((e=>$.delete(e.key)));let F=ze(M);if(F)return ie(x,F.result,!1,{preventScrollReset:u});if(F=ze(O),F)return Y.add(F.key),ie(x,F.result,!1,{preventScrollReset:u});let{loaderData:N,errors:B}=je(U,C,M,void 0,T,O,Z);if(U.fetchers.has(t)){let e=ot(E.data);U.fetchers.set(t,e)}He(L),"loading"===U.navigation.state&&L>J?(d(j,"Expected pending action"),_&&_.abort(),re(U.navigation.location,{matches:C,loaderData:N,errors:B,fetchers:new Map(U.fetchers)})):(te({errors:B,loaderData:Oe(U.loaderData,N,C,B),fetchers:new Map(U.fetchers)}),H=!1)}(t,r,p,g,c,h.active,i,w,v):(X.set(t,{routeId:r,path:p}),async function(t,r,n,a,o,i,s,l,u){let c=U.fetchers.get(t);be(t,at(u,c?c.data:void 0),{flushSync:s});let h=new AbortController,f=Ae(e.history,n,h.signal);if(i){let e=await ct(o,n,f.signal);if("aborted"===e.type)return;if("error"===e.type)return void Ee(t,r,e.error,{flushSync:s});if(!e.matches)return void Ee(t,r,Ie(404,{pathname:n}),{flushSync:s});a=tt(o=e.matches,n)}$.set(t,h);let p=V,m=await se("loader",U,f,[a],o,t),v=m[a.route.id];Ke(v)&&(v=await Ze(v,f.signal,!0)||v);$.get(t)===h&&$.delete(t);if(f.signal.aborted)return;if(Q.has(t))return void be(t,ot(void 0));if(Ve(v))return J>p?void be(t,ot(void 0)):(Y.add(t),void await ie(f,v,!1,{preventScrollReset:l}));if($e(v))return void Ee(t,r,v.error);d(!Ke(v),"Unhandled fetcher deferred data"),be(t,ot(v.data))}(t,r,p,g,c,h.active,i,w,v))},revalidate:function(){ve(),te({revalidation:"loading"}),"submitting"!==U.navigation.state&&("idle"!==U.navigation.state?ae(j||U.historyAction,U.navigation.location,{overrideNavigation:U.navigation,enableViewTransition:!0===F}):ae(U.historyAction,U.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Re,deleteFetcher:function(e){if(b.v7_fetcherPersist){let t=(G.get(e)||0)-1;t<=0?(G.delete(e),Q.add(e)):G.set(e,t)}else De(e);te({fetchers:new Map(U.fetchers)})},dispose:function(){x&&x(),I&&I(),D.clear(),_&&_.abort(),U.fetchers.forEach(((e,t)=>De(t))),U.blockers.forEach(((e,t)=>Je(t)))},getBlocker:function(e,t){let r=U.blockers.get(e)||he;return ee.get(e)!==t&&ee.set(e,t),r},deleteBlocker:Je,patchRoutes:function(e,t){let r=null==s;xe(e,t,s||f,c,o),r&&(f=[...f],te({}))},_internalFetchControllers:$,_internalActiveDeferreds:Z,_internalSetRoutes:function(e){c={},s=w(e,o,void 0,c)}},u}Symbol("deferred");function ye(e,t,r,n,a,o,i,s){let l,u;if(i){l=[];for(let e of t)if(l.push(e),e.route.id===i){u=e;break}}else l=t,u=t[t.length-1];let c=W(a||".",H(l,o),N(e.pathname,r)||e.pathname,"path"===s);if(null==a&&(c.search=e.search,c.hash=e.hash),(null==a||""===a||"."===a)&&u){let e=et(c.search);if(u.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll("index");e.delete("index"),t.filter((e=>e)).forEach((t=>e.append("index",t)));let r=e.toString();c.search=r?"?"+r:""}}return n&&"/"!==r&&(c.pathname="/"===c.pathname?r:K([r,c.pathname])),m(c)}function ge(e,t,r,n){if(!n||!function(e){return null!=e&&("formData"in e&&null!=e.formData||"body"in e&&void 0!==e.body)}(n))return{path:r};if(n.formMethod&&!Ye(n.formMethod))return{path:r,error:Ie(405,{method:n.formMethod})};let a,o,i=()=>({path:r,error:Ie(400,{type:"invalid-body"})}),s=n.formMethod||"get",l=e?s.toUpperCase():s.toLowerCase(),u=He(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!Xe(l))return i();let e="string"===typeof n.body?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce(((e,t)=>{let[r,n]=t;return""+e+r+"="+n+"\n"}),""):String(n.body);return{path:r,submission:{formMethod:l,formAction:u,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}if("application/json"===n.formEncType){if(!Xe(l))return i();try{let e="string"===typeof n.body?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:l,formAction:u,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(f){return i()}}}if(d("function"===typeof FormData,"FormData is not available in this environment"),n.formData)a=_e(n.formData),o=n.formData;else if(n.body instanceof FormData)a=_e(n.body),o=n.body;else if(n.body instanceof URLSearchParams)a=n.body,o=Me(a);else if(null==n.body)a=new URLSearchParams,o=new FormData;else try{a=new URLSearchParams(n.body),o=Me(a)}catch(f){return i()}let c={formMethod:l,formAction:u,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:o,json:void 0,text:void 0};if(Xe(c.formMethod))return{path:r,submission:c};let h=v(r);return t&&h.search&&et(h.search)&&a.append("index",""),h.search="?"+a,{path:m(h),submission:c}}function be(e,t,r){void 0===r&&(r=!1);let n=e.findIndex((e=>e.route.id===t));return n>=0?e.slice(0,r?n+1:n):e}function we(e,t,r,n,a,o,s,l,u,c,d,h,f,p,m,v){let y=v?$e(v[1])?v[1].error:v[1].data:void 0,g=e.createURL(t.location),b=e.createURL(a),w=r;o&&t.errors?w=be(r,Object.keys(t.errors)[0],!0):v&&$e(v[1])&&(w=be(r,v[0]));let E=v?v[1].statusCode:void 0,R=s&&E&&E>=400,x=w.filter(((e,r)=>{let{route:a}=e;if(a.lazy)return!0;if(null==a.loader)return!1;if(o)return Se(a,t.loaderData,t.errors);if(function(e,t,r){let n=!t||r.route.id!==t.route.id,a=void 0===e[r.route.id];return n||a}(t.loaderData,t.matches[r],e)||u.some((t=>t===e.route.id)))return!0;let s=t.matches[r],c=e;return Re(e,i({currentUrl:g,currentParams:s.params,nextUrl:b,nextParams:c.params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!R&&(l||g.pathname+g.search===b.pathname+b.search||g.search!==b.search||Ee(s,c))}))})),D=[];return h.forEach(((e,a)=>{if(o||!r.some((t=>t.route.id===e.routeId))||d.has(a))return;let s=S(p,e.path,m);if(!s)return void D.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let u=t.fetchers.get(a),h=tt(s,e.path),v=!1;f.has(a)?v=!1:c.has(a)?(c.delete(a),v=!0):v=u&&"idle"!==u.state&&void 0===u.data?l:Re(h,i({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:b,nextParams:r[r.length-1].params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!R&&l})),v&&D.push({key:a,routeId:e.routeId,path:e.path,matches:s,match:h,controller:new AbortController})})),[x,D]}function Se(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=null!=t&&void 0!==t[e.id],a=null!=r&&void 0!==r[e.id];return!(!n&&a)&&("function"===typeof e.loader&&!0===e.loader.hydrate||!n&&!a)}function Ee(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Re(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"===typeof r)return r}return t.defaultShouldRevalidate}function xe(e,t,r,n,a){var o;let i;if(e){let t=n[e];d(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=r;let s=w(t.filter((e=>!i.some((t=>De(e,t))))),a,[e||"_","patch",String((null==(o=i)?void 0:o.length)||"0")],n);i.push(...s)}function De(e,t){return"id"in e&&"id"in t&&e.id===t.id||e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive&&(!(e.children&&0!==e.children.length||t.children&&0!==t.children.length)||e.children.every(((e,r)=>{var n;return null==(n=t.children)?void 0:n.some((t=>De(e,t)))})))}async function Ce(e){let{matches:t}=e,r=t.filter((e=>e.shouldLoad));return(await Promise.all(r.map((e=>e.resolve())))).reduce(((e,t,n)=>Object.assign(e,{[r[n].route.id]:t})),{})}async function Le(e,t,r,n,a,o,s,l,u,c){let f=o.map((e=>e.route.lazy?async function(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];d(a,"No route found in manifest");let o={};for(let i in n){let e=void 0!==a[i]&&"hasErrorBoundary"!==i;h(!e,'Route "'+a.id+'" has a static property "'+i+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+i+'" will be ignored.'),e||b.has(i)||(o[i]=n[i])}Object.assign(a,o),Object.assign(a,i({},t(a),{lazy:void 0}))}(e.route,u,l):void 0)),p=o.map(((e,r)=>{let o=f[r],s=a.some((t=>t.route.id===e.route.id));return i({},e,{shouldLoad:s,resolve:async r=>(r&&"GET"===n.method&&(e.route.lazy||e.route.loader)&&(s=!0),s?async function(e,t,r,n,a,o){let i,s,l=n=>{let i,l=new Promise(((e,t)=>i=t));s=()=>i(),t.signal.addEventListener("abort",s);let u=a=>"function"!==typeof n?Promise.reject(new Error('You cannot call the handler for a route which defines a boolean "'+e+'" [routeId: '+r.route.id+"]")):n({request:t,params:r.params,context:o},...void 0!==a?[a]:[]),c=(async()=>{try{return{type:"data",result:await(a?a((e=>u(e))):u())}}catch(e){return{type:"error",result:e}}})();return Promise.race([c,l])};try{let a=r.route[e];if(n)if(a){let e,[t]=await Promise.all([l(a).catch((t=>{e=t})),n]);if(void 0!==e)throw e;i=t}else{if(await n,a=r.route[e],!a){if("action"===e){let e=new URL(t.url),n=e.pathname+e.search;throw Ie(405,{method:t.method,pathname:n,routeId:r.route.id})}return{type:g.data,result:void 0}}i=await l(a)}else{if(!a){let e=new URL(t.url);throw Ie(404,{pathname:e.pathname+e.search})}i=await l(a)}d(void 0!==i.result,"You defined "+("action"===e?"an action":"a loader")+' for route "'+r.route.id+"\" but didn't return anything from your `"+e+"` function. Please return a value or `null`.")}catch(u){return{type:g.error,result:u}}finally{s&&t.signal.removeEventListener("abort",s)}return i}(t,n,e,o,r,c):Promise.resolve({type:g.data,result:void 0}))})})),m=await e({matches:p,request:n,params:o[0].params,fetcherKey:s,context:c});try{await Promise.all(f)}catch(v){}return m}async function Pe(e){let{result:t,type:r}=e;if(qe(t)){let e;try{let r=t.headers.get("Content-Type");e=r&&/\bapplication\/json\b/.test(r)?null==t.body?null:await t.json():await t.text()}catch(u){return{type:g.error,error:u}}return r===g.error?{type:g.error,error:new re(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:g.data,data:e,statusCode:t.status,headers:t.headers}}if(r===g.error){if(Je(t)){var n,a;if(t.data instanceof Error)return{type:g.error,error:t.data,statusCode:null==(a=t.init)?void 0:a.status};t=new re((null==(n=t.init)?void 0:n.status)||500,void 0,t.data)}return{type:g.error,error:t,statusCode:ne(t)?t.status:void 0}}var o,i,s,l;return function(e){let t=e;return t&&"object"===typeof t&&"object"===typeof t.data&&"function"===typeof t.subscribe&&"function"===typeof t.cancel&&"function"===typeof t.resolveData}(t)?{type:g.deferred,deferredData:t,statusCode:null==(o=t.init)?void 0:o.status,headers:(null==(i=t.init)?void 0:i.headers)&&new Headers(t.init.headers)}:Je(t)?{type:g.data,data:t.data,statusCode:null==(s=t.init)?void 0:s.status,headers:null!=(l=t.init)&&l.headers?new Headers(t.init.headers):void 0}:{type:g.data,data:t}}function ke(e,t,r,n,a,o){let i=e.headers.get("Location");if(d(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!fe.test(i)){let s=n.slice(0,n.findIndex((e=>e.route.id===r))+1);i=ye(new URL(t.url),s,a,!0,i,o),e.headers.set("Location",i)}return e}function Te(e,t,r){if(fe.test(e)){let n=e,a=n.startsWith("//")?new URL(t.protocol+n):new URL(n),o=null!=N(a.pathname,r);if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}return e}function Ae(e,t,r,n){let a=e.createURL(He(t)).toString(),o={signal:r};if(n&&Xe(n.formMethod)){let{formMethod:e,formEncType:t}=n;o.method=e.toUpperCase(),"application/json"===t?(o.headers=new Headers({"Content-Type":t}),o.body=JSON.stringify(n.json)):"text/plain"===t?o.body=n.text:"application/x-www-form-urlencoded"===t&&n.formData?o.body=_e(n.formData):o.body=n.formData}return new Request(a,o)}function _e(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"===typeof n?n:n.name);return t}function Me(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Ue(e,t,r,n,a){let o,i={},s=null,l=!1,u={},c=r&&$e(r[1])?r[1].error:void 0;return e.forEach((r=>{if(!(r.route.id in t))return;let h=r.route.id,f=t[h];if(d(!Ve(f),"Cannot handle redirect results in processLoaderData"),$e(f)){let t=f.error;if(void 0!==c&&(t=c,c=void 0),s=s||{},a)s[h]=t;else{let r=Ne(e,h);null==s[r.route.id]&&(s[r.route.id]=t)}i[h]=void 0,l||(l=!0,o=ne(f.error)?f.error.status:500),f.headers&&(u[h]=f.headers)}else Ke(f)?(n.set(h,f.deferredData),i[h]=f.deferredData.data,null==f.statusCode||200===f.statusCode||l||(o=f.statusCode),f.headers&&(u[h]=f.headers)):(i[h]=f.data,f.statusCode&&200!==f.statusCode&&!l&&(o=f.statusCode),f.headers&&(u[h]=f.headers))})),void 0!==c&&r&&(s={[r[0]]:c},i[r[0]]=void 0),{loaderData:i,errors:s,statusCode:o||200,loaderHeaders:u}}function je(e,t,r,n,a,o,s){let{loaderData:l,errors:u}=Ue(t,r,n,s,!1);return a.forEach((t=>{let{key:r,match:n,controller:a}=t,s=o[r];if(d(s,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if($e(s)){let t=Ne(e.matches,null==n?void 0:n.route.id);u&&u[t.route.id]||(u=i({},u,{[t.route.id]:s.error})),e.fetchers.delete(r)}else if(Ve(s))d(!1,"Unhandled fetcher revalidation redirect");else if(Ke(s))d(!1,"Unhandled fetcher deferred data");else{let t=ot(s.data);e.fetchers.set(r,t)}})),{loaderData:l,errors:u}}function Oe(e,t,r,n){let a=i({},t);for(let o of r){let r=o.route.id;if(t.hasOwnProperty(r)?void 0!==t[r]&&(a[r]=t[r]):void 0!==e[r]&&o.route.loader&&(a[r]=e[r]),n&&n.hasOwnProperty(r))break}return a}function Fe(e){return e?$e(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Ne(e,t){return(t?e.slice(0,e.findIndex((e=>e.route.id===t))+1):[...e]).reverse().find((e=>!0===e.route.hasErrorBoundary))||e[0]}function Be(e){let t=1===e.length?e[0]:e.find((e=>e.index||!e.path||"/"===e.path))||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Ie(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=void 0===t?{}:t,s="Unknown Server Error",l="Unknown @remix-run/router error";return 400===e?(s="Bad Request",a&&r&&n?l="You made a "+a+' request to "'+r+'" but did not provide a `loader` for route "'+n+'", so there is no way to handle the request.':"defer-action"===o?l="defer() is not supported in actions":"invalid-body"===o&&(l="Unable to encode submission body")):403===e?(s="Forbidden",l='Route "'+n+'" does not match URL "'+r+'"'):404===e?(s="Not Found",l='No route matches URL "'+r+'"'):405===e&&(s="Method Not Allowed",a&&r&&n?l="You made a "+a.toUpperCase()+' request to "'+r+'" but did not provide an `action` for route "'+n+'", so there is no way to handle the request.':a&&(l='Invalid request method "'+a.toUpperCase()+'"')),new re(e||500,s,new Error(l),!0)}function ze(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[e,n]=t[r];if(Ve(n))return{key:e,result:n}}}function He(e){return m(i({},"string"===typeof e?v(e):e,{hash:""}))}function We(e){return qe(e.result)&&le.has(e.result.status)}function Ke(e){return e.type===g.deferred}function $e(e){return e.type===g.error}function Ve(e){return(e&&e.type)===g.redirect}function Je(e){return"object"===typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function qe(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"object"===typeof e.headers&&"undefined"!==typeof e.body}function Ye(e){return se.has(e.toLowerCase())}function Xe(e){return oe.has(e.toLowerCase())}async function Ge(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[s,l]=o[i],u=e.find((e=>(null==e?void 0:e.route.id)===s));if(!u)continue;let c=n.find((e=>e.route.id===u.route.id)),d=null!=c&&!Ee(c,u)&&void 0!==(a&&a[u.route.id]);Ke(l)&&d&&await Ze(l,r,!1).then((e=>{e&&(t[s]=e)}))}}async function Qe(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],s=t[a];e.find((e=>(null==e?void 0:e.route.id)===o))&&(Ke(s)&&(d(i,"Expected an AbortController for revalidating fetcher deferred result"),await Ze(s,i.signal,!0).then((e=>{e&&(t[a]=e)}))))}}async function Ze(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:g.data,data:e.deferredData.unwrappedData}}catch(n){return{type:g.error,error:n}}return{type:g.data,data:e.deferredData.data}}}function et(e){return new URLSearchParams(e).getAll("index").some((e=>""===e))}function tt(e,t){let r="string"===typeof t?v(t).search:t.search;if(e[e.length-1].route.index&&et(r||""))return e[e.length-1];let n=z(e);return n[n.length-1]}function rt(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n)return null!=a?{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a}:null!=o?{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0}:void 0!==i?{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}:void 0}function nt(e,t){if(t){return{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}return{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function at(e,t){if(e){return{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}}return{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function ot(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function it(){return it=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},it.apply(this,arguments)}const st=a.createContext(null);const lt=a.createContext(null);const ut=a.createContext(null);const ct=a.createContext(null);const dt=a.createContext(null);const ht=a.createContext({outlet:null,matches:[],isDataRoute:!1});const ft=a.createContext(null);function pt(e,t){let{relative:r}=void 0===t?{}:t;mt()||d(!1);let{basename:n,navigator:o}=a.useContext(ct),{hash:i,pathname:s,search:l}=Dt(e,{relative:r}),u=s;return"/"!==n&&(u="/"===s?n:K([n,s])),o.createHref({pathname:u,search:l,hash:i})}function mt(){return null!=a.useContext(dt)}function vt(){return mt()||d(!1),a.useContext(dt).location}function yt(){return a.useContext(dt).navigationType}function gt(e){mt()||d(!1);let{pathname:t}=vt();return a.useMemo((()=>O(e,F(t))),[t,e])}function bt(e){a.useContext(ct).static||a.useLayoutEffect(e)}function wt(){let{isDataRoute:e}=a.useContext(ht);return e?function(){let{router:e}=Ut(_t.UseNavigateStable),t=Ot(Mt.UseNavigateStable),r=a.useRef(!1);return bt((()=>{r.current=!0})),a.useCallback((function(n,a){void 0===a&&(a={}),r.current&&("number"===typeof n?e.navigate(n):e.navigate(n,it({fromRouteId:t},a)))}),[e,t])}():function(){mt()||d(!1);let e=a.useContext(st),{basename:t,future:r,navigator:n}=a.useContext(ct),{matches:o}=a.useContext(ht),{pathname:i}=vt(),s=JSON.stringify(H(o,r.v7_relativeSplatPath)),l=a.useRef(!1);return bt((()=>{l.current=!0})),a.useCallback((function(r,a){if(void 0===a&&(a={}),!l.current)return;if("number"===typeof r)return void n.go(r);let o=W(r,JSON.parse(s),i,"path"===a.relative);null==e&&"/"!==t&&(o.pathname="/"===o.pathname?t:K([t,o.pathname])),(a.replace?n.replace:n.push)(o,a.state,a)}),[t,n,s,i,e])}()}const St=a.createContext(null);function Et(){return a.useContext(St)}function Rt(e){let t=a.useContext(ht).outlet;return t?a.createElement(St.Provider,{value:e},t):t}function xt(){let{matches:e}=a.useContext(ht),t=e[e.length-1];return t?t.params:{}}function Dt(e,t){let{relative:r}=void 0===t?{}:t,{future:n}=a.useContext(ct),{matches:o}=a.useContext(ht),{pathname:i}=vt(),s=JSON.stringify(H(o,n.v7_relativeSplatPath));return a.useMemo((()=>W(e,JSON.parse(s),i,"path"===r)),[e,s,i,r])}function Ct(e,t){return Lt(e,t)}function Lt(e,t,r,o){mt()||d(!1);let{navigator:i}=a.useContext(ct),{matches:s}=a.useContext(ht),l=s[s.length-1],u=l?l.params:{},c=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let h,f=vt();if(t){var p;let e="string"===typeof t?v(t):t;"/"===c||(null==(p=e.pathname)?void 0:p.startsWith(c))||d(!1),h=e}else h=f;let m=h.pathname||"/",y=m;if("/"!==c){let e=c.replace(/^\//,"").split("/");y="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let g=S(e,{pathname:y});let b=At(g&&g.map((e=>Object.assign({},e,{params:Object.assign({},u,e.params),pathname:K([c,i.encodeLocation?i.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:K([c,i.encodeLocation?i.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),s,r,o);return t&&b?a.createElement(dt.Provider,{value:{location:it({pathname:"/",search:"",hash:"",state:null,key:"default"},h),navigationType:n.Pop}},b):b}const Pt=a.createElement((function(){let e=Kt(),t=ne(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n};return a.createElement(a.Fragment,null,a.createElement("h2",null,"Unexpected Application Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},t),r?a.createElement("pre",{style:o},r):null,null)}),null);class kt extends a.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?a.createElement(ht.Provider,{value:this.props.routeContext},a.createElement(ft.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Tt(e){let{routeContext:t,match:r,children:n}=e,o=a.useContext(st);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),a.createElement(ht.Provider,{value:t},n)}function At(e,t,r,n){var o;if(void 0===t&&(t=[]),void 0===r&&(r=null),void 0===n&&(n=null),null==e){var i;if(!r)return null;if(r.errors)e=r.matches;else{if(!(null!=(i=n)&&i.v7_partialHydration&&0===t.length&&!r.initialized&&r.matches.length>0))return null;e=r.matches}}let s=e,l=null==(o=r)?void 0:o.errors;if(null!=l){let e=s.findIndex((e=>e.route.id&&void 0!==(null==l?void 0:l[e.route.id])));e>=0||d(!1),s=s.slice(0,Math.min(s.length,e+1))}let u=!1,c=-1;if(r&&n&&n.v7_partialHydration)for(let a=0;a<s.length;a++){let e=s[a];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=a),e.route.id){let{loaderData:t,errors:n}=r,a=e.route.loader&&void 0===t[e.route.id]&&(!n||void 0===n[e.route.id]);if(e.route.lazy||a){u=!0,s=c>=0?s.slice(0,c+1):[s[0]];break}}}return s.reduceRight(((e,n,o)=>{let i,d=!1,h=null,f=null;var p;r&&(i=l&&n.route.id?l[n.route.id]:void 0,h=n.route.errorElement||Pt,u&&(c<0&&0===o?(p="route-fallback",!1||Yt[p]||(Yt[p]=!0),d=!0,f=null):c===o&&(d=!0,f=n.route.hydrateFallbackElement||null)));let m=t.concat(s.slice(0,o+1)),v=()=>{let t;return t=i?h:d?f:n.route.Component?a.createElement(n.route.Component,null):n.route.element?n.route.element:e,a.createElement(Tt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===o)?a.createElement(kt,{location:r.location,revalidation:r.revalidation,component:h,error:i,children:v(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):v()}),null)}var _t=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(_t||{}),Mt=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Mt||{});function Ut(e){let t=a.useContext(st);return t||d(!1),t}function jt(e){let t=a.useContext(lt);return t||d(!1),t}function Ot(e){let t=function(){let e=a.useContext(ht);return e||d(!1),e}(),r=t.matches[t.matches.length-1];return r.route.id||d(!1),r.route.id}function Ft(){return Ot(Mt.UseRouteId)}function Nt(){return jt(Mt.UseNavigation).navigation}function Bt(){let e=Ut(_t.UseRevalidator),t=jt(Mt.UseRevalidator);return a.useMemo((()=>({revalidate:e.router.revalidate,state:t.revalidation})),[e.router.revalidate,t.revalidation])}function It(){let{matches:e,loaderData:t}=jt(Mt.UseMatches);return a.useMemo((()=>e.map((e=>R(e,t)))),[e,t])}function zt(){let e=jt(Mt.UseLoaderData),t=Ot(Mt.UseLoaderData);if(!e.errors||null==e.errors[t])return e.loaderData[t];console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")")}function Ht(e){return jt(Mt.UseRouteLoaderData).loaderData[e]}function Wt(){let e=jt(Mt.UseActionData),t=Ot(Mt.UseLoaderData);return e.actionData?e.actionData[t]:void 0}function Kt(){var e;let t=a.useContext(ft),r=jt(Mt.UseRouteError),n=Ot(Mt.UseRouteError);return void 0!==t?t:null==(e=r.errors)?void 0:e[n]}function $t(){let e=a.useContext(ut);return null==e?void 0:e._data}function Vt(){let e=a.useContext(ut);return null==e?void 0:e._error}let Jt=0;function qt(e){let{router:t,basename:r}=Ut(_t.UseBlocker),n=jt(Mt.UseBlocker),[o,i]=a.useState(""),s=a.useCallback((t=>{if("function"!==typeof e)return!!e;if("/"===r)return e(t);let{currentLocation:n,nextLocation:a,historyAction:o}=t;return e({currentLocation:it({},n,{pathname:N(n.pathname,r)||n.pathname}),nextLocation:it({},a,{pathname:N(a.pathname,r)||a.pathname}),historyAction:o})}),[r,e]);return a.useEffect((()=>{let e=String(++Jt);return i(e),()=>t.deleteBlocker(e)}),[t]),a.useEffect((()=>{""!==o&&t.getBlocker(o,s)}),[t,o,s]),o&&n.blockers.has(o)?n.blockers.get(o):he}const Yt={};const Xt=a.startTransition;function Gt(e){let{basename:t,children:r,initialEntries:n,initialIndex:o,future:i}=e,s=a.useRef();null==s.current&&(s.current=l({initialEntries:n,initialIndex:o,v5Compat:!0}));let u=s.current,[c,d]=a.useState({action:u.action,location:u.location}),{v7_startTransition:h}=i||{},f=a.useCallback((e=>{h&&Xt?Xt((()=>d(e))):d(e)}),[d,h]);return a.useLayoutEffect((()=>u.listen(f)),[u,f]),a.createElement(tr,{basename:t,children:r,location:c.location,navigationType:c.action,navigator:u,future:i})}function Qt(e){let{to:t,replace:r,state:n,relative:o}=e;mt()||d(!1);let{future:i,static:s}=a.useContext(ct),{matches:l}=a.useContext(ht),{pathname:u}=vt(),c=wt(),h=W(t,H(l,i.v7_relativeSplatPath),u,"path"===o),f=JSON.stringify(h);return a.useEffect((()=>c(JSON.parse(f),{replace:r,state:n,relative:o})),[c,f,o,r,n]),null}function Zt(e){return Rt(e.context)}function er(e){d(!1)}function tr(e){let{basename:t="/",children:r=null,location:o,navigationType:i=n.Pop,navigator:s,static:l=!1,future:u}=e;mt()&&d(!1);let c=t.replace(/^\/*/,"/"),h=a.useMemo((()=>({basename:c,navigator:s,static:l,future:it({v7_relativeSplatPath:!1},u)})),[c,u,s,l]);"string"===typeof o&&(o=v(o));let{pathname:f="/",search:p="",hash:m="",state:y=null,key:g="default"}=o,b=a.useMemo((()=>{let e=N(f,c);return null==e?null:{location:{pathname:e,search:p,hash:m,state:y,key:g},navigationType:i}}),[c,f,p,m,y,g,i]);return null==b?null:a.createElement(ct.Provider,{value:h},a.createElement(dt.Provider,{children:r,value:b}))}function rr(e){let{children:t,location:r}=e;return Ct(lr(t),r)}function nr(e){let{children:t,errorElement:r,resolve:n}=e;return a.createElement(ir,{resolve:n,errorElement:r},a.createElement(sr,null,t))}var ar=function(e){return e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error",e}(ar||{});const or=new Promise((()=>{}));class ir extends a.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,o=ar.pending;if(r instanceof Promise)if(this.state.error){o=ar.error;let e=this.state.error;n=Promise.reject().catch((()=>{})),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?(n=r,o="_error"in n?ar.error:"_data"in n?ar.success:ar.pending):(o=ar.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then((e=>Object.defineProperty(r,"_data",{get:()=>e})),(e=>Object.defineProperty(r,"_error",{get:()=>e}))));else o=ar.success,n=Promise.resolve(),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(o===ar.error&&n._error instanceof Y)throw or;if(o===ar.error&&!t)throw n._error;if(o===ar.error)return a.createElement(ut.Provider,{value:n,children:t});if(o===ar.success)return a.createElement(ut.Provider,{value:n,children:e});throw n}}function sr(e){let{children:t}=e,r=$t(),n="function"===typeof t?t(r):t;return a.createElement(a.Fragment,null,n)}function lr(e,t){void 0===t&&(t=[]);let r=[];return a.Children.forEach(e,((e,n)=>{if(!a.isValidElement(e))return;let o=[...t,n];if(e.type===a.Fragment)return void r.push.apply(r,lr(e.props.children,o));e.type!==er&&d(!1),e.props.index&&e.props.children&&d(!1);let i={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(i.children=lr(e.props.children,o)),r.push(i)})),r}function ur(e){return At(e)}function cr(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:a.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:a.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:a.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function dr(e,t){return ve({basename:null==t?void 0:t.basename,future:it({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:l({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:e,mapRouteProperties:cr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation}).initialize()}function hr(){return hr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},hr.apply(this,arguments)}function fr(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}const pr="get",mr="application/x-www-form-urlencoded";function vr(e){return null!=e&&"string"===typeof e.tagName}function yr(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map((e=>[r,e])):[[r,n]])}),[]))}let gr=null;const br=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function wr(e){return null==e||br.has(e)?e:null}function Sr(e,t){let r,n,a,o,i;if(vr(s=e)&&"form"===s.tagName.toLowerCase()){let i=e.getAttribute("action");n=i?N(i,t):null,r=e.getAttribute("method")||pr,a=wr(e.getAttribute("enctype"))||mr,o=new FormData(e)}else if(function(e){return vr(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return vr(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||i.getAttribute("action");if(n=s?N(s,t):null,r=e.getAttribute("formmethod")||i.getAttribute("method")||pr,a=wr(e.getAttribute("formenctype"))||wr(i.getAttribute("enctype"))||mr,o=new FormData(i,e),!function(){if(null===gr)try{new FormData(document.createElement("form"),0),gr=!1}catch(e){gr=!0}return gr}()){let{name:t,type:r,value:n}=e;if("image"===r){let e=t?t+".":"";o.append(e+"x","0"),o.append(e+"y","0")}else t&&o.append(t,n)}}else{if(vr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=pr,n=null,a=mr,i=e}var s;return o&&"text/plain"===a&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}const Er=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Rr=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],xr=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(hn){}function Dr(e,t){return ve({basename:null==t?void 0:t.basename,future:hr({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:u({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||Lr(),routes:e,mapRouteProperties:cr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function Cr(e,t){return ve({basename:null==t?void 0:t.basename,future:hr({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:c({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||Lr(),routes:e,mapRouteProperties:cr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function Lr(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=hr({},t,{errors:Pr(t.errors)})),t}function Pr(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,a]of t)if(a&&"RouteErrorResponse"===a.__type)r[n]=new re(a.status,a.statusText,a.data,!0===a.internal);else if(a&&"Error"===a.__type){if(a.__subType){let e=window[a.__subType];if("function"===typeof e)try{let t=new e(a.message);t.stack="",r[n]=t}catch(hn){}}if(null==r[n]){let e=new Error(a.message);e.stack="",r[n]=e}}else r[n]=a;return r}const kr=a.createContext({isTransitioning:!1});const Tr=a.createContext(new Map);const Ar=a.startTransition,_r=o.flushSync,Mr=a.useId;function Ur(e){_r?_r(e):e()}class jr{constructor(){this.status="pending",this.promise=new Promise(((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}}))}}function Or(e){let{fallbackElement:t,router:r,future:n}=e,[o,i]=a.useState(r.state),[s,l]=a.useState(),[u,c]=a.useState({isTransitioning:!1}),[d,h]=a.useState(),[f,p]=a.useState(),[m,v]=a.useState(),y=a.useRef(new Map),{v7_startTransition:g}=n||{},b=a.useCallback((e=>{g?function(e){Ar?Ar(e):e()}(e):e()}),[g]),w=a.useCallback(((e,t)=>{let{deletedFetchers:n,flushSync:a,viewTransitionOpts:o}=t;n.forEach((e=>y.current.delete(e))),e.fetchers.forEach(((e,t)=>{void 0!==e.data&&y.current.set(t,e.data)}));let s=null==r.window||null==r.window.document||"function"!==typeof r.window.document.startViewTransition;if(o&&!s){if(a){Ur((()=>{f&&(d&&d.resolve(),f.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:o.currentLocation,nextLocation:o.nextLocation})}));let t=r.window.document.startViewTransition((()=>{Ur((()=>i(e)))}));return t.finished.finally((()=>{Ur((()=>{h(void 0),p(void 0),l(void 0),c({isTransitioning:!1})}))})),void Ur((()=>p(t)))}f?(d&&d.resolve(),f.skipTransition(),v({state:e,currentLocation:o.currentLocation,nextLocation:o.nextLocation})):(l(e),c({isTransitioning:!0,flushSync:!1,currentLocation:o.currentLocation,nextLocation:o.nextLocation}))}else a?Ur((()=>i(e))):b((()=>i(e)))}),[r.window,f,d,y,b]);a.useLayoutEffect((()=>r.subscribe(w)),[r,w]),a.useEffect((()=>{u.isTransitioning&&!u.flushSync&&h(new jr)}),[u]),a.useEffect((()=>{if(d&&s&&r.window){let e=s,t=d.promise,n=r.window.document.startViewTransition((async()=>{b((()=>i(e))),await t}));n.finished.finally((()=>{h(void 0),p(void 0),l(void 0),c({isTransitioning:!1})})),p(n)}}),[b,s,d,r.window]),a.useEffect((()=>{d&&s&&o.location.key===s.location.key&&d.resolve()}),[d,f,o.location,s]),a.useEffect((()=>{!u.isTransitioning&&m&&(l(m.state),c({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))}),[u.isTransitioning,m]),a.useEffect((()=>{}),[]);let S=a.useMemo((()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})})),[r]),E=r.basename||"/",R=a.useMemo((()=>({router:r,navigator:S,static:!1,basename:E})),[r,S,E]),x=a.useMemo((()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath})),[r.future.v7_relativeSplatPath]);return a.createElement(a.Fragment,null,a.createElement(st.Provider,{value:R},a.createElement(lt.Provider,{value:o},a.createElement(Tr.Provider,{value:y.current},a.createElement(kr.Provider,{value:u},a.createElement(tr,{basename:E,location:o.location,navigationType:o.historyAction,navigator:S,future:x},o.initialized||r.future.v7_partialHydration?a.createElement(Fr,{routes:r.routes,future:r.future,state:o}):t))))),null)}const Fr=a.memo((function(e){let{routes:t,future:r,state:n}=e;return Lt(t,void 0,n,r)}));function Nr(e){let{basename:t,children:r,future:n,window:o}=e,i=a.useRef();null==i.current&&(i.current=u({window:o,v5Compat:!0}));let s=i.current,[l,c]=a.useState({action:s.action,location:s.location}),{v7_startTransition:d}=n||{},h=a.useCallback((e=>{d&&Ar?Ar((()=>c(e))):c(e)}),[c,d]);return a.useLayoutEffect((()=>s.listen(h)),[s,h]),a.createElement(tr,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}function Br(e){let{basename:t,children:r,future:n,window:o}=e,i=a.useRef();null==i.current&&(i.current=c({window:o,v5Compat:!0}));let s=i.current,[l,u]=a.useState({action:s.action,location:s.location}),{v7_startTransition:d}=n||{},h=a.useCallback((e=>{d&&Ar?Ar((()=>u(e))):u(e)}),[u,d]);return a.useLayoutEffect((()=>s.listen(h)),[s,h]),a.createElement(tr,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}function Ir(e){let{basename:t,children:r,future:n,history:o}=e,[i,s]=a.useState({action:o.action,location:o.location}),{v7_startTransition:l}=n||{},u=a.useCallback((e=>{l&&Ar?Ar((()=>s(e))):s(e)}),[s,l]);return a.useLayoutEffect((()=>o.listen(u)),[o,u]),a.createElement(tr,{basename:t,children:r,location:i.location,navigationType:i.action,navigator:o,future:n})}const zr="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Hr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Wr=a.forwardRef((function(e,t){let r,{onClick:n,relative:o,reloadDocument:i,replace:s,state:l,target:u,to:c,preventScrollReset:d,viewTransition:h}=e,f=fr(e,Er),{basename:p}=a.useContext(ct),m=!1;if("string"===typeof c&&Hr.test(c)&&(r=c,zr))try{let e=new URL(window.location.href),t=c.startsWith("//")?new URL(e.protocol+c):new URL(c),r=N(t.pathname,p);t.origin===e.origin&&null!=r?c=r+t.search+t.hash:m=!0}catch(hn){}let v=pt(c,{relative:o}),y=Gr(c,{replace:s,state:l,target:u,preventScrollReset:d,relative:o,viewTransition:h});return a.createElement("a",hr({},f,{href:r||v,onClick:m||i?n:function(e){n&&n(e),e.defaultPrevented||y(e)},ref:t,target:u}))}));const Kr=a.forwardRef((function(e,t){let{"aria-current":r="page",caseSensitive:n=!1,className:o="",end:i=!1,style:s,to:l,viewTransition:u,children:c}=e,d=fr(e,Rr),h=Dt(l,{relative:d.relative}),f=vt(),p=a.useContext(lt),{navigator:m,basename:v}=a.useContext(ct),y=null!=p&&dn(h)&&!0===u,g=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,b=f.pathname,w=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;n||(b=b.toLowerCase(),w=w?w.toLowerCase():null,g=g.toLowerCase()),w&&v&&(w=N(w,v)||w);const S="/"!==g&&g.endsWith("/")?g.length-1:g.length;let E,R=b===g||!i&&b.startsWith(g)&&"/"===b.charAt(S),x=null!=w&&(w===g||!i&&w.startsWith(g)&&"/"===w.charAt(g.length)),D={isActive:R,isPending:x,isTransitioning:y},C=R?r:void 0;E="function"===typeof o?o(D):[o,R?"active":null,x?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let L="function"===typeof s?s(D):s;return a.createElement(Wr,hr({},d,{"aria-current":C,className:E,ref:t,style:L,to:l,viewTransition:u}),"function"===typeof c?c(D):c)}));const $r=a.forwardRef(((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:o,replace:i,state:s,method:l=pr,action:u,onSubmit:c,relative:d,preventScrollReset:h,viewTransition:f}=e,p=fr(e,xr),m=tn(),v=rn(u,{relative:d}),y="get"===l.toLowerCase()?"get":"post";return a.createElement("form",hr({ref:t,method:y,action:v,onSubmit:o?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter,a=(null==t?void 0:t.getAttribute("formmethod"))||l;m(t||e.currentTarget,{fetcherKey:r,method:a,navigate:n,replace:i,state:s,relative:d,preventScrollReset:h,viewTransition:f})}},p))}));function Vr(e){let{getKey:t,storageKey:r}=e;return ln({getKey:t,storageKey:r}),null}var Jr,qr;function Yr(e){let t=a.useContext(st);return t||d(!1),t}function Xr(e){let t=a.useContext(lt);return t||d(!1),t}function Gr(e,t){let{target:r,replace:n,state:o,preventScrollReset:i,relative:s,viewTransition:l}=void 0===t?{}:t,u=wt(),c=vt(),d=Dt(e,{relative:s});return a.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();let r=void 0!==n?n:m(c)===m(d);u(e,{replace:r,state:o,preventScrollReset:i,relative:s,viewTransition:l})}}),[c,u,d,n,o,r,e,i,s,l])}function Qr(e){let t=a.useRef(yr(e)),r=a.useRef(!1),n=vt(),o=a.useMemo((()=>function(e,t){let r=yr(e);return t&&t.forEach(((e,n)=>{r.has(n)||t.getAll(n).forEach((e=>{r.append(n,e)}))})),r}(n.search,r.current?null:t.current)),[n.search]),i=wt(),s=a.useCallback(((e,t)=>{const n=yr("function"===typeof e?e(o):e);r.current=!0,i("?"+n,t)}),[i,o]);return[o,s]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Jr||(Jr={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(qr||(qr={}));let Zr=0,en=()=>"__"+String(++Zr)+"__";function tn(){let{router:e}=Yr(Jr.UseSubmit),{basename:t}=a.useContext(ct),r=Ft();return a.useCallback((function(n,a){void 0===a&&(a={}),function(){if("undefined"===typeof document)throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}();let{action:o,method:i,encType:s,formData:l,body:u}=Sr(n,t);if(!1===a.navigate){let t=a.fetcherKey||en();e.fetch(t,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})}),[e,t,r])}function rn(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=a.useContext(ct),o=a.useContext(ht);o||d(!1);let[i]=o.matches.slice(-1),s=hr({},Dt(e||".",{relative:r})),l=vt();if(null==e){s.search=l.search;let e=new URLSearchParams(s.search),t=e.getAll("index");if(t.some((e=>""===e))){e.delete("index"),t.filter((e=>e)).forEach((t=>e.append("index",t)));let r=e.toString();s.search=r?"?"+r:""}}return e&&"."!==e||!i.route.index||(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(s.pathname="/"===s.pathname?n:K([n,s.pathname])),m(s)}function nn(e){var t;let{key:r}=void 0===e?{}:e,{router:n}=Yr(Jr.UseFetcher),o=Xr(qr.UseFetcher),i=a.useContext(Tr),s=a.useContext(ht),l=null==(t=s.matches[s.matches.length-1])?void 0:t.route.id;i||d(!1),s||d(!1),null==l&&d(!1);let u=Mr?Mr():"",[c,h]=a.useState(r||u);r&&r!==c?h(r):c||h(en()),a.useEffect((()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)})),[n,c]);let f=a.useCallback(((e,t)=>{l||d(!1),n.fetch(c,l,e,t)}),[c,l,n]),p=tn(),m=a.useCallback(((e,t)=>{p(e,hr({},t,{navigate:!1,fetcherKey:c}))}),[c,p]),v=a.useMemo((()=>a.forwardRef(((e,t)=>a.createElement($r,hr({},e,{navigate:!1,fetcherKey:c,ref:t}))))),[c]),y=o.fetchers.get(c)||de,g=i.get(c);return a.useMemo((()=>hr({Form:v,submit:m,load:f},y,{data:g})),[v,m,f,y,g])}function an(){let e=Xr(qr.UseFetchers);return Array.from(e.fetchers.entries()).map((e=>{let[t,r]=e;return hr({},r,{key:t})}))}const on="react-router-scroll-positions";let sn={};function ln(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=Yr(Jr.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:i}=Xr(qr.UseScrollRestoration),{basename:s}=a.useContext(ct),l=vt(),u=It(),c=Nt();a.useEffect((()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"})),[]),function(e,t){let{capture:r}=t||{};a.useEffect((()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("pagehide",e,t),()=>{window.removeEventListener("pagehide",e,t)}}),[e,r])}(a.useCallback((()=>{if("idle"===c.state){let e=(t?t(l,u):null)||l.key;sn[e]=window.scrollY}try{sessionStorage.setItem(r||on,JSON.stringify(sn))}catch(e){}window.history.scrollRestoration="auto"}),[r,t,c.state,l,u])),"undefined"!==typeof document&&(a.useLayoutEffect((()=>{try{let e=sessionStorage.getItem(r||on);e&&(sn=JSON.parse(e))}catch(hn){}}),[r]),a.useLayoutEffect((()=>{let e=t&&"/"!==s?(e,r)=>t(hr({},e,{pathname:N(e.pathname,s)||e.pathname}),r):t,r=null==n?void 0:n.enableScrollRestoration(sn,(()=>window.scrollY),e);return()=>r&&r()}),[n,s,t]),a.useLayoutEffect((()=>{if(!1!==o)if("number"!==typeof o){if(l.hash){let e=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(e)return void e.scrollIntoView()}!0!==i&&window.scrollTo(0,0)}else window.scrollTo(0,o)}),[l,o,i]))}function un(e,t){let{capture:r}=t||{};a.useEffect((()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("beforeunload",e,t),()=>{window.removeEventListener("beforeunload",e,t)}}),[e,r])}function cn(e){let{when:t,message:r}=e,n=qt(t);a.useEffect((()=>{if("blocked"===n.state){window.confirm(r)?setTimeout(n.proceed,0):n.reset()}}),[n,r]),a.useEffect((()=>{"blocked"!==n.state||t||n.reset()}),[n,t])}function dn(e,t){void 0===t&&(t={});let r=a.useContext(kr);null==r&&d(!1);let{basename:n}=Yr(Jr.useViewTransitionState),o=Dt(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=N(r.currentLocation.pathname,n)||r.currentLocation.pathname,s=N(r.nextLocation.pathname,n)||r.nextLocation.pathname;return null!=O(o.pathname,s)||null!=O(o.pathname,i)}}}]);
3
- //# sourceMappingURL=245.a2123b77.chunk.js.map
1
+ /*! For license information please see 245.24cc8621.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_kne_components_form_info=self.webpackChunk_kne_components_form_info||[]).push([[245],{53245:(e,t,r)=>{r.r(t),r.d(t,{AbortedDeferredError:()=>q,Await:()=>ir,BrowserRouter:()=>zr,Form:()=>Yr,HashRouter:()=>Hr,Link:()=>Vr,MemoryRouter:()=>er,NavLink:()=>Jr,Navigate:()=>tr,NavigationType:()=>n,Outlet:()=>rr,Route:()=>nr,Router:()=>ar,RouterProvider:()=>Br,Routes:()=>or,ScrollRestoration:()=>qr,UNSAFE_DataRouterContext:()=>st,UNSAFE_DataRouterStateContext:()=>lt,UNSAFE_ErrorResponseImpl:()=>re,UNSAFE_FetchersContext:()=>Mr,UNSAFE_LocationContext:()=>dt,UNSAFE_NavigationContext:()=>ct,UNSAFE_RouteContext:()=>ht,UNSAFE_ViewTransitionContext:()=>Ar,UNSAFE_useRouteId:()=>Ft,UNSAFE_useScrollRestoration:()=>dn,createBrowserRouter:()=>Lr,createHashRouter:()=>kr,createMemoryRouter:()=>pr,createPath:()=>m,createRoutesFromChildren:()=>dr,createRoutesFromElements:()=>dr,createSearchParams:()=>wr,defer:()=>Q,generatePath:()=>j,isRouteErrorResponse:()=>ne,json:()=>Y,matchPath:()=>O,matchRoutes:()=>S,parsePath:()=>v,redirect:()=>Z,redirectDocument:()=>ee,renderMatches:()=>hr,replace:()=>te,resolvePath:()=>B,unstable_HistoryRouter:()=>Wr,unstable_usePrompt:()=>fn,useActionData:()=>Wt,useAsyncError:()=>Vt,useAsyncValue:()=>$t,useBeforeUnload:()=>hn,useBlocker:()=>Yt,useFetcher:()=>sn,useFetchers:()=>ln,useFormAction:()=>on,useHref:()=>pt,useInRouterContext:()=>mt,useLinkClickHandler:()=>en,useLoaderData:()=>zt,useLocation:()=>vt,useMatch:()=>gt,useMatches:()=>It,useNavigate:()=>wt,useNavigation:()=>Nt,useNavigationType:()=>yt,useOutlet:()=>Rt,useOutletContext:()=>Et,useParams:()=>xt,useResolvedPath:()=>Dt,useRevalidator:()=>Bt,useRouteError:()=>Kt,useRouteLoaderData:()=>Ht,useRoutes:()=>Ct,useSearchParams:()=>tn,useSubmit:()=>an,useViewTransitionState:()=>pn});var n,a=r(94922),o=r(85714);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(n||(n={}));const s="popstate";function l(e){void 0===e&&(e={});let t,{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map(((e,t)=>d(e,"string"===typeof e?null:e.state,0===t?"default":void 0)));let i=u(null==a?t.length-1:a),s=n.Pop,l=null;function u(e){return Math.min(Math.max(e,0),t.length-1)}function c(){return t[i]}function d(e,r,n){void 0===r&&(r=null);let a=p(t?c().pathname:"/",e,r,n);return h("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function f(e){return"string"===typeof e?e:m(e)}return{get index(){return i},get action(){return s},get location(){return c()},createHref:f,createURL:e=>new URL(f(e),"http://localhost"),encodeLocation(e){let t="string"===typeof e?v(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){s=n.Push;let a=d(e,r);i+=1,t.splice(i,t.length,a),o&&l&&l({action:s,location:a,delta:1})},replace(e,r){s=n.Replace;let a=d(e,r);t[i]=a,o&&l&&l({action:s,location:a,delta:0})},go(e){s=n.Pop;let r=u(i+e),a=t[r];i=r,l&&l({action:s,location:a,delta:e})},listen:e=>(l=e,()=>{l=null})}}function u(e){return void 0===e&&(e={}),y((function(e,t){let{pathname:r,search:n,hash:a}=e.location;return p("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"===typeof t?t:m(t)}),null,e)}function c(e){return void 0===e&&(e={}),y((function(e,t){let{pathname:r="/",search:n="",hash:a=""}=v(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),p("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"===typeof t?t:m(t))}),(function(e,t){h("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}function d(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function h(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(r){}}}function f(e,t){return{usr:e.state,key:e.key,idx:t}}function p(e,t,r,n){return void 0===r&&(r=null),i({pathname:"string"===typeof e?e:e.pathname,search:"",hash:""},"string"===typeof t?v(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function m(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&"?"!==r&&(t+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(t+="#"===n.charAt(0)?n:"#"+n),t}function v(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function y(e,t,r,a){void 0===a&&(a={});let{window:o=document.defaultView,v5Compat:l=!1}=a,u=o.history,c=n.Pop,h=null,v=y();function y(){return(u.state||{idx:null}).idx}function g(){c=n.Pop;let e=y(),t=null==e?null:e-v;v=e,h&&h({action:c,location:w.location,delta:t})}function b(e){let t="null"!==o.location.origin?o.location.origin:o.location.href,r="string"===typeof e?e:m(e);return r=r.replace(/ $/,"%20"),d(t,"No window.location.(origin|href) available to create URL for href: "+r),new URL(r,t)}null==v&&(v=0,u.replaceState(i({},u.state,{idx:v}),""));let w={get action(){return c},get location(){return e(o,u)},listen(e){if(h)throw new Error("A history only accepts one active listener");return o.addEventListener(s,g),h=e,()=>{o.removeEventListener(s,g),h=null}},createHref:e=>t(o,e),createURL:b,encodeLocation(e){let t=b(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){c=n.Push;let a=p(w.location,e,t);r&&r(a,e),v=y()+1;let i=f(a,v),s=w.createHref(a);try{u.pushState(i,"",s)}catch(d){if(d instanceof DOMException&&"DataCloneError"===d.name)throw d;o.location.assign(s)}l&&h&&h({action:c,location:w.location,delta:1})},replace:function(e,t){c=n.Replace;let a=p(w.location,e,t);r&&r(a,e),v=y();let o=f(a,v),i=w.createHref(a);u.replaceState(o,"",i),l&&h&&h({action:c,location:w.location,delta:0})},go:e=>u.go(e)};return w}var g;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(g||(g={}));const b=new Set(["lazy","caseSensitive","path","id","index","children"]);function w(e,t,r,n){return void 0===r&&(r=[]),void 0===n&&(n={}),e.map(((e,a)=>{let o=[...r,String(a)],s="string"===typeof e.id?e.id:o.join("-");if(d(!0!==e.index||!e.children,"Cannot specify children on an index route"),d(!n[s],'Found a route id collision on id "'+s+"\". Route id's must be globally unique within Data Router usages"),function(e){return!0===e.index}(e)){let r=i({},e,t(e),{id:s});return n[s]=r,r}{let r=i({},e,t(e),{id:s,children:void 0});return n[s]=r,e.children&&(r.children=w(e.children,t,o,n)),r}}))}function S(e,t,r){return void 0===r&&(r="/"),E(e,t,r,!1)}function E(e,t,r,n){let a=N(("string"===typeof t?v(t):t).pathname||"/",r);if(null==a)return null;let o=x(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let r=e.length===t.length&&e.slice(0,-1).every(((e,r)=>e===t[r]));return r?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(o);let i=null;for(let s=0;null==i&&s<o.length;++s){let e=F(a);i=U(o[s],e,n)}return i}function R(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function x(e,t,r,n){void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n="");let a=(e,a,o)=>{let i={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};i.relativePath.startsWith("/")&&(d(i.relativePath.startsWith(n),'Absolute route path "'+i.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(n.length));let s=K([n,i.relativePath]),l=r.concat(i);e.children&&e.children.length>0&&(d(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),x(e.children,t,l,s)),(null!=e.path||e.index)&&t.push({path:s,score:M(s,e.index),routesMeta:l})};return e.forEach(((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let n of D(e.path))a(e,t,n);else a(e,t)})),t}function D(e){let t=e.split("/");if(0===t.length)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(0===n.length)return a?[o,""]:[o];let i=D(n.join("/")),s=[];return s.push(...i.map((e=>""===e?o:[o,e].join("/")))),a&&s.push(...i),s.map((t=>e.startsWith("/")&&""===t?"/":t))}const C=/^:[\w-]+$/,P=3,L=2,k=1,_=10,T=-2,A=e=>"*"===e;function M(e,t){let r=e.split("/"),n=r.length;return r.some(A)&&(n+=T),t&&(n+=L),r.filter((e=>!A(e))).reduce(((e,t)=>e+(C.test(t)?P:""===t?k:_)),n)}function U(e,t,r){void 0===r&&(r=!1);let{routesMeta:n}=e,a={},o="/",i=[];for(let s=0;s<n.length;++s){let e=n[s],l=s===n.length-1,u="/"===o?t:t.slice(o.length)||"/",c=O({path:e.relativePath,caseSensitive:e.caseSensitive,end:l},u),d=e.route;if(!c&&l&&r&&!n[n.length-1].route.index&&(c=O({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:K([o,c.pathname]),pathnameBase:$(K([o,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(o=K([o,c.pathnameBase]))}return i}function j(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(h(!1,'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),r=r.replace(/\*$/,"/*"));const n=r.startsWith("/")?"/":"",a=e=>null==e?"":"string"===typeof e?e:String(e);return n+r.split(/\/+/).map(((e,r,n)=>{if(r===n.length-1&&"*"===e){return a(t["*"])}const o=e.match(/^:([\w-]+)(\??)$/);if(o){const[,e,r]=o;let n=t[e];return d("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")})).filter((e=>!!e)).join("/")}function O(e,t){"string"===typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=function(e,t,r){void 0===t&&(t=!1);void 0===r&&(r=!0);h("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,((e,t,r)=>(n.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(n.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))");let o=new RegExp(a,t?void 0:"i");return[o,n]}(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),s=a.slice(1);return{params:n.reduce(((e,t,r)=>{let{paramName:n,isOptional:a}=t;if("*"===n){let e=s[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const l=s[r];return e[n]=a&&!l?void 0:(l||"").replace(/%2F/g,"/"),e}),{}),pathname:o,pathnameBase:i,pattern:e}}function F(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(t){return h(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function N(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function B(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:a=""}="string"===typeof e?v(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)})),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:V(n),hash:J(a)}}function I(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function z(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function H(e,t){let r=z(e);return t?r.map(((e,t)=>t===r.length-1?e.pathname:e.pathnameBase)):r.map((e=>e.pathnameBase))}function W(e,t,r,n){let a;void 0===n&&(n=!1),"string"===typeof e?a=v(e):(a=i({},e),d(!a.pathname||!a.pathname.includes("?"),I("?","pathname","search",a)),d(!a.pathname||!a.pathname.includes("#"),I("#","pathname","hash",a)),d(!a.search||!a.search.includes("#"),I("#","search","hash",a)));let o,s=""===e||""===a.pathname,l=s?"/":a.pathname;if(null==l)o=r;else{let e=t.length-1;if(!n&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=B(a,o),c=l&&"/"!==l&&l.endsWith("/"),h=(s||"."===l)&&r.endsWith("/");return u.pathname.endsWith("/")||!c&&!h||(u.pathname+="/"),u}const K=e=>e.join("/").replace(/\/\/+/g,"/"),$=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),V=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",J=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",Y=function(e,t){void 0===t&&(t={});let r="number"===typeof t?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),i({},r,{headers:n}))};class q extends Error{}class X{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],d(e&&"object"===typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise(((e,t)=>r=t)),this.controller=new AbortController;let n=()=>r(new q("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",n),this.controller.signal.addEventListener("abort",n),this.data=Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})}),{}),this.done&&this.unlistenAbortSignal(),this.init=t}trackPromise(e,t){if(!(t instanceof Promise))return t;this.deferredKeys.push(e),this.pendingKeysSet.add(e);let r=Promise.race([t,this.abortPromise]).then((t=>this.onSettle(r,e,void 0,t)),(t=>this.onSettle(r,e,t)));return r.catch((()=>{})),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof q)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);if(this.pendingKeysSet.delete(t),this.done&&this.unlistenAbortSignal(),void 0===r&&void 0===n){let r=new Error('Deferred data for key "'+t+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)}return void 0===n?(Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),this.emit(!1,t),n)}emit(e,t){this.subscribers.forEach((r=>r(e,t)))}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach(((e,t)=>this.pendingKeysSet.delete(t))),this.emit(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise((t=>{this.subscribe((n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)}))}))}return t}get done(){return 0===this.pendingKeysSet.size}get unwrappedData(){return d(null!==this.data&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:G(n)})}),{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}function G(e){if(!function(e){return e instanceof Promise&&!0===e._tracked}(e))return e;if(e._error)throw e._error;return e._data}const Q=function(e,t){return void 0===t&&(t={}),new X(e,"number"===typeof t?{status:t}:t)},Z=function(e,t){void 0===t&&(t=302);let r=t;"number"===typeof r?r={status:r}:"undefined"===typeof r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,i({},r,{headers:n}))},ee=(e,t)=>{let r=Z(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},te=(e,t)=>{let r=Z(e,t);return r.headers.set("X-Remix-Replace","true"),r};class re{constructor(e,t,r,n){void 0===n&&(n=!1),this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function ne(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const ae=["post","put","patch","delete"],oe=new Set(ae),ie=["get",...ae],se=new Set(ie),le=new Set([301,302,303,307,308]),ue=new Set([307,308]),ce={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},de={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},he={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},fe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,pe=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),me="remix-router-transitions";function ve(e){const t=e.window?e.window:"undefined"!==typeof window?window:void 0,r="undefined"!==typeof t&&"undefined"!==typeof t.document&&"undefined"!==typeof t.document.createElement,a=!r;let o;if(d(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let t=e.detectErrorBoundary;o=e=>({hasErrorBoundary:t(e)})}else o=pe;let s,l,u,c={},f=w(e.routes,o,void 0,c),m=e.basename||"/",v=e.dataStrategy||Ce,y=e.patchRoutesOnNavigation,b=i({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),x=null,D=new Set,C=null,P=null,L=null,k=null!=e.hydrationData,_=S(f,e.history.location,m),T=null;if(null==_&&!y){let t=Ie(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=Be(f);_=r,T={[n.id]:t}}if(_&&!e.hydrationData){ut(_,f,e.history.location.pathname).active&&(_=null)}if(_)if(_.some((e=>e.route.lazy)))l=!1;else if(_.some((e=>e.route.loader)))if(b.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,r=e.hydrationData?e.hydrationData.errors:null;if(r){let e=_.findIndex((e=>void 0!==r[e.route.id]));l=_.slice(0,e+1).every((e=>!Se(e.route,t,r)))}else l=_.every((e=>!Se(e.route,t,r)))}else l=null!=e.hydrationData;else l=!0;else if(l=!1,_=[],b.v7_partialHydration){let t=ut(null,f,e.history.location.pathname);t.active&&t.matches&&(_=t.matches)}let A,M,U={historyAction:e.history.action,location:e.history.location,matches:_,initialized:l,navigation:ce,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||T,fetchers:new Map,blockers:new Map},j=n.Pop,O=!1,F=!1,B=new Map,I=null,z=!1,H=!1,W=[],K=new Set,$=new Map,V=0,J=-1,Y=new Map,q=new Set,X=new Map,G=new Map,Q=new Set,Z=new Map,ee=new Map;function te(e,t){void 0===t&&(t={}),U=i({},U,e);let r=[],n=[];b.v7_fetcherPersist&&U.fetchers.forEach(((e,t)=>{"idle"===e.state&&(Q.has(t)?n.push(t):r.push(t))})),[...D].forEach((e=>e(U,{deletedFetchers:n,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync}))),b.v7_fetcherPersist&&(r.forEach((e=>U.fetchers.delete(e))),n.forEach((e=>De(e))))}function re(t,r,a){var o,l;let u,{flushSync:c}=void 0===a?{}:a,d=null!=U.actionData&&null!=U.navigation.formMethod&&Xe(U.navigation.formMethod)&&"loading"===U.navigation.state&&!0!==(null==(o=t.state)?void 0:o._isRedirect);u=r.actionData?Object.keys(r.actionData).length>0?r.actionData:null:d?U.actionData:null;let h=r.loaderData?Oe(U.loaderData,r.loaderData,r.matches||[],r.errors):U.loaderData,p=U.blockers;p.size>0&&(p=new Map(p),p.forEach(((e,t)=>p.set(t,he))));let m,v=!0===O||null!=U.navigation.formMethod&&Xe(U.navigation.formMethod)&&!0!==(null==(l=t.state)?void 0:l._isRedirect);if(s&&(f=s,s=void 0),z||j===n.Pop||(j===n.Push?e.history.push(t,t.state):j===n.Replace&&e.history.replace(t,t.state)),j===n.Pop){let e=B.get(U.location.pathname);e&&e.has(t.pathname)?m={currentLocation:U.location,nextLocation:t}:B.has(t.pathname)&&(m={currentLocation:t,nextLocation:U.location})}else if(F){let e=B.get(U.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),B.set(U.location.pathname,e)),m={currentLocation:U.location,nextLocation:t}}te(i({},r,{actionData:u,loaderData:h,historyAction:j,location:t,initialized:!0,navigation:ce,revalidation:"idle",restoreScrollPosition:lt(t,r.matches||U.matches),preventScrollReset:v,blockers:p}),{viewTransitionOpts:m,flushSync:!0===c}),j=n.Pop,O=!1,F=!1,z=!1,H=!1,W=[]}async function ae(t,r,a){A&&A.abort(),A=null,j=t,z=!0===(a&&a.startUninterruptedRevalidation),function(e,t){if(C&&L){let r=st(e,t);C[r]=L()}}(U.location,U.matches),O=!0===(a&&a.preventScrollReset),F=!0===(a&&a.enableViewTransition);let o=s||f,l=a&&a.overrideNavigation,u=S(o,r,m),c=!0===(a&&a.flushSync),d=ut(u,o,r.pathname);if(d.active&&d.matches&&(u=d.matches),!u){let{error:e,notFoundMatches:t,route:n}=et(r.pathname);return void re(r,{matches:t,loaderData:{},errors:{[n.id]:e}},{flushSync:c})}if(U.initialized&&!H&&function(e,t){if(e.pathname!==t.pathname||e.search!==t.search)return!1;if(""===e.hash)return""!==t.hash;if(e.hash===t.hash)return!0;if(""!==t.hash)return!0;return!1}(U.location,r)&&!(a&&a.submission&&Xe(a.submission.formMethod)))return void re(r,{matches:u},{flushSync:c});A=new AbortController;let h,p=Te(e.history,r,A.signal,a&&a.submission);if(a&&a.pendingError)h=[Ne(u).route.id,{type:g.error,error:a.pendingError}];else if(a&&a.submission&&Xe(a.submission.formMethod)){let t=await async function(e,t,r,a,o,i){void 0===i&&(i={});ve();let s,l=function(e,t){let r={state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text};return r}(t,r);if(te({navigation:l},{flushSync:!0===i.flushSync}),o){let r=await ct(a,t.pathname,e.signal);if("aborted"===r.type)return{shortCircuited:!0};if("error"===r.type){let e=Ne(r.partialMatches).route.id;return{matches:r.partialMatches,pendingActionResult:[e,{type:g.error,error:r.error}]}}if(!r.matches){let{notFoundMatches:e,error:r,route:n}=et(t.pathname);return{matches:e,pendingActionResult:[n.id,{type:g.error,error:r}]}}a=r.matches}let u=tt(a,t);if(u.route.action||u.route.lazy){if(s=(await se("action",U,e,[u],a,null))[u.route.id],e.signal.aborted)return{shortCircuited:!0}}else s={type:g.error,error:Ie(405,{method:e.method,pathname:t.pathname,routeId:u.route.id})};if(Ve(s)){let t;if(i&&null!=i.replace)t=i.replace;else{t=_e(s.response.headers.get("Location"),new URL(e.url),m)===U.location.pathname+U.location.search}return await ie(e,s,!0,{submission:r,replace:t}),{shortCircuited:!0}}if(Ke(s))throw Ie(400,{type:"defer-action"});if($e(s)){let e=Ne(a,u.route.id);return!0!==(i&&i.replace)&&(j=n.Push),{matches:a,pendingActionResult:[e.route.id,s]}}return{matches:a,pendingActionResult:[u.route.id,s]}}(p,r,a.submission,u,d.active,{replace:a.replace,flushSync:c});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,n]=t.pendingActionResult;if($e(n)&&ne(n.error)&&404===n.error.status)return A=null,void re(r,{matches:t.matches,loaderData:{},errors:{[e]:n.error}})}u=t.matches||u,h=t.pendingActionResult,l=nt(r,a.submission),c=!1,d.active=!1,p=Te(e.history,p.url,p.signal)}let{shortCircuited:v,matches:y,loaderData:w,errors:E}=await async function(t,r,n,a,o,l,u,c,d,h,p){let v=o||nt(r,l),y=l||u||rt(v),g=!z&&(!b.v7_partialHydration||!d);if(a){if(g){let e=oe(p);te(i({navigation:v},void 0!==e?{actionData:e}:{}),{flushSync:h})}let e=await ct(n,r.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=Ne(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(!e.matches){let{error:e,notFoundMatches:t,route:n}=et(r.pathname);return{matches:t,loaderData:{},errors:{[n.id]:e}}}n=e.matches}let w=s||f,[S,E]=we(e.history,U,n,y,r,b.v7_partialHydration&&!0===d,b.v7_skipActionErrorRevalidation,H,W,K,Q,X,q,w,m,p);if(it((e=>!(n&&n.some((t=>t.route.id===e)))||S&&S.some((t=>t.route.id===e)))),J=++V,0===S.length&&0===E.length){let e=Ue();return re(r,i({matches:n,loaderData:{},errors:p&&$e(p[1])?{[p[0]]:p[1].error}:null},Fe(p),e?{fetchers:new Map(U.fetchers)}:{}),{flushSync:h}),{shortCircuited:!0}}if(g){let e={};if(!a){e.navigation=v;let t=oe(p);void 0!==t&&(e.actionData=t)}E.length>0&&(e.fetchers=function(e){return e.forEach((e=>{let t=U.fetchers.get(e.key),r=at(void 0,t?t.data:void 0);U.fetchers.set(e.key,r)})),new Map(U.fetchers)}(E)),te(e,{flushSync:h})}E.forEach((e=>{Ae(e.key),e.controller&&$.set(e.key,e.controller)}));let R=()=>E.forEach((e=>Ae(e.key)));A&&A.signal.addEventListener("abort",R);let{loaderResults:x,fetcherResults:D}=await le(U,n,S,E,t);if(t.signal.aborted)return{shortCircuited:!0};A&&A.signal.removeEventListener("abort",R);E.forEach((e=>$.delete(e.key)));let C=ze(x);if(C)return await ie(t,C.result,!0,{replace:c}),{shortCircuited:!0};if(C=ze(D),C)return q.add(C.key),await ie(t,C.result,!0,{replace:c}),{shortCircuited:!0};let{loaderData:P,errors:L}=je(U,n,x,p,E,D,Z);Z.forEach(((e,t)=>{e.subscribe((r=>{(r||e.done)&&Z.delete(t)}))})),b.v7_partialHydration&&d&&U.errors&&(L=i({},U.errors,L));let k=Ue(),_=He(J),T=k||_||E.length>0;return i({matches:n,loaderData:P,errors:L},T?{fetchers:new Map(U.fetchers)}:{})}(p,r,u,d.active,l,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,a&&!0===a.initialHydration,c,h);v||(A=null,re(r,i({matches:y||u},Fe(h),{loaderData:w,errors:E})))}function oe(e){return e&&!$e(e[1])?{[e[0]]:e[1].data}:U.actionData?0===Object.keys(U.actionData).length?null:U.actionData:void 0}async function ie(a,o,s,l){let{submission:u,fetcherSubmission:c,preventScrollReset:h,replace:f}=void 0===l?{}:l;o.response.headers.has("X-Remix-Revalidate")&&(H=!0);let v=o.response.headers.get("Location");d(v,"Expected a Location header on the redirect Response"),v=_e(v,new URL(a.url),m);let y=p(U.location,v,{_isRedirect:!0});if(r){let r=!1;if(o.response.headers.has("X-Remix-Reload-Document"))r=!0;else if(fe.test(v)){const n=e.history.createURL(v);r=n.origin!==t.location.origin||null==N(n.pathname,m)}if(r)return void(f?t.location.replace(v):t.location.assign(v))}A=null;let g=!0===f||o.response.headers.has("X-Remix-Replace")?n.Replace:n.Push,{formMethod:b,formAction:w,formEncType:S}=U.navigation;!u&&!c&&b&&w&&S&&(u=rt(U.navigation));let E=u||c;if(ue.has(o.response.status)&&E&&Xe(E.formMethod))await ae(g,y,{submission:i({},E,{formAction:v}),preventScrollReset:h||O,enableViewTransition:s?F:void 0});else{let e=nt(y,u);await ae(g,y,{overrideNavigation:e,fetcherSubmission:c,preventScrollReset:h||O,enableViewTransition:s?F:void 0})}}async function se(e,t,r,n,a,i){let s,l={};try{s=await Pe(v,e,t,r,n,a,i,c,o)}catch(u){return n.forEach((e=>{l[e.route.id]={type:g.error,error:u}})),l}for(let[o,c]of Object.entries(s))if(We(c)){let e=c.result;l[o]={type:g.redirect,response:ke(e,r,o,a,m,b.v7_relativeSplatPath)}}else l[o]=await Le(c);return l}async function le(t,r,n,a,o){let i=t.matches,s=se("loader",t,o,n,r,null),l=Promise.all(a.map((async r=>{if(r.matches&&r.match&&r.controller){let n=(await se("loader",t,Te(e.history,r.path,r.controller.signal),[r.match],r.matches,r.key))[r.match.route.id];return{[r.key]:n}}return Promise.resolve({[r.key]:{type:g.error,error:Ie(404,{pathname:r.path})}})}))),u=await s,c=(await l).reduce(((e,t)=>Object.assign(e,t)),{});return await Promise.all([Ge(r,u,o.signal,i,t.loaderData),Qe(r,c,a)]),{loaderResults:u,fetcherResults:c}}function ve(){H=!0,W.push(...it()),X.forEach(((e,t)=>{$.has(t)&&K.add(t),Ae(t)}))}function be(e,t,r){void 0===r&&(r={}),U.fetchers.set(e,t),te({fetchers:new Map(U.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function Ee(e,t,r,n){void 0===n&&(n={});let a=Ne(U.matches,t);De(e),te({errors:{[a.route.id]:r},fetchers:new Map(U.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function Re(e){return b.v7_fetcherPersist&&(G.set(e,(G.get(e)||0)+1),Q.has(e)&&Q.delete(e)),U.fetchers.get(e)||de}function De(e){let t=U.fetchers.get(e);!$.has(e)||t&&"loading"===t.state&&Y.has(e)||Ae(e),X.delete(e),Y.delete(e),q.delete(e),Q.delete(e),K.delete(e),U.fetchers.delete(e)}function Ae(e){let t=$.get(e);t&&(t.abort(),$.delete(e))}function Me(e){for(let t of e){let e=ot(Re(t).data);U.fetchers.set(t,e)}}function Ue(){let e=[],t=!1;for(let r of q){let n=U.fetchers.get(r);d(n,"Expected fetcher: "+r),"loading"===n.state&&(q.delete(r),e.push(r),t=!0)}return Me(e),t}function He(e){let t=[];for(let[r,n]of Y)if(n<e){let e=U.fetchers.get(r);d(e,"Expected fetcher: "+r),"loading"===e.state&&(Ae(r),Y.delete(r),t.push(r))}return Me(t),t.length>0}function Je(e){U.blockers.delete(e),ee.delete(e)}function Ye(e,t){let r=U.blockers.get(e)||he;d("unblocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"proceeding"===t.state||"blocked"===r.state&&"unblocked"===t.state||"proceeding"===r.state&&"unblocked"===t.state,"Invalid blocker state transition: "+r.state+" -> "+t.state);let n=new Map(U.blockers);n.set(e,t),te({blockers:n})}function qe(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===ee.size)return;ee.size>1&&h(!1,"A router only supports one blocker at a time");let a=Array.from(ee.entries()),[o,i]=a[a.length-1],s=U.blockers.get(o);return s&&"proceeding"===s.state?void 0:i({currentLocation:t,nextLocation:r,historyAction:n})?o:void 0}function et(e){let t=Ie(404,{pathname:e}),r=s||f,{matches:n,route:a}=Be(r);return it(),{notFoundMatches:n,route:a,error:t}}function it(e){let t=[];return Z.forEach(((r,n)=>{e&&!e(n)||(r.cancel(),t.push(n),Z.delete(n))})),t}function st(e,t){if(P){return P(e,t.map((e=>R(e,U.loaderData))))||e.key}return e.key}function lt(e,t){if(C){let r=st(e,t),n=C[r];if("number"===typeof n)return n}return null}function ut(e,t,r){if(y){if(!e){return{active:!0,matches:E(t,r,m,!0)||[]}}if(Object.keys(e[0].params).length>0){return{active:!0,matches:E(t,r,m,!0)}}}return{active:!1,matches:null}}async function ct(e,t,r){if(!y)return{type:"success",matches:e};let n=e;for(;;){let e=null==s,i=s||f,l=c;try{await y({path:t,matches:n,patch:(e,t)=>{r.aborted||xe(e,t,i,l,o)}})}catch(a){return{type:"error",error:a,partialMatches:n}}finally{e&&!r.aborted&&(f=[...f])}if(r.aborted)return{type:"aborted"};let u=S(i,t,m);if(u)return{type:"success",matches:u};let d=E(i,t,m,!0);if(!d||n.length===d.length&&n.every(((e,t)=>e.route.id===d[t].route.id)))return{type:"success",matches:null};n=d}}return u={get basename(){return m},get future(){return b},get state(){return U},get routes(){return f},get window(){return t},initialize:function(){if(x=e.history.listen((t=>{let{action:r,location:n,delta:a}=t;if(M)return M(),void(M=void 0);h(0===ee.size||null!=a,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let o=qe({currentLocation:U.location,nextLocation:n,historyAction:r});if(o&&null!=a){let t=new Promise((e=>{M=e}));return e.history.go(-1*a),void Ye(o,{state:"blocked",location:n,proceed(){Ye(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),t.then((()=>e.history.go(a)))},reset(){let e=new Map(U.blockers);e.set(o,he),te({blockers:e})}})}return ae(r,n)})),r){!function(e,t){try{let r=e.sessionStorage.getItem(me);if(r){let e=JSON.parse(r);for(let[r,n]of Object.entries(e||{}))n&&Array.isArray(n)&&t.set(r,new Set(n||[]))}}catch(r){}}(t,B);let e=()=>function(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(me,JSON.stringify(n))}catch(r){h(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}(t,B);t.addEventListener("pagehide",e),I=()=>t.removeEventListener("pagehide",e)}return U.initialized||ae(n.Pop,U.location,{initialHydration:!0}),u},subscribe:function(e){return D.add(e),()=>D.delete(e)},enableScrollRestoration:function(e,t,r){if(C=e,L=t,P=r||null,!k&&U.navigation===ce){k=!0;let e=lt(U.location,U.matches);null!=e&&te({restoreScrollPosition:e})}return()=>{C=null,L=null,P=null}},navigate:async function t(r,a){if("number"===typeof r)return void e.history.go(r);let o=ye(U.location,U.matches,m,b.v7_prependBasename,r,b.v7_relativeSplatPath,null==a?void 0:a.fromRouteId,null==a?void 0:a.relative),{path:s,submission:l,error:u}=ge(b.v7_normalizeFormMethod,!1,o,a),c=U.location,d=p(U.location,s,a&&a.state);d=i({},d,e.history.encodeLocation(d));let h=a&&null!=a.replace?a.replace:void 0,f=n.Push;!0===h?f=n.Replace:!1===h||null!=l&&Xe(l.formMethod)&&l.formAction===U.location.pathname+U.location.search&&(f=n.Replace);let v=a&&"preventScrollReset"in a?!0===a.preventScrollReset:void 0,y=!0===(a&&a.flushSync),g=qe({currentLocation:c,nextLocation:d,historyAction:f});if(!g)return await ae(f,d,{submission:l,pendingError:u,preventScrollReset:v,replace:a&&a.replace,enableViewTransition:a&&a.viewTransition,flushSync:y});Ye(g,{state:"blocked",location:d,proceed(){Ye(g,{state:"proceeding",proceed:void 0,reset:void 0,location:d}),t(r,a)},reset(){let e=new Map(U.blockers);e.set(g,he),te({blockers:e})}})},fetch:function(t,r,n,o){if(a)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");Ae(t);let i=!0===(o&&o.flushSync),l=s||f,u=ye(U.location,U.matches,m,b.v7_prependBasename,n,b.v7_relativeSplatPath,r,null==o?void 0:o.relative),c=S(l,u,m),h=ut(c,l,u);if(h.active&&h.matches&&(c=h.matches),!c)return void Ee(t,r,Ie(404,{pathname:u}),{flushSync:i});let{path:p,submission:v,error:y}=ge(b.v7_normalizeFormMethod,!0,u,o);if(y)return void Ee(t,r,y,{flushSync:i});let g=tt(c,p),w=!0===(o&&o.preventScrollReset);v&&Xe(v.formMethod)?async function(t,r,n,a,o,i,l,u,c){function h(e){if(!e.route.action&&!e.route.lazy){let e=Ie(405,{method:c.formMethod,pathname:n,routeId:r});return Ee(t,r,e,{flushSync:l}),!0}return!1}if(ve(),X.delete(t),!i&&h(a))return;let p=U.fetchers.get(t);be(t,function(e,t){let r={state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0};return r}(c,p),{flushSync:l});let v=new AbortController,y=Te(e.history,n,v.signal,c);if(i){let e=await ct(o,n,y.signal);if("aborted"===e.type)return;if("error"===e.type)return void Ee(t,r,e.error,{flushSync:l});if(!e.matches)return void Ee(t,r,Ie(404,{pathname:n}),{flushSync:l});if(h(a=tt(o=e.matches,n)))return}$.set(t,v);let g=V,w=await se("action",U,y,[a],o,t),E=w[a.route.id];if(y.signal.aborted)return void($.get(t)===v&&$.delete(t));if(b.v7_fetcherPersist&&Q.has(t)){if(Ve(E)||$e(E))return void be(t,ot(void 0))}else{if(Ve(E))return $.delete(t),J>g?void be(t,ot(void 0)):(q.add(t),be(t,at(c)),ie(y,E,!1,{fetcherSubmission:c,preventScrollReset:u}));if($e(E))return void Ee(t,r,E.error)}if(Ke(E))throw Ie(400,{type:"defer-action"});let R=U.navigation.location||U.location,x=Te(e.history,R,v.signal),D=s||f,C="idle"!==U.navigation.state?S(D,U.navigation.location,m):U.matches;d(C,"Didn't find any matches after fetcher action");let P=++V;Y.set(t,P);let L=at(c,E.data);U.fetchers.set(t,L);let[k,_]=we(e.history,U,C,c,R,!1,b.v7_skipActionErrorRevalidation,H,W,K,Q,X,q,D,m,[a.route.id,E]);_.filter((e=>e.key!==t)).forEach((e=>{let t=e.key,r=U.fetchers.get(t),n=at(void 0,r?r.data:void 0);U.fetchers.set(t,n),Ae(t),e.controller&&$.set(t,e.controller)})),te({fetchers:new Map(U.fetchers)});let T=()=>_.forEach((e=>Ae(e.key)));v.signal.addEventListener("abort",T);let{loaderResults:M,fetcherResults:O}=await le(U,C,k,_,x);if(v.signal.aborted)return;v.signal.removeEventListener("abort",T),Y.delete(t),$.delete(t),_.forEach((e=>$.delete(e.key)));let F=ze(M);if(F)return ie(x,F.result,!1,{preventScrollReset:u});if(F=ze(O),F)return q.add(F.key),ie(x,F.result,!1,{preventScrollReset:u});let{loaderData:N,errors:B}=je(U,C,M,void 0,_,O,Z);if(U.fetchers.has(t)){let e=ot(E.data);U.fetchers.set(t,e)}He(P),"loading"===U.navigation.state&&P>J?(d(j,"Expected pending action"),A&&A.abort(),re(U.navigation.location,{matches:C,loaderData:N,errors:B,fetchers:new Map(U.fetchers)})):(te({errors:B,loaderData:Oe(U.loaderData,N,C,B),fetchers:new Map(U.fetchers)}),H=!1)}(t,r,p,g,c,h.active,i,w,v):(X.set(t,{routeId:r,path:p}),async function(t,r,n,a,o,i,s,l,u){let c=U.fetchers.get(t);be(t,at(u,c?c.data:void 0),{flushSync:s});let h=new AbortController,f=Te(e.history,n,h.signal);if(i){let e=await ct(o,n,f.signal);if("aborted"===e.type)return;if("error"===e.type)return void Ee(t,r,e.error,{flushSync:s});if(!e.matches)return void Ee(t,r,Ie(404,{pathname:n}),{flushSync:s});a=tt(o=e.matches,n)}$.set(t,h);let p=V,m=await se("loader",U,f,[a],o,t),v=m[a.route.id];Ke(v)&&(v=await Ze(v,f.signal,!0)||v);$.get(t)===h&&$.delete(t);if(f.signal.aborted)return;if(Q.has(t))return void be(t,ot(void 0));if(Ve(v))return J>p?void be(t,ot(void 0)):(q.add(t),void await ie(f,v,!1,{preventScrollReset:l}));if($e(v))return void Ee(t,r,v.error);d(!Ke(v),"Unhandled fetcher deferred data"),be(t,ot(v.data))}(t,r,p,g,c,h.active,i,w,v))},revalidate:function(){ve(),te({revalidation:"loading"}),"submitting"!==U.navigation.state&&("idle"!==U.navigation.state?ae(j||U.historyAction,U.navigation.location,{overrideNavigation:U.navigation,enableViewTransition:!0===F}):ae(U.historyAction,U.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Re,deleteFetcher:function(e){if(b.v7_fetcherPersist){let t=(G.get(e)||0)-1;t<=0?(G.delete(e),Q.add(e)):G.set(e,t)}else De(e);te({fetchers:new Map(U.fetchers)})},dispose:function(){x&&x(),I&&I(),D.clear(),A&&A.abort(),U.fetchers.forEach(((e,t)=>De(t))),U.blockers.forEach(((e,t)=>Je(t)))},getBlocker:function(e,t){let r=U.blockers.get(e)||he;return ee.get(e)!==t&&ee.set(e,t),r},deleteBlocker:Je,patchRoutes:function(e,t){let r=null==s;xe(e,t,s||f,c,o),r&&(f=[...f],te({}))},_internalFetchControllers:$,_internalActiveDeferreds:Z,_internalSetRoutes:function(e){c={},s=w(e,o,void 0,c)}},u}Symbol("deferred");function ye(e,t,r,n,a,o,i,s){let l,u;if(i){l=[];for(let e of t)if(l.push(e),e.route.id===i){u=e;break}}else l=t,u=t[t.length-1];let c=W(a||".",H(l,o),N(e.pathname,r)||e.pathname,"path"===s);if(null==a&&(c.search=e.search,c.hash=e.hash),(null==a||""===a||"."===a)&&u){let e=et(c.search);if(u.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll("index");e.delete("index"),t.filter((e=>e)).forEach((t=>e.append("index",t)));let r=e.toString();c.search=r?"?"+r:""}}return n&&"/"!==r&&(c.pathname="/"===c.pathname?r:K([r,c.pathname])),m(c)}function ge(e,t,r,n){if(!n||!function(e){return null!=e&&("formData"in e&&null!=e.formData||"body"in e&&void 0!==e.body)}(n))return{path:r};if(n.formMethod&&!qe(n.formMethod))return{path:r,error:Ie(405,{method:n.formMethod})};let a,o,i=()=>({path:r,error:Ie(400,{type:"invalid-body"})}),s=n.formMethod||"get",l=e?s.toUpperCase():s.toLowerCase(),u=He(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!Xe(l))return i();let e="string"===typeof n.body?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce(((e,t)=>{let[r,n]=t;return""+e+r+"="+n+"\n"}),""):String(n.body);return{path:r,submission:{formMethod:l,formAction:u,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}if("application/json"===n.formEncType){if(!Xe(l))return i();try{let e="string"===typeof n.body?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:l,formAction:u,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(f){return i()}}}if(d("function"===typeof FormData,"FormData is not available in this environment"),n.formData)a=Ae(n.formData),o=n.formData;else if(n.body instanceof FormData)a=Ae(n.body),o=n.body;else if(n.body instanceof URLSearchParams)a=n.body,o=Me(a);else if(null==n.body)a=new URLSearchParams,o=new FormData;else try{a=new URLSearchParams(n.body),o=Me(a)}catch(f){return i()}let c={formMethod:l,formAction:u,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:o,json:void 0,text:void 0};if(Xe(c.formMethod))return{path:r,submission:c};let h=v(r);return t&&h.search&&et(h.search)&&a.append("index",""),h.search="?"+a,{path:m(h),submission:c}}function be(e,t,r){void 0===r&&(r=!1);let n=e.findIndex((e=>e.route.id===t));return n>=0?e.slice(0,r?n+1:n):e}function we(e,t,r,n,a,o,s,l,u,c,d,h,f,p,m,v){let y=v?$e(v[1])?v[1].error:v[1].data:void 0,g=e.createURL(t.location),b=e.createURL(a),w=r;o&&t.errors?w=be(r,Object.keys(t.errors)[0],!0):v&&$e(v[1])&&(w=be(r,v[0]));let E=v?v[1].statusCode:void 0,R=s&&E&&E>=400,x=w.filter(((e,r)=>{let{route:a}=e;if(a.lazy)return!0;if(null==a.loader)return!1;if(o)return Se(a,t.loaderData,t.errors);if(function(e,t,r){let n=!t||r.route.id!==t.route.id,a=void 0===e[r.route.id];return n||a}(t.loaderData,t.matches[r],e)||u.some((t=>t===e.route.id)))return!0;let s=t.matches[r],c=e;return Re(e,i({currentUrl:g,currentParams:s.params,nextUrl:b,nextParams:c.params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!R&&(l||g.pathname+g.search===b.pathname+b.search||g.search!==b.search||Ee(s,c))}))})),D=[];return h.forEach(((e,a)=>{if(o||!r.some((t=>t.route.id===e.routeId))||d.has(a))return;let s=S(p,e.path,m);if(!s)return void D.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let u=t.fetchers.get(a),h=tt(s,e.path),v=!1;f.has(a)?v=!1:c.has(a)?(c.delete(a),v=!0):v=u&&"idle"!==u.state&&void 0===u.data?l:Re(h,i({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:b,nextParams:r[r.length-1].params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!R&&l})),v&&D.push({key:a,routeId:e.routeId,path:e.path,matches:s,match:h,controller:new AbortController})})),[x,D]}function Se(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=null!=t&&void 0!==t[e.id],a=null!=r&&void 0!==r[e.id];return!(!n&&a)&&("function"===typeof e.loader&&!0===e.loader.hydrate||!n&&!a)}function Ee(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Re(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"===typeof r)return r}return t.defaultShouldRevalidate}function xe(e,t,r,n,a){var o;let i;if(e){let t=n[e];d(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=r;let s=w(t.filter((e=>!i.some((t=>De(e,t))))),a,[e||"_","patch",String((null==(o=i)?void 0:o.length)||"0")],n);i.push(...s)}function De(e,t){return"id"in e&&"id"in t&&e.id===t.id||e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive&&(!(e.children&&0!==e.children.length||t.children&&0!==t.children.length)||e.children.every(((e,r)=>{var n;return null==(n=t.children)?void 0:n.some((t=>De(e,t)))})))}async function Ce(e){let{matches:t}=e,r=t.filter((e=>e.shouldLoad));return(await Promise.all(r.map((e=>e.resolve())))).reduce(((e,t,n)=>Object.assign(e,{[r[n].route.id]:t})),{})}async function Pe(e,t,r,n,a,o,s,l,u,c){let f=o.map((e=>e.route.lazy?async function(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];d(a,"No route found in manifest");let o={};for(let i in n){let e=void 0!==a[i]&&"hasErrorBoundary"!==i;h(!e,'Route "'+a.id+'" has a static property "'+i+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+i+'" will be ignored.'),e||b.has(i)||(o[i]=n[i])}Object.assign(a,o),Object.assign(a,i({},t(a),{lazy:void 0}))}(e.route,u,l):void 0)),p=o.map(((e,r)=>{let o=f[r],s=a.some((t=>t.route.id===e.route.id));return i({},e,{shouldLoad:s,resolve:async r=>(r&&"GET"===n.method&&(e.route.lazy||e.route.loader)&&(s=!0),s?async function(e,t,r,n,a,o){let i,s,l=n=>{let i,l=new Promise(((e,t)=>i=t));s=()=>i(),t.signal.addEventListener("abort",s);let u=a=>"function"!==typeof n?Promise.reject(new Error('You cannot call the handler for a route which defines a boolean "'+e+'" [routeId: '+r.route.id+"]")):n({request:t,params:r.params,context:o},...void 0!==a?[a]:[]),c=(async()=>{try{return{type:"data",result:await(a?a((e=>u(e))):u())}}catch(e){return{type:"error",result:e}}})();return Promise.race([c,l])};try{let a=r.route[e];if(n)if(a){let e,[t]=await Promise.all([l(a).catch((t=>{e=t})),n]);if(void 0!==e)throw e;i=t}else{if(await n,a=r.route[e],!a){if("action"===e){let e=new URL(t.url),n=e.pathname+e.search;throw Ie(405,{method:t.method,pathname:n,routeId:r.route.id})}return{type:g.data,result:void 0}}i=await l(a)}else{if(!a){let e=new URL(t.url);throw Ie(404,{pathname:e.pathname+e.search})}i=await l(a)}d(void 0!==i.result,"You defined "+("action"===e?"an action":"a loader")+' for route "'+r.route.id+"\" but didn't return anything from your `"+e+"` function. Please return a value or `null`.")}catch(u){return{type:g.error,result:u}}finally{s&&t.signal.removeEventListener("abort",s)}return i}(t,n,e,o,r,c):Promise.resolve({type:g.data,result:void 0}))})})),m=await e({matches:p,request:n,params:o[0].params,fetcherKey:s,context:c});try{await Promise.all(f)}catch(v){}return m}async function Le(e){let{result:t,type:r}=e;if(Ye(t)){let e;try{let r=t.headers.get("Content-Type");e=r&&/\bapplication\/json\b/.test(r)?null==t.body?null:await t.json():await t.text()}catch(u){return{type:g.error,error:u}}return r===g.error?{type:g.error,error:new re(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:g.data,data:e,statusCode:t.status,headers:t.headers}}if(r===g.error){if(Je(t)){var n,a;if(t.data instanceof Error)return{type:g.error,error:t.data,statusCode:null==(a=t.init)?void 0:a.status};t=new re((null==(n=t.init)?void 0:n.status)||500,void 0,t.data)}return{type:g.error,error:t,statusCode:ne(t)?t.status:void 0}}var o,i,s,l;return function(e){let t=e;return t&&"object"===typeof t&&"object"===typeof t.data&&"function"===typeof t.subscribe&&"function"===typeof t.cancel&&"function"===typeof t.resolveData}(t)?{type:g.deferred,deferredData:t,statusCode:null==(o=t.init)?void 0:o.status,headers:(null==(i=t.init)?void 0:i.headers)&&new Headers(t.init.headers)}:Je(t)?{type:g.data,data:t.data,statusCode:null==(s=t.init)?void 0:s.status,headers:null!=(l=t.init)&&l.headers?new Headers(t.init.headers):void 0}:{type:g.data,data:t}}function ke(e,t,r,n,a,o){let i=e.headers.get("Location");if(d(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!fe.test(i)){let s=n.slice(0,n.findIndex((e=>e.route.id===r))+1);i=ye(new URL(t.url),s,a,!0,i,o),e.headers.set("Location",i)}return e}function _e(e,t,r){if(fe.test(e)){let n=e,a=n.startsWith("//")?new URL(t.protocol+n):new URL(n),o=null!=N(a.pathname,r);if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}return e}function Te(e,t,r,n){let a=e.createURL(He(t)).toString(),o={signal:r};if(n&&Xe(n.formMethod)){let{formMethod:e,formEncType:t}=n;o.method=e.toUpperCase(),"application/json"===t?(o.headers=new Headers({"Content-Type":t}),o.body=JSON.stringify(n.json)):"text/plain"===t?o.body=n.text:"application/x-www-form-urlencoded"===t&&n.formData?o.body=Ae(n.formData):o.body=n.formData}return new Request(a,o)}function Ae(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"===typeof n?n:n.name);return t}function Me(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Ue(e,t,r,n,a){let o,i={},s=null,l=!1,u={},c=r&&$e(r[1])?r[1].error:void 0;return e.forEach((r=>{if(!(r.route.id in t))return;let h=r.route.id,f=t[h];if(d(!Ve(f),"Cannot handle redirect results in processLoaderData"),$e(f)){let t=f.error;if(void 0!==c&&(t=c,c=void 0),s=s||{},a)s[h]=t;else{let r=Ne(e,h);null==s[r.route.id]&&(s[r.route.id]=t)}i[h]=void 0,l||(l=!0,o=ne(f.error)?f.error.status:500),f.headers&&(u[h]=f.headers)}else Ke(f)?(n.set(h,f.deferredData),i[h]=f.deferredData.data,null==f.statusCode||200===f.statusCode||l||(o=f.statusCode),f.headers&&(u[h]=f.headers)):(i[h]=f.data,f.statusCode&&200!==f.statusCode&&!l&&(o=f.statusCode),f.headers&&(u[h]=f.headers))})),void 0!==c&&r&&(s={[r[0]]:c},i[r[0]]=void 0),{loaderData:i,errors:s,statusCode:o||200,loaderHeaders:u}}function je(e,t,r,n,a,o,s){let{loaderData:l,errors:u}=Ue(t,r,n,s,!1);return a.forEach((t=>{let{key:r,match:n,controller:a}=t,s=o[r];if(d(s,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if($e(s)){let t=Ne(e.matches,null==n?void 0:n.route.id);u&&u[t.route.id]||(u=i({},u,{[t.route.id]:s.error})),e.fetchers.delete(r)}else if(Ve(s))d(!1,"Unhandled fetcher revalidation redirect");else if(Ke(s))d(!1,"Unhandled fetcher deferred data");else{let t=ot(s.data);e.fetchers.set(r,t)}})),{loaderData:l,errors:u}}function Oe(e,t,r,n){let a=i({},t);for(let o of r){let r=o.route.id;if(t.hasOwnProperty(r)?void 0!==t[r]&&(a[r]=t[r]):void 0!==e[r]&&o.route.loader&&(a[r]=e[r]),n&&n.hasOwnProperty(r))break}return a}function Fe(e){return e?$e(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Ne(e,t){return(t?e.slice(0,e.findIndex((e=>e.route.id===t))+1):[...e]).reverse().find((e=>!0===e.route.hasErrorBoundary))||e[0]}function Be(e){let t=1===e.length?e[0]:e.find((e=>e.index||!e.path||"/"===e.path))||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Ie(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=void 0===t?{}:t,s="Unknown Server Error",l="Unknown @remix-run/router error";return 400===e?(s="Bad Request",a&&r&&n?l="You made a "+a+' request to "'+r+'" but did not provide a `loader` for route "'+n+'", so there is no way to handle the request.':"defer-action"===o?l="defer() is not supported in actions":"invalid-body"===o&&(l="Unable to encode submission body")):403===e?(s="Forbidden",l='Route "'+n+'" does not match URL "'+r+'"'):404===e?(s="Not Found",l='No route matches URL "'+r+'"'):405===e&&(s="Method Not Allowed",a&&r&&n?l="You made a "+a.toUpperCase()+' request to "'+r+'" but did not provide an `action` for route "'+n+'", so there is no way to handle the request.':a&&(l='Invalid request method "'+a.toUpperCase()+'"')),new re(e||500,s,new Error(l),!0)}function ze(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[e,n]=t[r];if(Ve(n))return{key:e,result:n}}}function He(e){return m(i({},"string"===typeof e?v(e):e,{hash:""}))}function We(e){return Ye(e.result)&&le.has(e.result.status)}function Ke(e){return e.type===g.deferred}function $e(e){return e.type===g.error}function Ve(e){return(e&&e.type)===g.redirect}function Je(e){return"object"===typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function Ye(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"object"===typeof e.headers&&"undefined"!==typeof e.body}function qe(e){return se.has(e.toLowerCase())}function Xe(e){return oe.has(e.toLowerCase())}async function Ge(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[s,l]=o[i],u=e.find((e=>(null==e?void 0:e.route.id)===s));if(!u)continue;let c=n.find((e=>e.route.id===u.route.id)),d=null!=c&&!Ee(c,u)&&void 0!==(a&&a[u.route.id]);Ke(l)&&d&&await Ze(l,r,!1).then((e=>{e&&(t[s]=e)}))}}async function Qe(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],s=t[a];e.find((e=>(null==e?void 0:e.route.id)===o))&&(Ke(s)&&(d(i,"Expected an AbortController for revalidating fetcher deferred result"),await Ze(s,i.signal,!0).then((e=>{e&&(t[a]=e)}))))}}async function Ze(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:g.data,data:e.deferredData.unwrappedData}}catch(n){return{type:g.error,error:n}}return{type:g.data,data:e.deferredData.data}}}function et(e){return new URLSearchParams(e).getAll("index").some((e=>""===e))}function tt(e,t){let r="string"===typeof t?v(t).search:t.search;if(e[e.length-1].route.index&&et(r||""))return e[e.length-1];let n=z(e);return n[n.length-1]}function rt(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n)return null!=a?{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a}:null!=o?{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0}:void 0!==i?{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}:void 0}function nt(e,t){if(t){return{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}return{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function at(e,t){if(e){return{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}}return{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function ot(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function it(){return it=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},it.apply(this,arguments)}const st=a.createContext(null);const lt=a.createContext(null);const ut=a.createContext(null);const ct=a.createContext(null);const dt=a.createContext(null);const ht=a.createContext({outlet:null,matches:[],isDataRoute:!1});const ft=a.createContext(null);function pt(e,t){let{relative:r}=void 0===t?{}:t;mt()||d(!1);let{basename:n,navigator:o}=a.useContext(ct),{hash:i,pathname:s,search:l}=Dt(e,{relative:r}),u=s;return"/"!==n&&(u="/"===s?n:K([n,s])),o.createHref({pathname:u,search:l,hash:i})}function mt(){return null!=a.useContext(dt)}function vt(){return mt()||d(!1),a.useContext(dt).location}function yt(){return a.useContext(dt).navigationType}function gt(e){mt()||d(!1);let{pathname:t}=vt();return a.useMemo((()=>O(e,F(t))),[t,e])}function bt(e){a.useContext(ct).static||a.useLayoutEffect(e)}function wt(){let{isDataRoute:e}=a.useContext(ht);return e?function(){let{router:e}=Ut(At.UseNavigateStable),t=Ot(Mt.UseNavigateStable),r=a.useRef(!1);return bt((()=>{r.current=!0})),a.useCallback((function(n,a){void 0===a&&(a={}),r.current&&("number"===typeof n?e.navigate(n):e.navigate(n,it({fromRouteId:t},a)))}),[e,t])}():function(){mt()||d(!1);let e=a.useContext(st),{basename:t,future:r,navigator:n}=a.useContext(ct),{matches:o}=a.useContext(ht),{pathname:i}=vt(),s=JSON.stringify(H(o,r.v7_relativeSplatPath)),l=a.useRef(!1);return bt((()=>{l.current=!0})),a.useCallback((function(r,a){if(void 0===a&&(a={}),!l.current)return;if("number"===typeof r)return void n.go(r);let o=W(r,JSON.parse(s),i,"path"===a.relative);null==e&&"/"!==t&&(o.pathname="/"===o.pathname?t:K([t,o.pathname])),(a.replace?n.replace:n.push)(o,a.state,a)}),[t,n,s,i,e])}()}const St=a.createContext(null);function Et(){return a.useContext(St)}function Rt(e){let t=a.useContext(ht).outlet;return t?a.createElement(St.Provider,{value:e},t):t}function xt(){let{matches:e}=a.useContext(ht),t=e[e.length-1];return t?t.params:{}}function Dt(e,t){let{relative:r}=void 0===t?{}:t,{future:n}=a.useContext(ct),{matches:o}=a.useContext(ht),{pathname:i}=vt(),s=JSON.stringify(H(o,n.v7_relativeSplatPath));return a.useMemo((()=>W(e,JSON.parse(s),i,"path"===r)),[e,s,i,r])}function Ct(e,t){return Pt(e,t)}function Pt(e,t,r,o){mt()||d(!1);let{navigator:i}=a.useContext(ct),{matches:s}=a.useContext(ht),l=s[s.length-1],u=l?l.params:{},c=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let h,f=vt();if(t){var p;let e="string"===typeof t?v(t):t;"/"===c||(null==(p=e.pathname)?void 0:p.startsWith(c))||d(!1),h=e}else h=f;let m=h.pathname||"/",y=m;if("/"!==c){let e=c.replace(/^\//,"").split("/");y="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let g=S(e,{pathname:y});let b=Tt(g&&g.map((e=>Object.assign({},e,{params:Object.assign({},u,e.params),pathname:K([c,i.encodeLocation?i.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:K([c,i.encodeLocation?i.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),s,r,o);return t&&b?a.createElement(dt.Provider,{value:{location:it({pathname:"/",search:"",hash:"",state:null,key:"default"},h),navigationType:n.Pop}},b):b}const Lt=a.createElement((function(){let e=Kt(),t=ne(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n};return a.createElement(a.Fragment,null,a.createElement("h2",null,"Unexpected Application Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},t),r?a.createElement("pre",{style:o},r):null,null)}),null);class kt extends a.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?a.createElement(ht.Provider,{value:this.props.routeContext},a.createElement(ft.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function _t(e){let{routeContext:t,match:r,children:n}=e,o=a.useContext(st);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),a.createElement(ht.Provider,{value:t},n)}function Tt(e,t,r,n){var o;if(void 0===t&&(t=[]),void 0===r&&(r=null),void 0===n&&(n=null),null==e){var i;if(!r)return null;if(r.errors)e=r.matches;else{if(!(null!=(i=n)&&i.v7_partialHydration&&0===t.length&&!r.initialized&&r.matches.length>0))return null;e=r.matches}}let s=e,l=null==(o=r)?void 0:o.errors;if(null!=l){let e=s.findIndex((e=>e.route.id&&void 0!==(null==l?void 0:l[e.route.id])));e>=0||d(!1),s=s.slice(0,Math.min(s.length,e+1))}let u=!1,c=-1;if(r&&n&&n.v7_partialHydration)for(let a=0;a<s.length;a++){let e=s[a];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=a),e.route.id){let{loaderData:t,errors:n}=r,a=e.route.loader&&void 0===t[e.route.id]&&(!n||void 0===n[e.route.id]);if(e.route.lazy||a){u=!0,s=c>=0?s.slice(0,c+1):[s[0]];break}}}return s.reduceRight(((e,n,o)=>{let i,d=!1,h=null,f=null;var p;r&&(i=l&&n.route.id?l[n.route.id]:void 0,h=n.route.errorElement||Lt,u&&(c<0&&0===o?(p="route-fallback",!1||qt[p]||(qt[p]=!0),d=!0,f=null):c===o&&(d=!0,f=n.route.hydrateFallbackElement||null)));let m=t.concat(s.slice(0,o+1)),v=()=>{let t;return t=i?h:d?f:n.route.Component?a.createElement(n.route.Component,null):n.route.element?n.route.element:e,a.createElement(_t,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===o)?a.createElement(kt,{location:r.location,revalidation:r.revalidation,component:h,error:i,children:v(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):v()}),null)}var At=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(At||{}),Mt=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Mt||{});function Ut(e){let t=a.useContext(st);return t||d(!1),t}function jt(e){let t=a.useContext(lt);return t||d(!1),t}function Ot(e){let t=function(){let e=a.useContext(ht);return e||d(!1),e}(),r=t.matches[t.matches.length-1];return r.route.id||d(!1),r.route.id}function Ft(){return Ot(Mt.UseRouteId)}function Nt(){return jt(Mt.UseNavigation).navigation}function Bt(){let e=Ut(At.UseRevalidator),t=jt(Mt.UseRevalidator);return a.useMemo((()=>({revalidate:e.router.revalidate,state:t.revalidation})),[e.router.revalidate,t.revalidation])}function It(){let{matches:e,loaderData:t}=jt(Mt.UseMatches);return a.useMemo((()=>e.map((e=>R(e,t)))),[e,t])}function zt(){let e=jt(Mt.UseLoaderData),t=Ot(Mt.UseLoaderData);if(!e.errors||null==e.errors[t])return e.loaderData[t];console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")")}function Ht(e){return jt(Mt.UseRouteLoaderData).loaderData[e]}function Wt(){let e=jt(Mt.UseActionData),t=Ot(Mt.UseLoaderData);return e.actionData?e.actionData[t]:void 0}function Kt(){var e;let t=a.useContext(ft),r=jt(Mt.UseRouteError),n=Ot(Mt.UseRouteError);return void 0!==t?t:null==(e=r.errors)?void 0:e[n]}function $t(){let e=a.useContext(ut);return null==e?void 0:e._data}function Vt(){let e=a.useContext(ut);return null==e?void 0:e._error}let Jt=0;function Yt(e){let{router:t,basename:r}=Ut(At.UseBlocker),n=jt(Mt.UseBlocker),[o,i]=a.useState(""),s=a.useCallback((t=>{if("function"!==typeof e)return!!e;if("/"===r)return e(t);let{currentLocation:n,nextLocation:a,historyAction:o}=t;return e({currentLocation:it({},n,{pathname:N(n.pathname,r)||n.pathname}),nextLocation:it({},a,{pathname:N(a.pathname,r)||a.pathname}),historyAction:o})}),[r,e]);return a.useEffect((()=>{let e=String(++Jt);return i(e),()=>t.deleteBlocker(e)}),[t]),a.useEffect((()=>{""!==o&&t.getBlocker(o,s)}),[t,o,s]),o&&n.blockers.has(o)?n.blockers.get(o):he}const qt={};const Xt={};const Gt=(e,t,r)=>{var n;Xt[n="\u26a0\ufe0f React Router Future Flag Warning: "+t+". You can use the `"+e+"` future flag to opt-in early. For more information, see "+r+"."]||(Xt[n]=!0,console.warn(n))};function Qt(e,t){null!=e&&e.v7_startTransition||Gt("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),null!=e&&e.v7_relativeSplatPath||t&&t.v7_relativeSplatPath||Gt("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(t.v7_fetcherPersist||Gt("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),t.v7_normalizeFormMethod||Gt("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),t.v7_partialHydration||Gt("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),t.v7_skipActionErrorRevalidation||Gt("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}const Zt=a.startTransition;function er(e){let{basename:t,children:r,initialEntries:n,initialIndex:o,future:i}=e,s=a.useRef();null==s.current&&(s.current=l({initialEntries:n,initialIndex:o,v5Compat:!0}));let u=s.current,[c,d]=a.useState({action:u.action,location:u.location}),{v7_startTransition:h}=i||{},f=a.useCallback((e=>{h&&Zt?Zt((()=>d(e))):d(e)}),[d,h]);return a.useLayoutEffect((()=>u.listen(f)),[u,f]),a.useEffect((()=>Qt(i)),[i]),a.createElement(ar,{basename:t,children:r,location:c.location,navigationType:c.action,navigator:u,future:i})}function tr(e){let{to:t,replace:r,state:n,relative:o}=e;mt()||d(!1);let{future:i,static:s}=a.useContext(ct),{matches:l}=a.useContext(ht),{pathname:u}=vt(),c=wt(),h=W(t,H(l,i.v7_relativeSplatPath),u,"path"===o),f=JSON.stringify(h);return a.useEffect((()=>c(JSON.parse(f),{replace:r,state:n,relative:o})),[c,f,o,r,n]),null}function rr(e){return Rt(e.context)}function nr(e){d(!1)}function ar(e){let{basename:t="/",children:r=null,location:o,navigationType:i=n.Pop,navigator:s,static:l=!1,future:u}=e;mt()&&d(!1);let c=t.replace(/^\/*/,"/"),h=a.useMemo((()=>({basename:c,navigator:s,static:l,future:it({v7_relativeSplatPath:!1},u)})),[c,u,s,l]);"string"===typeof o&&(o=v(o));let{pathname:f="/",search:p="",hash:m="",state:y=null,key:g="default"}=o,b=a.useMemo((()=>{let e=N(f,c);return null==e?null:{location:{pathname:e,search:p,hash:m,state:y,key:g},navigationType:i}}),[c,f,p,m,y,g,i]);return null==b?null:a.createElement(ct.Provider,{value:h},a.createElement(dt.Provider,{children:r,value:b}))}function or(e){let{children:t,location:r}=e;return Ct(dr(t),r)}function ir(e){let{children:t,errorElement:r,resolve:n}=e;return a.createElement(ur,{resolve:n,errorElement:r},a.createElement(cr,null,t))}var sr=function(e){return e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error",e}(sr||{});const lr=new Promise((()=>{}));class ur extends a.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,o=sr.pending;if(r instanceof Promise)if(this.state.error){o=sr.error;let e=this.state.error;n=Promise.reject().catch((()=>{})),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?(n=r,o="_error"in n?sr.error:"_data"in n?sr.success:sr.pending):(o=sr.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then((e=>Object.defineProperty(r,"_data",{get:()=>e})),(e=>Object.defineProperty(r,"_error",{get:()=>e}))));else o=sr.success,n=Promise.resolve(),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(o===sr.error&&n._error instanceof q)throw lr;if(o===sr.error&&!t)throw n._error;if(o===sr.error)return a.createElement(ut.Provider,{value:n,children:t});if(o===sr.success)return a.createElement(ut.Provider,{value:n,children:e});throw n}}function cr(e){let{children:t}=e,r=$t(),n="function"===typeof t?t(r):t;return a.createElement(a.Fragment,null,n)}function dr(e,t){void 0===t&&(t=[]);let r=[];return a.Children.forEach(e,((e,n)=>{if(!a.isValidElement(e))return;let o=[...t,n];if(e.type===a.Fragment)return void r.push.apply(r,dr(e.props.children,o));e.type!==nr&&d(!1),e.props.index&&e.props.children&&d(!1);let i={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(i.children=dr(e.props.children,o)),r.push(i)})),r}function hr(e){return Tt(e)}function fr(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:a.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:a.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:a.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function pr(e,t){return ve({basename:null==t?void 0:t.basename,future:it({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:l({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:e,mapRouteProperties:fr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation}).initialize()}function mr(){return mr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},mr.apply(this,arguments)}function vr(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}const yr="get",gr="application/x-www-form-urlencoded";function br(e){return null!=e&&"string"===typeof e.tagName}function wr(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map((e=>[r,e])):[[r,n]])}),[]))}let Sr=null;const Er=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Rr(e){return null==e||Er.has(e)?e:null}function xr(e,t){let r,n,a,o,i;if(br(s=e)&&"form"===s.tagName.toLowerCase()){let i=e.getAttribute("action");n=i?N(i,t):null,r=e.getAttribute("method")||yr,a=Rr(e.getAttribute("enctype"))||gr,o=new FormData(e)}else if(function(e){return br(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return br(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||i.getAttribute("action");if(n=s?N(s,t):null,r=e.getAttribute("formmethod")||i.getAttribute("method")||yr,a=Rr(e.getAttribute("formenctype"))||Rr(i.getAttribute("enctype"))||gr,o=new FormData(i,e),!function(){if(null===Sr)try{new FormData(document.createElement("form"),0),Sr=!1}catch(e){Sr=!0}return Sr}()){let{name:t,type:r,value:n}=e;if("image"===r){let e=t?t+".":"";o.append(e+"x","0"),o.append(e+"y","0")}else t&&o.append(t,n)}}else{if(br(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=yr,n=null,a=gr,i=e}var s;return o&&"text/plain"===a&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}const Dr=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Cr=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Pr=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(mn){}function Lr(e,t){return ve({basename:null==t?void 0:t.basename,future:mr({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:u({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||_r(),routes:e,mapRouteProperties:fr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function kr(e,t){return ve({basename:null==t?void 0:t.basename,future:mr({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:c({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||_r(),routes:e,mapRouteProperties:fr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function _r(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=mr({},t,{errors:Tr(t.errors)})),t}function Tr(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,a]of t)if(a&&"RouteErrorResponse"===a.__type)r[n]=new re(a.status,a.statusText,a.data,!0===a.internal);else if(a&&"Error"===a.__type){if(a.__subType){let e=window[a.__subType];if("function"===typeof e)try{let t=new e(a.message);t.stack="",r[n]=t}catch(mn){}}if(null==r[n]){let e=new Error(a.message);e.stack="",r[n]=e}}else r[n]=a;return r}const Ar=a.createContext({isTransitioning:!1});const Mr=a.createContext(new Map);const Ur=a.startTransition,jr=o.flushSync,Or=a.useId;function Fr(e){jr?jr(e):e()}class Nr{constructor(){this.status="pending",this.promise=new Promise(((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}}))}}function Br(e){let{fallbackElement:t,router:r,future:n}=e,[o,i]=a.useState(r.state),[s,l]=a.useState(),[u,c]=a.useState({isTransitioning:!1}),[d,h]=a.useState(),[f,p]=a.useState(),[m,v]=a.useState(),y=a.useRef(new Map),{v7_startTransition:g}=n||{},b=a.useCallback((e=>{g?function(e){Ur?Ur(e):e()}(e):e()}),[g]),w=a.useCallback(((e,t)=>{let{deletedFetchers:n,flushSync:a,viewTransitionOpts:o}=t;n.forEach((e=>y.current.delete(e))),e.fetchers.forEach(((e,t)=>{void 0!==e.data&&y.current.set(t,e.data)}));let s=null==r.window||null==r.window.document||"function"!==typeof r.window.document.startViewTransition;if(o&&!s){if(a){Fr((()=>{f&&(d&&d.resolve(),f.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:o.currentLocation,nextLocation:o.nextLocation})}));let t=r.window.document.startViewTransition((()=>{Fr((()=>i(e)))}));return t.finished.finally((()=>{Fr((()=>{h(void 0),p(void 0),l(void 0),c({isTransitioning:!1})}))})),void Fr((()=>p(t)))}f?(d&&d.resolve(),f.skipTransition(),v({state:e,currentLocation:o.currentLocation,nextLocation:o.nextLocation})):(l(e),c({isTransitioning:!0,flushSync:!1,currentLocation:o.currentLocation,nextLocation:o.nextLocation}))}else a?Fr((()=>i(e))):b((()=>i(e)))}),[r.window,f,d,y,b]);a.useLayoutEffect((()=>r.subscribe(w)),[r,w]),a.useEffect((()=>{u.isTransitioning&&!u.flushSync&&h(new Nr)}),[u]),a.useEffect((()=>{if(d&&s&&r.window){let e=s,t=d.promise,n=r.window.document.startViewTransition((async()=>{b((()=>i(e))),await t}));n.finished.finally((()=>{h(void 0),p(void 0),l(void 0),c({isTransitioning:!1})})),p(n)}}),[b,s,d,r.window]),a.useEffect((()=>{d&&s&&o.location.key===s.location.key&&d.resolve()}),[d,f,o.location,s]),a.useEffect((()=>{!u.isTransitioning&&m&&(l(m.state),c({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))}),[u.isTransitioning,m]),a.useEffect((()=>{}),[]);let S=a.useMemo((()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})})),[r]),E=r.basename||"/",R=a.useMemo((()=>({router:r,navigator:S,static:!1,basename:E})),[r,S,E]),x=a.useMemo((()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath})),[r.future.v7_relativeSplatPath]);return a.useEffect((()=>Qt(n,r.future)),[n,r.future]),a.createElement(a.Fragment,null,a.createElement(st.Provider,{value:R},a.createElement(lt.Provider,{value:o},a.createElement(Mr.Provider,{value:y.current},a.createElement(Ar.Provider,{value:u},a.createElement(ar,{basename:E,location:o.location,navigationType:o.historyAction,navigator:S,future:x},o.initialized||r.future.v7_partialHydration?a.createElement(Ir,{routes:r.routes,future:r.future,state:o}):t))))),null)}const Ir=a.memo((function(e){let{routes:t,future:r,state:n}=e;return Pt(t,void 0,n,r)}));function zr(e){let{basename:t,children:r,future:n,window:o}=e,i=a.useRef();null==i.current&&(i.current=u({window:o,v5Compat:!0}));let s=i.current,[l,c]=a.useState({action:s.action,location:s.location}),{v7_startTransition:d}=n||{},h=a.useCallback((e=>{d&&Ur?Ur((()=>c(e))):c(e)}),[c,d]);return a.useLayoutEffect((()=>s.listen(h)),[s,h]),a.useEffect((()=>Qt(n)),[n]),a.createElement(ar,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}function Hr(e){let{basename:t,children:r,future:n,window:o}=e,i=a.useRef();null==i.current&&(i.current=c({window:o,v5Compat:!0}));let s=i.current,[l,u]=a.useState({action:s.action,location:s.location}),{v7_startTransition:d}=n||{},h=a.useCallback((e=>{d&&Ur?Ur((()=>u(e))):u(e)}),[u,d]);return a.useLayoutEffect((()=>s.listen(h)),[s,h]),a.useEffect((()=>Qt(n)),[n]),a.createElement(ar,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}function Wr(e){let{basename:t,children:r,future:n,history:o}=e,[i,s]=a.useState({action:o.action,location:o.location}),{v7_startTransition:l}=n||{},u=a.useCallback((e=>{l&&Ur?Ur((()=>s(e))):s(e)}),[s,l]);return a.useLayoutEffect((()=>o.listen(u)),[o,u]),a.useEffect((()=>Qt(n)),[n]),a.createElement(ar,{basename:t,children:r,location:i.location,navigationType:i.action,navigator:o,future:n})}const Kr="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,$r=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Vr=a.forwardRef((function(e,t){let r,{onClick:n,relative:o,reloadDocument:i,replace:s,state:l,target:u,to:c,preventScrollReset:d,viewTransition:h}=e,f=vr(e,Dr),{basename:p}=a.useContext(ct),m=!1;if("string"===typeof c&&$r.test(c)&&(r=c,Kr))try{let e=new URL(window.location.href),t=c.startsWith("//")?new URL(e.protocol+c):new URL(c),r=N(t.pathname,p);t.origin===e.origin&&null!=r?c=r+t.search+t.hash:m=!0}catch(mn){}let v=pt(c,{relative:o}),y=en(c,{replace:s,state:l,target:u,preventScrollReset:d,relative:o,viewTransition:h});return a.createElement("a",mr({},f,{href:r||v,onClick:m||i?n:function(e){n&&n(e),e.defaultPrevented||y(e)},ref:t,target:u}))}));const Jr=a.forwardRef((function(e,t){let{"aria-current":r="page",caseSensitive:n=!1,className:o="",end:i=!1,style:s,to:l,viewTransition:u,children:c}=e,d=vr(e,Cr),h=Dt(l,{relative:d.relative}),f=vt(),p=a.useContext(lt),{navigator:m,basename:v}=a.useContext(ct),y=null!=p&&pn(h)&&!0===u,g=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,b=f.pathname,w=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;n||(b=b.toLowerCase(),w=w?w.toLowerCase():null,g=g.toLowerCase()),w&&v&&(w=N(w,v)||w);const S="/"!==g&&g.endsWith("/")?g.length-1:g.length;let E,R=b===g||!i&&b.startsWith(g)&&"/"===b.charAt(S),x=null!=w&&(w===g||!i&&w.startsWith(g)&&"/"===w.charAt(g.length)),D={isActive:R,isPending:x,isTransitioning:y},C=R?r:void 0;E="function"===typeof o?o(D):[o,R?"active":null,x?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let P="function"===typeof s?s(D):s;return a.createElement(Vr,mr({},d,{"aria-current":C,className:E,ref:t,style:P,to:l,viewTransition:u}),"function"===typeof c?c(D):c)}));const Yr=a.forwardRef(((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:o,replace:i,state:s,method:l=yr,action:u,onSubmit:c,relative:d,preventScrollReset:h,viewTransition:f}=e,p=vr(e,Pr),m=an(),v=on(u,{relative:d}),y="get"===l.toLowerCase()?"get":"post";return a.createElement("form",mr({ref:t,method:y,action:v,onSubmit:o?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter,a=(null==t?void 0:t.getAttribute("formmethod"))||l;m(t||e.currentTarget,{fetcherKey:r,method:a,navigate:n,replace:i,state:s,relative:d,preventScrollReset:h,viewTransition:f})}},p))}));function qr(e){let{getKey:t,storageKey:r}=e;return dn({getKey:t,storageKey:r}),null}var Xr,Gr;function Qr(e){let t=a.useContext(st);return t||d(!1),t}function Zr(e){let t=a.useContext(lt);return t||d(!1),t}function en(e,t){let{target:r,replace:n,state:o,preventScrollReset:i,relative:s,viewTransition:l}=void 0===t?{}:t,u=wt(),c=vt(),d=Dt(e,{relative:s});return a.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();let r=void 0!==n?n:m(c)===m(d);u(e,{replace:r,state:o,preventScrollReset:i,relative:s,viewTransition:l})}}),[c,u,d,n,o,r,e,i,s,l])}function tn(e){let t=a.useRef(wr(e)),r=a.useRef(!1),n=vt(),o=a.useMemo((()=>function(e,t){let r=wr(e);return t&&t.forEach(((e,n)=>{r.has(n)||t.getAll(n).forEach((e=>{r.append(n,e)}))})),r}(n.search,r.current?null:t.current)),[n.search]),i=wt(),s=a.useCallback(((e,t)=>{const n=wr("function"===typeof e?e(o):e);r.current=!0,i("?"+n,t)}),[i,o]);return[o,s]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Xr||(Xr={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Gr||(Gr={}));let rn=0,nn=()=>"__"+String(++rn)+"__";function an(){let{router:e}=Qr(Xr.UseSubmit),{basename:t}=a.useContext(ct),r=Ft();return a.useCallback((function(n,a){void 0===a&&(a={}),function(){if("undefined"===typeof document)throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}();let{action:o,method:i,encType:s,formData:l,body:u}=xr(n,t);if(!1===a.navigate){let t=a.fetcherKey||nn();e.fetch(t,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})}),[e,t,r])}function on(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=a.useContext(ct),o=a.useContext(ht);o||d(!1);let[i]=o.matches.slice(-1),s=mr({},Dt(e||".",{relative:r})),l=vt();if(null==e){s.search=l.search;let e=new URLSearchParams(s.search),t=e.getAll("index");if(t.some((e=>""===e))){e.delete("index"),t.filter((e=>e)).forEach((t=>e.append("index",t)));let r=e.toString();s.search=r?"?"+r:""}}return e&&"."!==e||!i.route.index||(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(s.pathname="/"===s.pathname?n:K([n,s.pathname])),m(s)}function sn(e){var t;let{key:r}=void 0===e?{}:e,{router:n}=Qr(Xr.UseFetcher),o=Zr(Gr.UseFetcher),i=a.useContext(Mr),s=a.useContext(ht),l=null==(t=s.matches[s.matches.length-1])?void 0:t.route.id;i||d(!1),s||d(!1),null==l&&d(!1);let u=Or?Or():"",[c,h]=a.useState(r||u);r&&r!==c?h(r):c||h(nn()),a.useEffect((()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)})),[n,c]);let f=a.useCallback(((e,t)=>{l||d(!1),n.fetch(c,l,e,t)}),[c,l,n]),p=an(),m=a.useCallback(((e,t)=>{p(e,mr({},t,{navigate:!1,fetcherKey:c}))}),[c,p]),v=a.useMemo((()=>a.forwardRef(((e,t)=>a.createElement(Yr,mr({},e,{navigate:!1,fetcherKey:c,ref:t}))))),[c]),y=o.fetchers.get(c)||de,g=i.get(c);return a.useMemo((()=>mr({Form:v,submit:m,load:f},y,{data:g})),[v,m,f,y,g])}function ln(){let e=Zr(Gr.UseFetchers);return Array.from(e.fetchers.entries()).map((e=>{let[t,r]=e;return mr({},r,{key:t})}))}const un="react-router-scroll-positions";let cn={};function dn(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=Qr(Xr.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:i}=Zr(Gr.UseScrollRestoration),{basename:s}=a.useContext(ct),l=vt(),u=It(),c=Nt();a.useEffect((()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"})),[]),function(e,t){let{capture:r}=t||{};a.useEffect((()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("pagehide",e,t),()=>{window.removeEventListener("pagehide",e,t)}}),[e,r])}(a.useCallback((()=>{if("idle"===c.state){let e=(t?t(l,u):null)||l.key;cn[e]=window.scrollY}try{sessionStorage.setItem(r||un,JSON.stringify(cn))}catch(e){}window.history.scrollRestoration="auto"}),[r,t,c.state,l,u])),"undefined"!==typeof document&&(a.useLayoutEffect((()=>{try{let e=sessionStorage.getItem(r||un);e&&(cn=JSON.parse(e))}catch(mn){}}),[r]),a.useLayoutEffect((()=>{let e=t&&"/"!==s?(e,r)=>t(mr({},e,{pathname:N(e.pathname,s)||e.pathname}),r):t,r=null==n?void 0:n.enableScrollRestoration(cn,(()=>window.scrollY),e);return()=>r&&r()}),[n,s,t]),a.useLayoutEffect((()=>{if(!1!==o)if("number"!==typeof o){if(l.hash){let e=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(e)return void e.scrollIntoView()}!0!==i&&window.scrollTo(0,0)}else window.scrollTo(0,o)}),[l,o,i]))}function hn(e,t){let{capture:r}=t||{};a.useEffect((()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("beforeunload",e,t),()=>{window.removeEventListener("beforeunload",e,t)}}),[e,r])}function fn(e){let{when:t,message:r}=e,n=Yt(t);a.useEffect((()=>{if("blocked"===n.state){window.confirm(r)?setTimeout(n.proceed,0):n.reset()}}),[n,r]),a.useEffect((()=>{"blocked"!==n.state||t||n.reset()}),[n,t])}function pn(e,t){void 0===t&&(t={});let r=a.useContext(Ar);null==r&&d(!1);let{basename:n}=Qr(Xr.useViewTransitionState),o=Dt(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=N(r.currentLocation.pathname,n)||r.currentLocation.pathname,s=N(r.nextLocation.pathname,n)||r.nextLocation.pathname;return null!=O(o.pathname,s)||null!=O(o.pathname,i)}}}]);
3
+ //# sourceMappingURL=245.24cc8621.chunk.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/router v1.20.0
2
+ * @remix-run/router v1.21.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -10,7 +10,7 @@
10
10
  */
11
11
 
12
12
  /**
13
- * React Router DOM v6.27.0
13
+ * React Router DOM v6.28.0
14
14
  *
15
15
  * Copyright (c) Remix Software Inc.
16
16
  *
@@ -21,7 +21,7 @@
21
21
  */
22
22
 
23
23
  /**
24
- * React Router v6.27.0
24
+ * React Router v6.28.0
25
25
  *
26
26
  * Copyright (c) Remix Software Inc.
27
27
  *