@ampath/esm-reports-app 1.0.0-next.10

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 (154) hide show
  1. package/.editorconfig +12 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc +57 -0
  4. package/.husky/pre-commit +7 -0
  5. package/.husky/pre-push +6 -0
  6. package/.prettierignore +14 -0
  7. package/.turbo.json +18 -0
  8. package/.yarn/plugins/@yarnpkg/plugin-outdated.cjs +35 -0
  9. package/LICENSE +401 -0
  10. package/README.md +9 -0
  11. package/__mocks__/react-i18next.js +50 -0
  12. package/dist/138.js +2 -0
  13. package/dist/138.js.LICENSE.txt +20 -0
  14. package/dist/138.js.map +1 -0
  15. package/dist/184.js +2 -0
  16. package/dist/184.js.LICENSE.txt +14 -0
  17. package/dist/184.js.map +1 -0
  18. package/dist/197.js +1 -0
  19. package/dist/205.js +1 -0
  20. package/dist/205.js.map +1 -0
  21. package/dist/282.js +2 -0
  22. package/dist/282.js.LICENSE.txt +32 -0
  23. package/dist/282.js.map +1 -0
  24. package/dist/300.js +1 -0
  25. package/dist/311.js +1 -0
  26. package/dist/311.js.map +1 -0
  27. package/dist/335.js +1 -0
  28. package/dist/353.js +1 -0
  29. package/dist/353.js.map +1 -0
  30. package/dist/478.js +2 -0
  31. package/dist/478.js.LICENSE.txt +9 -0
  32. package/dist/478.js.map +1 -0
  33. package/dist/540.js +2 -0
  34. package/dist/540.js.LICENSE.txt +9 -0
  35. package/dist/540.js.map +1 -0
  36. package/dist/55.js +1 -0
  37. package/dist/652.js +1 -0
  38. package/dist/677.js +1 -0
  39. package/dist/677.js.map +1 -0
  40. package/dist/812.js +1 -0
  41. package/dist/812.js.map +1 -0
  42. package/dist/961.js +2 -0
  43. package/dist/961.js.LICENSE.txt +19 -0
  44. package/dist/961.js.map +1 -0
  45. package/dist/99.js +1 -0
  46. package/dist/ampath-esm-reports-app.js +1 -0
  47. package/dist/ampath-esm-reports-app.js.buildmanifest.json +539 -0
  48. package/dist/ampath-esm-reports-app.js.map +1 -0
  49. package/dist/main.js +1 -0
  50. package/dist/main.js.map +1 -0
  51. package/dist/routes.json +1 -0
  52. package/e2e/README.md +115 -0
  53. package/e2e/core/global-setup.ts +32 -0
  54. package/e2e/core/index.ts +1 -0
  55. package/e2e/core/test.ts +20 -0
  56. package/e2e/fixtures/api.ts +26 -0
  57. package/e2e/fixtures/index.ts +1 -0
  58. package/e2e/pages/index.ts +1 -0
  59. package/e2e/pages/root-page.ts +32 -0
  60. package/e2e/specs/template-app.spec.ts +23 -0
  61. package/e2e/support/github/Dockerfile +34 -0
  62. package/e2e/support/github/docker-compose.yml +24 -0
  63. package/e2e/support/github/run-e2e-docker-env.sh +37 -0
  64. package/example.env +6 -0
  65. package/jest.config.js +33 -0
  66. package/package.json +106 -0
  67. package/playwright.config.ts +32 -0
  68. package/prettier.config.js +8 -0
  69. package/src/common/report-filters/report-filters.component.tsx +127 -0
  70. package/src/common/report-filters/report-filters.scss +49 -0
  71. package/src/config-schema.ts +12 -0
  72. package/src/createDashboardLink.tsx +9 -0
  73. package/src/dashboard/reports-dasboard.tsx +41 -0
  74. package/src/dashboard/reports-dashboard.module.scss +14 -0
  75. package/src/dashboard-meta/reports-dashboard.meta.ts +6 -0
  76. package/src/declarations.d.ts +5 -0
  77. package/src/index.ts +20 -0
  78. package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +54 -0
  79. package/src/reports/moh-240/moh-240.component.tsx +12 -0
  80. package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +42 -0
  81. package/src/reports/moh-240/sub-reports/page-summary.component.tsx +95 -0
  82. package/src/reports/moh-505/moh-505.component.tsx +234 -0
  83. package/src/reports/moh-705B/moh-705b.component.tsx +466 -0
  84. package/src/reports/moh-705B/moh-705b.scss +41 -0
  85. package/src/reports/moh-705a/moh-705a.component.tsx +473 -0
  86. package/src/reports/moh-705a/moh-705a.scss +41 -0
  87. package/src/reports/moh-706/moh-706.component.tsx +26 -0
  88. package/src/reports/moh-706/moh-706.scss +18 -0
  89. package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +117 -0
  90. package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +311 -0
  91. package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +137 -0
  92. package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +172 -0
  93. package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +88 -0
  94. package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +114 -0
  95. package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +40 -0
  96. package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +39 -0
  97. package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +101 -0
  98. package/src/reports/moh-710/moh-710.component.tsx +663 -0
  99. package/src/reports/moh-710/moh-710.scss +41 -0
  100. package/src/reports/moh-711/moh-711.component.tsx +121 -0
  101. package/src/reports/moh-711/moh711.scss +71 -0
  102. package/src/reports/moh-711/sections/anc.component.tsx +134 -0
  103. package/src/reports/moh-711/sections/cervical-cancer.component.tsx +104 -0
  104. package/src/reports/moh-711/sections/chanis.component.tsx +367 -0
  105. package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
  106. package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
  107. package/src/reports/moh-711/sections/maternity.component.tsx +280 -0
  108. package/src/reports/moh-711/sections/medical-social-work.component.tsx +83 -0
  109. package/src/reports/moh-711/sections/other.component.tsx +47 -0
  110. package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
  111. package/src/reports/moh-711/sections/pnc.component.tsx +92 -0
  112. package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
  113. package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
  114. package/src/reports/moh-711/sections/report-compiled-by.component.tsx +42 -0
  115. package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
  116. package/src/reports/moh-717/moh-717.component.tsx +152 -0
  117. package/src/reports/moh-717/moh717.scss +150 -0
  118. package/src/reports/moh-717/sections/finance.component.tsx +42 -0
  119. package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
  120. package/src/reports/moh-717/sections/maternity.component.tsx +94 -0
  121. package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
  122. package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
  123. package/src/reports/moh-717/sections/operations.component.tsx +53 -0
  124. package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
  125. package/src/reports/moh-717/sections/outpatient.component.tsx +489 -0
  126. package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
  127. package/src/reports/moh-717/sections/preparedby.component.tsx +47 -0
  128. package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
  129. package/src/reports/moh-745/moh-745.component.tsx +629 -0
  130. package/src/reports/moh-745/moh-745.scss +67 -0
  131. package/src/reports/table-wrapper/table-row-mapper.component.tsx +42 -0
  132. package/src/reports/table-wrapper/table-wrapper.component.tsx +21 -0
  133. package/src/reports/table-wrapper/table-wrapper.scss +31 -0
  134. package/src/resources/moh-705.resource.ts +60 -0
  135. package/src/resources/moh-710.resource.ts +34 -0
  136. package/src/resources/moh-711.resource.ts +34 -0
  137. package/src/resources/moh-717.resource.ts +35 -0
  138. package/src/resources/moh-745.resource.ts +34 -0
  139. package/src/root.component.tsx +35 -0
  140. package/src/root.scss +15 -0
  141. package/src/routes.json +27 -0
  142. package/src/utils/get-base-url.ts +12 -0
  143. package/src/utils/utils.ts +7 -0
  144. package/tools/i18next-parser.config.js +89 -0
  145. package/tools/setup-tests.ts +1 -0
  146. package/tools/update-openmrs-deps.mjs +43 -0
  147. package/translations/am.json +24 -0
  148. package/translations/en.json +24 -0
  149. package/translations/es.json +24 -0
  150. package/translations/fr.json +24 -0
  151. package/translations/he.json +24 -0
  152. package/translations/km.json +24 -0
  153. package/tsconfig.json +24 -0
  154. package/webpack.config.js +1 -0
