@perses-dev/pyroscope-plugin 0.5.0-beta.0 → 0.5.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 (144) hide show
  1. package/__mf/js/{Pyroscope.2cc96a50.js → Pyroscope.bfbb30fc.js} +5 -5
  2. package/__mf/js/async/1728.5a1ce5fd.js +1 -0
  3. package/__mf/js/async/2488.1263bef3.js +7 -0
  4. package/__mf/js/async/392.9a585980.js +2 -0
  5. package/__mf/js/async/4657.cd5be1f7.js +2 -0
  6. package/__mf/js/async/54.ad215e09.js +22 -0
  7. package/__mf/js/async/5440.8c124a65.js +2 -0
  8. package/__mf/js/async/{5440.f3809507.js.LICENSE.txt → 5440.8c124a65.js.LICENSE.txt} +3 -3
  9. package/__mf/js/async/9010.f18f7884.js +2 -0
  10. package/__mf/js/async/{7570.a8cf961f.js → 9025.b66d1100.js} +1 -1
  11. package/__mf/js/async/{8035.39b8a613.js → 9877.4eb72ec5.js} +9 -9
  12. package/__mf/js/async/{__federation_expose_PyroscopeDatasource.108cb2d6.js → __federation_expose_PyroscopeDatasource.deb0c623.js} +2 -2
  13. package/__mf/js/async/{__federation_expose_PyroscopeExplorer.f9864130.js → __federation_expose_PyroscopeExplorer.b2a1605a.js} +2 -2
  14. package/__mf/js/async/{__federation_expose_PyroscopeProfileQuery.58db5efb.js → __federation_expose_PyroscopeProfileQuery.adcc14cb.js} +2 -2
  15. package/__mf/js/{main.b6d04adf.js → main.378262c7.js} +3 -3
  16. package/lib/bootstrap.js +1 -1
  17. package/lib/bootstrap.js.map +1 -1
  18. package/lib/cjs/bootstrap.js +1 -1
  19. package/lib/cjs/components/AddFilterItem.js +1 -1
  20. package/lib/cjs/components/DeleteFilterItem.js +1 -1
  21. package/lib/cjs/components/FilterItem.js +1 -1
  22. package/lib/cjs/components/Filters.js +1 -1
  23. package/lib/cjs/components/LabelName.js +1 -1
  24. package/lib/cjs/components/LabelValue.js +1 -1
  25. package/lib/cjs/components/Operator.js +1 -1
  26. package/lib/cjs/components/ProfileTypeSelector.js +1 -1
  27. package/lib/cjs/components/Service.js +1 -1
  28. package/lib/cjs/components/index.js +1 -1
  29. package/lib/cjs/env.d.js +1 -1
  30. package/lib/cjs/explore/PyroscopeExplorer.js +1 -1
  31. package/lib/cjs/explore/index.js +1 -1
  32. package/lib/cjs/getPluginModule.js +1 -1
  33. package/lib/cjs/index-federation.js +1 -1
  34. package/lib/cjs/index.js +1 -1
  35. package/lib/cjs/model/api-types.js +1 -1
  36. package/lib/cjs/model/index.js +1 -1
  37. package/lib/cjs/model/profile-query-model.js +1 -1
  38. package/lib/cjs/model/pyroscope-client.js +1 -1
  39. package/lib/cjs/model/pyroscope-selectors.js +1 -1
  40. package/lib/cjs/plugins/PyroscopeDatasourceEditor.js +1 -1
  41. package/lib/cjs/plugins/index.js +1 -1
  42. package/lib/cjs/plugins/pyroscope-datasource-types.js +1 -1
  43. package/lib/cjs/plugins/pyroscope-datasource.js +1 -1
  44. package/lib/cjs/plugins/pyroscope-profile-query/PyroscopeProfileQuery.js +1 -1
  45. package/lib/cjs/plugins/pyroscope-profile-query/PyroscopeProfileQueryEditor.js +1 -1
  46. package/lib/cjs/plugins/pyroscope-profile-query/get-profile-data.js +1 -1
  47. package/lib/cjs/plugins/pyroscope-profile-query/index.js +1 -1
  48. package/lib/cjs/plugins/pyroscope-profile-query/query-editor-model.js +1 -1
  49. package/lib/cjs/setup-tests.js +1 -1
  50. package/lib/cjs/test/index.js +1 -1
  51. package/lib/cjs/test/mock-data.js +1 -1
  52. package/lib/cjs/test/setup-tests.js +1 -1
  53. package/lib/cjs/utils/types.js +1 -1
  54. package/lib/cjs/utils/use-query.js +1 -1
  55. package/lib/components/AddFilterItem.js +1 -1
  56. package/lib/components/AddFilterItem.js.map +1 -1
  57. package/lib/components/DeleteFilterItem.js +1 -1
  58. package/lib/components/DeleteFilterItem.js.map +1 -1
  59. package/lib/components/FilterItem.js +1 -1
  60. package/lib/components/FilterItem.js.map +1 -1
  61. package/lib/components/Filters.js +1 -1
  62. package/lib/components/Filters.js.map +1 -1
  63. package/lib/components/LabelName.js +1 -1
  64. package/lib/components/LabelName.js.map +1 -1
  65. package/lib/components/LabelValue.js +1 -1
  66. package/lib/components/LabelValue.js.map +1 -1
  67. package/lib/components/Operator.js +1 -1
  68. package/lib/components/Operator.js.map +1 -1
  69. package/lib/components/ProfileTypeSelector.js +1 -1
  70. package/lib/components/ProfileTypeSelector.js.map +1 -1
  71. package/lib/components/Service.js +1 -1
  72. package/lib/components/Service.js.map +1 -1
  73. package/lib/components/index.js +1 -1
  74. package/lib/components/index.js.map +1 -1
  75. package/lib/env.d.js +1 -1
  76. package/lib/env.d.js.map +1 -1
  77. package/lib/explore/PyroscopeExplorer.js +1 -1
  78. package/lib/explore/PyroscopeExplorer.js.map +1 -1
  79. package/lib/explore/index.js +1 -1
  80. package/lib/explore/index.js.map +1 -1
  81. package/lib/getPluginModule.js +1 -1
  82. package/lib/getPluginModule.js.map +1 -1
  83. package/lib/index-federation.js +1 -1
  84. package/lib/index-federation.js.map +1 -1
  85. package/lib/index.js +1 -1
  86. package/lib/index.js.map +1 -1
  87. package/lib/model/api-types.js +1 -1
  88. package/lib/model/api-types.js.map +1 -1
  89. package/lib/model/index.js +1 -1
  90. package/lib/model/index.js.map +1 -1
  91. package/lib/model/profile-query-model.js +1 -1
  92. package/lib/model/profile-query-model.js.map +1 -1
  93. package/lib/model/pyroscope-client.js +1 -1
  94. package/lib/model/pyroscope-client.js.map +1 -1
  95. package/lib/model/pyroscope-selectors.js +1 -1
  96. package/lib/model/pyroscope-selectors.js.map +1 -1
  97. package/lib/plugins/PyroscopeDatasourceEditor.js +1 -1
  98. package/lib/plugins/PyroscopeDatasourceEditor.js.map +1 -1
  99. package/lib/plugins/index.js +1 -1
  100. package/lib/plugins/index.js.map +1 -1
  101. package/lib/plugins/pyroscope-datasource-types.js +1 -1
  102. package/lib/plugins/pyroscope-datasource-types.js.map +1 -1
  103. package/lib/plugins/pyroscope-datasource.js +1 -1
  104. package/lib/plugins/pyroscope-datasource.js.map +1 -1
  105. package/lib/plugins/pyroscope-profile-query/PyroscopeProfileQuery.js +1 -1
  106. package/lib/plugins/pyroscope-profile-query/PyroscopeProfileQuery.js.map +1 -1
  107. package/lib/plugins/pyroscope-profile-query/PyroscopeProfileQueryEditor.js +1 -1
  108. package/lib/plugins/pyroscope-profile-query/PyroscopeProfileQueryEditor.js.map +1 -1
  109. package/lib/plugins/pyroscope-profile-query/get-profile-data.js +1 -1
  110. package/lib/plugins/pyroscope-profile-query/get-profile-data.js.map +1 -1
  111. package/lib/plugins/pyroscope-profile-query/index.js +1 -1
  112. package/lib/plugins/pyroscope-profile-query/index.js.map +1 -1
  113. package/lib/plugins/pyroscope-profile-query/query-editor-model.js +1 -1
  114. package/lib/plugins/pyroscope-profile-query/query-editor-model.js.map +1 -1
  115. package/lib/setup-tests.js +1 -1
  116. package/lib/setup-tests.js.map +1 -1
  117. package/lib/test/index.js +1 -1
  118. package/lib/test/index.js.map +1 -1
  119. package/lib/test/mock-data.js +1 -1
  120. package/lib/test/mock-data.js.map +1 -1
  121. package/lib/test/setup-tests.js +1 -1
  122. package/lib/test/setup-tests.js.map +1 -1
  123. package/lib/utils/types.js +1 -1
  124. package/lib/utils/types.js.map +1 -1
  125. package/lib/utils/use-query.js +1 -1
  126. package/lib/utils/use-query.js.map +1 -1
  127. package/mf-manifest.json +36 -36
  128. package/mf-stats.json +36 -36
  129. package/package.json +6 -6
  130. package/__mf/js/async/1490.83898a50.js +0 -22
  131. package/__mf/js/async/1728.82a39224.js +0 -1
  132. package/__mf/js/async/3664.4d82937b.js +0 -2
  133. package/__mf/js/async/392.6f4ed257.js +0 -2
  134. package/__mf/js/async/5440.f3809507.js +0 -2
  135. package/__mf/js/async/5501.84760779.js +0 -2
  136. package/__mf/js/async/8971.ec4be707.js +0 -7
  137. /package/__mf/js/async/{8971.ec4be707.js.LICENSE.txt → 2488.1263bef3.js.LICENSE.txt} +0 -0
  138. /package/__mf/js/async/{392.6f4ed257.js.LICENSE.txt → 392.9a585980.js.LICENSE.txt} +0 -0
  139. /package/__mf/js/async/{3664.4d82937b.js.LICENSE.txt → 4657.cd5be1f7.js.LICENSE.txt} +0 -0
  140. /package/__mf/js/async/{1490.83898a50.js.LICENSE.txt → 54.ad215e09.js.LICENSE.txt} +0 -0
  141. /package/__mf/js/async/{5501.84760779.js.LICENSE.txt → 9010.f18f7884.js.LICENSE.txt} +0 -0
  142. /package/__mf/js/async/{__federation_expose_PyroscopeDatasource.108cb2d6.js.LICENSE.txt → __federation_expose_PyroscopeDatasource.deb0c623.js.LICENSE.txt} +0 -0
  143. /package/__mf/js/async/{__federation_expose_PyroscopeExplorer.f9864130.js.LICENSE.txt → __federation_expose_PyroscopeExplorer.b2a1605a.js.LICENSE.txt} +0 -0
  144. /package/__mf/js/async/{__federation_expose_PyroscopeProfileQuery.58db5efb.js.LICENSE.txt → __federation_expose_PyroscopeProfileQuery.adcc14cb.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 5440.8c124a65.js.LICENSE.txt */
2
+ "use strict";(self.chunk_Pyroscope=self.chunk_Pyroscope||[]).push([["5440"],{53299:function(e,t,r){r.r(t),r.d(t,{useFetchers:()=>rT,unstable_HistoryRouter:()=>rv,useLoaderData:()=>tL,ScrollRestoration:()=>rS,Route:()=>tW,MemoryRouter:()=>tz,useMatches:()=>tD,redirect:()=>ee,useOutletContext:()=>tu,createRoutesFromElements:()=>tG,useLinkClickHandler:()=>rC,useRouteError:()=>tA,generatePath:()=>M,replace:()=>er,useHref:()=>tt,useParams:()=>td,UNSAFE_ViewTransitionContext:()=>ro,useRoutes:()=>tf,useSubmit:()=>rk,UNSAFE_NavigationContext:()=>e6,Navigate:()=>tI,UNSAFE_ErrorResponseImpl:()=>en,UNSAFE_FetchersContext:()=>ri,useAsyncError:()=>tU,createRoutesFromChildren:()=>tG,unstable_usePrompt:()=>rF,useFetcher:()=>rA,useBlocker:()=>tM,createHashRouter:()=>rn,UNSAFE_useRouteId:()=>tx,useMatch:()=>to,useNavigation:()=>tC,HashRouter:()=>rm,useFormAction:()=>r_,useResolvedPath:()=>th,defer:()=>Z,Router:()=>t$,Routes:()=>tV,useActionData:()=>t_,useRouteLoaderData:()=>tk,Await:()=>tJ,matchPath:()=>O,UNSAFE_DataRouterContext:()=>e2,BrowserRouter:()=>rp,NavigationType:()=>c,Form:()=>rE,UNSAFE_RouteContext:()=>e8,createSearchParams:()=>t5,RouterProvider:()=>rh,UNSAFE_LocationContext:()=>e9,parsePath:()=>P,Outlet:()=>tH,createMemoryRouter:()=>t0,UNSAFE_useScrollRestoration:()=>rM,useNavigate:()=>tl,matchRoutes:()=>_,createPath:()=>C,resolvePath:()=>z,useInRouterContext:()=>tr,useOutlet:()=>tc,useAsyncValue:()=>tT,useViewTransitionState:()=>rN,Link:()=>rb,AbortedDeferredError:()=>G,renderMatches:()=>tQ,NavLink:()=>rw,UNSAFE_DataRouterStateContext:()=>e5,json:()=>X,useSearchParams:()=>rP,redirectDocument:()=>et,useBeforeUnload:()=>rO,useLocation:()=>tn,createBrowserRouter:()=>rr,isRouteErrorResponse:()=>ea,useNavigationType:()=>ta,useRevalidator:()=>tP});var n,a,o,i,l,s,u,c,d,h,f,p=r(70451),m=r(20231);function v(){return(v=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}).apply(this,arguments)}(n=c||(c={})).Pop="POP",n.Push="PUSH",n.Replace="REPLACE";let y="popstate";function g(e){let t;void 0===e&&(e={});let{initialEntries:r=["/"],initialIndex:n,v5Compat:a=!1}=e;t=r.map((e,t)=>u(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let o=s(null==n?t.length-1:n),i=c.Pop,l=null;function s(e){return Math.min(Math.max(e,0),t.length-1)}function u(e,r,n){void 0===r&&(r=null);let a=x(t?t[o].pathname:"/",e,r,n);return S("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function d(e){return"string"==typeof e?e:C(e)}return{get index(){return o},get action(){return i},get location(){return t[o]},createHref:d,createURL:e=>new URL(d(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?P(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){i=c.Push;let n=u(e,r);o+=1,t.splice(o,t.length,n),a&&l&&l({action:i,location:n,delta:1})},replace(e,r){i=c.Replace;let n=u(e,r);t[o]=n,a&&l&&l({action:i,location:n,delta:0})},go(e){i=c.Pop;let r=s(o+e),n=t[r];o=r,l&&l({action:i,location:n,delta:e})},listen:e=>(l=e,()=>{l=null})}}function b(e){return void 0===e&&(e={}),D(function(e,t){let{pathname:r,search:n,hash:a}=e.location;return x("",{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:C(t)},null,e)}function w(e){return void 0===e&&(e={}),D(function(e,t){let{pathname:r="/",search:n="",hash:a=""}=P(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),x("",{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:C(t))},function(e,t){S("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},e)}function E(e,t){if(!1===e||null==e)throw Error(t)}function S(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw Error(t)}catch(e){}}}function R(e,t){return{usr:e.state,key:e.key,idx:t}}function x(e,t,r,n){return void 0===r&&(r=null),v({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?P(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function C(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 P(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 D(e,t,r,n){void 0===n&&(n={});let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l=c.Pop,s=null,u=d();function d(){return(i.state||{idx:null}).idx}function h(){l=c.Pop;let e=d(),t=null==e?null:e-u;u=e,s&&s({action:l,location:p.location,delta:t})}function f(e){let t="null"!==a.location.origin?a.location.origin:a.location.href,r="string"==typeof e?e:C(e);return E(t,"No window.location.(origin|href) available to create URL for href: "+(r=r.replace(/ $/,"%20"))),new URL(r,t)}null==u&&(u=0,i.replaceState(v({},i.state,{idx:u}),""));let p={get action(){return l},get location(){return e(a,i)},listen(e){if(s)throw Error("A history only accepts one active listener");return a.addEventListener(y,h),s=e,()=>{a.removeEventListener(y,h),s=null}},createHref:e=>t(a,e),createURL:f,encodeLocation(e){let t=f(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){l=c.Push;let n=x(p.location,e,t);r&&r(n,e);let h=R(n,u=d()+1),f=p.createHref(n);try{i.pushState(h,"",f)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;a.location.assign(f)}o&&s&&s({action:l,location:p.location,delta:1})},replace:function(e,t){l=c.Replace;let n=x(p.location,e,t);r&&r(n,e);let a=R(n,u=d()),h=p.createHref(n);i.replaceState(a,"",h),o&&s&&s({action:l,location:p.location,delta:0})},go:e=>i.go(e)};return p}(a=d||(d={})).data="data",a.deferred="deferred",a.redirect="redirect",a.error="error";let L=new Set(["lazy","caseSensitive","path","id","index","children"]);function k(e,t,r,n){return void 0===r&&(r=[]),void 0===n&&(n={}),e.map((e,a)=>{let o=[...r,String(a)],i="string"==typeof e.id?e.id:o.join("-");if(E(!0!==e.index||!e.children,"Cannot specify children on an index route"),E(!n[i],'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),!0===e.index){let r=v({},e,t(e),{id:i});return n[i]=r,r}{let r=v({},e,t(e),{id:i,children:void 0});return n[i]=r,e.children&&(r.children=k(e.children,t,o,n)),r}})}function _(e,t,r){return void 0===r&&(r="/"),A(e,t,r,!1)}function A(e,t,r,n){let a=N(("string"==typeof t?P(t):t).pathname||"/",r);if(null==a)return null;let o=function e(t,r,n,a){void 0===r&&(r=[]),void 0===n&&(n=[]),void 0===a&&(a="");let o=(t,o,i)=>{var l,s;let u,c,d={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:o,route:t};d.relativePath.startsWith("/")&&(E(d.relativePath.startsWith(a),'Absolute route path "'+d.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),d.relativePath=d.relativePath.slice(a.length));let h=J([a,d.relativePath]),f=n.concat(d);t.children&&t.children.length>0&&(E(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+h+'".'),e(t.children,r,f,h)),(null!=t.path||t.index)&&r.push({path:h,score:(l=h,s=t.index,c=(u=l.split("/")).length,u.some(j)&&(c+=-2),s&&(c+=2),u.filter(e=>!j(e)).reduce((e,t)=>e+(U.test(t)?3:""===t?1:10),c)),routesMeta:f})};return t.forEach((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let r of function e(t){let r=t.split("/");if(0===r.length)return[];let[n,...a]=r,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(0===a.length)return o?[i,""]:[i];let l=e(a.join("/")),s=[];return s.push(...l.map(e=>""===e?i:[i,e].join("/"))),o&&s.push(...l),s.map(e=>t.startsWith("/")&&""===e?"/":e)}(e.path))o(e,t,r);else o(e,t)}),r}(e);o.sort((e,t)=>{var r,n;return e.score!==t.score?t.score-e.score:(r=e.routesMeta.map(e=>e.childrenIndex),n=t.routesMeta.map(e=>e.childrenIndex),r.length===n.length&&r.slice(0,-1).every((e,t)=>e===n[t])?r[r.length-1]-n[n.length-1]:0)});let i=null;for(let e=0;null==i&&e<o.length;++e){let t=F(a);i=function(e,t,r){void 0===r&&(r=!1);let{routesMeta:n}=e,a={},o="/",i=[];for(let e=0;e<n.length;++e){let l=n[e],s=e===n.length-1,u="/"===o?t:t.slice(o.length)||"/",c=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:s},u),d=l.route;if(!c&&s&&r&&!n[n.length-1].route.index&&(c=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:J([o,c.pathname]),pathnameBase:K(J([o,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(o=J([o,c.pathnameBase]))}return i}(o[e],t,n)}return i}function T(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}}let U=/^:[\w-]+$/,j=e=>"*"===e;function M(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(S(!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(/\*$/,"/*"));let 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["*"]);let o=e.match(/^:([\w-]+)(\??)$/);if(o){let[,e,r]=o,n=t[e];return E("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")}).filter(e=>!!e).join("/")}function O(e,t){var r,n,a;let o,i;"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[l,s]=(r=e.path,n=e.caseSensitive,a=e.end,void 0===n&&(n=!1),void 0===a&&(a=!0),S("*"===r||!r.endsWith("*")||r.endsWith("/*"),'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(/\*$/,"/*")+'".'),o=[],i="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,r)=>(o.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)")),r.endsWith("*")?(o.push({paramName:"*"}),i+="*"===r||"/*"===r?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?i+="\\/*$":""!==r&&"/"!==r&&(i+="(?:(?=\\/|$))"),[new RegExp(i,n?void 0:"i"),o]),u=t.match(l);if(!u)return null;let c=u[0],d=c.replace(/(.)\/+$/,"$1"),h=u.slice(1);return{params:s.reduce((e,t,r)=>{let{paramName:n,isOptional:a}=t;if("*"===n){let e=h[r]||"";d=c.slice(0,c.length-e.length).replace(/(.)\/+$/,"$1")}let o=h[r];return a&&!o?e[n]=void 0:e[n]=(o||"").replace(/%2F/g,"/"),e},{}),pathname:c,pathnameBase:d,pattern:e}}function F(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return S(!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)||"/"}let B=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function z(e,t){let r;void 0===t&&(t="/");let{pathname:n,search:a="",hash:o=""}="string"==typeof e?P(e):e;if(n){let e;(e=n,B.test(e))?r=n:(n.includes("//")&&S(!1,"Pathnames cannot have embedded double slashes - normalizing "+n+" -> "+(n=n.replace(/\/\/+/g,"/"))),r=n.startsWith("/")?I(n.substring(1),"/"):I(n,t))}else r=t;return{pathname:r,search:Y(a),hash:q(o)}}function I(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("/"):"/"}function H(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 W(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function $(e,t){let r=W(e);return t?r.map((e,t)=>t===r.length-1?e.pathname:e.pathnameBase):r.map(e=>e.pathnameBase)}function V(e,t,r,n){let a,o;void 0===n&&(n=!1),"string"==typeof e?a=P(e):(E(!(a=v({},e)).pathname||!a.pathname.includes("?"),H("?","pathname","search",a)),E(!a.pathname||!a.pathname.includes("#"),H("#","pathname","hash",a)),E(!a.search||!a.search.includes("#"),H("#","search","hash",a)));let i=""===e||""===a.pathname,l=i?"/":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 s=z(a,o),u=l&&"/"!==l&&l.endsWith("/"),c=(i||"."===l)&&r.endsWith("/");return!s.pathname.endsWith("/")&&(u||c)&&(s.pathname+="/"),s}let J=e=>e.join("/").replace(/\/\/+/g,"/"),K=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Y=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",q=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",X=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),v({},r,{headers:n}))};class G extends Error{}class Q{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],E(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 G("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 G)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=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 E(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]:function(e){if(!(e instanceof Promise&&!0===e._tracked))return e;if(e._error)throw e._error;return e._data}(n)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}let Z=function(e,t){return void 0===t&&(t={}),new Q(e,"number"==typeof t?{status:t}:t)},ee=function(e,t){void 0===t&&(t=302);let r=t;"number"==typeof r?r={status:r}:void 0===r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,v({},r,{headers:n}))},et=(e,t)=>{let r=ee(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},er=(e,t)=>{let r=ee(e,t);return r.headers.set("X-Remix-Replace","true"),r};class en{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 ea(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}let eo=["post","put","patch","delete"],ei=new Set(eo),el=new Set(["get",...eo]),es=new Set([301,302,303,307,308]),eu=new Set([307,308]),ec={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ed={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},eh={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ef=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ep=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),em="remix-router-transitions";function ev(e){let t,r,n,a,o,i,l=e.window?e.window:"undefined"!=typeof window?window:void 0,s=void 0!==l&&void 0!==l.document&&void 0!==l.document.createElement,u=!s;if(E(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)t=e.mapRouteProperties;else if(e.detectErrorBoundary){let r=e.detectErrorBoundary;t=e=>({hasErrorBoundary:r(e)})}else t=ep;let h={},f=k(e.routes,t,void 0,h),p=e.basename||"/",m=e.dataStrategy||eP,y=e.patchRoutesOnNavigation,g=v({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),b=null,w=new Set,R=null,C=null,P=null,D=null!=e.hydrationData,L=_(f,e.history.location,p),U=!1,j=null;if(null==L&&!y){let t=eB(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=eN(f);L=r,j={[n.id]:t}}if(L&&!e.hydrationData&&to(L,f,e.history.location.pathname).active&&(L=null),L)if(L.some(e=>e.route.lazy))n=!1;else if(L.some(e=>e.route.loader))if(g.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,r=e.hydrationData?e.hydrationData.errors:null;if(r){let e=L.findIndex(e=>void 0!==r[e.route.id]);n=L.slice(0,e+1).every(e=>!eE(e.route,t,r))}else n=L.every(e=>!eE(e.route,t,r))}else n=null!=e.hydrationData;else n=!0;else if(n=!1,L=[],g.v7_partialHydration){let t=to(null,f,e.history.location.pathname);t.active&&t.matches&&(U=!0,L=t.matches)}let M={historyAction:e.history.action,location:e.history.location,matches:L,initialized:n,navigation:ec,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||j,fetchers:new Map,blockers:new Map},O=c.Pop,F=!1,B=!1,z=new Map,I=null,H=!1,W=!1,$=[],V=new Set,J=new Map,K=0,Y=-1,q=new Map,X=new Set,G=new Map,Q=new Map,Z=new Set,ee=new Map,et=new Map;function er(e,t){void 0===t&&(t={}),M=v({},M,e);let r=[],n=[];g.v7_fetcherPersist&&M.fetchers.forEach((e,t)=>{"idle"===e.state&&(Z.has(t)?n.push(t):r.push(t))}),Z.forEach(e=>{M.fetchers.has(e)||J.has(e)||n.push(e)}),[...w].forEach(e=>e(M,{deletedFetchers:n,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),g.v7_fetcherPersist?(r.forEach(e=>M.fetchers.delete(e)),n.forEach(e=>e4(e))):n.forEach(e=>Z.delete(e))}function en(t,n,a){var o,i;let l,s,{flushSync:u}=void 0===a?{}:a,d=null!=M.actionData&&null!=M.navigation.formMethod&&eK(M.navigation.formMethod)&&"loading"===M.navigation.state&&(null==(o=t.state)?void 0:o._isRedirect)!==!0;l=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:d?M.actionData:null;let h=n.loaderData?eM(M.loaderData,n.loaderData,n.matches||[],n.errors):M.loaderData,p=M.blockers;p.size>0&&(p=new Map(p)).forEach((e,t)=>p.set(t,eh));let m=!0===F||null!=M.navigation.formMethod&&eK(M.navigation.formMethod)&&(null==(i=t.state)?void 0:i._isRedirect)!==!0;if(r&&(f=r,r=void 0),H||O===c.Pop||(O===c.Push?e.history.push(t,t.state):O===c.Replace&&e.history.replace(t,t.state)),O===c.Pop){let e=z.get(M.location.pathname);e&&e.has(t.pathname)?s={currentLocation:M.location,nextLocation:t}:z.has(t.pathname)&&(s={currentLocation:t,nextLocation:M.location})}else if(B){let e=z.get(M.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),z.set(M.location.pathname,e)),s={currentLocation:M.location,nextLocation:t}}er(v({},n,{actionData:l,loaderData:h,historyAction:O,location:t,initialized:!0,navigation:ec,revalidation:"idle",restoreScrollPosition:ta(t,n.matches||M.matches),preventScrollReset:m,blockers:p}),{viewTransitionOpts:s,flushSync:!0===u}),O=c.Pop,F=!1,B=!1,H=!1,W=!1,$=[]}async function eo(t,r){if("number"==typeof t)return void e.history.go(t);let n=ey(M.location,M.matches,p,g.v7_prependBasename,t,g.v7_relativeSplatPath,null==r?void 0:r.fromRouteId,null==r?void 0:r.relative),{path:a,submission:o,error:i}=eg(g.v7_normalizeFormMethod,!1,n,r),l=M.location,s=x(M.location,a,r&&r.state);s=v({},s,e.history.encodeLocation(s));let u=r&&null!=r.replace?r.replace:void 0,d=c.Push;!0===u?d=c.Replace:!1===u||null!=o&&eK(o.formMethod)&&o.formAction===M.location.pathname+M.location.search&&(d=c.Replace);let h=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0,f=!0===(r&&r.flushSync),m=te({currentLocation:l,nextLocation:s,historyAction:d});return m?void e8(m,{state:"blocked",location:s,proceed(){e8(m,{state:"proceeding",proceed:void 0,reset:void 0,location:s}),eo(t,r)},reset(){let e=new Map(M.blockers);e.set(m,eh),er({blockers:e})}}):await ei(d,s,{submission:o,pendingError:i,preventScrollReset:h,replace:r&&r.replace,enableViewTransition:r&&r.viewTransition,flushSync:f})}async function ei(t,n,a){var i,l,s,u;let c;o&&o.abort(),o=null,O=t,H=!0===(a&&a.startUninterruptedRevalidation),i=M.location,l=M.matches,R&&P&&(R[tn(i,l)]=P()),F=!0===(a&&a.preventScrollReset),B=!0===(a&&a.enableViewTransition);let h=r||f,m=a&&a.overrideNavigation,y=null!=a&&a.initialHydration&&M.matches&&M.matches.length>0&&!U?M.matches:_(h,n,p),g=!0===(a&&a.flushSync);if(y&&M.initialized&&!W&&(s=M.location,u=n,s.pathname===u.pathname&&s.search===u.search&&(""===s.hash?""!==u.hash:s.hash===u.hash||""!==u.hash||!1))&&!(a&&a.submission&&eK(a.submission.formMethod)))return void en(n,{matches:y},{flushSync:g});let b=to(y,h,n.pathname);if(b.active&&b.matches&&(y=b.matches),!y){let{error:e,notFoundMatches:t,route:r}=tt(n.pathname);en(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:g});return}o=new AbortController;let w=eA(e.history,n,o.signal,a&&a.submission);if(a&&a.pendingError)c=[eF(y).route.id,{type:d.error,error:a.pendingError}];else if(a&&a.submission&&eK(a.submission.formMethod)){let t=await el(w,n,a.submission,y,b.active,{replace:a.replace,flushSync:g});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(eW(r)&&ea(r.error)&&404===r.error.status){o=null,en(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}});return}}y=t.matches||y,c=t.pendingActionResult,m=e0(n,a.submission),g=!1,b.active=!1,w=eA(e.history,w.url,w.signal)}let{shortCircuited:E,matches:S,loaderData:x,errors:C}=await ev(w,n,y,b.active,m,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,a&&!0===a.initialHydration,g,c);E||(o=null,en(n,v({matches:S||y},eO(c),{loaderData:x,errors:C})))}async function el(t,r,n,a,o,i){var l;let s;if(void 0===i&&(i={}),eU(),er({navigation:{state:"submitting",location:r,formMethod:(l=n).formMethod,formAction:l.formAction,formEncType:l.formEncType,formData:l.formData,json:l.json,text:l.text}},{flushSync:!0===i.flushSync}),o){let e=await ti(a,r.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=eF(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:d.error,error:e.error}]}}if(e.matches)a=e.matches;else{let{notFoundMatches:e,error:t,route:n}=tt(r.pathname);return{matches:e,pendingActionResult:[n.id,{type:d.error,error:t}]}}}let u=eQ(a,r);if(u.route.action||u.route.lazy){if(s=(await eL("action",M,t,[u],a,null))[u.route.id],t.signal.aborted)return{shortCircuited:!0}}else s={type:d.error,error:eB(405,{method:t.method,pathname:r.pathname,routeId:u.route.id})};if(e$(s)){let r;return r=i&&null!=i.replace?i.replace:e_(s.response.headers.get("Location"),new URL(t.url),p,e.history)===M.location.pathname+M.location.search,await eC(t,s,!0,{submission:n,replace:r}),{shortCircuited:!0}}if(eH(s))throw eB(400,{type:"defer-action"});if(eW(s)){let e=eF(a,u.route.id);return!0!==(i&&i.replace)&&(O=c.Push),{matches:a,pendingActionResult:[e.route.id,s]}}return{matches:a,pendingActionResult:[u.route.id,s]}}async function ev(t,n,a,i,l,s,u,c,d,h,m){let y=l||e0(n,s),b=s||u||eZ(y),w=!H&&(!g.v7_partialHydration||!d);if(i){if(w){let e=eb(m);er(v({navigation:y},void 0!==e?{actionData:e}:{}),{flushSync:h})}let e=await ti(a,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=eF(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(e.matches)a=e.matches;else{let{error:e,notFoundMatches:t,route:r}=tt(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let E=r||f,[S,R]=ew(e.history,M,a,b,n,g.v7_partialHydration&&!0===d,g.v7_skipActionErrorRevalidation,W,$,V,Z,G,X,E,p,m);if(tr(e=>!(a&&a.some(t=>t.route.id===e))||S&&S.some(t=>t.route.id===e)),Y=++K,0===S.length&&0===R.length){let e=e3();return en(n,v({matches:a,loaderData:{},errors:m&&eW(m[1])?{[m[0]]:m[1].error}:null},eO(m),e?{fetchers:new Map(M.fetchers)}:{}),{flushSync:h}),{shortCircuited:!0}}if(w){let e={};if(!i){e.navigation=y;let t=eb(m);void 0!==t&&(e.actionData=t)}R.length>0&&(R.forEach(e=>{let t=M.fetchers.get(e.key),r=e1(void 0,t?t.data:void 0);M.fetchers.set(e.key,r)}),e.fetchers=new Map(M.fetchers)),er(e,{flushSync:h})}R.forEach(e=>{e2(e.key),e.controller&&J.set(e.key,e.controller)});let x=()=>R.forEach(e=>e2(e.key));o&&o.signal.addEventListener("abort",x);let{loaderResults:C,fetcherResults:P}=await eT(M,a,S,R,t);if(t.signal.aborted)return{shortCircuited:!0};o&&o.signal.removeEventListener("abort",x),R.forEach(e=>J.delete(e.key));let D=ez(C);if(D)return await eC(t,D.result,!0,{replace:c}),{shortCircuited:!0};if(D=ez(P))return X.add(D.key),await eC(t,D.result,!0,{replace:c}),{shortCircuited:!0};let{loaderData:L,errors:k}=ej(M,a,C,m,R,P,ee);ee.forEach((e,t)=>{e.subscribe(r=>{(r||e.done)&&ee.delete(t)})}),g.v7_partialHydration&&d&&M.errors&&(k=v({},M.errors,k));let _=e3(),A=e6(Y),T=_||A||R.length>0;return v({matches:a,loaderData:L,errors:k},T?{fetchers:new Map(M.fetchers)}:{})}function eb(e){if(e&&!eW(e[1]))return{[e[0]]:e[1].data};if(M.actionData)if(0===Object.keys(M.actionData).length)return null;else return M.actionData}async function eS(t,n,a,i,l,s,u,c,d){var h,m;function v(e){if(!e.route.action&&!e.route.lazy){let e=eB(405,{method:d.formMethod,pathname:a,routeId:n});return eV(t,n,e,{flushSync:u}),!0}return!1}if(eU(),G.delete(t),!s&&v(i))return;let y=M.fetchers.get(t);eI(t,(h=d,m=y,{state:"submitting",formMethod:h.formMethod,formAction:h.formAction,formEncType:h.formEncType,formData:h.formData,json:h.json,text:h.text,data:m?m.data:void 0}),{flushSync:u});let b=new AbortController,w=eA(e.history,a,b.signal,d);if(s){let e=await ti(l,new URL(w.url).pathname,w.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void eV(t,n,e.error,{flushSync:u});if(!e.matches)return void eV(t,n,eB(404,{pathname:a}),{flushSync:u});if(v(i=eQ(l=e.matches,a)))return}J.set(t,b);let S=K,R=(await eL("action",M,w,[i],l,t))[i.route.id];if(w.signal.aborted){J.get(t)===b&&J.delete(t);return}if(g.v7_fetcherPersist&&Z.has(t)){if(e$(R)||eW(R))return void eI(t,e7(void 0))}else{if(e$(R))return(J.delete(t),Y>S)?void eI(t,e7(void 0)):(X.add(t),eI(t,e1(d)),eC(w,R,!1,{fetcherSubmission:d,preventScrollReset:c}));if(eW(R))return void eV(t,n,R.error)}if(eH(R))throw eB(400,{type:"defer-action"});let x=M.navigation.location||M.location,C=eA(e.history,x,b.signal),P=r||f,D="idle"!==M.navigation.state?_(P,M.navigation.location,p):M.matches;E(D,"Didn't find any matches after fetcher action");let L=++K;q.set(t,L);let k=e1(d,R.data);M.fetchers.set(t,k);let[A,T]=ew(e.history,M,D,d,x,!1,g.v7_skipActionErrorRevalidation,W,$,V,Z,G,X,P,p,[i.route.id,R]);T.filter(e=>e.key!==t).forEach(e=>{let t=e.key,r=M.fetchers.get(t),n=e1(void 0,r?r.data:void 0);M.fetchers.set(t,n),e2(t),e.controller&&J.set(t,e.controller)}),er({fetchers:new Map(M.fetchers)});let U=()=>T.forEach(e=>e2(e.key));b.signal.addEventListener("abort",U);let{loaderResults:j,fetcherResults:F}=await eT(M,D,A,T,C);if(b.signal.aborted)return;b.signal.removeEventListener("abort",U),q.delete(t),J.delete(t),T.forEach(e=>J.delete(e.key));let N=ez(j);if(N)return eC(C,N.result,!1,{preventScrollReset:c});if(N=ez(F))return X.add(N.key),eC(C,N.result,!1,{preventScrollReset:c});let{loaderData:B,errors:z}=ej(M,D,j,void 0,T,F,ee);if(M.fetchers.has(t)){let e=e7(R.data);M.fetchers.set(t,e)}e6(L),"loading"===M.navigation.state&&L>Y?(E(O,"Expected pending action"),o&&o.abort(),en(M.navigation.location,{matches:D,loaderData:B,errors:z,fetchers:new Map(M.fetchers)})):(er({errors:z,loaderData:eM(M.loaderData,B,D,z),fetchers:new Map(M.fetchers)}),W=!1)}async function eR(t,r,n,a,o,i,l,s,u){let c=M.fetchers.get(t);eI(t,e1(u,c?c.data:void 0),{flushSync:l});let d=new AbortController,h=eA(e.history,n,d.signal);if(i){let e=await ti(o,new URL(h.url).pathname,h.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void eV(t,r,e.error,{flushSync:l});if(!e.matches)return void eV(t,r,eB(404,{pathname:n}),{flushSync:l});a=eQ(o=e.matches,n)}J.set(t,d);let f=K,p=(await eL("loader",M,h,[a],o,t))[a.route.id];if(eH(p)&&(p=await eX(p,h.signal,!0)||p),J.get(t)===d&&J.delete(t),!h.signal.aborted){if(Z.has(t))return void eI(t,e7(void 0));if(e$(p))if(Y>f)return void eI(t,e7(void 0));else{X.add(t),await eC(h,p,!1,{preventScrollReset:s});return}if(eW(p))return void eV(t,r,p.error);E(!eH(p),"Unhandled fetcher deferred data"),eI(t,e7(p.data))}}async function eC(t,r,n,a){let{submission:i,fetcherSubmission:u,preventScrollReset:d,replace:h}=void 0===a?{}:a;r.response.headers.has("X-Remix-Revalidate")&&(W=!0);let f=r.response.headers.get("Location");E(f,"Expected a Location header on the redirect Response"),f=e_(f,new URL(t.url),p,e.history);let m=x(M.location,f,{_isRedirect:!0});if(s){let t=!1;if(r.response.headers.has("X-Remix-Reload-Document"))t=!0;else if(ef.test(f)){let r=e.history.createURL(f);t=r.origin!==l.location.origin||null==N(r.pathname,p)}if(t)return void(h?l.location.replace(f):l.location.assign(f))}o=null;let y=!0===h||r.response.headers.has("X-Remix-Replace")?c.Replace:c.Push,{formMethod:g,formAction:b,formEncType:w}=M.navigation;!i&&!u&&g&&b&&w&&(i=eZ(M.navigation));let S=i||u;if(eu.has(r.response.status)&&S&&eK(S.formMethod))await ei(y,m,{submission:v({},S,{formAction:f}),preventScrollReset:d||F,enableViewTransition:n?B:void 0});else{let e=e0(m,i);await ei(y,m,{overrideNavigation:e,fetcherSubmission:u,preventScrollReset:d||F,enableViewTransition:n?B:void 0})}}async function eL(e,r,n,a,o,i){let l,s={};try{l=await eD(m,e,r,n,a,o,i,h,t)}catch(e){return a.forEach(t=>{s[t.route.id]={type:d.error,error:e}}),s}for(let[e,t]of Object.entries(l)){var u;if(eJ((u=t).result)&&es.has(u.result.status)){let r=t.result;s[e]={type:d.redirect,response:function(e,t,r,n,a,o){let i=e.headers.get("Location");if(E(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!ef.test(i)){let l=n.slice(0,n.findIndex(e=>e.route.id===r)+1);i=ey(new URL(t.url),l,a,!0,i,o),e.headers.set("Location",i)}return e}(r,n,e,o,p,g.v7_relativeSplatPath)}}else s[e]=await ek(t)}return s}async function eT(t,r,n,a,o){let i=t.matches,l=eL("loader",t,o,n,r,null),s=Promise.all(a.map(async r=>{if(!r.matches||!r.match||!r.controller)return Promise.resolve({[r.key]:{type:d.error,error:eB(404,{pathname:r.path})}});{let n=(await eL("loader",t,eA(e.history,r.path,r.controller.signal),[r.match],r.matches,r.key))[r.match.route.id];return{[r.key]:n}}})),u=await l,c=(await s).reduce((e,t)=>Object.assign(e,t),{});return await Promise.all([eY(r,u,o.signal,i,t.loaderData),eq(r,c,a)]),{loaderResults:u,fetcherResults:c}}function eU(){W=!0,$.push(...tr()),G.forEach((e,t)=>{J.has(t)&&V.add(t),e2(t)})}function eI(e,t,r){void 0===r&&(r={}),M.fetchers.set(e,t),er({fetchers:new Map(M.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function eV(e,t,r,n){void 0===n&&(n={});let a=eF(M.matches,t);e4(e),er({errors:{[a.route.id]:r},fetchers:new Map(M.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function eG(e){return Q.set(e,(Q.get(e)||0)+1),Z.has(e)&&Z.delete(e),M.fetchers.get(e)||ed}function e4(e){let t=M.fetchers.get(e);J.has(e)&&!(t&&"loading"===t.state&&q.has(e))&&e2(e),G.delete(e),q.delete(e),X.delete(e),g.v7_fetcherPersist&&Z.delete(e),V.delete(e),M.fetchers.delete(e)}function e2(e){let t=J.get(e);t&&(t.abort(),J.delete(e))}function e5(e){for(let t of e){let e=e7(eG(t).data);M.fetchers.set(t,e)}}function e3(){let e=[],t=!1;for(let r of X){let n=M.fetchers.get(r);E(n,"Expected fetcher: "+r),"loading"===n.state&&(X.delete(r),e.push(r),t=!0)}return e5(e),t}function e6(e){let t=[];for(let[r,n]of q)if(n<e){let e=M.fetchers.get(r);E(e,"Expected fetcher: "+r),"loading"===e.state&&(e2(r),q.delete(r),t.push(r))}return e5(t),t.length>0}function e9(e){M.blockers.delete(e),et.delete(e)}function e8(e,t){let r=M.blockers.get(e)||eh;E("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(M.blockers);n.set(e,t),er({blockers:n})}function te(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===et.size)return;et.size>1&&S(!1,"A router only supports one blocker at a time");let a=Array.from(et.entries()),[o,i]=a[a.length-1],l=M.blockers.get(o);if((!l||"proceeding"!==l.state)&&i({currentLocation:t,nextLocation:r,historyAction:n}))return o}function tt(e){let t=eB(404,{pathname:e}),{matches:n,route:a}=eN(r||f);return tr(),{notFoundMatches:n,route:a,error:t}}function tr(e){let t=[];return ee.forEach((r,n)=>{(!e||e(n))&&(r.cancel(),t.push(n),ee.delete(n))}),t}function tn(e,t){return C&&C(e,t.map(e=>T(e,M.loaderData)))||e.key}function ta(e,t){if(R){let r=R[tn(e,t)];if("number"==typeof r)return r}return null}function to(e,t,r){if(y){if(!e)return{active:!0,matches:A(t,r,p,!0)||[]};else if(Object.keys(e[0].params).length>0)return{active:!0,matches:A(t,r,p,!0)}}return{active:!1,matches:null}}async function ti(e,n,a,o){if(!y)return{type:"success",matches:e};let i=e;for(;;){let e=null==r,l=r||f,s=h;try{await y({signal:a,path:n,matches:i,fetcherKey:o,patch:(e,r)=>{a.aborted||ex(e,r,l,s,t)}})}catch(e){return{type:"error",error:e,partialMatches:i}}finally{e&&!a.aborted&&(f=[...f])}if(a.aborted)return{type:"aborted"};let u=_(l,n,p);if(u)return{type:"success",matches:u};let c=A(l,n,p,!0);if(!c||i.length===c.length&&i.every((e,t)=>e.route.id===c[t].route.id))return{type:"success",matches:null};i=c}}return a={get basename(){return p},get future(){return g},get state(){return M},get routes(){return f},get window(){return l},initialize:function(){if(b=e.history.listen(t=>{let{action:r,location:n,delta:a}=t;if(i){i(),i=void 0;return}S(0===et.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=te({currentLocation:M.location,nextLocation:n,historyAction:r});if(o&&null!=a){let t=new Promise(e=>{i=e});e.history.go(-1*a),e8(o,{state:"blocked",location:n,proceed(){e8(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(a))},reset(){let e=new Map(M.blockers);e.set(o,eh),er({blockers:e})}});return}return ei(r,n)}),s){var t=l,r=z;try{let e=t.sessionStorage.getItem(em);if(e){let t=JSON.parse(e);for(let[e,n]of Object.entries(t||{}))n&&Array.isArray(n)&&r.set(e,new Set(n||[]))}}catch(e){}let e=()=>(function(e,t){if(t.size>0){let r={};for(let[e,n]of t)r[e]=[...n];try{e.sessionStorage.setItem(em,JSON.stringify(r))}catch(e){S(!1,"Failed to save applied view transitions in sessionStorage ("+e+").")}}})(l,z);l.addEventListener("pagehide",e),I=()=>l.removeEventListener("pagehide",e)}return M.initialized||ei(c.Pop,M.location,{initialHydration:!0}),a},subscribe:function(e){return w.add(e),()=>w.delete(e)},enableScrollRestoration:function(e,t,r){if(R=e,P=t,C=r||null,!D&&M.navigation===ec){D=!0;let e=ta(M.location,M.matches);null!=e&&er({restoreScrollPosition:e})}return()=>{R=null,P=null,C=null}},navigate:eo,fetch:function(e,t,n,a){if(u)throw 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.");e2(e);let o=!0===(a&&a.flushSync),i=r||f,l=ey(M.location,M.matches,p,g.v7_prependBasename,n,g.v7_relativeSplatPath,t,null==a?void 0:a.relative),s=_(i,l,p),c=to(s,i,l);if(c.active&&c.matches&&(s=c.matches),!s)return void eV(e,t,eB(404,{pathname:l}),{flushSync:o});let{path:d,submission:h,error:m}=eg(g.v7_normalizeFormMethod,!0,l,a);if(m)return void eV(e,t,m,{flushSync:o});let v=eQ(s,d),y=!0===(a&&a.preventScrollReset);h&&eK(h.formMethod)?eS(e,t,d,v,s,c.active,o,y,h):(G.set(e,{routeId:t,path:d}),eR(e,t,d,v,s,c.active,o,y,h))},revalidate:function(){if(eU(),er({revalidation:"loading"}),"submitting"!==M.navigation.state){if("idle"===M.navigation.state)return void ei(M.historyAction,M.location,{startUninterruptedRevalidation:!0});ei(O||M.historyAction,M.navigation.location,{overrideNavigation:M.navigation,enableViewTransition:!0===B})}},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:eG,deleteFetcher:function(e){let t=(Q.get(e)||0)-1;t<=0?(Q.delete(e),Z.add(e),g.v7_fetcherPersist||e4(e)):Q.set(e,t),er({fetchers:new Map(M.fetchers)})},dispose:function(){b&&b(),I&&I(),w.clear(),o&&o.abort(),M.fetchers.forEach((e,t)=>e4(t)),M.blockers.forEach((e,t)=>e9(t))},getBlocker:function(e,t){let r=M.blockers.get(e)||eh;return et.get(e)!==t&&et.set(e,t),r},deleteBlocker:e9,patchRoutes:function(e,n){let a=null==r;ex(e,n,r||f,h,t),a&&(f=[...f],er({}))},_internalFetchControllers:J,_internalActiveDeferreds:ee,_internalSetRoutes:function(e){r=k(e,t,void 0,h={})}}}function ey(e,t,r,n,a,o,i,l){let s,u;if(i){for(let e of(s=[],t))if(s.push(e),e.route.id===i){u=e;break}}else s=t,u=t[t.length-1];let c=V(a||".",$(s,o),N(e.pathname,r)||e.pathname,"path"===l);if(null==a&&(c.search=e.search,c.hash=e.hash),(null==a||""===a||"."===a)&&u){let e=eG(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:J([r,c.pathname])),C(c)}function eg(e,t,r,n){var a;let o,i;if(!n||!(null!=n&&("formData"in n&&null!=n.formData||"body"in n&&void 0!==n.body)))return{path:r};if(n.formMethod&&(a=n.formMethod,!el.has(a.toLowerCase())))return{path:r,error:eB(405,{method:n.formMethod})};let l=()=>({path:r,error:eB(400,{type:"invalid-body"})}),s=n.formMethod||"get",u=e?s.toUpperCase():s.toLowerCase(),c=eI(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!eK(u))return l();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:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if("application/json"===n.formEncType){if(!eK(u))return l();try{let e="string"==typeof n.body?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return l()}}}if(E("function"==typeof FormData,"FormData is not available in this environment"),n.formData)o=eT(n.formData),i=n.formData;else if(n.body instanceof FormData)o=eT(n.body),i=n.body;else if(n.body instanceof URLSearchParams)i=eU(o=n.body);else if(null==n.body)o=new URLSearchParams,i=new FormData;else try{o=new URLSearchParams(n.body),i=eU(o)}catch(e){return l()}let d={formMethod:u,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(eK(d.formMethod))return{path:r,submission:d};let h=P(r);return t&&h.search&&eG(h.search)&&o.append("index",""),h.search="?"+o,{path:C(h),submission:d}}function eb(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 ew(e,t,r,n,a,o,i,l,s,u,c,d,h,f,p,m){let y=m?eW(m[1])?m[1].error:m[1].data:void 0,g=e.createURL(t.location),b=e.createURL(a),w=r;o&&t.errors?w=eb(r,Object.keys(t.errors)[0],!0):m&&eW(m[1])&&(w=eb(r,m[0]));let E=m?m[1].statusCode:void 0,S=i&&E&&E>=400,R=w.filter((e,r)=>{var a,i,u;let c,d,{route:h}=e;if(h.lazy)return!0;if(null==h.loader)return!1;if(o)return eE(h,t.loaderData,t.errors);if(a=t.loaderData,i=t.matches[r],u=e,c=!i||u.route.id!==i.route.id,d=void 0===a[u.route.id],c||d||s.some(t=>t===e.route.id))return!0;let f=t.matches[r];return eR(e,v({currentUrl:g,currentParams:f.params,nextUrl:b,nextParams:e.params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!S&&(l||g.pathname+g.search===b.pathname+b.search||g.search!==b.search||eS(f,e))}))}),x=[];return d.forEach((e,a)=>{if(o||!r.some(t=>t.route.id===e.routeId)||c.has(a))return;let i=_(f,e.path,p);if(!i)return void x.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let s=t.fetchers.get(a),d=eQ(i,e.path),m=!1;h.has(a)?m=!1:u.has(a)?(u.delete(a),m=!0):m=s&&"idle"!==s.state&&void 0===s.data?l:eR(d,v({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:b,nextParams:r[r.length-1].params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!S&&l})),m&&x.push({key:a,routeId:e.routeId,path:e.path,matches:i,match:d,controller:new AbortController})}),[R,x]}function eE(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 eS(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function eR(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"==typeof r)return r}return t.defaultShouldRevalidate}function ex(e,t,r,n,a){var o;let i;if(e){let t=n[e];E(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=r;let l=k(t.filter(e=>!i.some(t=>(function e(t,r){return"id"in t&&"id"in r&&t.id===r.id||t.index===r.index&&t.path===r.path&&t.caseSensitive===r.caseSensitive&&((!t.children||0===t.children.length)&&(!r.children||0===r.children.length)||t.children.every((t,n)=>{var a;return null==(a=r.children)?void 0:a.some(r=>e(t,r))}))})(e,t))),a,[e||"_","patch",String((null==(o=i)?void 0:o.length)||"0")],n);i.push(...l)}async function eC(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];E(a,"No route found in manifest");let o={};for(let e in n){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;S(!t,'Route "'+a.id+'" has a static property "'+e+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+e+'" will be ignored.'),t||L.has(e)||(o[e]=n[e])}Object.assign(a,o),Object.assign(a,v({},t(a),{lazy:void 0}))}async function eP(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 eD(e,t,r,n,a,o,i,l,s,u){let c=o.map(e=>e.route.lazy?eC(e.route,s,l):void 0),h=o.map((e,r)=>{let o=c[r],i=a.some(t=>t.route.id===e.route.id),l=async r=>(r&&"GET"===n.method&&(e.route.lazy||e.route.loader)&&(i=!0),i?eL(t,n,e,o,r,u):Promise.resolve({type:d.data,result:void 0}));return v({},e,{shouldLoad:i,resolve:l})}),f=await e({matches:h,request:n,params:o[0].params,fetcherKey:i,context:u});try{await Promise.all(c)}catch(e){}return f}async function eL(e,t,r,n,a,o){let i,l,s=n=>{let i,s=new Promise((e,t)=>i=t);l=()=>i(),t.signal.addEventListener("abort",l);let u=a=>"function"!=typeof n?Promise.reject(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]:[]);return Promise.race([(async()=>{try{let e=await (a?a(e=>u(e)):u());return{type:"data",result:e}}catch(e){return{type:"error",result:e}}})(),s])};try{let a=r.route[e];if(n)if(a){let e,[t]=await Promise.all([s(a).catch(t=>{e=t}),n]);if(void 0!==e)throw e;i=t}else if(await n,a=r.route[e])i=await s(a);else{if("action"!==e)return{type:d.data,result:void 0};let n=new URL(t.url),a=n.pathname+n.search;throw eB(405,{method:t.method,pathname:a,routeId:r.route.id})}else if(a)i=await s(a);else{let e=new URL(t.url),r=e.pathname+e.search;throw eB(404,{pathname:r})}E(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(e){return{type:d.error,result:e}}finally{l&&t.signal.removeEventListener("abort",l)}return i}async function ek(e){var t,r,n,a,o,i,l,s,u;let{result:c,type:h}=e;if(eJ(c)){let e;try{let t=c.headers.get("Content-Type");e=t&&/\bapplication\/json\b/.test(t)?null==c.body?null:await c.json():await c.text()}catch(e){return{type:d.error,error:e}}return h===d.error?{type:d.error,error:new en(c.status,c.statusText,e),statusCode:c.status,headers:c.headers}:{type:d.data,data:e,statusCode:c.status,headers:c.headers}}if(h===d.error)return eV(c)?c.data instanceof Error?{type:d.error,error:c.data,statusCode:null==(n=c.init)?void 0:n.status,headers:null!=(a=c.init)&&a.headers?new Headers(c.init.headers):void 0}:{type:d.error,error:new en((null==(t=c.init)?void 0:t.status)||500,void 0,c.data),statusCode:ea(c)?c.status:void 0,headers:null!=(r=c.init)&&r.headers?new Headers(c.init.headers):void 0}:{type:d.error,error:c,statusCode:ea(c)?c.status:void 0};return(u=c)&&"object"==typeof u&&"object"==typeof u.data&&"function"==typeof u.subscribe&&"function"==typeof u.cancel&&"function"==typeof u.resolveData?{type:d.deferred,deferredData:c,statusCode:null==(o=c.init)?void 0:o.status,headers:(null==(i=c.init)?void 0:i.headers)&&new Headers(c.init.headers)}:eV(c)?{type:d.data,data:c.data,statusCode:null==(l=c.init)?void 0:l.status,headers:null!=(s=c.init)&&s.headers?new Headers(c.init.headers):void 0}:{type:d.data,data:c}}function e_(e,t,r,n){let a=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(ef.test(e)){let n=new URL(e.startsWith("//")?t.protocol+e:e);if(a.includes(n.protocol))throw Error("Invalid redirect location");let o=null!=N(n.pathname,r);if(n.origin===t.origin&&o)return n.pathname+n.search+n.hash}try{let t=n.createURL(e);if(a.includes(t.protocol))throw Error("Invalid redirect location")}catch(e){}return e}function eA(e,t,r,n){let a=e.createURL(eI(t)).toString(),o={signal:r};if(n&&eK(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=eT(n.formData):o.body=n.formData}return new Request(a,o)}function eT(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"==typeof n?n:n.name);return t}function eU(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function ej(e,t,r,n,a,o,i){let l,s,u,c,d,h,{loaderData:f,errors:p}=(s={},u=null,c=!1,d={},h=n&&eW(n[1])?n[1].error:void 0,t.forEach(e=>{if(!(e.route.id in r))return;let n=e.route.id,a=r[n];if(E(!e$(a),"Cannot handle redirect results in processLoaderData"),eW(a)){let e=a.error;void 0!==h&&(e=h,h=void 0),u=u||{},1;{let r=eF(t,n);null==u[r.route.id]&&(u[r.route.id]=e)}s[n]=void 0,c||(c=!0,l=ea(a.error)?a.error.status:500),a.headers&&(d[n]=a.headers)}else eH(a)?(i.set(n,a.deferredData),s[n]=a.deferredData.data,null==a.statusCode||200===a.statusCode||c||(l=a.statusCode)):(s[n]=a.data,a.statusCode&&200!==a.statusCode&&!c&&(l=a.statusCode)),a.headers&&(d[n]=a.headers)}),void 0!==h&&n&&(u={[n[0]]:h},s[n[0]]=void 0),{loaderData:s,errors:u,statusCode:l||200,loaderHeaders:d});return a.forEach(t=>{let{key:r,match:n,controller:a}=t,i=o[r];if(E(i,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if(eW(i)){let t=eF(e.matches,null==n?void 0:n.route.id);p&&p[t.route.id]||(p=v({},p,{[t.route.id]:i.error})),e.fetchers.delete(r)}else if(e$(i))E(!1,"Unhandled fetcher revalidation redirect");else if(eH(i))E(!1,"Unhandled fetcher deferred data");else{let t=e7(i.data);e.fetchers.set(r,t)}}),{loaderData:f,errors:p}}function eM(e,t,r,n){let a=v({},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 eO(e){return e?eW(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function eF(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 eN(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 eB(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=void 0===t?{}:t,l="Unknown Server Error",s="Unknown @remix-run/router error";return 400===e?(l="Bad Request",a&&r&&n?s="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?s="defer() is not supported in actions":"invalid-body"===o&&(s="Unable to encode submission body")):403===e?(l="Forbidden",s='Route "'+n+'" does not match URL "'+r+'"'):404===e?(l="Not Found",s='No route matches URL "'+r+'"'):405===e&&(l="Method Not Allowed",a&&r&&n?s="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&&(s='Invalid request method "'+a.toUpperCase()+'"')),new en(e||500,l,Error(s),!0)}function ez(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[r,n]=t[e];if(e$(n))return{key:r,result:n}}}function eI(e){let t="string"==typeof e?P(e):e;return C(v({},t,{hash:""}))}function eH(e){return e.type===d.deferred}function eW(e){return e.type===d.error}function e$(e){return(e&&e.type)===d.redirect}function eV(e){return"object"==typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function eJ(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"object"==typeof e.headers&&void 0!==e.body}function eK(e){return ei.has(e.toLowerCase())}async function eY(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[l,s]=o[i],u=e.find(e=>(null==e?void 0:e.route.id)===l);if(!u)continue;let c=n.find(e=>e.route.id===u.route.id),d=null!=c&&!eS(c,u)&&(a&&a[u.route.id])!==void 0;eH(s)&&d&&await eX(s,r,!1).then(e=>{e&&(t[l]=e)})}}async function eq(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],l=t[a];e.find(e=>(null==e?void 0:e.route.id)===o)&&eH(l)&&(E(i,"Expected an AbortController for revalidating fetcher deferred result"),await eX(l,i.signal,!0).then(e=>{e&&(t[a]=e)}))}}async function eX(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:d.data,data:e.deferredData.unwrappedData}}catch(e){return{type:d.error,error:e}}return{type:d.data,data:e.deferredData.data}}}function eG(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function eQ(e,t){let r="string"==typeof t?P(t).search:t.search;if(e[e.length-1].route.index&&eG(r||""))return e[e.length-1];let n=W(e);return n[n.length-1]}function eZ(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n){if(null!=a)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};else if(null!=o)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};else if(void 0!==i)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function e0(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function e1(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function e7(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 e4(){return(e4=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}).apply(this,arguments)}Symbol("deferred");let e2=p.createContext(null),e5=p.createContext(null),e3=p.createContext(null),e6=p.createContext(null),e9=p.createContext(null),e8=p.createContext({outlet:null,matches:[],isDataRoute:!1}),te=p.createContext(null);function tt(e,t){let{relative:r}=void 0===t?{}:t;tr()||E(!1);let{basename:n,navigator:a}=p.useContext(e6),{hash:o,pathname:i,search:l}=th(e,{relative:r}),s=i;return"/"!==n&&(s="/"===i?n:J([n,i])),a.createHref({pathname:s,search:l,hash:o})}function tr(){return null!=p.useContext(e9)}function tn(){return tr()||E(!1),p.useContext(e9).location}function ta(){return p.useContext(e9).navigationType}function to(e){tr()||E(!1);let{pathname:t}=tn();return p.useMemo(()=>O(e,F(t)),[t,e])}function ti(e){p.useContext(e6).static||p.useLayoutEffect(e)}function tl(){let{isDataRoute:e}=p.useContext(e8);return e?function(){let{router:e}=tE(tb.UseNavigateStable),t=tR(tw.UseNavigateStable),r=p.useRef(!1);return ti(()=>{r.current=!0}),p.useCallback(function(n,a){void 0===a&&(a={}),r.current&&("number"==typeof n?e.navigate(n):e.navigate(n,e4({fromRouteId:t},a)))},[e,t])}():function(){tr()||E(!1);let e=p.useContext(e2),{basename:t,future:r,navigator:n}=p.useContext(e6),{matches:a}=p.useContext(e8),{pathname:o}=tn(),i=JSON.stringify($(a,r.v7_relativeSplatPath)),l=p.useRef(!1);return ti(()=>{l.current=!0}),p.useCallback(function(r,a){if(void 0===a&&(a={}),!l.current)return;if("number"==typeof r)return void n.go(r);let s=V(r,JSON.parse(i),o,"path"===a.relative);null==e&&"/"!==t&&(s.pathname="/"===s.pathname?t:J([t,s.pathname])),(a.replace?n.replace:n.push)(s,a.state,a)},[t,n,i,o,e])}()}let ts=p.createContext(null);function tu(){return p.useContext(ts)}function tc(e){let t=p.useContext(e8).outlet;return t?p.createElement(ts.Provider,{value:e},t):t}function td(){let{matches:e}=p.useContext(e8),t=e[e.length-1];return t?t.params:{}}function th(e,t){let{relative:r}=void 0===t?{}:t,{future:n}=p.useContext(e6),{matches:a}=p.useContext(e8),{pathname:o}=tn(),i=JSON.stringify($(a,n.v7_relativeSplatPath));return p.useMemo(()=>V(e,JSON.parse(i),o,"path"===r),[e,i,o,r])}function tf(e,t){return tp(e,t)}function tp(e,t,r,n){let a;tr()||E(!1);let{navigator:o}=p.useContext(e6),{matches:i}=p.useContext(e8),l=i[i.length-1],s=l?l.params:{};l&&l.pathname;let u=l?l.pathnameBase:"/";l&&l.route;let d=tn();if(t){var h;let e="string"==typeof t?P(t):t;"/"===u||(null==(h=e.pathname)?void 0:h.startsWith(u))||E(!1),a=e}else a=d;let f=a.pathname||"/",m=f;if("/"!==u){let e=u.replace(/^\//,"").split("/");m="/"+f.replace(/^\//,"").split("/").slice(e.length).join("/")}let v=_(e,{pathname:m}),y=tg(v&&v.map(e=>Object.assign({},e,{params:Object.assign({},s,e.params),pathname:J([u,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?u:J([u,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),i,r,n);return t&&y?p.createElement(e9.Provider,{value:{location:e4({pathname:"/",search:"",hash:"",state:null,key:"default"},a),navigationType:c.Pop}},y):y}let tm=p.createElement(function(){let e=tA(),t=ea(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null;return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},t),r?p.createElement("pre",{style:{padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"}},r):null,null)},null);class tv extends p.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?p.createElement(e8.Provider,{value:this.props.routeContext},p.createElement(te.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ty(e){let{routeContext:t,match:r,children:n}=e,a=p.useContext(e2);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),p.createElement(e8.Provider,{value:t},n)}function tg(e,t,r,n){var a,o;if(void 0===t&&(t=[]),void 0===r&&(r=null),void 0===n&&(n=null),null==e){if(!r)return null;if(r.errors)e=r.matches;else{if(null==(o=n)||!o.v7_partialHydration||0!==t.length||r.initialized||!(r.matches.length>0))return null;e=r.matches}}let i=e,l=null==(a=r)?void 0:a.errors;if(null!=l){let e=i.findIndex(e=>e.route.id&&(null==l?void 0:l[e.route.id])!==void 0);e>=0||E(!1),i=i.slice(0,Math.min(i.length,e+1))}let s=!1,u=-1;if(r&&n&&n.v7_partialHydration)for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(u=e),t.route.id){let{loaderData:e,errors:n}=r,a=t.route.loader&&void 0===e[t.route.id]&&(!n||void 0===n[t.route.id]);if(t.route.lazy||a){s=!0,i=u>=0?i.slice(0,u+1):[i[0]];break}}}return i.reduceRight((e,n,a)=>{var o;let c,d=!1,h=null,f=null;r&&(c=l&&n.route.id?l[n.route.id]:void 0,h=n.route.errorElement||tm,s&&(u<0&&0===a?(o="route-fallback",tO[o]||(tO[o]=!0),d=!0,f=null):u===a&&(d=!0,f=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,a+1)),v=()=>{let t;return t=c?h:d?f:n.route.Component?p.createElement(n.route.Component,null):n.route.element?n.route.element:e,p.createElement(ty,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===a)?p.createElement(tv,{location:r.location,revalidation:r.revalidation,component:h,error:c,children:v(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):v()},null)}var tb=((o=tb||{}).UseBlocker="useBlocker",o.UseRevalidator="useRevalidator",o.UseNavigateStable="useNavigate",o),tw=((i=tw||{}).UseBlocker="useBlocker",i.UseLoaderData="useLoaderData",i.UseActionData="useActionData",i.UseRouteError="useRouteError",i.UseNavigation="useNavigation",i.UseRouteLoaderData="useRouteLoaderData",i.UseMatches="useMatches",i.UseRevalidator="useRevalidator",i.UseNavigateStable="useNavigate",i.UseRouteId="useRouteId",i);function tE(e){let t=p.useContext(e2);return t||E(!1),t}function tS(e){let t=p.useContext(e5);return t||E(!1),t}function tR(e){let t,r=((t=p.useContext(e8))||E(!1),t),n=r.matches[r.matches.length-1];return n.route.id||E(!1),n.route.id}function tx(){return tR(tw.UseRouteId)}function tC(){return tS(tw.UseNavigation).navigation}function tP(){let e=tE(tb.UseRevalidator),t=tS(tw.UseRevalidator);return p.useMemo(()=>({revalidate:e.router.revalidate,state:t.revalidation}),[e.router.revalidate,t.revalidation])}function tD(){let{matches:e,loaderData:t}=tS(tw.UseMatches);return p.useMemo(()=>e.map(e=>T(e,t)),[e,t])}function tL(){let e=tS(tw.UseLoaderData),t=tR(tw.UseLoaderData);return e.errors&&null!=e.errors[t]?void console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")"):e.loaderData[t]}function tk(e){return tS(tw.UseRouteLoaderData).loaderData[e]}function t_(){let e=tS(tw.UseActionData),t=tR(tw.UseLoaderData);return e.actionData?e.actionData[t]:void 0}function tA(){var e;let t=p.useContext(te),r=tS(tw.UseRouteError),n=tR(tw.UseRouteError);return void 0!==t?t:null==(e=r.errors)?void 0:e[n]}function tT(){let e=p.useContext(e3);return null==e?void 0:e._data}function tU(){let e=p.useContext(e3);return null==e?void 0:e._error}let tj=0;function tM(e){let{router:t,basename:r}=tE(tb.UseBlocker),n=tS(tw.UseBlocker),[a,o]=p.useState(""),i=p.useCallback(t=>{if("function"!=typeof e)return!!e;if("/"===r)return e(t);let{currentLocation:n,nextLocation:a,historyAction:o}=t;return e({currentLocation:e4({},n,{pathname:N(n.pathname,r)||n.pathname}),nextLocation:e4({},a,{pathname:N(a.pathname,r)||a.pathname}),historyAction:o})},[r,e]);return p.useEffect(()=>{let e=String(++tj);return o(e),()=>t.deleteBlocker(e)},[t]),p.useEffect(()=>{""!==a&&t.getBlocker(a,i)},[t,a,i]),a&&n.blockers.has(a)?n.blockers.get(a):eh}let tO={},tF=(e,t,r)=>{};function tN(e,t){(null==e?void 0:e.v7_startTransition)===void 0&&tF("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),(null==e?void 0:e.v7_relativeSplatPath)!==void 0||t&&void 0!==t.v7_relativeSplatPath||tF("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(void 0===t.v7_fetcherPersist&&tF("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),void 0===t.v7_normalizeFormMethod&&tF("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),void 0===t.v7_partialHydration&&tF("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),void 0===t.v7_skipActionErrorRevalidation&&tF("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}let tB=p.startTransition;function tz(e){let{basename:t,children:r,initialEntries:n,initialIndex:a,future:o}=e,i=p.useRef();null==i.current&&(i.current=g({initialEntries:n,initialIndex:a,v5Compat:!0}));let l=i.current,[s,u]=p.useState({action:l.action,location:l.location}),{v7_startTransition:c}=o||{},d=p.useCallback(e=>{c&&tB?tB(()=>u(e)):u(e)},[u,c]);return p.useLayoutEffect(()=>l.listen(d),[l,d]),p.useEffect(()=>tN(o),[o]),p.createElement(t$,{basename:t,children:r,location:s.location,navigationType:s.action,navigator:l,future:o})}function tI(e){let{to:t,replace:r,state:n,relative:a}=e;tr()||E(!1);let{future:o,static:i}=p.useContext(e6),{matches:l}=p.useContext(e8),{pathname:s}=tn(),u=tl(),c=JSON.stringify(V(t,$(l,o.v7_relativeSplatPath),s,"path"===a));return p.useEffect(()=>u(JSON.parse(c),{replace:r,state:n,relative:a}),[u,c,a,r,n]),null}function tH(e){return tc(e.context)}function tW(e){E(!1)}function t$(e){let{basename:t="/",children:r=null,location:n,navigationType:a=c.Pop,navigator:o,static:i=!1,future:l}=e;tr()&&E(!1);let s=t.replace(/^\/*/,"/"),u=p.useMemo(()=>({basename:s,navigator:o,static:i,future:e4({v7_relativeSplatPath:!1},l)}),[s,l,o,i]);"string"==typeof n&&(n=P(n));let{pathname:d="/",search:h="",hash:f="",state:m=null,key:v="default"}=n,y=p.useMemo(()=>{let e=N(d,s);return null==e?null:{location:{pathname:e,search:h,hash:f,state:m,key:v},navigationType:a}},[s,d,h,f,m,v,a]);return null==y?null:p.createElement(e6.Provider,{value:u},p.createElement(e9.Provider,{children:r,value:y}))}function tV(e){let{children:t,location:r}=e;return tp(tG(t),r)}function tJ(e){let{children:t,errorElement:r,resolve:n}=e;return p.createElement(tq,{resolve:n,errorElement:r},p.createElement(tX,null,t))}var tK=((l=tK||{})[l.pending=0]="pending",l[l.success=1]="success",l[l.error=2]="error",l);let tY=new Promise(()=>{});class tq extends p.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,a=tK.pending;if(r instanceof Promise)if(this.state.error){a=tK.error;let e=this.state.error;Object.defineProperty(n=Promise.reject().catch(()=>{}),"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?a="_error"in(n=r)?tK.error:"_data"in n?tK.success:tK.pending:(a=tK.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 a=tK.success,Object.defineProperty(n=Promise.resolve(),"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(a===tK.error&&n._error instanceof G)throw tY;if(a===tK.error&&!t)throw n._error;if(a===tK.error)return p.createElement(e3.Provider,{value:n,children:t});if(a===tK.success)return p.createElement(e3.Provider,{value:n,children:e});throw n}}function tX(e){let{children:t}=e,r=tT(),n="function"==typeof t?t(r):t;return p.createElement(p.Fragment,null,n)}function tG(e,t){void 0===t&&(t=[]);let r=[];return p.Children.forEach(e,(e,n)=>{if(!p.isValidElement(e))return;let a=[...t,n];if(e.type===p.Fragment)return void r.push.apply(r,tG(e.props.children,a));e.type!==tW&&E(!1),e.props.index&&e.props.children&&E(!1);let o={id:e.props.id||a.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&&(o.children=tG(e.props.children,a)),r.push(o)}),r}function tQ(e){return tg(e)}function tZ(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:p.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:p.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:p.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function t0(e,t){return ev({basename:null==t?void 0:t.basename,future:e4({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:g({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:e,mapRouteProperties:tZ,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation}).initialize()}function t1(){return(t1=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}).apply(this,arguments)}function t7(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}let t4="application/x-www-form-urlencoded";function t2(e){return null!=e&&"string"==typeof e.tagName}function t5(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 t3=null,t6=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function t9(e){return null==e||t6.has(e)?e:null}let t8=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],re=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],rt=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(e){}function rr(e,t){return ev({basename:null==t?void 0:t.basename,future:t1({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:b({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||ra(),routes:e,mapRouteProperties:tZ,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function rn(e,t){return ev({basename:null==t?void 0:t.basename,future:t1({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:w({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||ra(),routes:e,mapRouteProperties:tZ,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function ra(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=t1({},t,{errors:function(e){if(!e)return null;let t=Object.entries(e),r={};for(let[e,n]of t)if(n&&"RouteErrorResponse"===n.__type)r[e]=new en(n.status,n.statusText,n.data,!0===n.internal);else if(n&&"Error"===n.__type){if(n.__subType){let t=window[n.__subType];if("function"==typeof t)try{let a=new t(n.message);a.stack="",r[e]=a}catch(e){}}if(null==r[e]){let t=Error(n.message);t.stack="",r[e]=t}}else r[e]=n;return r}(t.errors)})),t}let ro=p.createContext({isTransitioning:!1}),ri=p.createContext(new Map),rl=p.startTransition,rs=m.flushSync,ru=p.useId;function rc(e){rs?rs(e):e()}class rd{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 rh(e){let{fallbackElement:t,router:r,future:n}=e,[a,o]=p.useState(r.state),[i,l]=p.useState(),[s,u]=p.useState({isTransitioning:!1}),[c,d]=p.useState(),[h,f]=p.useState(),[m,v]=p.useState(),y=p.useRef(new Map),{v7_startTransition:g}=n||{},b=p.useCallback(e=>{if(g)rl?rl(e):e();else e()},[g]),w=p.useCallback((e,t)=>{let{deletedFetchers:n,flushSync:a,viewTransitionOpts:i}=t;e.fetchers.forEach((e,t)=>{void 0!==e.data&&y.current.set(t,e.data)}),n.forEach(e=>y.current.delete(e));let s=null==r.window||null==r.window.document||"function"!=typeof r.window.document.startViewTransition;if(!i||s)return void(a?rc(()=>o(e)):b(()=>o(e)));if(a){rc(()=>{h&&(c&&c.resolve(),h.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:i.currentLocation,nextLocation:i.nextLocation})});let t=r.window.document.startViewTransition(()=>{rc(()=>o(e))});t.finished.finally(()=>{rc(()=>{d(void 0),f(void 0),l(void 0),u({isTransitioning:!1})})}),rc(()=>f(t));return}h?(c&&c.resolve(),h.skipTransition(),v({state:e,currentLocation:i.currentLocation,nextLocation:i.nextLocation})):(l(e),u({isTransitioning:!0,flushSync:!1,currentLocation:i.currentLocation,nextLocation:i.nextLocation}))},[r.window,h,c,y,b]);p.useLayoutEffect(()=>r.subscribe(w),[r,w]),p.useEffect(()=>{s.isTransitioning&&!s.flushSync&&d(new rd)},[s]),p.useEffect(()=>{if(c&&i&&r.window){let e=c.promise,t=r.window.document.startViewTransition(async()=>{b(()=>o(i)),await e});t.finished.finally(()=>{d(void 0),f(void 0),l(void 0),u({isTransitioning:!1})}),f(t)}},[b,i,c,r.window]),p.useEffect(()=>{c&&i&&a.location.key===i.location.key&&c.resolve()},[c,h,a.location,i]),p.useEffect(()=>{!s.isTransitioning&&m&&(l(m.state),u({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[s.isTransitioning,m]),p.useEffect(()=>{},[]);let E=p.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]),S=r.basename||"/",R=p.useMemo(()=>({router:r,navigator:E,static:!1,basename:S}),[r,E,S]),x=p.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return p.useEffect(()=>tN(n,r.future),[n,r.future]),p.createElement(p.Fragment,null,p.createElement(e2.Provider,{value:R},p.createElement(e5.Provider,{value:a},p.createElement(ri.Provider,{value:y.current},p.createElement(ro.Provider,{value:s},p.createElement(t$,{basename:S,location:a.location,navigationType:a.historyAction,navigator:E,future:x},a.initialized||r.future.v7_partialHydration?p.createElement(rf,{routes:r.routes,future:r.future,state:a}):t))))),null)}let rf=p.memo(function(e){let{routes:t,future:r,state:n}=e;return tp(t,void 0,n,r)});function rp(e){let{basename:t,children:r,future:n,window:a}=e,o=p.useRef();null==o.current&&(o.current=b({window:a,v5Compat:!0}));let i=o.current,[l,s]=p.useState({action:i.action,location:i.location}),{v7_startTransition:u}=n||{},c=p.useCallback(e=>{u&&rl?rl(()=>s(e)):s(e)},[s,u]);return p.useLayoutEffect(()=>i.listen(c),[i,c]),p.useEffect(()=>tN(n),[n]),p.createElement(t$,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i,future:n})}function rm(e){let{basename:t,children:r,future:n,window:a}=e,o=p.useRef();null==o.current&&(o.current=w({window:a,v5Compat:!0}));let i=o.current,[l,s]=p.useState({action:i.action,location:i.location}),{v7_startTransition:u}=n||{},c=p.useCallback(e=>{u&&rl?rl(()=>s(e)):s(e)},[s,u]);return p.useLayoutEffect(()=>i.listen(c),[i,c]),p.useEffect(()=>tN(n),[n]),p.createElement(t$,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i,future:n})}function rv(e){let{basename:t,children:r,future:n,history:a}=e,[o,i]=p.useState({action:a.action,location:a.location}),{v7_startTransition:l}=n||{},s=p.useCallback(e=>{l&&rl?rl(()=>i(e)):i(e)},[i,l]);return p.useLayoutEffect(()=>a.listen(s),[a,s]),p.useEffect(()=>tN(n),[n]),p.createElement(t$,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:a,future:n})}let ry="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,rg=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,rb=p.forwardRef(function(e,t){let r,{onClick:n,relative:a,reloadDocument:o,replace:i,state:l,target:s,to:u,preventScrollReset:c,viewTransition:d}=e,h=t7(e,t8),{basename:f}=p.useContext(e6),m=!1;if("string"==typeof u&&rg.test(u)&&(r=u,ry))try{let e=new URL(window.location.href),t=new URL(u.startsWith("//")?e.protocol+u:u),r=N(t.pathname,f);t.origin===e.origin&&null!=r?u=r+t.search+t.hash:m=!0}catch(e){}let v=tt(u,{relative:a}),y=rC(u,{replace:i,state:l,target:s,preventScrollReset:c,relative:a,viewTransition:d});return p.createElement("a",t1({},h,{href:r||v,onClick:m||o?n:function(e){n&&n(e),e.defaultPrevented||y(e)},ref:t,target:s}))}),rw=p.forwardRef(function(e,t){let r,{"aria-current":n="page",caseSensitive:a=!1,className:o="",end:i=!1,style:l,to:s,viewTransition:u,children:c}=e,d=t7(e,re),h=th(s,{relative:d.relative}),f=tn(),m=p.useContext(e5),{navigator:v,basename:y}=p.useContext(e6),g=null!=m&&rN(h)&&!0===u,b=v.encodeLocation?v.encodeLocation(h).pathname:h.pathname,w=f.pathname,E=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;a||(w=w.toLowerCase(),E=E?E.toLowerCase():null,b=b.toLowerCase()),E&&y&&(E=N(E,y)||E);let S="/"!==b&&b.endsWith("/")?b.length-1:b.length,R=w===b||!i&&w.startsWith(b)&&"/"===w.charAt(S),x=null!=E&&(E===b||!i&&E.startsWith(b)&&"/"===E.charAt(b.length)),C={isActive:R,isPending:x,isTransitioning:g},P=R?n:void 0;r="function"==typeof o?o(C):[o,R?"active":null,x?"pending":null,g?"transitioning":null].filter(Boolean).join(" ");let D="function"==typeof l?l(C):l;return p.createElement(rb,t1({},d,{"aria-current":P,className:r,ref:t,style:D,to:s,viewTransition:u}),"function"==typeof c?c(C):c)}),rE=p.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:o,state:i,method:l="get",action:s,onSubmit:u,relative:c,preventScrollReset:d,viewTransition:h}=e,f=t7(e,rt),m=rk(),v=r_(s,{relative:c}),y="get"===l.toLowerCase()?"get":"post";return p.createElement("form",t1({ref:t,method:y,action:v,onSubmit:a?u:e=>{if(u&&u(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:o,state:i,relative:c,preventScrollReset:d,viewTransition:h})}},f))});function rS(e){let{getKey:t,storageKey:r}=e;return rM({getKey:t,storageKey:r}),null}function rR(e){let t=p.useContext(e2);return t||E(!1),t}function rx(e){let t=p.useContext(e5);return t||E(!1),t}function rC(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:l}=void 0===t?{}:t,s=tl(),u=tn(),c=th(e,{relative:i});return p.useCallback(t=>{0!==t.button||r&&"_self"!==r||t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||(t.preventDefault(),s(e,{replace:void 0!==n?n:C(u)===C(c),state:a,preventScrollReset:o,relative:i,viewTransition:l}))},[u,s,c,n,a,r,e,o,i,l])}function rP(e){let t=p.useRef(t5(e)),r=p.useRef(!1),n=tn(),a=p.useMemo(()=>{var e,a;let o;return e=n.search,a=r.current?null:t.current,o=t5(e),a&&a.forEach((e,t)=>{o.has(t)||a.getAll(t).forEach(e=>{o.append(t,e)})}),o},[n.search]),o=tl(),i=p.useCallback((e,t)=>{let n=t5("function"==typeof e?e(a):e);r.current=!0,o("?"+n,t)},[o,a]);return[a,i]}(s=h||(h={})).UseScrollRestoration="useScrollRestoration",s.UseSubmit="useSubmit",s.UseSubmitFetcher="useSubmitFetcher",s.UseFetcher="useFetcher",s.useViewTransitionState="useViewTransitionState",(u=f||(f={})).UseFetcher="useFetcher",u.UseFetchers="useFetchers",u.UseScrollRestoration="useScrollRestoration";let rD=0,rL=()=>"__"+String(++rD)+"__";function rk(){let{router:e}=rR(h.UseSubmit),{basename:t}=p.useContext(e6),r=tx();return p.useCallback(function(n,a){if(void 0===a&&(a={}),"undefined"==typeof document)throw Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{action:o,method:i,encType:l,formData:s,body:u}=function(e,t){let r,n,a,o,i;if(t2(e)&&"form"===e.tagName.toLowerCase()){let i=e.getAttribute("action");n=i?N(i,t):null,r=e.getAttribute("method")||"get",a=t9(e.getAttribute("enctype"))||t4,o=new FormData(e)}else if(t2(e)&&"button"===e.tagName.toLowerCase()||t2(e)&&"input"===e.tagName.toLowerCase()&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||i.getAttribute("action");if(n=l?N(l,t):null,r=e.getAttribute("formmethod")||i.getAttribute("method")||"get",a=t9(e.getAttribute("formenctype"))||t9(i.getAttribute("enctype"))||t4,o=new FormData(i,e),!function(){if(null===t3)try{new FormData(document.createElement("form"),0),t3=!1}catch(e){t3=!0}return t3}()){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(t2(e))throw Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');else r="get",n=null,a=t4,i=e;return o&&"text/plain"===a&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}(n,t);if(!1===a.navigate){let t=a.fetcherKey||rL();e.fetch(t,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function r_(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=p.useContext(e6),a=p.useContext(e8);a||E(!1);let[o]=a.matches.slice(-1),i=t1({},th(e||".",{relative:r})),l=tn();if(null==e){i.search=l.search;let e=new URLSearchParams(i.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();i.search=r?"?"+r:""}}return(!e||"."===e)&&o.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(i.pathname="/"===i.pathname?n:J([n,i.pathname])),C(i)}function rA(e){var t;let{key:r}=void 0===e?{}:e,{router:n}=rR(h.UseFetcher),a=rx(f.UseFetcher),o=p.useContext(ri),i=p.useContext(e8),l=null==(t=i.matches[i.matches.length-1])?void 0:t.route.id;o||E(!1),i||E(!1),null==l&&E(!1);let s=ru?ru():"",[u,c]=p.useState(r||s);r&&r!==u?c(r):u||c(rL()),p.useEffect(()=>(n.getFetcher(u),()=>{n.deleteFetcher(u)}),[n,u]);let d=p.useCallback((e,t)=>{l||E(!1),n.fetch(u,l,e,t)},[u,l,n]),m=rk(),v=p.useCallback((e,t)=>{m(e,t1({},t,{navigate:!1,fetcherKey:u}))},[u,m]),y=p.useMemo(()=>p.forwardRef((e,t)=>p.createElement(rE,t1({},e,{navigate:!1,fetcherKey:u,ref:t}))),[u]),g=a.fetchers.get(u)||ed,b=o.get(u);return p.useMemo(()=>t1({Form:y,submit:v,load:d},g,{data:b}),[y,v,d,g,b])}function rT(){return Array.from(rx(f.UseFetchers).fetchers.entries()).map(e=>{let[t,r]=e;return t1({},r,{key:t})})}let rU="react-router-scroll-positions",rj={};function rM(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=rR(h.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:o}=rx(f.UseScrollRestoration),{basename:i}=p.useContext(e6),l=tn(),s=tD(),u=tC();p.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),function(e,t){let{capture:r}={};p.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("pagehide",e,t),()=>{window.removeEventListener("pagehide",e,t)}},[e,r])}(p.useCallback(()=>{"idle"===u.state&&(rj[(t?t(l,s):null)||l.key]=window.scrollY);try{sessionStorage.setItem(r||rU,JSON.stringify(rj))}catch(e){}window.history.scrollRestoration="auto"},[r,t,u.state,l,s])),"undefined"!=typeof document&&(p.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(r||rU);e&&(rj=JSON.parse(e))}catch(e){}},[r]),p.useLayoutEffect(()=>{let e=t&&"/"!==i?(e,r)=>t(t1({},e,{pathname:N(e.pathname,i)||e.pathname}),r):t,r=null==n?void 0:n.enableScrollRestoration(rj,()=>window.scrollY,e);return()=>r&&r()},[n,i,t]),p.useLayoutEffect(()=>{if(!1!==a){if("number"==typeof a)return void window.scrollTo(0,a);if(l.hash){let e=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(e)return void e.scrollIntoView()}!0!==o&&window.scrollTo(0,0)}},[l,a,o]))}function rO(e,t){let{capture:r}=t||{};p.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("beforeunload",e,t),()=>{window.removeEventListener("beforeunload",e,t)}},[e,r])}function rF(e){let{when:t,message:r}=e,n=tM(t);p.useEffect(()=>{"blocked"===n.state&&(window.confirm(r)?setTimeout(n.proceed,0):n.reset())},[n,r]),p.useEffect(()=>{"blocked"!==n.state||t||n.reset()},[n,t])}function rN(e,t){void 0===t&&(t={});let r=p.useContext(ro);null==r&&E(!1);let{basename:n}=rR(h.useViewTransitionState),a=th(e,{relative:t.relative});if(!r.isTransitioning)return!1;let o=N(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=N(r.nextLocation.pathname,n)||r.nextLocation.pathname;return null!=O(a.pathname,i)||null!=O(a.pathname,o)}}}]);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/router v1.23.0
2
+ * @remix-run/router v1.23.2
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.30.0
13
+ * React Router DOM v6.30.3
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.30.0
24
+ * React Router v6.30.3
25
25
  *
26
26
  * Copyright (c) Remix Software Inc.
27
27
  *