package/dist/282.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 282.js.LICENSE.txt */
2
+ "use strict";(globalThis.webpackChunk_ampath_esm_reports_app=globalThis.webpackChunk_ampath_esm_reports_app||[]).push([[282],{282(e,t,r){r.r(t),r.d(t,{AbortedDeferredError:()=>q,Await:()=>tr,BrowserRouter:()=>Or,Form:()=>Wr,HashRouter:()=>Fr,Link:()=>zr,MemoryRouter:()=>Yt,NavLink:()=>Hr,Navigate:()=>Xt,NavigationType:()=>n,Outlet:()=>Gt,Route:()=>Qt,Router:()=>Zt,RouterProvider:()=>Ur,Routes:()=>er,ScrollRestoration:()=>Kr,UNSAFE_DataRouterContext:()=>nt,UNSAFE_DataRouterStateContext:()=>at,UNSAFE_ErrorResponseImpl:()=>te,UNSAFE_FetchersContext:()=>Lr,UNSAFE_LocationContext:()=>st,UNSAFE_NavigationContext:()=>it,UNSAFE_RouteContext:()=>lt,UNSAFE_ViewTransitionContext:()=>Cr,UNSAFE_useRouteId:()=>Mt,UNSAFE_useScrollRestoration:()=>on,createBrowserRouter:()=>Sr,createHashRouter:()=>Rr,createMemoryRouter:()=>ur,createPath:()=>y,createRoutesFromChildren:()=>ir,createRoutesFromElements:()=>ir,createSearchParams:()=>mr,defer:()=>G,generatePath:()=>A,isRouteErrorResponse:()=>re,json:()=>J,matchPath:()=>U,matchRoutes:()=>R,parsePath:()=>g,redirect:()=>Q,redirectDocument:()=>Z,renderMatches:()=>sr,replace:()=>ee,resolvePath:()=>F,unstable_HistoryRouter:()=>Nr,unstable_usePrompt:()=>ln,useActionData:()=>It,useAsyncError:()=>Wt,useAsyncValue:()=>Ht,useBeforeUnload:()=>sn,useBlocker:()=>$t,useFetcher:()=>tn,useFetchers:()=>rn,useFormAction:()=>en,useHref:()=>ct,useInRouterContext:()=>dt,useLinkClickHandler:()=>Yr,useLoaderData:()=>Nt,useLocation:()=>ht,useMatch:()=>pt,useMatches:()=>Ft,useNavigate:()=>vt,useNavigation:()=>jt,useNavigationType:()=>ft,useOutlet:()=>bt,useOutletContext:()=>gt,useParams:()=>wt,useResolvedPath:()=>Et,useRevalidator:()=>Ot,useRouteError:()=>zt,useRouteLoaderData:()=>Bt,useRoutes:()=>St,useSearchParams:()=>Xr,useSubmit:()=>Zr,useViewTransitionState:()=>un});var n,a=r(6072),o=r.t(a,2),i=r(961),s=r.t(i,2);function l(){return l=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},l.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(n||(n={}));const u="popstate";function c(e){void 0===e&&(e={});let t,{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map((e,t)=>d(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let i=u(null==a?t.length-1:a),s=n.Pop,l=null;function u(e){return Math.min(Math.max(e,0),t.length-1)}function c(){return t[i]}function d(e,r,n){void 0===r&&(r=null);let a=v(t?c().pathname:"/",e,r,n);return p("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function h(e){return"string"==typeof e?e:y(e)}return{get index(){return i},get action(){return s},get location(){return c()},createHref:h,createURL:e=>new URL(h(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?g(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){s=n.Push;let a=d(e,r);i+=1,t.splice(i,t.length,a),o&&l&&l({action:s,location:a,delta:1})},replace(e,r){s=n.Replace;let a=d(e,r);t[i]=a,o&&l&&l({action:s,location:a,delta:0})},go(e){s=n.Pop;let r=u(i+e),a=t[r];i=r,l&&l({action:s,location:a,delta:e})},listen:e=>(l=e,()=>{l=null})}}function d(e){return void 0===e&&(e={}),b(function(e,t){let{pathname:r,search:n,hash:a}=e.location;return v("",{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:y(t)},null,e)}function h(e){return void 0===e&&(e={}),b(function(e,t){let{pathname:r="/",search:n="",hash:a=""}=g(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),v("",{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:y(t))},function(e,t){p("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},e)}function f(e,t){if(!1===e||null==e)throw new Error(t)}function p(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function m(e,t){return{usr:e.state,key:e.key,idx:t}}function v(e,t,r,n){return void 0===r&&(r=null),l({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?g(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function y(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 g(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 b(e,t,r,a){void 0===a&&(a={});let{window:o=document.defaultView,v5Compat:i=!1}=a,s=o.history,c=n.Pop,d=null,h=p();function p(){return(s.state||{idx:null}).idx}function g(){c=n.Pop;let e=p(),t=null==e?null:e-h;h=e,d&&d({action:c,location:w.location,delta:t})}function b(e){let t="null"!==o.location.origin?o.location.origin:o.location.href,r="string"==typeof e?e:y(e);return r=r.replace(/ $/,"%20"),f(t,"No window.location.(origin|href) available to create URL for href: "+r),new URL(r,t)}null==h&&(h=0,s.replaceState(l({},s.state,{idx:h}),""));let w={get action(){return c},get location(){return e(o,s)},listen(e){if(d)throw new Error("A history only accepts one active listener");return o.addEventListener(u,g),d=e,()=>{o.removeEventListener(u,g),d=null}},createHref:e=>t(o,e),createURL:b,encodeLocation(e){let t=b(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){c=n.Push;let a=v(w.location,e,t);r&&r(a,e),h=p()+1;let l=m(a,h),u=w.createHref(a);try{s.pushState(l,"",u)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;o.location.assign(u)}i&&d&&d({action:c,location:w.location,delta:1})},replace:function(e,t){c=n.Replace;let a=v(w.location,e,t);r&&r(a,e),h=p();let o=m(a,h),l=w.createHref(a);s.replaceState(o,"",l),i&&d&&d({action:c,location:w.location,delta:0})},go:e=>s.go(e)};return w}var w;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(w||(w={}));const E=new Set(["lazy","caseSensitive","path","id","index","children"]);function S(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(f(!0!==e.index||!e.children,"Cannot specify children on an index route"),f(!n[i],'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),function(e){return!0===e.index}(e)){let r=l({},e,t(e),{id:i});return n[i]=r,r}{let r=l({},e,t(e),{id:i,children:void 0});return n[i]=r,e.children&&(r.children=S(e.children,t,o,n)),r}})}function R(e,t,r){return void 0===r&&(r="/"),x(e,t,r,!1)}function x(e,t,r,n){let a=j(("string"==typeof t?g(t):t).pathname||"/",r);if(null==a)return null;let o=C(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,r)=>e===t[r])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let e=0;null==i&&e<o.length;++e){let t=M(a);i=_(o[e],t,n)}return i}function D(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function C(e,t,r,n){void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n="");let a=(e,a,o)=>{let i={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};i.relativePath.startsWith("/")&&(f(i.relativePath.startsWith(n),'Absolute route path "'+i.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(n.length));let s=W([n,i.relativePath]),l=r.concat(i);e.children&&e.children.length>0&&(f(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),C(e.children,t,l,s)),(null!=e.path||e.index)&&t.push({path:s,score:T(s,e.index),routesMeta:l})};return e.forEach((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let r of L(e.path))a(e,t,r);else a(e,t)}),t}function L(e){let t=e.split("/");if(0===t.length)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(0===n.length)return a?[o,""]:[o];let i=L(n.join("/")),s=[];return s.push(...i.map(e=>""===e?o:[o,e].join("/"))),a&&s.push(...i),s.map(t=>e.startsWith("/")&&""===t?"/":t)}const P=/^:[\w-]+$/,k=e=>"*"===e;function T(e,t){let r=e.split("/"),n=r.length;return r.some(k)&&(n+=-2),t&&(n+=2),r.filter(e=>!k(e)).reduce((e,t)=>e+(P.test(t)?3:""===t?1:10),n)}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 s=n[e],l=e===n.length-1,u="/"===o?t:t.slice(o.length)||"/",c=U({path:s.relativePath,caseSensitive:s.caseSensitive,end:l},u),d=s.route;if(!c&&l&&r&&!n[n.length-1].route.index&&(c=U({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:W([o,c.pathname]),pathnameBase:K(W([o,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(o=W([o,c.pathnameBase]))}return i}function A(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(p(!1,'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),r=r.replace(/\*$/,"/*"));const n=r.startsWith("/")?"/":"",a=e=>null==e?"":"string"==typeof e?e:String(e);return n+r.split(/\/+/).map((e,r,n)=>{if(r===n.length-1&&"*"===e)return a(t["*"]);const o=e.match(/^:([\w-]+)(\??)$/);if(o){const[,e,r]=o;let n=t[e];return f("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")}).filter(e=>!!e).join("/")}function U(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=function(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!0),p("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,r)=>(n.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),s=a.slice(1);return{params:n.reduce((e,t,r)=>{let{paramName:n,isOptional:a}=t;if("*"===n){let e=s[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const l=s[r];return e[n]=a&&!l?void 0:(l||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function M(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return p(!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 j(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)||"/"}const O=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function F(e,t){void 0===t&&(t="/");let r,{pathname:n,search:a="",hash:o=""}="string"==typeof e?g(e):e;if(n)if(i=n,O.test(i))r=n;else{if(n.includes("//")){let e=n;n=n.replace(/\/\/+/g,"/"),p(!1,"Pathnames cannot have embedded double slashes - normalizing "+e+" -> "+n)}r=n.startsWith("/")?N(n.substring(1),"/"):N(n,t)}else r=t;var i;return{pathname:r,search:$(a),hash:V(o)}}function N(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 B(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 I(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function z(e,t){let r=I(e);return t?r.map((e,t)=>t===r.length-1?e.pathname:e.pathnameBase):r.map(e=>e.pathnameBase)}function H(e,t,r,n){let a;void 0===n&&(n=!1),"string"==typeof e?a=g(e):(a=l({},e),f(!a.pathname||!a.pathname.includes("?"),B("?","pathname","search",a)),f(!a.pathname||!a.pathname.includes("#"),B("#","pathname","hash",a)),f(!a.search||!a.search.includes("#"),B("#","search","hash",a)));let o,i=""===e||""===a.pathname,s=i?"/":a.pathname;if(null==s)o=r;else{let e=t.length-1;if(!n&&s.startsWith("..")){let t=s.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=F(a,o),c=s&&"/"!==s&&s.endsWith("/"),d=(i||"."===s)&&r.endsWith("/");return u.pathname.endsWith("/")||!c&&!d||(u.pathname+="/"),u}const W=e=>e.join("/").replace(/\/\/+/g,"/"),K=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),$=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",V=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",J=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),l({},r,{headers:n}))};class q extends Error{}class Y{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],f(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise((e,t)=>r=t),this.controller=new AbortController;let n=()=>r(new q("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",n),this.controller.signal.addEventListener("abort",n),this.data=Object.entries(e).reduce((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})},{}),this.done&&this.unlistenAbortSignal(),this.init=t}trackPromise(e,t){if(!(t instanceof Promise))return t;this.deferredKeys.push(e),this.pendingKeysSet.add(e);let r=Promise.race([t,this.abortPromise]).then(t=>this.onSettle(r,e,void 0,t),t=>this.onSettle(r,e,t));return r.catch(()=>{}),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof q)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);if(this.pendingKeysSet.delete(t),this.done&&this.unlistenAbortSignal(),void 0===r&&void 0===n){let r=new Error('Deferred data for key "'+t+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)}return void 0===n?(Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),this.emit(!1,t),n)}emit(e,t){this.subscribers.forEach(r=>r(e,t))}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((e,t)=>this.pendingKeysSet.delete(t)),this.emit(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise(t=>{this.subscribe(n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)})})}return t}get done(){return 0===this.pendingKeysSet.size}get unwrappedData(){return f(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]:X(n)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}function X(e){if(!function(e){return e instanceof Promise&&!0===e._tracked}(e))return e;if(e._error)throw e._error;return e._data}const G=function(e,t){return void 0===t&&(t={}),new Y(e,"number"==typeof t?{status:t}:t)},Q=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,l({},r,{headers:n}))},Z=(e,t)=>{let r=Q(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},ee=(e,t)=>{let r=Q(e,t);return r.headers.set("X-Remix-Replace","true"),r};class te{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 re(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}const ne=["post","put","patch","delete"],ae=new Set(ne),oe=["get",...ne],ie=new Set(oe),se=new Set([301,302,303,307,308]),le=new Set([307,308]),ue={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ce={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},de={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},he=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,fe=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),pe="remix-router-transitions";function me(e){const t=e.window?e.window:"undefined"!=typeof window?window:void 0,r=void 0!==t&&void 0!==t.document&&void 0!==t.document.createElement,a=!r;let o;if(f(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let t=e.detectErrorBoundary;o=e=>({hasErrorBoundary:t(e)})}else o=fe;let i,s,u,c={},d=S(e.routes,o,void 0,c),h=e.basename||"/",m=e.dataStrategy||De,y=e.patchRoutesOnNavigation,g=l({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),b=null,C=new Set,L=null,P=null,k=null,T=null!=e.hydrationData,_=R(d,e.history.location,h),A=!1,U=null;if(null==_&&!y){let t=Fe(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=Oe(d);_=r,U={[n.id]:t}}if(_&&!e.hydrationData&&ct(_,d,e.history.location.pathname).active&&(_=null),_)if(_.some(e=>e.route.lazy))s=!1;else if(_.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=_.findIndex(e=>void 0!==r[e.route.id]);s=_.slice(0,e+1).every(e=>!we(e.route,t,r))}else s=_.every(e=>!we(e.route,t,r))}else s=null!=e.hydrationData;else s=!0;else if(s=!1,_=[],g.v7_partialHydration){let t=ct(null,d,e.history.location.pathname);t.active&&t.matches&&(A=!0,_=t.matches)}let M,O,F={historyAction:e.history.action,location:e.history.location,matches:_,initialized:s,navigation:ue,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||U,fetchers:new Map,blockers:new Map},N=n.Pop,B=!1,I=!1,z=new Map,H=null,W=!1,K=!1,$=[],V=new Set,J=new Map,q=0,Y=-1,X=new Map,G=new Set,Q=new Map,Z=new Map,ee=new Set,te=new Map,ne=new Map;function ae(e,t){void 0===t&&(t={}),F=l({},F,e);let r=[],n=[];g.v7_fetcherPersist&&F.fetchers.forEach((e,t)=>{"idle"===e.state&&(ee.has(t)?n.push(t):r.push(t))}),ee.forEach(e=>{F.fetchers.has(e)||J.has(e)||n.push(e)}),[...C].forEach(e=>e(F,{deletedFetchers:n,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),g.v7_fetcherPersist?(r.forEach(e=>F.fetchers.delete(e)),n.forEach(e=>Be(e))):n.forEach(e=>ee.delete(e))}function oe(t,r,a){var o,s;let u,{flushSync:c}=void 0===a?{}:a,h=null!=F.actionData&&null!=F.navigation.formMethod&&Ve(F.navigation.formMethod)&&"loading"===F.navigation.state&&!0!==(null==(o=t.state)?void 0:o._isRedirect);u=r.actionData?Object.keys(r.actionData).length>0?r.actionData:null:h?F.actionData:null;let f=r.loaderData?Ue(F.loaderData,r.loaderData,r.matches||[],r.errors):F.loaderData,p=F.blockers;p.size>0&&(p=new Map(p),p.forEach((e,t)=>p.set(t,de)));let m,v=!0===B||null!=F.navigation.formMethod&&Ve(F.navigation.formMethod)&&!0!==(null==(s=t.state)?void 0:s._isRedirect);if(i&&(d=i,i=void 0),W||N===n.Pop||(N===n.Push?e.history.push(t,t.state):N===n.Replace&&e.history.replace(t,t.state)),N===n.Pop){let e=z.get(F.location.pathname);e&&e.has(t.pathname)?m={currentLocation:F.location,nextLocation:t}:z.has(t.pathname)&&(m={currentLocation:t,nextLocation:F.location})}else if(I){let e=z.get(F.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),z.set(F.location.pathname,e)),m={currentLocation:F.location,nextLocation:t}}ae(l({},r,{actionData:u,loaderData:f,historyAction:N,location:t,initialized:!0,navigation:ue,revalidation:"idle",restoreScrollPosition:ut(t,r.matches||F.matches),preventScrollReset:v,blockers:p}),{viewTransitionOpts:m,flushSync:!0===c}),N=n.Pop,B=!1,I=!1,W=!1,K=!1,$=[]}async function ie(t,r,a){M&&M.abort(),M=null,N=t,W=!0===(a&&a.startUninterruptedRevalidation),function(e,t){if(L&&k){let r=lt(e,t);L[r]=k()}}(F.location,F.matches),B=!0===(a&&a.preventScrollReset),I=!0===(a&&a.enableViewTransition);let o=i||d,s=a&&a.overrideNavigation,u=null!=a&&a.initialHydration&&F.matches&&F.matches.length>0&&!A?F.matches:R(o,r,h),c=!0===(a&&a.flushSync);if(u&&F.initialized&&!K&&(f=F.location,p=r,f.pathname===p.pathname&&f.search===p.search&&(""===f.hash?""!==p.hash:f.hash===p.hash||""!==p.hash))&&!(a&&a.submission&&Ve(a.submission.formMethod)))return void oe(r,{matches:u},{flushSync:c});var f,p;let m=ct(u,o,r.pathname);if(m.active&&m.matches&&(u=m.matches),!u){let{error:e,notFoundMatches:t,route:n}=it(r.pathname);return void oe(r,{matches:t,loaderData:{},errors:{[n.id]:e}},{flushSync:c})}M=new AbortController;let v,y=ke(e.history,r,M.signal,a&&a.submission);if(a&&a.pendingError)v=[je(u).route.id,{type:w.error,error:a.pendingError}];else if(a&&a.submission&&Ve(a.submission.formMethod)){let t=await async function(t,r,a,o,i,s){void 0===s&&(s={}),Se();let l,u=function(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}(r,a);if(ae({navigation:u},{flushSync:!0===s.flushSync}),i){let e=await dt(o,r.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=je(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:w.error,error:e.error}]}}if(!e.matches){let{notFoundMatches:e,error:t,route:n}=it(r.pathname);return{matches:e,pendingActionResult:[n.id,{type:w.error,error:t}]}}o=e.matches}let c=Ge(o,r);if(c.route.action||c.route.lazy){if(l=(await ge("action",F,t,[c],o,null))[c.route.id],t.signal.aborted)return{shortCircuited:!0}}else l={type:w.error,error:Fe(405,{method:t.method,pathname:r.pathname,routeId:c.route.id})};if(We(l)){let r;return r=s&&null!=s.replace?s.replace:Pe(l.response.headers.get("Location"),new URL(t.url),h,e.history)===F.location.pathname+F.location.search,await me(t,l,!0,{submission:a,replace:r}),{shortCircuited:!0}}if(ze(l))throw Fe(400,{type:"defer-action"});if(He(l)){let e=je(o,c.route.id);return!0!==(s&&s.replace)&&(N=n.Push),{matches:o,pendingActionResult:[e.route.id,l]}}return{matches:o,pendingActionResult:[c.route.id,l]}}(y,r,a.submission,u,m.active,{replace:a.replace,flushSync:c});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,n]=t.pendingActionResult;if(He(n)&&re(n.error)&&404===n.error.status)return M=null,void oe(r,{matches:t.matches,loaderData:{},errors:{[e]:n.error}})}u=t.matches||u,v=t.pendingActionResult,s=Ze(r,a.submission),c=!1,m.active=!1,y=ke(e.history,y.url,y.signal)}let{shortCircuited:b,matches:E,loaderData:S,errors:x}=await async function(t,r,n,a,o,s,u,c,f,p,m){let v=o||Ze(r,s),y=s||u||Qe(v),b=!(W||g.v7_partialHydration&&f);if(a){if(b){let e=se(m);ae(l({navigation:v},void 0!==e?{actionData:e}:{}),{flushSync:p})}let e=await dt(n,r.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=je(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(!e.matches){let{error:e,notFoundMatches:t,route:n}=it(r.pathname);return{matches:t,loaderData:{},errors:{[n.id]:e}}}n=e.matches}let w=i||d,[E,S]=be(e.history,F,n,y,r,g.v7_partialHydration&&!0===f,g.v7_skipActionErrorRevalidation,K,$,V,ee,Q,G,w,h,m);if(st(e=>!(n&&n.some(t=>t.route.id===e))||E&&E.some(t=>t.route.id===e)),Y=++q,0===E.length&&0===S.length){let e=Xe();return oe(r,l({matches:n,loaderData:{},errors:m&&He(m[1])?{[m[0]]:m[1].error}:null},Me(m),e?{fetchers:new Map(F.fetchers)}:{}),{flushSync:p}),{shortCircuited:!0}}if(b){let e={};if(!a){e.navigation=v;let t=se(m);void 0!==t&&(e.actionData=t)}S.length>0&&(e.fetchers=function(e){return e.forEach(e=>{let t=F.fetchers.get(e.key),r=et(void 0,t?t.data:void 0);F.fetchers.set(e.key,r)}),new Map(F.fetchers)}(S)),ae(e,{flushSync:p})}S.forEach(e=>{Ke(e.key),e.controller&&J.set(e.key,e.controller)});let R=()=>S.forEach(e=>Ke(e.key));M&&M.signal.addEventListener("abort",R);let{loaderResults:x,fetcherResults:D}=await Ee(F,n,E,S,t);if(t.signal.aborted)return{shortCircuited:!0};M&&M.signal.removeEventListener("abort",R),S.forEach(e=>J.delete(e.key));let C=Ne(x);if(C)return await me(t,C.result,!0,{replace:c}),{shortCircuited:!0};if(C=Ne(D),C)return G.add(C.key),await me(t,C.result,!0,{replace:c}),{shortCircuited:!0};let{loaderData:L,errors:P}=Ae(F,n,x,m,S,D,te);te.forEach((e,t)=>{e.subscribe(r=>{(r||e.done)&&te.delete(t)})}),g.v7_partialHydration&&f&&F.errors&&(P=l({},F.errors,P));let k=Xe(),T=rt(Y),_=k||T||S.length>0;return l({matches:n,loaderData:L,errors:P},_?{fetchers:new Map(F.fetchers)}:{})}(y,r,u,m.active,s,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,a&&!0===a.initialHydration,c,v);b||(M=null,oe(r,l({matches:E||u},Me(v),{loaderData:S,errors:x})))}function se(e){return e&&!He(e[1])?{[e[0]]:e[1].data}:F.actionData?0===Object.keys(F.actionData).length?null:F.actionData:void 0}async function me(a,o,i,s){let{submission:u,fetcherSubmission:c,preventScrollReset:d,replace:p}=void 0===s?{}:s;o.response.headers.has("X-Remix-Revalidate")&&(K=!0);let m=o.response.headers.get("Location");f(m,"Expected a Location header on the redirect Response"),m=Pe(m,new URL(a.url),h,e.history);let y=v(F.location,m,{_isRedirect:!0});if(r){let r=!1;if(o.response.headers.has("X-Remix-Reload-Document"))r=!0;else if(he.test(m)){const n=e.history.createURL(m);r=n.origin!==t.location.origin||null==j(n.pathname,h)}if(r)return void(p?t.location.replace(m):t.location.assign(m))}M=null;let g=!0===p||o.response.headers.has("X-Remix-Replace")?n.Replace:n.Push,{formMethod:b,formAction:w,formEncType:E}=F.navigation;!u&&!c&&b&&w&&E&&(u=Qe(F.navigation));let S=u||c;if(le.has(o.response.status)&&S&&Ve(S.formMethod))await ie(g,y,{submission:l({},S,{formAction:m}),preventScrollReset:d||B,enableViewTransition:i?I:void 0});else{let e=Ze(y,u);await ie(g,y,{overrideNavigation:e,fetcherSubmission:c,preventScrollReset:d||B,enableViewTransition:i?I:void 0})}}async function ge(e,t,r,n,a,i){let s,u={};try{s=await async function(e,t,r,n,a,o,i,s,u,c){let d=o.map(e=>e.route.lazy?async function(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];f(a,"No route found in manifest");let o={};for(let e in n){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;p(!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||E.has(e)||(o[e]=n[e])}Object.assign(a,o),Object.assign(a,l({},t(a),{lazy:void 0}))}(e.route,u,s):void 0),h=o.map((e,r)=>{let o=d[r],i=a.some(t=>t.route.id===e.route.id);return l({},e,{shouldLoad:i,resolve:async r=>(r&&"GET"===n.method&&(e.route.lazy||e.route.loader)&&(i=!0),i?async function(e,t,r,n,a,o){let i,s,l=n=>{let i,l=new Promise((e,t)=>i=t);s=()=>i(),t.signal.addEventListener("abort",s);let u=a=>"function"!=typeof n?Promise.reject(new Error('You cannot call the handler for a route which defines a boolean "'+e+'" [routeId: '+r.route.id+"]")):n({request:t,params:r.params,context:o},...void 0!==a?[a]:[]),c=(async()=>{try{return{type:"data",result:await(a?a(e=>u(e)):u())}}catch(e){return{type:"error",result:e}}})();return Promise.race([c,l])};try{let a=r.route[e];if(n)if(a){let e,[t]=await Promise.all([l(a).catch(t=>{e=t}),n]);if(void 0!==e)throw e;i=t}else{if(await n,a=r.route[e],!a){if("action"===e){let e=new URL(t.url),n=e.pathname+e.search;throw Fe(405,{method:t.method,pathname:n,routeId:r.route.id})}return{type:w.data,result:void 0}}i=await l(a)}else{if(!a){let e=new URL(t.url);throw Fe(404,{pathname:e.pathname+e.search})}i=await l(a)}f(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:w.error,result:e}}finally{s&&t.signal.removeEventListener("abort",s)}return i}(t,n,e,o,r,c):Promise.resolve({type:w.data,result:void 0}))})}),m=await e({matches:h,request:n,params:o[0].params,fetcherKey:i,context:c});try{await Promise.all(d)}catch(e){}return m}(m,e,0,r,n,a,i,c,o)}catch(e){return n.forEach(t=>{u[t.route.id]={type:w.error,error:e}}),u}for(let[e,t]of Object.entries(s))if(Ie(t)){let n=t.result;u[e]={type:w.redirect,response:Le(n,r,e,a,h,g.v7_relativeSplatPath)}}else u[e]=await Ce(t);return u}async function Ee(t,r,n,a,o){let i=t.matches,s=ge("loader",0,o,n,r,null),l=Promise.all(a.map(async t=>{if(t.matches&&t.match&&t.controller){let r=(await ge("loader",0,ke(e.history,t.path,t.controller.signal),[t.match],t.matches,t.key))[t.match.route.id];return{[t.key]:r}}return Promise.resolve({[t.key]:{type:w.error,error:Fe(404,{pathname:t.path})}})})),u=await s,c=(await l).reduce((e,t)=>Object.assign(e,t),{});return await Promise.all([Je(r,u,o.signal,i,t.loaderData),qe(r,c,a)]),{loaderResults:u,fetcherResults:c}}function Se(){K=!0,$.push(...st()),Q.forEach((e,t)=>{J.has(t)&&V.add(t),Ke(t)})}function xe(e,t,r){void 0===r&&(r={}),F.fetchers.set(e,t),ae({fetchers:new Map(F.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function Te(e,t,r,n){void 0===n&&(n={});let a=je(F.matches,t);Be(e),ae({errors:{[a.route.id]:r},fetchers:new Map(F.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function _e(e){return Z.set(e,(Z.get(e)||0)+1),ee.has(e)&&ee.delete(e),F.fetchers.get(e)||ce}function Be(e){let t=F.fetchers.get(e);!J.has(e)||t&&"loading"===t.state&&X.has(e)||Ke(e),Q.delete(e),X.delete(e),G.delete(e),g.v7_fetcherPersist&&ee.delete(e),V.delete(e),F.fetchers.delete(e)}function Ke(e){let t=J.get(e);t&&(t.abort(),J.delete(e))}function $e(e){for(let t of e){let e=tt(_e(t).data);F.fetchers.set(t,e)}}function Xe(){let e=[],t=!1;for(let r of G){let n=F.fetchers.get(r);f(n,"Expected fetcher: "+r),"loading"===n.state&&(G.delete(r),e.push(r),t=!0)}return $e(e),t}function rt(e){let t=[];for(let[r,n]of X)if(n<e){let e=F.fetchers.get(r);f(e,"Expected fetcher: "+r),"loading"===e.state&&(Ke(r),X.delete(r),t.push(r))}return $e(t),t.length>0}function nt(e){F.blockers.delete(e),ne.delete(e)}function at(e,t){let r=F.blockers.get(e)||de;f("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(F.blockers);n.set(e,t),ae({blockers:n})}function ot(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===ne.size)return;ne.size>1&&p(!1,"A router only supports one blocker at a time");let a=Array.from(ne.entries()),[o,i]=a[a.length-1],s=F.blockers.get(o);return s&&"proceeding"===s.state?void 0:i({currentLocation:t,nextLocation:r,historyAction:n})?o:void 0}function it(e){let t=Fe(404,{pathname:e}),r=i||d,{matches:n,route:a}=Oe(r);return st(),{notFoundMatches:n,route:a,error:t}}function st(e){let t=[];return te.forEach((r,n)=>{e&&!e(n)||(r.cancel(),t.push(n),te.delete(n))}),t}function lt(e,t){return P&&P(e,t.map(e=>D(e,F.loaderData)))||e.key}function ut(e,t){if(L){let r=lt(e,t),n=L[r];if("number"==typeof n)return n}return null}function ct(e,t,r){if(y){if(!e)return{active:!0,matches:x(t,r,h,!0)||[]};if(Object.keys(e[0].params).length>0)return{active:!0,matches:x(t,r,h,!0)}}return{active:!1,matches:null}}async function dt(e,t,r,n){if(!y)return{type:"success",matches:e};let a=e;for(;;){let e=null==i,s=i||d,l=c;try{await y({signal:r,path:t,matches:a,fetcherKey:n,patch:(e,t)=>{r.aborted||Re(e,t,s,l,o)}})}catch(e){return{type:"error",error:e,partialMatches:a}}finally{e&&!r.aborted&&(d=[...d])}if(r.aborted)return{type:"aborted"};let u=R(s,t,h);if(u)return{type:"success",matches:u};let f=x(s,t,h,!0);if(!f||a.length===f.length&&a.every((e,t)=>e.route.id===f[t].route.id))return{type:"success",matches:null};a=f}}return u={get basename(){return h},get future(){return g},get state(){return F},get routes(){return d},get window(){return t},initialize:function(){if(b=e.history.listen(t=>{let{action:r,location:n,delta:a}=t;if(O)return O(),void(O=void 0);p(0===ne.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=ot({currentLocation:F.location,nextLocation:n,historyAction:r});if(o&&null!=a){let t=new Promise(e=>{O=e});return e.history.go(-1*a),void at(o,{state:"blocked",location:n,proceed(){at(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(a))},reset(){let e=new Map(F.blockers);e.set(o,de),ae({blockers:e})}})}return ie(r,n)}),r){!function(e,t){try{let r=e.sessionStorage.getItem(pe);if(r){let e=JSON.parse(r);for(let[r,n]of Object.entries(e||{}))n&&Array.isArray(n)&&t.set(r,new Set(n||[]))}}catch(e){}}(t,z);let e=()=>function(e,t){if(t.size>0){let r={};for(let[e,n]of t)r[e]=[...n];try{e.sessionStorage.setItem(pe,JSON.stringify(r))}catch(e){p(!1,"Failed to save applied view transitions in sessionStorage ("+e+").")}}}(t,z);t.addEventListener("pagehide",e),H=()=>t.removeEventListener("pagehide",e)}return F.initialized||ie(n.Pop,F.location,{initialHydration:!0}),u},subscribe:function(e){return C.add(e),()=>C.delete(e)},enableScrollRestoration:function(e,t,r){if(L=e,k=t,P=r||null,!T&&F.navigation===ue){T=!0;let e=ut(F.location,F.matches);null!=e&&ae({restoreScrollPosition:e})}return()=>{L=null,k=null,P=null}},navigate:async function t(r,a){if("number"==typeof r)return void e.history.go(r);let o=ve(F.location,F.matches,h,g.v7_prependBasename,r,g.v7_relativeSplatPath,null==a?void 0:a.fromRouteId,null==a?void 0:a.relative),{path:i,submission:s,error:u}=ye(g.v7_normalizeFormMethod,!1,o,a),c=F.location,d=v(F.location,i,a&&a.state);d=l({},d,e.history.encodeLocation(d));let f=a&&null!=a.replace?a.replace:void 0,p=n.Push;!0===f?p=n.Replace:!1===f||null!=s&&Ve(s.formMethod)&&s.formAction===F.location.pathname+F.location.search&&(p=n.Replace);let m=a&&"preventScrollReset"in a?!0===a.preventScrollReset:void 0,y=!0===(a&&a.flushSync),b=ot({currentLocation:c,nextLocation:d,historyAction:p});if(!b)return await ie(p,d,{submission:s,pendingError:u,preventScrollReset:m,replace:a&&a.replace,enableViewTransition:a&&a.viewTransition,flushSync:y});at(b,{state:"blocked",location:d,proceed(){at(b,{state:"proceeding",proceed:void 0,reset:void 0,location:d}),t(r,a)},reset(){let e=new Map(F.blockers);e.set(b,de),ae({blockers:e})}})},fetch:function(t,r,n,o){if(a)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");Ke(t);let s=!0===(o&&o.flushSync),l=i||d,u=ve(F.location,F.matches,h,g.v7_prependBasename,n,g.v7_relativeSplatPath,r,null==o?void 0:o.relative),c=R(l,u,h),p=ct(c,l,u);if(p.active&&p.matches&&(c=p.matches),!c)return void Te(t,r,Fe(404,{pathname:u}),{flushSync:s});let{path:m,submission:v,error:y}=ye(g.v7_normalizeFormMethod,!0,u,o);if(y)return void Te(t,r,y,{flushSync:s});let b=Ge(c,m),w=!0===(o&&o.preventScrollReset);v&&Ve(v.formMethod)?async function(t,r,n,a,o,s,l,u,c){function p(e){if(!e.route.action&&!e.route.lazy){let e=Fe(405,{method:c.formMethod,pathname:n,routeId:r});return Te(t,r,e,{flushSync:l}),!0}return!1}if(Se(),Q.delete(t),!s&&p(a))return;let m=F.fetchers.get(t);xe(t,function(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}(c,m),{flushSync:l});let v=new AbortController,y=ke(e.history,n,v.signal,c);if(s){let e=await dt(o,new URL(y.url).pathname,y.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void Te(t,r,e.error,{flushSync:l});if(!e.matches)return void Te(t,r,Fe(404,{pathname:n}),{flushSync:l});if(p(a=Ge(o=e.matches,n)))return}J.set(t,v);let b=q,w=(await ge("action",0,y,[a],o,t))[a.route.id];if(y.signal.aborted)return void(J.get(t)===v&&J.delete(t));if(g.v7_fetcherPersist&&ee.has(t)){if(We(w)||He(w))return void xe(t,tt(void 0))}else{if(We(w))return J.delete(t),Y>b?void xe(t,tt(void 0)):(G.add(t),xe(t,et(c)),me(y,w,!1,{fetcherSubmission:c,preventScrollReset:u}));if(He(w))return void Te(t,r,w.error)}if(ze(w))throw Fe(400,{type:"defer-action"});let E=F.navigation.location||F.location,S=ke(e.history,E,v.signal),x=i||d,D="idle"!==F.navigation.state?R(x,F.navigation.location,h):F.matches;f(D,"Didn't find any matches after fetcher action");let C=++q;X.set(t,C);let L=et(c,w.data);F.fetchers.set(t,L);let[P,k]=be(e.history,F,D,c,E,!1,g.v7_skipActionErrorRevalidation,K,$,V,ee,Q,G,x,h,[a.route.id,w]);k.filter(e=>e.key!==t).forEach(e=>{let t=e.key,r=F.fetchers.get(t),n=et(void 0,r?r.data:void 0);F.fetchers.set(t,n),Ke(t),e.controller&&J.set(t,e.controller)}),ae({fetchers:new Map(F.fetchers)});let T=()=>k.forEach(e=>Ke(e.key));v.signal.addEventListener("abort",T);let{loaderResults:_,fetcherResults:A}=await Ee(F,D,P,k,S);if(v.signal.aborted)return;v.signal.removeEventListener("abort",T),X.delete(t),J.delete(t),k.forEach(e=>J.delete(e.key));let U=Ne(_);if(U)return me(S,U.result,!1,{preventScrollReset:u});if(U=Ne(A),U)return G.add(U.key),me(S,U.result,!1,{preventScrollReset:u});let{loaderData:j,errors:O}=Ae(F,D,_,void 0,k,A,te);if(F.fetchers.has(t)){let e=tt(w.data);F.fetchers.set(t,e)}rt(C),"loading"===F.navigation.state&&C>Y?(f(N,"Expected pending action"),M&&M.abort(),oe(F.navigation.location,{matches:D,loaderData:j,errors:O,fetchers:new Map(F.fetchers)})):(ae({errors:O,loaderData:Ue(F.loaderData,j,D,O),fetchers:new Map(F.fetchers)}),K=!1)}(t,r,m,b,c,p.active,s,w,v):(Q.set(t,{routeId:r,path:m}),async function(t,r,n,a,o,i,s,l,u){let c=F.fetchers.get(t);xe(t,et(u,c?c.data:void 0),{flushSync:s});let d=new AbortController,h=ke(e.history,n,d.signal);if(i){let e=await dt(o,new URL(h.url).pathname,h.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void Te(t,r,e.error,{flushSync:s});if(!e.matches)return void Te(t,r,Fe(404,{pathname:n}),{flushSync:s});a=Ge(o=e.matches,n)}J.set(t,d);let p=q,m=(await ge("loader",0,h,[a],o,t))[a.route.id];if(ze(m)&&(m=await Ye(m,h.signal,!0)||m),J.get(t)===d&&J.delete(t),!h.signal.aborted){if(!ee.has(t))return We(m)?Y>p?void xe(t,tt(void 0)):(G.add(t),void await me(h,m,!1,{preventScrollReset:l})):void(He(m)?Te(t,r,m.error):(f(!ze(m),"Unhandled fetcher deferred data"),xe(t,tt(m.data))));xe(t,tt(void 0))}}(t,r,m,b,c,p.active,s,w,v))},revalidate:function(){Se(),ae({revalidation:"loading"}),"submitting"!==F.navigation.state&&("idle"!==F.navigation.state?ie(N||F.historyAction,F.navigation.location,{overrideNavigation:F.navigation,enableViewTransition:!0===I}):ie(F.historyAction,F.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:_e,deleteFetcher:function(e){let t=(Z.get(e)||0)-1;t<=0?(Z.delete(e),ee.add(e),g.v7_fetcherPersist||Be(e)):Z.set(e,t),ae({fetchers:new Map(F.fetchers)})},dispose:function(){b&&b(),H&&H(),C.clear(),M&&M.abort(),F.fetchers.forEach((e,t)=>Be(t)),F.blockers.forEach((e,t)=>nt(t))},getBlocker:function(e,t){let r=F.blockers.get(e)||de;return ne.get(e)!==t&&ne.set(e,t),r},deleteBlocker:nt,patchRoutes:function(e,t){let r=null==i;Re(e,t,i||d,c,o),r&&(d=[...d],ae({}))},_internalFetchControllers:J,_internalActiveDeferreds:te,_internalSetRoutes:function(e){c={},i=S(e,o,void 0,c)}},u}function ve(e,t,r,n,a,o,i,s){let l,u;if(i){l=[];for(let e of t)if(l.push(e),e.route.id===i){u=e;break}}else l=t,u=t[t.length-1];let c=H(a||".",z(l,o),j(e.pathname,r)||e.pathname,"path"===s);if(null==a&&(c.search=e.search,c.hash=e.hash),(null==a||""===a||"."===a)&&u){let e=Xe(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:W([r,c.pathname])),y(c)}function ye(e,t,r,n){if(!n||!function(e){return null!=e&&("formData"in e&&null!=e.formData||"body"in e&&void 0!==e.body)}(n))return{path:r};if(n.formMethod&&(a=n.formMethod,!ie.has(a.toLowerCase())))return{path:r,error:Fe(405,{method:n.formMethod})};var a;let o,i,s=()=>({path:r,error:Fe(400,{type:"invalid-body"})}),l=n.formMethod||"get",u=e?l.toUpperCase():l.toLowerCase(),c=Be(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!Ve(u))return s();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}}}if("application/json"===n.formEncType){if(!Ve(u))return s();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 s()}}}if(f("function"==typeof FormData,"FormData is not available in this environment"),n.formData)o=Te(n.formData),i=n.formData;else if(n.body instanceof FormData)o=Te(n.body),i=n.body;else if(n.body instanceof URLSearchParams)o=n.body,i=_e(o);else if(null==n.body)o=new URLSearchParams,i=new FormData;else try{o=new URLSearchParams(n.body),i=_e(o)}catch(e){return s()}let d={formMethod:u,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(Ve(d.formMethod))return{path:r,submission:d};let h=g(r);return t&&h.search&&Xe(h.search)&&o.append("index",""),h.search="?"+o,{path:y(h),submission:d}}function ge(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 be(e,t,r,n,a,o,i,s,u,c,d,h,f,p,m,v){let y=v?He(v[1])?v[1].error:v[1].data:void 0,g=e.createURL(t.location),b=e.createURL(a),w=r;o&&t.errors?w=ge(r,Object.keys(t.errors)[0],!0):v&&He(v[1])&&(w=ge(r,v[0]));let E=v?v[1].statusCode:void 0,S=i&&E&&E>=400,x=w.filter((e,r)=>{let{route:a}=e;if(a.lazy)return!0;if(null==a.loader)return!1;if(o)return we(a,t.loaderData,t.errors);if(function(e,t,r){let n=!t||r.route.id!==t.route.id,a=void 0===e[r.route.id];return n||a}(t.loaderData,t.matches[r],e)||u.some(t=>t===e.route.id))return!0;let i=t.matches[r],c=e;return Se(e,l({currentUrl:g,currentParams:i.params,nextUrl:b,nextParams:c.params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!S&&(s||g.pathname+g.search===b.pathname+b.search||g.search!==b.search||Ee(i,c))}))}),D=[];return h.forEach((e,a)=>{if(o||!r.some(t=>t.route.id===e.routeId)||d.has(a))return;let i=R(p,e.path,m);if(!i)return void D.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let u=t.fetchers.get(a),h=Ge(i,e.path),v=!1;f.has(a)?v=!1:c.has(a)?(c.delete(a),v=!0):v=u&&"idle"!==u.state&&void 0===u.data?s:Se(h,l({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&&s})),v&&D.push({key:a,routeId:e.routeId,path:e.path,matches:i,match:h,controller:new AbortController})}),[x,D]}function we(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=null!=t&&void 0!==t[e.id],a=null!=r&&void 0!==r[e.id];return!(!n&&a)&&("function"==typeof e.loader&&!0===e.loader.hydrate||!n&&!a)}function Ee(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Se(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"==typeof r)return r}return t.defaultShouldRevalidate}function Re(e,t,r,n,a){var o;let i;if(e){let t=n[e];f(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=r;let s=S(t.filter(e=>!i.some(t=>xe(e,t))),a,[e||"_","patch",String((null==(o=i)?void 0:o.length)||"0")],n);i.push(...s)}function xe(e,t){return"id"in e&&"id"in t&&e.id===t.id||e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive&&(!(e.children&&0!==e.children.length||t.children&&0!==t.children.length)||e.children.every((e,r)=>{var n;return null==(n=t.children)?void 0:n.some(t=>xe(e,t))}))}async function De(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 Ce(e){let{result:t,type:r}=e;if($e(t)){let e;try{let r=t.headers.get("Content-Type");e=r&&/\bapplication\/json\b/.test(r)?null==t.body?null:await t.json():await t.text()}catch(e){return{type:w.error,error:e}}return r===w.error?{type:w.error,error:new te(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:w.data,data:e,statusCode:t.status,headers:t.headers}}var n,a,o,i,s,l,u,c;return r===w.error?Ke(t)?t.data instanceof Error?{type:w.error,error:t.data,statusCode:null==(o=t.init)?void 0:o.status,headers:null!=(i=t.init)&&i.headers?new Headers(t.init.headers):void 0}:{type:w.error,error:new te((null==(n=t.init)?void 0:n.status)||500,void 0,t.data),statusCode:re(t)?t.status:void 0,headers:null!=(a=t.init)&&a.headers?new Headers(t.init.headers):void 0}:{type:w.error,error:t,statusCode:re(t)?t.status:void 0}:function(e){let t=e;return t&&"object"==typeof t&&"object"==typeof t.data&&"function"==typeof t.subscribe&&"function"==typeof t.cancel&&"function"==typeof t.resolveData}(t)?{type:w.deferred,deferredData:t,statusCode:null==(s=t.init)?void 0:s.status,headers:(null==(l=t.init)?void 0:l.headers)&&new Headers(t.init.headers)}:Ke(t)?{type:w.data,data:t.data,statusCode:null==(u=t.init)?void 0:u.status,headers:null!=(c=t.init)&&c.headers?new Headers(t.init.headers):void 0}:{type:w.data,data:t}}function Le(e,t,r,n,a,o){let i=e.headers.get("Location");if(f(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!he.test(i)){let s=n.slice(0,n.findIndex(e=>e.route.id===r)+1);i=ve(new URL(t.url),s,a,!0,i,o),e.headers.set("Location",i)}return e}function Pe(e,t,r,n){let a=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(he.test(e)){let n=e,o=n.startsWith("//")?new URL(t.protocol+n):new URL(n);if(a.includes(o.protocol))throw new Error("Invalid redirect location");let i=null!=j(o.pathname,r);if(o.origin===t.origin&&i)return o.pathname+o.search+o.hash}try{let t=n.createURL(e);if(a.includes(t.protocol))throw new Error("Invalid redirect location")}catch(e){}return e}function ke(e,t,r,n){let a=e.createURL(Be(t)).toString(),o={signal:r};if(n&&Ve(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=Te(n.formData):o.body=n.formData}return new Request(a,o)}function Te(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"==typeof n?n:n.name);return t}function _e(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Ae(e,t,r,n,a,o,i){let{loaderData:s,errors:u}=function(e,t,r,n,a){let o,i={},s=null,l=!1,u={},c=r&&He(r[1])?r[1].error:void 0;return e.forEach(r=>{if(!(r.route.id in t))return;let d=r.route.id,h=t[d];if(f(!We(h),"Cannot handle redirect results in processLoaderData"),He(h)){let t=h.error;if(void 0!==c&&(t=c,c=void 0),s=s||{},a)s[d]=t;else{let r=je(e,d);null==s[r.route.id]&&(s[r.route.id]=t)}i[d]=void 0,l||(l=!0,o=re(h.error)?h.error.status:500),h.headers&&(u[d]=h.headers)}else ze(h)?(n.set(d,h.deferredData),i[d]=h.deferredData.data,null==h.statusCode||200===h.statusCode||l||(o=h.statusCode),h.headers&&(u[d]=h.headers)):(i[d]=h.data,h.statusCode&&200!==h.statusCode&&!l&&(o=h.statusCode),h.headers&&(u[d]=h.headers))}),void 0!==c&&r&&(s={[r[0]]:c},i[r[0]]=void 0),{loaderData:i,errors:s,statusCode:o||200,loaderHeaders:u}}(t,r,n,i,!1);return a.forEach(t=>{let{key:r,match:n,controller:a}=t,i=o[r];if(f(i,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if(He(i)){let t=je(e.matches,null==n?void 0:n.route.id);u&&u[t.route.id]||(u=l({},u,{[t.route.id]:i.error})),e.fetchers.delete(r)}else if(We(i))f(!1,"Unhandled fetcher revalidation redirect");else if(ze(i))f(!1,"Unhandled fetcher deferred data");else{let t=tt(i.data);e.fetchers.set(r,t)}}),{loaderData:s,errors:u}}function Ue(e,t,r,n){let a=l({},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 Me(e){return e?He(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function je(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 Oe(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 Fe(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=void 0===t?{}:t,s="Unknown Server Error",l="Unknown @remix-run/router error";return 400===e?(s="Bad Request",a&&r&&n?l="You made a "+a+' request to "'+r+'" but did not provide a `loader` for route "'+n+'", so there is no way to handle the request.':"defer-action"===o?l="defer() is not supported in actions":"invalid-body"===o&&(l="Unable to encode submission body")):403===e?(s="Forbidden",l='Route "'+n+'" does not match URL "'+r+'"'):404===e?(s="Not Found",l='No route matches URL "'+r+'"'):405===e&&(s="Method Not Allowed",a&&r&&n?l="You made a "+a.toUpperCase()+' request to "'+r+'" but did not provide an `action` for route "'+n+'", so there is no way to handle the request.':a&&(l='Invalid request method "'+a.toUpperCase()+'"')),new te(e||500,s,new Error(l),!0)}function Ne(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[r,n]=t[e];if(We(n))return{key:r,result:n}}}function Be(e){return y(l({},"string"==typeof e?g(e):e,{hash:""}))}function Ie(e){return $e(e.result)&&se.has(e.result.status)}function ze(e){return e.type===w.deferred}function He(e){return e.type===w.error}function We(e){return(e&&e.type)===w.redirect}function Ke(e){return"object"==typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function $e(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"object"==typeof e.headers&&void 0!==e.body}function Ve(e){return ae.has(e.toLowerCase())}async function Je(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[s,l]=o[i],u=e.find(e=>(null==e?void 0:e.route.id)===s);if(!u)continue;let c=n.find(e=>e.route.id===u.route.id),d=null!=c&&!Ee(c,u)&&void 0!==(a&&a[u.route.id]);ze(l)&&d&&await Ye(l,r,!1).then(e=>{e&&(t[s]=e)})}}async function qe(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],s=t[a];e.find(e=>(null==e?void 0:e.route.id)===o)&&ze(s)&&(f(i,"Expected an AbortController for revalidating fetcher deferred result"),await Ye(s,i.signal,!0).then(e=>{e&&(t[a]=e)}))}}async function Ye(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:w.data,data:e.deferredData.unwrappedData}}catch(e){return{type:w.error,error:e}}return{type:w.data,data:e.deferredData.data}}}function Xe(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function Ge(e,t){let r="string"==typeof t?g(t).search:t.search;if(e[e.length-1].route.index&&Xe(r||""))return e[e.length-1];let n=I(e);return n[n.length-1]}function Qe(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n)return null!=a?{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a}:null!=o?{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0}:void 0!==i?{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}:void 0}function Ze(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 et(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 tt(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 rt(){return rt=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},rt.apply(this,arguments)}Symbol("deferred");const nt=a.createContext(null),at=a.createContext(null),ot=a.createContext(null),it=a.createContext(null),st=a.createContext(null),lt=a.createContext({outlet:null,matches:[],isDataRoute:!1}),ut=a.createContext(null);function ct(e,t){let{relative:r}=void 0===t?{}:t;dt()||f(!1);let{basename:n,navigator:o}=a.useContext(it),{hash:i,pathname:s,search:l}=Et(e,{relative:r}),u=s;return"/"!==n&&(u="/"===s?n:W([n,s])),o.createHref({pathname:u,search:l,hash:i})}function dt(){return null!=a.useContext(st)}function ht(){return dt()||f(!1),a.useContext(st).location}function ft(){return a.useContext(st).navigationType}function pt(e){dt()||f(!1);let{pathname:t}=ht();return a.useMemo(()=>U(e,M(t)),[t,e])}function mt(e){a.useContext(it).static||a.useLayoutEffect(e)}function vt(){let{isDataRoute:e}=a.useContext(lt);return e?function(){let{router:e}=_t(kt.UseNavigateStable),t=Ut(Tt.UseNavigateStable),r=a.useRef(!1);return mt(()=>{r.current=!0}),a.useCallback(function(n,a){void 0===a&&(a={}),r.current&&("number"==typeof n?e.navigate(n):e.navigate(n,rt({fromRouteId:t},a)))},[e,t])}():function(){dt()||f(!1);let e=a.useContext(nt),{basename:t,future:r,navigator:n}=a.useContext(it),{matches:o}=a.useContext(lt),{pathname:i}=ht(),s=JSON.stringify(z(o,r.v7_relativeSplatPath)),l=a.useRef(!1);return mt(()=>{l.current=!0}),a.useCallback(function(r,a){if(void 0===a&&(a={}),!l.current)return;if("number"==typeof r)return void n.go(r);let o=H(r,JSON.parse(s),i,"path"===a.relative);null==e&&"/"!==t&&(o.pathname="/"===o.pathname?t:W([t,o.pathname])),(a.replace?n.replace:n.push)(o,a.state,a)},[t,n,s,i,e])}()}const yt=a.createContext(null);function gt(){return a.useContext(yt)}function bt(e){let t=a.useContext(lt).outlet;return t?a.createElement(yt.Provider,{value:e},t):t}function wt(){let{matches:e}=a.useContext(lt),t=e[e.length-1];return t?t.params:{}}function Et(e,t){let{relative:r}=void 0===t?{}:t,{future:n}=a.useContext(it),{matches:o}=a.useContext(lt),{pathname:i}=ht(),s=JSON.stringify(z(o,n.v7_relativeSplatPath));return a.useMemo(()=>H(e,JSON.parse(s),i,"path"===r),[e,s,i,r])}function St(e,t){return Rt(e,t)}function Rt(e,t,r,o){dt()||f(!1);let{navigator:i}=a.useContext(it),{matches:s}=a.useContext(lt),l=s[s.length-1],u=l?l.params:{},c=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let d,h=ht();if(t){var p;let e="string"==typeof t?g(t):t;"/"===c||(null==(p=e.pathname)?void 0:p.startsWith(c))||f(!1),d=e}else d=h;let m=d.pathname||"/",v=m;if("/"!==c){let e=c.replace(/^\//,"").split("/");v="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let y=R(e,{pathname:v}),b=Pt(y&&y.map(e=>Object.assign({},e,{params:Object.assign({},u,e.params),pathname:W([c,i.encodeLocation?i.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:W([c,i.encodeLocation?i.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),s,r,o);return t&&b?a.createElement(st.Provider,{value:{location:rt({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:n.Pop}},b):b}function xt(){let e=zt(),t=re(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return a.createElement(a.Fragment,null,a.createElement("h2",null,"Unexpected Application Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},t),r?a.createElement("pre",{style:n},r):null,null)}const Dt=a.createElement(xt,null);class Ct extends a.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?a.createElement(lt.Provider,{value:this.props.routeContext},a.createElement(ut.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Lt(e){let{routeContext:t,match:r,children:n}=e,o=a.useContext(nt);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),a.createElement(lt.Provider,{value:t},n)}function Pt(e,t,r,n){var o;if(void 0===t&&(t=[]),void 0===r&&(r=null),void 0===n&&(n=null),null==e){var i;if(!r)return null;if(r.errors)e=r.matches;else{if(!(null!=(i=n)&&i.v7_partialHydration&&0===t.length&&!r.initialized&&r.matches.length>0))return null;e=r.matches}}let s=e,l=null==(o=r)?void 0:o.errors;if(null!=l){let e=s.findIndex(e=>e.route.id&&void 0!==(null==l?void 0:l[e.route.id]));e>=0||f(!1),s=s.slice(0,Math.min(s.length,e+1))}let u=!1,c=-1;if(r&&n&&n.v7_partialHydration)for(let e=0;e<s.length;e++){let t=s[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=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){u=!0,s=c>=0?s.slice(0,c+1):[s[0]];break}}}return s.reduceRight((e,n,o)=>{let i,d=!1,h=null,f=null;var p;r&&(i=l&&n.route.id?l[n.route.id]:void 0,h=n.route.errorElement||Dt,u&&(c<0&&0===o?(Vt[p="route-fallback"]||(Vt[p]=!0),d=!0,f=null):c===o&&(d=!0,f=n.route.hydrateFallbackElement||null)));let m=t.concat(s.slice(0,o+1)),v=()=>{let t;return t=i?h:d?f:n.route.Component?a.createElement(n.route.Component,null):n.route.element?n.route.element:e,a.createElement(Lt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===o)?a.createElement(Ct,{location:r.location,revalidation:r.revalidation,component:h,error:i,children:v(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):v()},null)}var kt=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(kt||{}),Tt=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Tt||{});function _t(e){let t=a.useContext(nt);return t||f(!1),t}function At(e){let t=a.useContext(at);return t||f(!1),t}function Ut(e){let t=function(){let e=a.useContext(lt);return e||f(!1),e}(),r=t.matches[t.matches.length-1];return r.route.id||f(!1),r.route.id}function Mt(){return Ut(Tt.UseRouteId)}function jt(){return At(Tt.UseNavigation).navigation}function Ot(){let e=_t(kt.UseRevalidator),t=At(Tt.UseRevalidator);return a.useMemo(()=>({revalidate:e.router.revalidate,state:t.revalidation}),[e.router.revalidate,t.revalidation])}function Ft(){let{matches:e,loaderData:t}=At(Tt.UseMatches);return a.useMemo(()=>e.map(e=>D(e,t)),[e,t])}function Nt(){let e=At(Tt.UseLoaderData),t=Ut(Tt.UseLoaderData);if(!e.errors||null==e.errors[t])return e.loaderData[t];console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")")}function Bt(e){return At(Tt.UseRouteLoaderData).loaderData[e]}function It(){let e=At(Tt.UseActionData),t=Ut(Tt.UseLoaderData);return e.actionData?e.actionData[t]:void 0}function zt(){var e;let t=a.useContext(ut),r=At(Tt.UseRouteError),n=Ut(Tt.UseRouteError);return void 0!==t?t:null==(e=r.errors)?void 0:e[n]}function Ht(){let e=a.useContext(ot);return null==e?void 0:e._data}function Wt(){let e=a.useContext(ot);return null==e?void 0:e._error}let Kt=0;function $t(e){let{router:t,basename:r}=_t(kt.UseBlocker),n=At(Tt.UseBlocker),[o,i]=a.useState(""),s=a.useCallback(t=>{if("function"!=typeof e)return!!e;if("/"===r)return e(t);let{currentLocation:n,nextLocation:a,historyAction:o}=t;return e({currentLocation:rt({},n,{pathname:j(n.pathname,r)||n.pathname}),nextLocation:rt({},a,{pathname:j(a.pathname,r)||a.pathname}),historyAction:o})},[r,e]);return a.useEffect(()=>{let e=String(++Kt);return i(e),()=>t.deleteBlocker(e)},[t]),a.useEffect(()=>{""!==o&&t.getBlocker(o,s)},[t,o,s]),o&&n.blockers.has(o)?n.blockers.get(o):de}const Vt={};function Jt(e,t){null==e||e.v7_startTransition,void 0===(null==e?void 0:e.v7_relativeSplatPath)&&(!t||t.v7_relativeSplatPath),t&&(t.v7_fetcherPersist,t.v7_normalizeFormMethod,t.v7_partialHydration,t.v7_skipActionErrorRevalidation)}const qt=o.startTransition;function Yt(e){let{basename:t,children:r,initialEntries:n,initialIndex:o,future:i}=e,s=a.useRef();null==s.current&&(s.current=c({initialEntries:n,initialIndex:o,v5Compat:!0}));let l=s.current,[u,d]=a.useState({action:l.action,location:l.location}),{v7_startTransition:h}=i||{},f=a.useCallback(e=>{h&&qt?qt(()=>d(e)):d(e)},[d,h]);return a.useLayoutEffect(()=>l.listen(f),[l,f]),a.useEffect(()=>Jt(i),[i]),a.createElement(Zt,{basename:t,children:r,location:u.location,navigationType:u.action,navigator:l,future:i})}function Xt(e){let{to:t,replace:r,state:n,relative:o}=e;dt()||f(!1);let{future:i,static:s}=a.useContext(it),{matches:l}=a.useContext(lt),{pathname:u}=ht(),c=vt(),d=H(t,z(l,i.v7_relativeSplatPath),u,"path"===o),h=JSON.stringify(d);return a.useEffect(()=>c(JSON.parse(h),{replace:r,state:n,relative:o}),[c,h,o,r,n]),null}function Gt(e){return bt(e.context)}function Qt(e){f(!1)}function Zt(e){let{basename:t="/",children:r=null,location:o,navigationType:i=n.Pop,navigator:s,static:l=!1,future:u}=e;dt()&&f(!1);let c=t.replace(/^\/*/,"/"),d=a.useMemo(()=>({basename:c,navigator:s,static:l,future:rt({v7_relativeSplatPath:!1},u)}),[c,u,s,l]);"string"==typeof o&&(o=g(o));let{pathname:h="/",search:p="",hash:m="",state:v=null,key:y="default"}=o,b=a.useMemo(()=>{let e=j(h,c);return null==e?null:{location:{pathname:e,search:p,hash:m,state:v,key:y},navigationType:i}},[c,h,p,m,v,y,i]);return null==b?null:a.createElement(it.Provider,{value:d},a.createElement(st.Provider,{children:r,value:b}))}function er(e){let{children:t,location:r}=e;return St(ir(t),r)}function tr(e){let{children:t,errorElement:r,resolve:n}=e;return a.createElement(ar,{resolve:n,errorElement:r},a.createElement(or,null,t))}var rr=function(e){return e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error",e}(rr||{});const nr=new Promise(()=>{});class ar extends a.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,o=rr.pending;if(r instanceof Promise)if(this.state.error){o=rr.error;let e=this.state.error;n=Promise.reject().catch(()=>{}),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?(n=r,o="_error"in n?rr.error:"_data"in n?rr.success:rr.pending):(o=rr.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then(e=>Object.defineProperty(r,"_data",{get:()=>e}),e=>Object.defineProperty(r,"_error",{get:()=>e})));else o=rr.success,n=Promise.resolve(),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(o===rr.error&&n._error instanceof q)throw nr;if(o===rr.error&&!t)throw n._error;if(o===rr.error)return a.createElement(ot.Provider,{value:n,children:t});if(o===rr.success)return a.createElement(ot.Provider,{value:n,children:e});throw n}}function or(e){let{children:t}=e,r=Ht(),n="function"==typeof t?t(r):t;return a.createElement(a.Fragment,null,n)}function ir(e,t){void 0===t&&(t=[]);let r=[];return a.Children.forEach(e,(e,n)=>{if(!a.isValidElement(e))return;let o=[...t,n];if(e.type===a.Fragment)return void r.push.apply(r,ir(e.props.children,o));e.type!==Qt&&f(!1),e.props.index&&e.props.children&&f(!1);let i={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(i.children=ir(e.props.children,o)),r.push(i)}),r}function sr(e){return Pt(e)}function lr(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:a.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:a.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:a.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function ur(e,t){return me({basename:null==t?void 0:t.basename,future:rt({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:c({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:e,mapRouteProperties:lr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation}).initialize()}function cr(){return cr=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},cr.apply(this,arguments)}function dr(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}const hr="get",fr="application/x-www-form-urlencoded";function pr(e){return null!=e&&"string"==typeof e.tagName}function mr(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 vr=null;const yr=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function gr(e){return null==e||yr.has(e)?e:null}const br=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],wr=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Er=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(e){}function Sr(e,t){return me({basename:null==t?void 0:t.basename,future:cr({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:d({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||xr(),routes:e,mapRouteProperties:lr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function Rr(e,t){return me({basename:null==t?void 0:t.basename,future:cr({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:h({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||xr(),routes:e,mapRouteProperties:lr,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function xr(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=cr({},t,{errors:Dr(t.errors)})),t}function Dr(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 te(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=new Error(n.message);t.stack="",r[e]=t}}else r[e]=n;return r}const Cr=a.createContext({isTransitioning:!1}),Lr=a.createContext(new Map),Pr=o.startTransition,kr=s.flushSync,Tr=o.useId;function _r(e){kr?kr(e):e()}class Ar{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 Ur(e){let{fallbackElement:t,router:r,future:n}=e,[o,i]=a.useState(r.state),[s,l]=a.useState(),[u,c]=a.useState({isTransitioning:!1}),[d,h]=a.useState(),[f,p]=a.useState(),[m,v]=a.useState(),y=a.useRef(new Map),{v7_startTransition:g}=n||{},b=a.useCallback(e=>{g?function(e){Pr?Pr(e):e()}(e):e()},[g]),w=a.useCallback((e,t)=>{let{deletedFetchers:n,flushSync:a,viewTransitionOpts:o}=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(o&&!s){if(a){_r(()=>{f&&(d&&d.resolve(),f.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:o.currentLocation,nextLocation:o.nextLocation})});let t=r.window.document.startViewTransition(()=>{_r(()=>i(e))});return t.finished.finally(()=>{_r(()=>{h(void 0),p(void 0),l(void 0),c({isTransitioning:!1})})}),void _r(()=>p(t))}f?(d&&d.resolve(),f.skipTransition(),v({state:e,currentLocation:o.currentLocation,nextLocation:o.nextLocation})):(l(e),c({isTransitioning:!0,flushSync:!1,currentLocation:o.currentLocation,nextLocation:o.nextLocation}))}else a?_r(()=>i(e)):b(()=>i(e))},[r.window,f,d,y,b]);a.useLayoutEffect(()=>r.subscribe(w),[r,w]),a.useEffect(()=>{u.isTransitioning&&!u.flushSync&&h(new Ar)},[u]),a.useEffect(()=>{if(d&&s&&r.window){let e=s,t=d.promise,n=r.window.document.startViewTransition(async()=>{b(()=>i(e)),await t});n.finished.finally(()=>{h(void 0),p(void 0),l(void 0),c({isTransitioning:!1})}),p(n)}},[b,s,d,r.window]),a.useEffect(()=>{d&&s&&o.location.key===s.location.key&&d.resolve()},[d,f,o.location,s]),a.useEffect(()=>{!u.isTransitioning&&m&&(l(m.state),c({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[u.isTransitioning,m]),a.useEffect(()=>{},[]);let E=a.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})}),[r]),S=r.basename||"/",R=a.useMemo(()=>({router:r,navigator:E,static:!1,basename:S}),[r,E,S]),x=a.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return a.useEffect(()=>Jt(n,r.future),[n,r.future]),a.createElement(a.Fragment,null,a.createElement(nt.Provider,{value:R},a.createElement(at.Provider,{value:o},a.createElement(Lr.Provider,{value:y.current},a.createElement(Cr.Provider,{value:u},a.createElement(Zt,{basename:S,location:o.location,navigationType:o.historyAction,navigator:E,future:x},o.initialized||r.future.v7_partialHydration?a.createElement(Mr,{routes:r.routes,future:r.future,state:o}):t))))),null)}const Mr=a.memo(jr);function jr(e){let{routes:t,future:r,state:n}=e;return Rt(t,void 0,n,r)}function Or(e){let{basename:t,children:r,future:n,window:o}=e,i=a.useRef();null==i.current&&(i.current=d({window:o,v5Compat:!0}));let s=i.current,[l,u]=a.useState({action:s.action,location:s.location}),{v7_startTransition:c}=n||{},h=a.useCallback(e=>{c&&Pr?Pr(()=>u(e)):u(e)},[u,c]);return a.useLayoutEffect(()=>s.listen(h),[s,h]),a.useEffect(()=>Jt(n),[n]),a.createElement(Zt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}function Fr(e){let{basename:t,children:r,future:n,window:o}=e,i=a.useRef();null==i.current&&(i.current=h({window:o,v5Compat:!0}));let s=i.current,[l,u]=a.useState({action:s.action,location:s.location}),{v7_startTransition:c}=n||{},d=a.useCallback(e=>{c&&Pr?Pr(()=>u(e)):u(e)},[u,c]);return a.useLayoutEffect(()=>s.listen(d),[s,d]),a.useEffect(()=>Jt(n),[n]),a.createElement(Zt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:s,future:n})}function Nr(e){let{basename:t,children:r,future:n,history:o}=e,[i,s]=a.useState({action:o.action,location:o.location}),{v7_startTransition:l}=n||{},u=a.useCallback(e=>{l&&Pr?Pr(()=>s(e)):s(e)},[s,l]);return a.useLayoutEffect(()=>o.listen(u),[o,u]),a.useEffect(()=>Jt(n),[n]),a.createElement(Zt,{basename:t,children:r,location:i.location,navigationType:i.action,navigator:o,future:n})}const Br="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Ir=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,zr=a.forwardRef(function(e,t){let r,{onClick:n,relative:o,reloadDocument:i,replace:s,state:l,target:u,to:c,preventScrollReset:d,viewTransition:h}=e,f=dr(e,br),{basename:p}=a.useContext(it),m=!1;if("string"==typeof c&&Ir.test(c)&&(r=c,Br))try{let e=new URL(window.location.href),t=c.startsWith("//")?new URL(e.protocol+c):new URL(c),r=j(t.pathname,p);t.origin===e.origin&&null!=r?c=r+t.search+t.hash:m=!0}catch(e){}let v=ct(c,{relative:o}),y=Yr(c,{replace:s,state:l,target:u,preventScrollReset:d,relative:o,viewTransition:h});return a.createElement("a",cr({},f,{href:r||v,onClick:m||i?n:function(e){n&&n(e),e.defaultPrevented||y(e)},ref:t,target:u}))}),Hr=a.forwardRef(function(e,t){let{"aria-current":r="page",caseSensitive:n=!1,className:o="",end:i=!1,style:s,to:l,viewTransition:u,children:c}=e,d=dr(e,wr),h=Et(l,{relative:d.relative}),f=ht(),p=a.useContext(at),{navigator:m,basename:v}=a.useContext(it),y=null!=p&&un(h)&&!0===u,g=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,b=f.pathname,w=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;n||(b=b.toLowerCase(),w=w?w.toLowerCase():null,g=g.toLowerCase()),w&&v&&(w=j(w,v)||w);const E="/"!==g&&g.endsWith("/")?g.length-1:g.length;let S,R=b===g||!i&&b.startsWith(g)&&"/"===b.charAt(E),x=null!=w&&(w===g||!i&&w.startsWith(g)&&"/"===w.charAt(g.length)),D={isActive:R,isPending:x,isTransitioning:y},C=R?r:void 0;S="function"==typeof o?o(D):[o,R?"active":null,x?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let L="function"==typeof s?s(D):s;return a.createElement(zr,cr({},d,{"aria-current":C,className:S,ref:t,style:L,to:l,viewTransition:u}),"function"==typeof c?c(D):c)}),Wr=a.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:o,replace:i,state:s,method:l=hr,action:u,onSubmit:c,relative:d,preventScrollReset:h,viewTransition:f}=e,p=dr(e,Er),m=Zr(),v=en(u,{relative:d}),y="get"===l.toLowerCase()?"get":"post";return a.createElement("form",cr({ref:t,method:y,action:v,onSubmit:o?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter,a=(null==t?void 0:t.getAttribute("formmethod"))||l;m(t||e.currentTarget,{fetcherKey:r,method:a,navigate:n,replace:i,state:s,relative:d,preventScrollReset:h,viewTransition:f})}},p))});function Kr(e){let{getKey:t,storageKey:r}=e;return on({getKey:t,storageKey:r}),null}var $r,Vr;function Jr(e){let t=a.useContext(nt);return t||f(!1),t}function qr(e){let t=a.useContext(at);return t||f(!1),t}function Yr(e,t){let{target:r,replace:n,state:o,preventScrollReset:i,relative:s,viewTransition:l}=void 0===t?{}:t,u=vt(),c=ht(),d=Et(e,{relative:s});return a.useCallback(t=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(t,r)){t.preventDefault();let r=void 0!==n?n:y(c)===y(d);u(e,{replace:r,state:o,preventScrollReset:i,relative:s,viewTransition:l})}},[c,u,d,n,o,r,e,i,s,l])}function Xr(e){let t=a.useRef(mr(e)),r=a.useRef(!1),n=ht(),o=a.useMemo(()=>function(e,t){let r=mr(e);return t&&t.forEach((e,n)=>{r.has(n)||t.getAll(n).forEach(e=>{r.append(n,e)})}),r}(n.search,r.current?null:t.current),[n.search]),i=vt(),s=a.useCallback((e,t)=>{const n=mr("function"==typeof e?e(o):e);r.current=!0,i("?"+n,t)},[i,o]);return[o,s]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})($r||($r={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Vr||(Vr={}));let Gr=0,Qr=()=>"__"+String(++Gr)+"__";function Zr(){let{router:e}=Jr($r.UseSubmit),{basename:t}=a.useContext(it),r=Mt();return a.useCallback(function(n,a){void 0===a&&(a={}),function(){if("undefined"==typeof document)throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}();let{action:o,method:i,encType:s,formData:l,body:u}=function(e,t){let r,n,a,o,i;if(pr(s=e)&&"form"===s.tagName.toLowerCase()){let i=e.getAttribute("action");n=i?j(i,t):null,r=e.getAttribute("method")||hr,a=gr(e.getAttribute("enctype"))||fr,o=new FormData(e)}else if(function(e){return pr(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return pr(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||i.getAttribute("action");if(n=s?j(s,t):null,r=e.getAttribute("formmethod")||i.getAttribute("method")||hr,a=gr(e.getAttribute("formenctype"))||gr(i.getAttribute("enctype"))||fr,o=new FormData(i,e),!function(){if(null===vr)try{new FormData(document.createElement("form"),0),vr=!1}catch(e){vr=!0}return vr}()){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(pr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=hr,n=null,a=fr,i=e}var s;return o&&"text/plain"===a&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}(n,t);if(!1===a.navigate){let t=a.fetcherKey||Qr();e.fetch(t,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function en(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=a.useContext(it),o=a.useContext(lt);o||f(!1);let[i]=o.matches.slice(-1),s=cr({},Et(e||".",{relative:r})),l=ht();if(null==e){s.search=l.search;let e=new URLSearchParams(s.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();s.search=r?"?"+r:""}}return e&&"."!==e||!i.route.index||(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(s.pathname="/"===s.pathname?n:W([n,s.pathname])),y(s)}function tn(e){var t;let{key:r}=void 0===e?{}:e,{router:n}=Jr($r.UseFetcher),o=qr(Vr.UseFetcher),i=a.useContext(Lr),s=a.useContext(lt),l=null==(t=s.matches[s.matches.length-1])?void 0:t.route.id;i||f(!1),s||f(!1),null==l&&f(!1);let u=Tr?Tr():"",[c,d]=a.useState(r||u);r&&r!==c?d(r):c||d(Qr()),a.useEffect(()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)}),[n,c]);let h=a.useCallback((e,t)=>{l||f(!1),n.fetch(c,l,e,t)},[c,l,n]),p=Zr(),m=a.useCallback((e,t)=>{p(e,cr({},t,{navigate:!1,fetcherKey:c}))},[c,p]),v=a.useMemo(()=>a.forwardRef((e,t)=>a.createElement(Wr,cr({},e,{navigate:!1,fetcherKey:c,ref:t}))),[c]),y=o.fetchers.get(c)||ce,g=i.get(c);return a.useMemo(()=>cr({Form:v,submit:m,load:h},y,{data:g}),[v,m,h,y,g])}function rn(){let e=qr(Vr.UseFetchers);return Array.from(e.fetchers.entries()).map(e=>{let[t,r]=e;return cr({},r,{key:t})})}const nn="react-router-scroll-positions";let an={};function on(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=Jr($r.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:i}=qr(Vr.UseScrollRestoration),{basename:s}=a.useContext(it),l=ht(),u=Ft(),c=jt();a.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),function(e){let{capture:t}={};a.useEffect(()=>{let r=null!=t?{capture:t}:void 0;return window.addEventListener("pagehide",e,r),()=>{window.removeEventListener("pagehide",e,r)}},[e,t])}(a.useCallback(()=>{if("idle"===c.state){let e=(t?t(l,u):null)||l.key;an[e]=window.scrollY}try{sessionStorage.setItem(r||nn,JSON.stringify(an))}catch(e){}window.history.scrollRestoration="auto"},[r,t,c.state,l,u])),"undefined"!=typeof document&&(a.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(r||nn);e&&(an=JSON.parse(e))}catch(e){}},[r]),a.useLayoutEffect(()=>{let e=t&&"/"!==s?(e,r)=>t(cr({},e,{pathname:j(e.pathname,s)||e.pathname}),r):t,r=null==n?void 0:n.enableScrollRestoration(an,()=>window.scrollY,e);return()=>r&&r()},[n,s,t]),a.useLayoutEffect(()=>{if(!1!==o)if("number"!=typeof o){if(l.hash){let e=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(e)return void e.scrollIntoView()}!0!==i&&window.scrollTo(0,0)}else window.scrollTo(0,o)},[l,o,i]))}function sn(e,t){let{capture:r}=t||{};a.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("beforeunload",e,t),()=>{window.removeEventListener("beforeunload",e,t)}},[e,r])}function ln(e){let{when:t,message:r}=e,n=$t(t);a.useEffect(()=>{"blocked"===n.state&&(window.confirm(r)?setTimeout(n.proceed,0):n.reset())},[n,r]),a.useEffect(()=>{"blocked"!==n.state||t||n.reset()},[n,t])}function un(e,t){void 0===t&&(t={});let r=a.useContext(Cr);null==r&&f(!1);let{basename:n}=Jr($r.useViewTransitionState),o=Et(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=j(r.currentLocation.pathname,n)||r.currentLocation.pathname,s=j(r.nextLocation.pathname,n)||r.nextLocation.pathname;return null!=U(o.pathname,s)||null!=U(o.pathname,i)}}}]);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @remix-run/router v1.23.2
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+
12
+ /**
13
+ * React Router DOM v6.30.3
14
+ *
15
+ * Copyright (c) Remix Software Inc.
16
+ *
17
+ * This source code is licensed under the MIT license found in the
18
+ * LICENSE.md file in the root directory of this source tree.
19
+ *
20
+ * @license MIT
21
+ */
22
+
23
+ /**
24
+ * React Router v6.30.3
25
+ *
26
+ * Copyright (c) Remix Software Inc.
27
+ *
28
+ * This source code is licensed under the MIT license found in the
29
+ * LICENSE.md file in the root directory of this source tree.
30
+ *
31
+ * @license MIT
32
+ */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"282.js","mappings":"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","sources":["webpack://@ampath/esm-reports-app/./node_modules/@remix-run/router/dist/router.js","webpack://@ampath/esm-reports-app/./node_modules/react-router/dist/index.js","webpack://@ampath/esm-reports-app/./node_modules/react-router-dom/dist/index.js"],"names":["Action","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","PopStateEventType","createMemoryHistory","options","entries","initialEntries","initialIndex","v5Compat","map","entry","index","createMemoryLocation","state","undefined","clampIndex","action","Pop","listener","n","Math","min","max","getCurrentLocation","to","location","createLocation","pathname","warning","charAt","JSON","stringify","createHref","createPath","createURL","URL","encodeLocation","path","parsePath","search","hash","push","Push","nextLocation","splice","delta","replace","Replace","go","nextIndex","listen","fn","createBrowserHistory","getUrlBasedHistory","window","globalHistory","usr","createHashHistory","substr","startsWith","base","document","querySelector","href","getAttribute","url","hashIndex","indexOf","slice","invariant","value","message","Error","cond","console","warn","e","getHistoryState","idx","current","random","toString","_ref","parsedPath","searchIndex","getLocation","validateLocation","defaultView","history","getIndex","handlePop","origin","replaceState","addEventListener","removeEventListener","historyState","pushState","error","DOMException","name","ResultType","immutableRouteKeys","Set","convertRoutesToDataRoutes","routes","mapRouteProperties","parentPath","manifest","route","treePath","String","id","join","children","isIndexRoute","indexRoute","pathOrLayoutRoute","matchRoutes","locationArg","basename","matchRoutesImpl","allowPartial","stripBasename","branches","flattenRoutes","sort","a","b","score","every","compareIndexes","routesMeta","meta","childrenIndex","rankRouteBranches","matches","decoded","decodePath","matchRouteBranch","convertRouteMatchToUiMatch","match","loaderData","params","data","handle","parentsMeta","flattenRoute","relativePath","caseSensitive","joinPaths","concat","computeScore","forEach","_route$path","includes","exploded","explodeOptionalSegments","segments","split","first","rest","isOptional","endsWith","required","restExploded","result","subpath","paramRe","isSplat","s","initialScore","some","filter","reduce","segment","test","branch","matchedParams","matchedPathname","end","remainingPathname","matchPath","pathnameBase","normalizePathname","generatePath","originalPath","prefix","p","array","keyMatch","optional","param","pattern","matcher","compiledParams","regexpSource","_","paramName","RegExp","compilePath","captureGroups","memo","splatValue","v","decodeURIComponent","toLowerCase","startIndex","nextChar","ABSOLUTE_URL_REGEX$1","resolvePath","fromPathname","toPathname","oldPathname","resolvePathname","substring","normalizeSearch","normalizeHash","pop","getInvalidPathError","char","field","dest","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","from","isEmptyPath","routePathnameIndex","toSegments","shift","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","json","init","responseInit","status","headers","Headers","has","set","Response","AbortedDeferredError","DeferredData","constructor","reject","pendingKeysSet","subscribers","deferredKeys","Array","isArray","abortPromise","Promise","r","controller","AbortController","onAbort","unlistenAbortSignal","signal","acc","_ref2","trackPromise","done","add","promise","race","then","onSettle","catch","defineProperty","get","aborted","delete","undefinedError","emit","settledKey","subscriber","subscribe","cancel","abort","k","resolveData","resolve","size","unwrappedData","_ref3","unwrapTrackedPromise","pendingKeys","_tracked","isTrackedPromise","_error","_data","defer","redirect","redirectDocument","response","ErrorResponseImpl","statusText","internal","isRouteErrorResponse","validMutationMethodsArr","validMutationMethods","validRequestMethodsArr","validRequestMethods","redirectStatusCodes","redirectPreserveMethodStatusCodes","IDLE_NAVIGATION","formMethod","formAction","formEncType","formData","text","IDLE_FETCHER","IDLE_BLOCKER","proceed","reset","ABSOLUTE_URL_REGEX","defaultMapRouteProperties","hasErrorBoundary","Boolean","TRANSITIONS_STORAGE_KEY","createRouter","routerWindow","isBrowser","createElement","isServer","detectErrorBoundary","inFlightDataRoutes","initialized","router","dataRoutes","dataStrategyImpl","dataStrategy","defaultDataStrategy","patchRoutesOnNavigationImpl","patchRoutesOnNavigation","future","v7_fetcherPersist","v7_normalizeFormMethod","v7_partialHydration","v7_prependBasename","v7_skipActionErrorRevalidation","unlistenHistory","savedScrollPositions","getScrollRestorationKey","getScrollPosition","initialScrollRestored","hydrationData","initialMatches","initialMatchesIsFOW","initialErrors","getInternalRouterError","getShortCircuitMatches","checkFogOfWar","active","m","lazy","loader","errors","findIndex","shouldLoadRouteOnHydration","fogOfWar","pendingNavigationController","unblockBlockerHistoryUpdate","historyAction","navigation","restoreScrollPosition","preventScrollReset","revalidation","actionData","fetchers","Map","blockers","pendingAction","pendingPreventScrollReset","pendingViewTransitionEnabled","appliedViewTransitions","removePageHideEventListener","isUninterruptedRevalidation","isRevalidationRequired","cancelledDeferredRoutes","cancelledFetcherLoads","fetchControllers","incrementingLoadId","pendingNavigationLoadId","fetchReloadIds","fetchRedirectIds","fetchLoadMatches","activeFetchers","deletedFetchers","activeDeferreds","blockerFunctions","updateState","newState","opts","completedFetchers","deletedFetchersKeys","fetcher","viewTransitionOpts","flushSync","deleteFetcher","completeNavigation","_temp","_location$state","_location$state2","isActionReload","isMutationMethod","_isRedirect","keys","mergeLoaderData","priorPaths","currentLocation","toPaths","getSavedScrollPosition","async","startNavigation","startUninterruptedRevalidation","getScrollKey","saveScrollPosition","enableViewTransition","routesToUse","loadingNavigation","overrideNavigation","initialHydration","submission","notFoundMatches","handleNavigational404","pendingActionResult","request","createClientSideRequest","pendingError","findNearestBoundary","type","actionResult","isFogOfWar","interruptActiveLoads","getSubmittingNavigation","discoverResult","discoverRoutes","shortCircuited","boundaryId","partialMatches","actionMatch","getTargetMatch","callDataStrategy","method","routeId","isRedirectResult","normalizeRedirectLocation","startRedirectNavigation","isDeferredResult","isErrorResult","boundaryMatch","handleAction","getLoadingNavigation","updatedMatches","fetcherSubmission","activeSubmission","getSubmissionFromNavigation","shouldUpdateNavigationState","getUpdatedActionData","matchesToLoad","revalidatingFetchers","getMatchesToLoad","cancelActiveDeferreds","updatedFetchers","markFetchRedirectsDone","getActionDataForCommit","updates","rf","revalidatingFetcher","getLoadingFetcher","getUpdatedRevalidatingFetchers","abortFetcher","abortPendingFetchRevalidations","f","loaderResults","fetcherResults","callLoadersAndMaybeResolveData","findRedirect","processLoaderData","deferredData","didAbortFetchLoads","abortStaleFetchLoads","shouldUpdateFetchers","handleLoaders","isNavigation","_temp2","redirectLocation","isDocumentReload","redirectHistoryAction","fetcherKey","results","dataResults","requestContext","loadRouteDefinitionsPromises","lazyRoute","routeToUpdate","routeUpdates","lazyRouteProperty","isPropertyStaticallyDefined","loadLazyRouteModule","dsMatches","loadRoutePromise","shouldLoad","handlerOverride","staticContext","onReject","runHandler","handler","actualHandler","ctx","context","handlerPromise","handlerError","all","callLoaderOrAction","callDataStrategyImpl","isRedirectDataStrategyResultResult","normalizeRelativeRoutingRedirectResponse","convertDataStrategyResultToDataResult","fetchersToLoad","currentMatches","loaderResultsPromise","fetcherResultsPromise","resolveNavigationDeferredResults","resolveFetcherDeferredResults","updateFetcherState","setFetcherError","getFetcher","markFetchersDone","doneFetcher","getDoneFetcher","doneKeys","landedId","yeetedKeys","deleteBlocker","updateBlocker","newBlocker","blocker","shouldBlockNavigation","blockerKey","blockerFunction","predicate","cancelledRouteIds","dfd","y","isNonHMR","localManifest","patch","patchRoutesImpl","newMatches","newPartialMatches","initialize","nextHistoryUpdatePromise","_window","transitions","sessionPositions","sessionStorage","getItem","parse","restoreAppliedTransitions","_saveAppliedTransitions","setItem","persistAppliedTransitions","enableScrollRestoration","positions","getPosition","getKey","navigate","normalizedPath","normalizeTo","fromRouteId","relative","normalizeNavigateOptions","userReplace","viewTransition","fetch","requestMatches","detectAndHandle405Error","existingFetcher","getSubmittingFetcher","abortController","fetchRequest","originatingLoadId","revalidationRequest","loadId","loadFetcher","staleKey","handleFetcherAction","resolveDeferredData","handleFetcherLoader","revalidate","count","dispose","clear","getBlocker","patchRoutes","_internalFetchControllers","_internalActiveDeferreds","_internalSetRoutes","newRoutes","prependBasename","contextualMatches","activeRouteMatch","nakedIndex","hasNakedIndexQuery","URLSearchParams","indexValues","getAll","append","qs","normalizeFormMethod","isFetcher","body","isSubmissionNavigation","searchParams","getInvalidBodyError","rawFormMethod","toUpperCase","stripHashFromPath","FormData","convertFormDataToSearchParams","convertSearchParamsToFormData","getLoaderMatchesUntilBoundary","includeBoundary","skipActionErrorRevalidation","currentUrl","nextUrl","boundaryMatches","actionStatus","statusCode","shouldSkipRevalidation","navigationMatches","currentLoaderData","currentMatch","isNew","isMissingData","isNewLoader","currentRouteMatch","nextRouteMatch","shouldRevalidateLoader","currentParams","nextParams","defaultShouldRevalidate","isNewRouteInstance","fetcherMatches","fetcherMatch","shouldRevalidate","hasData","hasError","hydrate","currentPath","loaderMatch","arg","routeChoice","_childrenToPatch","childrenToPatch","newRoute","existingRoute","isSameRoute","aChild","_existingRoute$childr","bChild","_ref4","dataStrategyResult","isResponse","contentType","_result$init3","_result$init4","_result$init","_result$init2","_result$init5","_result$init6","_result$init7","_result$init8","isDataWithResponseInit","deferred","isDeferredData","trimmedMatches","historyInstance","invalidProtocols","normalizedLocation","protocol","isSameBasename","Request","skipLoaderErrorBubbling","foundError","loaderHeaders","processRouteLoaderData","newLoaderData","mergedLoaderData","reverse","find","_temp5","errorMessage","isRevalidatingLoader","unwrap","Symbol","DataRouterContext","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","isDataRoute","RouteErrorContext","useHref","useInRouterContext","navigator","useResolvedPath","joinedPathname","useLocation","useNavigationType","navigationType","useMatch","useIsomorphicLayoutEffect","cb","static","useNavigate","useDataRouterContext","DataRouterHook","UseNavigateStable","useCurrentRouteId","DataRouterStateHook","activeRef","useNavigateStable","dataRouterContext","routePathnamesJson","useNavigateUnstable","OutletContext","useOutletContext","useOutlet","Provider","useParams","routeMatch","useRoutes","useRoutesImpl","dataRouterState","parentMatches","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","parentSegments","renderedMatches","_renderMatches","DefaultErrorComponent","useRouteError","stack","preStyles","padding","backgroundColor","style","fontStyle","defaultErrorElement","RenderErrorBoundary","props","super","getDerivedStateFromError","getDerivedStateFromProps","componentDidCatch","errorInfo","render","routeContext","component","RenderedRoute","errorElement","ErrorBoundary","_deepestRenderedBoundaryId","_dataRouterState","_future","errorIndex","renderFallback","fallbackIndex","HydrateFallback","hydrateFallbackElement","needsToRunLoader","reduceRight","shouldRenderHydrateFallback","alreadyWarned$1","getChildren","Component","element","hookName","useDataRouterState","useRouteContext","thisRoute","useRouteId","UseRouteId","useNavigation","UseNavigation","useRevalidator","UseRevalidator","useMatches","UseMatches","useLoaderData","UseLoaderData","useRouteLoaderData","UseRouteLoaderData","useActionData","UseActionData","_state$errors","UseRouteError","useAsyncValue","useAsyncError","blockerId","useBlocker","shouldBlock","UseBlocker","setBlockerKey","logV6DeprecationWarnings","renderFuture","routerFuture","v7_startTransition","startTransitionImpl","MemoryRouter","historyRef","setStateImpl","setState","Router","Navigate","isStatic","jsonPath","Outlet","Route","_props","_ref5","basenameProp","locationProp","staticProp","navigationContext","locationContext","trailingPathname","Routes","_ref6","createRoutesFromChildren","Await","_ref7","AwaitErrorBoundary","ResolveAwait","AwaitRenderStatus","neverSettledPromise","pending","renderError","success","_ref8","toRender","renderMatches","createMemoryRouter","_objectWithoutPropertiesLoose","excluded","sourceKeys","defaultMethod","defaultEncType","isHtmlElement","object","tagName","createSearchParams","_formDataSupportsSubmitter","supportedFormEncTypes","getFormEncType","encType","_excluded","_excluded2","_excluded3","__reactRouterVersion","createBrowserRouter","parseHydrationData","createHashRouter","__staticRouterHydrationData","deserializeErrors","serialized","val","__type","__subType","ErrorConstructor","ViewTransitionContext","isTransitioning","FetchersContext","flushSyncImpl","useIdImpl","flushSyncSafe","Deferred","reason","fallbackElement","pendingState","setPendingState","vtContext","setVtContext","renderDfd","setRenderDfd","transition","setTransition","interruption","setInterruption","fetcherData","optInStartTransition","startTransitionSafe","isViewTransitionUnavailable","startViewTransition","skipTransition","t","finished","finally","renderPromise","MemoizedDataRoutes","BrowserRouter","HashRouter","HistoryRouter","Link","ref","absoluteHref","onClick","reloadDocument","isExternal","targetUrl","internalOnClick","useLinkClickHandler","event","defaultPrevented","NavLink","ariaCurrentProp","className","classNameProp","styleProp","routerState","useViewTransitionState","nextLocationPathname","endSlashPosition","isActive","isPending","renderProps","ariaCurrent","Form","_ref9","forwardedRef","onSubmit","submit","useSubmit","useFormAction","preventDefault","submitter","nativeEvent","submitMethod","currentTarget","ScrollRestoration","_ref10","storageKey","useScrollRestoration","replaceProp","button","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","shouldProcessLinkClick","useSearchParams","defaultInit","defaultSearchParamsRef","hasSetSearchParamsRef","locationSearch","defaultSearchParams","getSearchParamsForLocation","setSearchParams","nextInit","navigateOptions","newSearchParams","fetcherId","getUniqueFetcherId","UseSubmit","currentRouteId","validateClientSideSubmission","attr","isButtonElement","isInputElement","form","isFormDataSubmitterSupported","getFormSubmissionInfo","useFetcher","_temp3","_route$matches","UseFetcher","defaultKey","setFetcherKey","load","submitImpl","FetcherForm","useFetchers","UseFetchers","_ref11","SCROLL_RESTORATION_STORAGE_KEY","_temp4","UseScrollRestoration","scrollRestoration","callback","capture","usePageHide","scrollY","getKeyWithoutBasename","disableScrollRestoration","el","getElementById","scrollIntoView","scrollTo","useBeforeUnload","usePrompt","_ref12","when","confirm","setTimeout","nextPath"],"sourceRoot":""}
package/dist/300.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_ampath_esm_reports_app=globalThis.webpackChunk_ampath_esm_reports_app||[]).push([[300],{4300(e){e.exports=JSON.parse('{"casualGreeting":"hey","configSystem":"Configuration system","configSystemExplainer":"The greeting shown below is driven by the configuration system. To change the configuration properties, click the spanner icon in the navbar to pull up the Implementer Tools panel. Then, type <2>template</2> into the <4>Search configuration</4> input. This should filter the configuration properties to show only those that are relevant to this module. You can change the values of these properties and click <6>Save</6> to see the changes reflected in the UI","connect":"Connect","connectExplainer":"Get in touch with the community","dataFetching":"Data fetching","designDocs":"Design docs","designDocsExplainer":"Read the O3 design documentation","explainer":"The following examples demonstrate some key features of the O3 framework","extensionExplainer":"Here are some colored boxes. Because they are attached as extensions within a slot, an admin can change what boxes are shown using configuration. These boxes happen to be defined in this module, but they could attach to this slot even if they were in a different module","extensionSystem":"Extension system","formalGreeting":"hello","frontendDocs":"Frontend docs","getPatient":"Get a patient named","getStarted":"Get started","getStartedExplainer":"Create a frontend module from this template","learnExplainer":"Learn how to use the O3 framework","loading":"Loading","patientGetterExplainer":"Try clicking the button below to fetch a patient from the backend","resources":"Resources","usefulLinks":"Below are some links to useful resources","welcomeText":"Welcome to the O3 Template app"}')}}]);