@epic-web/workshop-app 5.1.1 → 5.1.2

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 (145) hide show
  1. package/build/client/assets/{_-ZHCWB__B.js → _-CWSCXcBv.js} +2 -2
  2. package/build/client/assets/{_-ZHCWB__B.js.map → _-CWSCXcBv.js.map} +1 -1
  3. package/build/client/assets/{_exerciseNumber-BFTlBdr4.js → _exerciseNumber-DarnXgbX.js} +2 -2
  4. package/build/client/assets/{_exerciseNumber-BFTlBdr4.js.map → _exerciseNumber-DarnXgbX.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-_687iGFh.js → _exerciseNumber_._stepNumber-BA2Xhzqs.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-_687iGFh.js.map → _exerciseNumber_._stepNumber-BA2Xhzqs.js.map} +1 -1
  7. package/build/client/assets/{_exerciseNumber_.finished-BEfn-nJi.js → _exerciseNumber_.finished-DEzaS_Ji.js} +2 -2
  8. package/build/client/assets/{_exerciseNumber_.finished-BEfn-nJi.js.map → _exerciseNumber_.finished-DEzaS_Ji.js.map} +1 -1
  9. package/build/client/assets/{_layout-Cfbi6StB.js → _layout-88n0To1b.js} +2 -2
  10. package/build/client/assets/{_layout-Cfbi6StB.js.map → _layout-88n0To1b.js.map} +1 -1
  11. package/build/client/assets/{_layout-BriOqd2R.js → _layout-BTrPWpBz.js} +2 -2
  12. package/build/client/assets/{_layout-BriOqd2R.js.map → _layout-BTrPWpBz.js.map} +1 -1
  13. package/build/client/assets/{_layout-frPHZWgR.js → _layout-T2hZtl0D.js} +2 -2
  14. package/build/client/assets/{_layout-frPHZWgR.js.map → _layout-T2hZtl0D.js.map} +1 -1
  15. package/build/client/assets/{_layout-BLJr2x2F.js → _layout-gyrNluke.js} +2 -2
  16. package/build/client/assets/{_layout-BLJr2x2F.js.map → _layout-gyrNluke.js.map} +1 -1
  17. package/build/client/assets/{accordion-DuE9VejZ.js → accordion-DC885Li1.js} +2 -2
  18. package/build/client/assets/{accordion-DuE9VejZ.js.map → accordion-DC885Li1.js.map} +1 -1
  19. package/build/client/assets/{account-DDuV9rZX.js → account-CPFwPYf1.js} +2 -2
  20. package/build/client/assets/{account-DDuV9rZX.js.map → account-CPFwPYf1.js.map} +1 -1
  21. package/build/client/assets/app-CM8yuYni.js +2 -0
  22. package/build/client/assets/{app-wbMCZEiv.js.map → app-CM8yuYni.js.map} +1 -1
  23. package/build/client/assets/{button-CMkJ8p0a.js → button-DQ001ob0.js} +2 -2
  24. package/build/client/assets/{button-CMkJ8p0a.js.map → button-DQ001ob0.js.map} +1 -1
  25. package/build/client/assets/components-9EGYHTc_.js +158 -0
  26. package/build/client/assets/components-9EGYHTc_.js.map +1 -0
  27. package/build/client/assets/{diff-B6thd_Sf.js → diff-assn_bSK.js} +2 -2
  28. package/build/client/assets/{diff-B6thd_Sf.js.map → diff-assn_bSK.js.map} +1 -1
  29. package/build/client/assets/diff-jlCv3hv0.js +2 -0
  30. package/build/client/assets/{diff-BEk79KPK.js.map → diff-jlCv3hv0.js.map} +1 -1
  31. package/build/client/assets/{discord-C9bVfiZ6.js → discord-CHsbqaqM.js} +2 -2
  32. package/build/client/assets/{discord-C9bVfiZ6.js.map → discord-CHsbqaqM.js.map} +1 -1
  33. package/build/client/assets/discord-DoeazikD.js +2 -0
  34. package/build/client/assets/discord-DoeazikD.js.map +1 -0
  35. package/build/client/assets/entry.client-BTYTUpFV.js +44 -0
  36. package/build/client/assets/entry.client-BTYTUpFV.js.map +1 -0
  37. package/build/client/assets/epic-video-GDpD7_Qt.js +3053 -0
  38. package/build/client/assets/epic-video-GDpD7_Qt.js.map +1 -0
  39. package/build/client/assets/{error-boundary-BcGxKpte.js → error-boundary-1-dmC941.js} +2 -2
  40. package/build/client/assets/{error-boundary-BcGxKpte.js.map → error-boundary-1-dmC941.js.map} +1 -1
  41. package/build/client/assets/{finished-C2dgX1d-.js → finished-DVV0zwmP.js} +2 -2
  42. package/build/client/assets/{finished-C2dgX1d-.js.map → finished-DVV0zwmP.js.map} +1 -1
  43. package/build/client/assets/{index-DBrRQJxF.js → index-BCxBKsqT.js} +2 -2
  44. package/build/client/assets/{index-DBrRQJxF.js.map → index-BCxBKsqT.js.map} +1 -1
  45. package/build/client/assets/index-BFGhCX_U.js +38 -0
  46. package/build/client/assets/index-BFGhCX_U.js.map +1 -0
  47. package/build/client/assets/index-BuA_RWlU.js +2 -0
  48. package/build/client/assets/index-BuA_RWlU.js.map +1 -0
  49. package/build/client/assets/index-BuoaxPEj.js +42 -0
  50. package/build/client/assets/index-BuoaxPEj.js.map +1 -0
  51. package/build/client/assets/index-DJF1fiZI.js +2 -0
  52. package/build/client/assets/index-DJF1fiZI.js.map +1 -0
  53. package/build/client/assets/{index-YtpQLUzj.js → index-DRH72MzK.js} +2 -2
  54. package/build/client/assets/{index-YtpQLUzj.js.map → index-DRH72MzK.js.map} +1 -1
  55. package/build/client/assets/{index-CuV1bRbu.js → index-KgMLc41c.js} +2 -2
  56. package/build/client/assets/{index-CuV1bRbu.js.map → index-KgMLc41c.js.map} +1 -1
  57. package/build/client/assets/index-_J-F_Dnc.js +36 -0
  58. package/build/client/assets/index-_J-F_Dnc.js.map +1 -0
  59. package/build/client/assets/{loading-Br41_Pbf.js → loading-Dk0n07O3.js} +2 -2
  60. package/build/client/assets/{loading-Br41_Pbf.js.map → loading-Dk0n07O3.js.map} +1 -1
  61. package/build/client/assets/{login-kjV7hrVt.js → login-pZYDEC_l.js} +2 -2
  62. package/build/client/assets/{login-kjV7hrVt.js.map → login-pZYDEC_l.js.map} +1 -1
  63. package/build/client/assets/{manifest-b22910a7.js → manifest-3338a6ab.js} +1 -1
  64. package/build/client/assets/mdx-hW1uYjc1.js +2 -0
  65. package/build/client/assets/mdx-hW1uYjc1.js.map +1 -0
  66. package/build/client/assets/misc-BJtHv_Jh.js +2 -0
  67. package/build/client/assets/misc-BJtHv_Jh.js.map +1 -0
  68. package/build/client/assets/{nav-chevrons-DYiI8EMU.js → nav-chevrons-CgbSMLeb.js} +2 -2
  69. package/build/client/assets/{nav-chevrons-DYiI8EMU.js.map → nav-chevrons-CgbSMLeb.js.map} +1 -1
  70. package/build/client/assets/{onboarding-B4Z_yevk.js → onboarding-DCuSqnkZ.js} +2 -2
  71. package/build/client/assets/{onboarding-B4Z_yevk.js.map → onboarding-DCuSqnkZ.js.map} +1 -1
  72. package/build/client/assets/{pe-CvPIToj6.js → pe-ChIwTk8v.js} +2 -2
  73. package/build/client/assets/pe-ChIwTk8v.js.map +1 -0
  74. package/build/client/assets/presence-CdyMdOKk.js +28 -0
  75. package/build/client/assets/presence-CdyMdOKk.js.map +1 -0
  76. package/build/client/assets/{preview-DZcdG4kw.js → preview-CW_12I0i.js} +2 -2
  77. package/build/client/assets/{preview-DZcdG4kw.js.map → preview-CW_12I0i.js.map} +1 -1
  78. package/build/client/assets/{product-mjsTrqXs.js → product-C1ynnrN_.js} +2 -2
  79. package/build/client/assets/{product-mjsTrqXs.js.map → product-C1ynnrN_.js.map} +1 -1
  80. package/build/client/assets/progress-DAB3nDa2.js +2 -0
  81. package/build/client/assets/progress-DAB3nDa2.js.map +1 -0
  82. package/build/client/assets/{progress-bar-F8_2mvYp.js → progress-bar-Cj5R4Zk7.js} +2 -2
  83. package/build/client/assets/{progress-bar-F8_2mvYp.js.map → progress-bar-Cj5R4Zk7.js.map} +1 -1
  84. package/build/client/assets/{request-info-DGnmXtfj.js → request-info-DCIQLE6H.js} +2 -2
  85. package/build/client/assets/{request-info-DGnmXtfj.js.map → request-info-DCIQLE6H.js.map} +1 -1
  86. package/build/client/assets/{revalidation-ws-DcvYvzyj.js → revalidation-ws-DU-PzW-_.js} +2 -2
  87. package/build/client/assets/{revalidation-ws-DcvYvzyj.js.map → revalidation-ws-DU-PzW-_.js.map} +1 -1
  88. package/build/client/assets/{root-Cl86OUog.js → root-DojjHZlY.js} +4 -4
  89. package/build/client/assets/root-DojjHZlY.js.map +1 -0
  90. package/build/client/assets/{set-playground-pMKmtPtz.js → set-playground-DgnOJqFN.js} +2 -2
  91. package/build/client/assets/{set-playground-pMKmtPtz.js.map → set-playground-DgnOJqFN.js.map} +1 -1
  92. package/build/client/assets/{support-B0E_F4Zh.js → support-BNS-kEhc.js} +2 -2
  93. package/build/client/assets/{support-B0E_F4Zh.js.map → support-BNS-kEhc.js.map} +1 -1
  94. package/build/client/assets/tailwind-B5AAMtGC.css +1 -0
  95. package/build/client/assets/test-DJ7oeeeg.js +2 -0
  96. package/build/client/assets/{test-B6zIK2V6.js.map → test-DJ7oeeeg.js.map} +1 -1
  97. package/build/client/assets/{tests-BeAEgPAw.js → tests-Bw1rCopV.js} +2 -2
  98. package/build/client/assets/{tests-BeAEgPAw.js.map → tests-Bw1rCopV.js.map} +1 -1
  99. package/build/client/assets/tooltip-BgynKV2c.js +2 -0
  100. package/build/client/assets/tooltip-BgynKV2c.js.map +1 -0
  101. package/build/client/assets/use-event-source-x59d4R2Z.js +2 -0
  102. package/build/client/assets/use-event-source-x59d4R2Z.js.map +1 -0
  103. package/build/client/assets/{user-Boua6jiU.js → user-BBryXlM_.js} +2 -2
  104. package/build/client/assets/{user-Boua6jiU.js.map → user-BBryXlM_.js.map} +1 -1
  105. package/build/client/assets/{workshop-config-Ce9sSc3I.js → workshop-config-DJY2cXU_.js} +2 -2
  106. package/build/client/assets/{workshop-config-Ce9sSc3I.js.map → workshop-config-DJY2cXU_.js.map} +1 -1
  107. package/build/server/index.js +3 -3
  108. package/dist/server/index.js +7 -12
  109. package/package.json +68 -73
  110. package/build/client/assets/app-wbMCZEiv.js +0 -2
  111. package/build/client/assets/components-DZ8XIeZ3.js +0 -166
  112. package/build/client/assets/components-DZ8XIeZ3.js.map +0 -1
  113. package/build/client/assets/diff-BEk79KPK.js +0 -2
  114. package/build/client/assets/discord-DYeU0QX6.js +0 -2
  115. package/build/client/assets/discord-DYeU0QX6.js.map +0 -1
  116. package/build/client/assets/entry.client-CW5CUf_W.js +0 -43
  117. package/build/client/assets/entry.client-CW5CUf_W.js.map +0 -1
  118. package/build/client/assets/epic-video-bs7WmhbC.js +0 -2988
  119. package/build/client/assets/epic-video-bs7WmhbC.js.map +0 -1
  120. package/build/client/assets/index-BczhSZ3e.js +0 -2
  121. package/build/client/assets/index-BczhSZ3e.js.map +0 -1
  122. package/build/client/assets/index-BjNhezSK.js +0 -42
  123. package/build/client/assets/index-BjNhezSK.js.map +0 -1
  124. package/build/client/assets/index-BvihEwfB.js +0 -36
  125. package/build/client/assets/index-BvihEwfB.js.map +0 -1
  126. package/build/client/assets/index-C2yr7Uiu.js +0 -2
  127. package/build/client/assets/index-C2yr7Uiu.js.map +0 -1
  128. package/build/client/assets/index-DF_XBInP.js +0 -37
  129. package/build/client/assets/index-DF_XBInP.js.map +0 -1
  130. package/build/client/assets/mdx-CRxPouxB.js +0 -2
  131. package/build/client/assets/mdx-CRxPouxB.js.map +0 -1
  132. package/build/client/assets/misc-BE75ioh8.js +0 -2
  133. package/build/client/assets/misc-BE75ioh8.js.map +0 -1
  134. package/build/client/assets/pe-CvPIToj6.js.map +0 -1
  135. package/build/client/assets/presence-Dd98AJ_5.js +0 -28
  136. package/build/client/assets/presence-Dd98AJ_5.js.map +0 -1
  137. package/build/client/assets/progress-Co-59mG2.js +0 -2
  138. package/build/client/assets/progress-Co-59mG2.js.map +0 -1
  139. package/build/client/assets/root-Cl86OUog.js.map +0 -1
  140. package/build/client/assets/tailwind-B9pSujyx.css +0 -1
  141. package/build/client/assets/test-B6zIK2V6.js +0 -2
  142. package/build/client/assets/tooltip-6-WS-Xux.js +0 -2
  143. package/build/client/assets/tooltip-6-WS-Xux.js.map +0 -1
  144. package/build/client/assets/use-event-source-CCGBLG92.js +0 -2
  145. package/build/client/assets/use-event-source-CCGBLG92.js.map +0 -1
@@ -1,166 +0,0 @@
1
- var Lt=Object.defineProperty;var Tt=(e,t,r)=>t in e?Lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var G=(e,t,r)=>Tt(e,typeof t!="symbol"?t+"":t,r);import{r as l,l as Pt,u as B,e as Ye,N as X,o as Ot,p as We,q as j,s as ie,t as Ct,v as ge,w as M,D as be,x as oe,y as kt,z as At,A as _e,I as Dt,B as Ve,C as Ne,k as Nt,c as Ft,F as It,G as $t,H as jt,J as Ke,E as ae,i as Ut,a as Mt,m as Xe,K as Ht,L as Bt,M as Jt,P as zt}from"./index-DF_XBInP.js";function Yt(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const i=Object.getOwnPropertyDescriptor(n,a);i&&Object.defineProperty(e,a,i.get?i:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Ge={exports:{}},C={};/**
2
- * @license React
3
- * react-dom.production.js
4
- *
5
- * Copyright (c) Meta Platforms, Inc. and affiliates.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */function Ze(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var V=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function $(){}var O={d:{f:$,r:function(){throw Error(Ze(522))},D:$,C:$,L:$,m:$,X:$,S:$,M:$},p:0,findDOMNode:null},Wt=Symbol.for("react.portal");function Vt(e,t,r){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Wt,key:n==null?null:""+n,children:e,containerInfo:t,implementation:r}}function le(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}C.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=O;C.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Ze(299));return Vt(e,t,null,r)};C.flushSync=function(e){var t=V.T,r=O.p;try{if(V.T=null,O.p=2,e)return e()}finally{V.T=t,O.p=r,O.d.f()}};C.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,O.d.C(e,t))};C.prefetchDNS=function(e){typeof e=="string"&&O.d.D(e)};C.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var r=t.as,n=le(r,t.crossOrigin),a=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;r==="style"?O.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:n,integrity:a,fetchPriority:i}):r==="script"&&O.d.X(e,{crossOrigin:n,integrity:a,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};C.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var r=le(t.as,t.crossOrigin);O.d.M(e,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&O.d.M(e)};C.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var r=t.as,n=le(r,t.crossOrigin);O.d.L(e,r,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};C.preloadModule=function(e,t){if(typeof e=="string")if(t){var r=le(t.as,t.crossOrigin);O.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else O.d.m(e)};C.requestFormReset=function(e){O.d.r(e)};C.unstable_batchedUpdates=function(e,t){return e(t)};C.useFormState=function(e,t,r){return V.H.useFormState(e,t,r)};C.useFormStatus=function(){return V.H.useHostTransitionStatus()};C.version="19.0.0-rc-f994737d14-20240522";function Qe(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Qe)}catch(e){console.error(e)}}Qe(),Ge.exports=C;var qe=Ge.exports;const Kt=Pt(qe),Xt=Yt({__proto__:null,default:Kt},[qe]);/**
10
- * React Router DOM v6.24.0
11
- *
12
- * Copyright (c) Remix Software Inc.
13
- *
14
- * This source code is licensed under the MIT license found in the
15
- * LICENSE.md file in the root directory of this source tree.
16
- *
17
- * @license MIT
18
- */function D(){return D=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},D.apply(this,arguments)}function xe(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,i;for(i=0;i<n.length;i++)a=n[i],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}const re="get",he="application/x-www-form-urlencoded";function se(e){return e!=null&&typeof e.tagName=="string"}function Gt(e){return se(e)&&e.tagName.toLowerCase()==="button"}function Zt(e){return se(e)&&e.tagName.toLowerCase()==="form"}function Qt(e){return se(e)&&e.tagName.toLowerCase()==="input"}function qt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function er(e,t){return e.button===0&&(!t||t==="_self")&&!qt(e)}function ve(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||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(a=>[r,a]):[[r,n]])},[]))}function tr(e,t){let r=ve(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(i=>{r.append(a,i)})}),r}let Z=null;function rr(){if(Z===null)try{new FormData(document.createElement("form"),0),Z=!1}catch{Z=!0}return Z}const nr=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function me(e){return e!=null&&!nr.has(e)?null:e}function ar(e,t){let r,n,a,i,s;if(Zt(e)){let o=e.getAttribute("action");n=o?M(o,t):null,r=e.getAttribute("method")||re,a=me(e.getAttribute("enctype"))||he,i=new FormData(e)}else if(Gt(e)||Qt(e)&&(e.type==="submit"||e.type==="image")){let o=e.form;if(o==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let u=e.getAttribute("formaction")||o.getAttribute("action");if(n=u?M(u,t):null,r=e.getAttribute("formmethod")||o.getAttribute("method")||re,a=me(e.getAttribute("formenctype"))||me(o.getAttribute("enctype"))||he,i=new FormData(o,e),!rr()){let{name:c,type:f,value:d}=e;if(f==="image"){let h=c?c+".":"";i.append(h+"x","0"),i.append(h+"y","0")}else c&&i.append(c,d)}}else{if(se(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=re,n=null,a=he,s=e}return i&&a==="text/plain"&&(s=i,i=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:i,body:s}}const ir=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],or=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],lr=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","unstable_viewTransition"],sr="6";try{window.__reactRouterVersion=sr}catch{}const et=l.createContext({isTransitioning:!1}),tt=l.createContext(new Map),ur="startTransition",Fe=Ve[ur],cr="flushSync",Ie=Xt[cr],fr="useId",$e=Ve[fr];function dr(e){Fe?Fe(e):e()}function Y(e){Ie?Ie(e):e()}let hr=class{constructor(){this.status="pending",this.promise=new Promise((t,r)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",t(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",r(n))}})}};function Mn(e){let{fallbackElement:t,router:r,future:n}=e,[a,i]=l.useState(r.state),[s,o]=l.useState(),[u,c]=l.useState({isTransitioning:!1}),[f,d]=l.useState(),[h,y]=l.useState(),[m,v]=l.useState(),R=l.useRef(new Map),{v7_startTransition:b}=n||{},p=l.useCallback(E=>{b?dr(E):E()},[b]),w=l.useCallback((E,_)=>{let{deletedFetchers:L,unstable_flushSync:k,unstable_viewTransitionOpts:T}=_;L.forEach(F=>R.current.delete(F)),E.fetchers.forEach((F,fe)=>{F.data!==void 0&&R.current.set(fe,F.data)});let N=r.window==null||r.window.document==null||typeof r.window.document.startViewTransition!="function";if(!T||N){k?Y(()=>i(E)):p(()=>i(E));return}if(k){Y(()=>{h&&(f&&f.resolve(),h.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:T.currentLocation,nextLocation:T.nextLocation})});let F=r.window.document.startViewTransition(()=>{Y(()=>i(E))});F.finished.finally(()=>{Y(()=>{d(void 0),y(void 0),o(void 0),c({isTransitioning:!1})})}),Y(()=>y(F));return}h?(f&&f.resolve(),h.skipTransition(),v({state:E,currentLocation:T.currentLocation,nextLocation:T.nextLocation})):(o(E),c({isTransitioning:!0,flushSync:!1,currentLocation:T.currentLocation,nextLocation:T.nextLocation}))},[r.window,h,f,R,p]);l.useLayoutEffect(()=>r.subscribe(w),[r,w]),l.useEffect(()=>{u.isTransitioning&&!u.flushSync&&d(new hr)},[u]),l.useEffect(()=>{if(f&&s&&r.window){let E=s,_=f.promise,L=r.window.document.startViewTransition(async()=>{p(()=>i(E)),await _});L.finished.finally(()=>{d(void 0),y(void 0),o(void 0),c({isTransitioning:!1})}),y(L)}},[p,s,f,r.window]),l.useEffect(()=>{f&&s&&a.location.key===s.location.key&&f.resolve()},[f,h,a.location,s]),l.useEffect(()=>{!u.isTransitioning&&m&&(o(m.state),c({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[u.isTransitioning,m]),l.useEffect(()=>{},[]);let g=l.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:E=>r.navigate(E),push:(E,_,L)=>r.navigate(E,{state:_,preventScrollReset:L==null?void 0:L.preventScrollReset}),replace:(E,_,L)=>r.navigate(E,{replace:!0,state:_,preventScrollReset:L==null?void 0:L.preventScrollReset})}),[r]),x=r.basename||"/",S=l.useMemo(()=>({router:r,navigator:g,static:!1,basename:x}),[r,g,x]);return l.createElement(l.Fragment,null,l.createElement(be.Provider,{value:S},l.createElement(oe.Provider,{value:a},l.createElement(tt.Provider,{value:R.current},l.createElement(et.Provider,{value:u},l.createElement(kt,{basename:x,location:a.location,navigationType:a.historyAction,navigator:g,future:{v7_relativeSplatPath:r.future.v7_relativeSplatPath}},a.initialized||r.future.v7_partialHydration?l.createElement(mr,{routes:r.routes,future:r.future,state:a}):t))))),null)}function mr(e){let{routes:t,future:r,state:n}=e;return At(t,void 0,n,r)}const yr=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",pr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,rt=l.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:i,replace:s,state:o,target:u,to:c,preventScrollReset:f,unstable_viewTransition:d}=t,h=xe(t,ir),{basename:y}=l.useContext(X),m,v=!1;if(typeof c=="string"&&pr.test(c)&&(m=c,yr))try{let w=new URL(window.location.href),g=c.startsWith("//")?new URL(w.protocol+c):new URL(c),x=M(g.pathname,y);g.origin===w.origin&&x!=null?c=x+g.search+g.hash:v=!0}catch{}let R=_e(c,{relative:a}),b=wr(c,{replace:s,state:o,target:u,preventScrollReset:f,relative:a,unstable_viewTransition:d});function p(w){n&&n(w),w.defaultPrevented||b(w)}return l.createElement("a",D({},h,{href:m||R,onClick:v||i?n:p,ref:r,target:u}))}),gr=l.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:i="",end:s=!1,style:o,to:u,unstable_viewTransition:c,children:f}=t,d=xe(t,or),h=ie(u,{relative:d.relative}),y=B(),m=l.useContext(oe),{navigator:v,basename:R}=l.useContext(X),b=m!=null&&xr(h)&&c===!0,p=v.encodeLocation?v.encodeLocation(h).pathname:h.pathname,w=y.pathname,g=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;a||(w=w.toLowerCase(),g=g?g.toLowerCase():null,p=p.toLowerCase()),g&&R&&(g=M(g,R)||g);const x=p!=="/"&&p.endsWith("/")?p.length-1:p.length;let S=w===p||!s&&w.startsWith(p)&&w.charAt(x)==="/",E=g!=null&&(g===p||!s&&g.startsWith(p)&&g.charAt(p.length)==="/"),_={isActive:S,isPending:E,isTransitioning:b},L=S?n:void 0,k;typeof i=="function"?k=i(_):k=[i,S?"active":null,E?"pending":null,b?"transitioning":null].filter(Boolean).join(" ");let T=typeof o=="function"?o(_):o;return l.createElement(rt,D({},d,{"aria-current":L,className:k,ref:r,style:T,to:u,unstable_viewTransition:c}),typeof f=="function"?f(_):f)}),vr=l.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:i,state:s,method:o=re,action:u,onSubmit:c,relative:f,preventScrollReset:d,unstable_viewTransition:h}=e,y=xe(e,lr),m=at(),v=Rr(u,{relative:f}),R=o.toLowerCase()==="get"?"get":"post",b=p=>{if(c&&c(p),p.defaultPrevented)return;p.preventDefault();let w=p.nativeEvent.submitter,g=(w==null?void 0:w.getAttribute("formmethod"))||o;m(w||p.currentTarget,{fetcherKey:r,method:g,navigate:n,replace:i,state:s,relative:f,preventScrollReset:d,unstable_viewTransition:h})};return l.createElement("form",D({ref:t,method:R,action:v,onSubmit:a?c:b},y))});var J;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(J||(J={}));var K;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(K||(K={}));function ue(e){let t=l.useContext(be);return t||j(!1),t}function Le(e){let t=l.useContext(oe);return t||j(!1),t}function wr(e,t){let{target:r,replace:n,state:a,preventScrollReset:i,relative:s,unstable_viewTransition:o}=t===void 0?{}:t,u=Ye(),c=B(),f=ie(e,{relative:s});return l.useCallback(d=>{if(er(d,r)){d.preventDefault();let h=n!==void 0?n:ge(c)===ge(f);u(e,{replace:h,state:a,preventScrollReset:i,relative:s,unstable_viewTransition:o})}},[c,u,f,n,a,r,e,i,s,o])}function Hn(e){let t=l.useRef(ve(e)),r=l.useRef(!1),n=B(),a=l.useMemo(()=>tr(n.search,r.current?null:t.current),[n.search]),i=Ye(),s=l.useCallback((o,u)=>{const c=ve(typeof o=="function"?o(a):o);r.current=!0,i("?"+c,u)},[i,a]);return[a,s]}function Er(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let Sr=0,nt=()=>"__"+String(++Sr)+"__";function at(){let{router:e}=ue(J.UseSubmit),{basename:t}=l.useContext(X),r=Ot();return l.useCallback(function(n,a){a===void 0&&(a={}),Er();let{action:i,method:s,encType:o,formData:u,body:c}=ar(n,t);if(a.navigate===!1){let f=a.fetcherKey||nt();e.fetch(f,r,a.action||i,{preventScrollReset:a.preventScrollReset,formData:u,body:c,formMethod:a.method||s,formEncType:a.encType||o,unstable_flushSync:a.unstable_flushSync})}else e.navigate(a.action||i,{preventScrollReset:a.preventScrollReset,formData:u,body:c,formMethod:a.method||s,formEncType:a.encType||o,replace:a.replace,state:a.state,fromRouteId:r,unstable_flushSync:a.unstable_flushSync,unstable_viewTransition:a.unstable_viewTransition})},[e,t,r])}function Rr(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=l.useContext(X),a=l.useContext(We);a||j(!1);let[i]=a.matches.slice(-1),s=D({},ie(e||".",{relative:r})),o=B();if(e==null){s.search=o.search;let u=new URLSearchParams(s.search);u.has("index")&&u.get("index")===""&&(u.delete("index"),s.search=u.toString()?"?"+u.toString():"")}return(!e||e===".")&&i.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(s.pathname=s.pathname==="/"?n:Ct([n,s.pathname])),ge(s)}function br(e){var t;let{key:r}=e===void 0?{}:e,{router:n}=ue(J.UseFetcher),a=Le(K.UseFetcher),i=l.useContext(tt),s=l.useContext(We),o=(t=s.matches[s.matches.length-1])==null?void 0:t.route.id;i||j(!1),s||j(!1),o==null&&j(!1);let u=$e?$e():"",[c,f]=l.useState(r||u);r&&r!==c?f(r):c||f(nt()),l.useEffect(()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)}),[n,c]);let d=l.useCallback((p,w)=>{o||j(!1),n.fetch(c,o,p,w)},[c,o,n]),h=at(),y=l.useCallback((p,w)=>{h(p,D({},w,{navigate:!1,fetcherKey:c}))},[c,h]),m=l.useMemo(()=>l.forwardRef((w,g)=>l.createElement(vr,D({},w,{navigate:!1,fetcherKey:c,ref:g}))),[c]),v=a.fetchers.get(c)||Dt,R=i.get(c);return l.useMemo(()=>D({Form:m,submit:y,load:d},v,{data:R}),[m,y,d,v,R])}function Bn(){let e=Le(K.UseFetchers);return Array.from(e.fetchers.entries()).map(t=>{let[r,n]=t;return D({},n,{key:r})})}const je="react-router-scroll-positions";let Q={};function Jn(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=ue(J.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:i}=Le(K.UseScrollRestoration),{basename:s}=l.useContext(X),o=B(),u=Nt(),c=Ft();l.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),_r(l.useCallback(()=>{if(c.state==="idle"){let f=(t?t(o,u):null)||o.key;Q[f]=window.scrollY}try{sessionStorage.setItem(r||je,JSON.stringify(Q))}catch{}window.history.scrollRestoration="auto"},[r,t,c.state,o,u])),typeof document<"u"&&(l.useLayoutEffect(()=>{try{let f=sessionStorage.getItem(r||je);f&&(Q=JSON.parse(f))}catch{}},[r]),l.useLayoutEffect(()=>{let f=t&&s!=="/"?(h,y)=>t(D({},h,{pathname:M(h.pathname,s)||h.pathname}),y):t,d=n==null?void 0:n.enableScrollRestoration(Q,()=>window.scrollY,f);return()=>d&&d()},[n,s,t]),l.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(o.hash){let f=document.getElementById(decodeURIComponent(o.hash.slice(1)));if(f){f.scrollIntoView();return}}i!==!0&&window.scrollTo(0,0)}},[o,a,i]))}function _r(e,t){let{capture:r}={};l.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function xr(e,t){t===void 0&&(t={});let r=l.useContext(et);r==null&&j(!1);let{basename:n}=ue(J.useViewTransitionState),a=ie(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=M(r.currentLocation.pathname,n)||r.currentLocation.pathname,s=M(r.nextLocation.pathname,n)||r.nextLocation.pathname;return Ne(a.pathname,s)!=null||Ne(a.pathname,i)!=null}var Lr=-1,Tr=-2,Pr=-3,Or=-4,Cr=-5,kr=-6,Ar=-7,Dr="B",Nr="D",it="E",Fr="M",Ir="N",ot="P",$r="R",jr="S",Ur="Y",Mr="U",Hr="Z",lt=class{constructor(){G(this,"promise");G(this,"resolve");G(this,"reject");this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Br(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),i=(t+a).split(`
19
- `);t=i.pop()||"";for(const s of i)n.enqueue(s)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ye=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function we(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return A.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;return r.push(...e),t.length=r.length,A.call(this,n)}function A(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;switch(e){case Ar:return;case Cr:return null;case Tr:return NaN;case kr:return 1/0;case Pr:return-1/0;case Or:return-0}if(t[e])return t[e];const i=r[e];if(!i||typeof i!="object")return t[e]=i;if(Array.isArray(i))if(typeof i[0]=="string"){const[s,o,u]=i;switch(s){case Nr:return t[e]=new Date(o);case Mr:return t[e]=new URL(o);case Dr:return t[e]=BigInt(o);case $r:return t[e]=new RegExp(o,u);case Ur:return t[e]=Symbol.for(o);case jr:const c=new Set;t[e]=c;for(let v=1;v<i.length;v++)c.add(A.call(this,i[v]));return c;case Fr:const f=new Map;t[e]=f;for(let v=1;v<i.length;v+=2)f.set(A.call(this,i[v]),A.call(this,i[v+1]));return f;case Ir:const d=Object.create(null);t[e]=d;for(const v in o)d[A.call(this,Number(v))]=A.call(this,o[v]);return d;case ot:if(t[o])return t[e]=t[o];{const v=new lt;return n[o]=v,t[e]=v.promise}case it:const[,h,y]=i;let m=y&&ye&&ye[y]?new ye[y](h):new Error(h);return t[e]=m,m;case Hr:return A.call(this,o);default:if(Array.isArray(a)){const v=i.slice(1).map(R=>A.call(this,R));for(const R of a){const b=R(i[0],...v);if(b)return t[e]=b.value}}throw new SyntaxError}}else{const s=[];t[e]=s;for(let o=0;o<i.length;o++){const u=i[o];u!==Lr&&(s[o]=A.call(this,u))}return s}else{const s={};t[e]=s;for(const o in i)s[A.call(this,Number(o))]=A.call(this,i[o]);return s}}async function Jr(e,t){const{plugins:r}=t??{},n=new lt,a=e.pipeThrough(Br()).getReader(),i={values:[],hydrated:[],deferred:{},plugins:r},s=await zr.call(i,a);let o=n.promise;return s.done?n.resolve():o=Yr.call(i,a).then(n.resolve).catch(u=>{for(const c of Object.values(i.deferred))c.reject(u);n.reject(u)}),{done:o.then(()=>a.closed),value:s.value}}async function zr(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:we.call(this,r)}}async function Yr(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case ot:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const s=r.slice(n+1);let o;try{o=JSON.parse(s)}catch{throw new SyntaxError}const u=we.call(this,o);i.resolve(u);break}case it:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const s=r.slice(n+1);let o;try{o=JSON.parse(s)}catch{throw new SyntaxError}const u=we.call(this,o);i.reject(u);break}default:throw new SyntaxError}t=await e.read()}}/**
20
- * @remix-run/server-runtime v2.10.0
21
- *
22
- * Copyright (c) Remix Software Inc.
23
- *
24
- * This source code is licensed under the MIT license found in the
25
- * LICENSE.md file in the root directory of this source tree.
26
- *
27
- * @license MIT
28
- */const st=Symbol("SingleFetchRedirect");/**
29
- * @remix-run/react v2.10.0
30
- *
31
- * Copyright (c) Remix Software Inc.
32
- *
33
- * This source code is licensed under the MIT license found in the
34
- * LICENSE.md file in the root directory of this source tree.
35
- *
36
- * @license MIT
37
- */function P(){return P=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},P.apply(this,arguments)}/**
38
- * @remix-run/react v2.10.0
39
- *
40
- * Copyright (c) Remix Software Inc.
41
- *
42
- * This source code is licensed under the MIT license found in the
43
- * LICENSE.md file in the root directory of this source tree.
44
- *
45
- * @license MIT
46
- */function H(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}/**
47
- * @remix-run/react v2.10.0
48
- *
49
- * Copyright (c) Remix Software Inc.
50
- *
51
- * This source code is licensed under the MIT license found in the
52
- * LICENSE.md file in the root directory of this source tree.
53
- *
54
- * @license MIT
55
- */async function ut(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch{return window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}/**
56
- * @remix-run/react v2.10.0
57
- *
58
- * Copyright (c) Remix Software Inc.
59
- *
60
- * This source code is licensed under the MIT license found in the
61
- * LICENSE.md file in the root directory of this source tree.
62
- *
63
- * @license MIT
64
- */function Wr(e,t,r){let n=e.map(i=>{var s;let o=t[i.route.id],u=r.routes[i.route.id];return[u.css?u.css.map(c=>({rel:"stylesheet",href:c})):[],(o==null||(s=o.links)===null||s===void 0?void 0:s.call(o))||[]]}).flat(2),a=Qr(e,r);return ft(n,a)}async function ct(e,t){var r,n;if(!e.css&&!t.links||!en())return;let a=[((r=e.css)===null||r===void 0?void 0:r.map(o=>({rel:"stylesheet",href:o})))??[],((n=t.links)===null||n===void 0?void 0:n.call(t))??[]].flat(1);if(a.length===0)return;let i=[];for(let o of a)!Te(o)&&o.rel==="stylesheet"&&i.push({...o,rel:"preload",as:"style"});let s=i.filter(o=>(!o.media||window.matchMedia(o.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${o.href}"]`));await Promise.all(s.map(Vr))}async function Vr(e){return new Promise(t=>{let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function Te(e){return e!=null&&typeof e.page=="string"}function Kr(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Xr(e,t,r){let n=await Promise.all(e.map(async a=>{let i=await ut(t.routes[a.route.id],r);return i.links?i.links():[]}));return ft(n.flat(1).filter(Kr).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Ue(e,t,r,n,a,i){let s=dt(e),o=(f,d)=>r[d]?f.route.id!==r[d].route.id:!0,u=(f,d)=>{var h;return r[d].pathname!==f.pathname||((h=r[d].route.path)===null||h===void 0?void 0:h.endsWith("*"))&&r[d].params["*"]!==f.params["*"]};return i==="data"&&a.search!==s.search?t.filter((f,d)=>{if(!n.routes[f.route.id].hasLoader)return!1;if(o(f,d)||u(f,d))return!0;if(f.route.shouldRevalidate){var y;let m=f.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((y=r[0])===null||y===void 0?void 0:y.params)||{},nextUrl:new URL(e,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof m=="boolean")return m}return!0}):t.filter((f,d)=>{let h=n.routes[f.route.id];return(i==="assets"||h.hasLoader)&&(o(f,d)||u(f,d))})}function Gr(e,t,r){let n=dt(e);return Pe(t.filter(a=>r.routes[a.route.id].hasLoader&&!r.routes[a.route.id].hasClientLoader).map(a=>{let{pathname:i,search:s}=n,o=new URLSearchParams(s);return o.set("_data",a.route.id),`${i}?${o}`}))}function Zr(e,t){return Pe(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Qr(e,t){return Pe(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Pe(e){return[...new Set(e)]}function qr(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function ft(e,t){let r=new Set,n=new Set(t);return e.reduce((a,i)=>{if(t&&!Te(i)&&i.as==="script"&&i.href&&n.has(i.href))return a;let o=JSON.stringify(qr(i));return r.has(o)||(r.add(o),a.push({key:o,link:i})),a},[])}function dt(e){let t=It(e);return t.search===void 0&&(t.search=""),t}let q;function en(){if(q!==void 0)return q;let e=document.createElement("link");return q=e.relList.supports("preload"),e=null,q}/**
65
- * @remix-run/react v2.10.0
66
- *
67
- * Copyright (c) Remix Software Inc.
68
- *
69
- * This source code is licensed under the MIT license found in the
70
- * LICENSE.md file in the root directory of this source tree.
71
- *
72
- * @license MIT
73
- */const tn={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},rn=/[&><\u2028\u2029]/g;function ee(e){return e.replace(rn,t=>tn[t])}function Me(e){return{__html:e}}/**
74
- * @remix-run/react v2.10.0
75
- *
76
- * Copyright (c) Remix Software Inc.
77
- *
78
- * This source code is licensed under the MIT license found in the
79
- * LICENSE.md file in the root directory of this source tree.
80
- *
81
- * @license MIT
82
- */function nn(e){return e.headers.get("X-Remix-Catch")!=null}function an(e){return e.headers.get("X-Remix-Error")!=null}function on(e){return ht(e)&&e.status>=400&&e.headers.get("X-Remix-Error")==null&&e.headers.get("X-Remix-Catch")==null&&e.headers.get("X-Remix-Response")==null}function ln(e){return e.headers.get("X-Remix-Redirect")!=null}function sn(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function ht(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function un(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}async function mt(e,t,r=0){let n=new URL(e.url);n.searchParams.set("_data",t),r>0&&await new Promise(o=>setTimeout(o,5**r*10));let a=await yt(e),i=window.__remixRevalidation,s=await fetch(n.href,a).catch(o=>{if(typeof i=="number"&&i===window.__remixRevalidation&&(o==null?void 0:o.name)==="TypeError"&&r<3)return mt(e,t,r+1);throw o});if(an(s)){let o=await s.json(),u=new Error(o.message);return u.stack=o.stack,u}if(on(s)){let o=await s.text(),u=new Error(o);return u.stack=void 0,u}return s}async function yt(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}const cn="__deferred_promise:";async function fn(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=dn(e),i=(await n.next()).value;if(!i)throw new Error("no critical data");let s=JSON.parse(i);if(typeof s=="object"&&s!==null)for(let[o,u]of Object.entries(s))typeof u!="string"||!u.startsWith(cn)||(t=t||{},t[o]=new Promise((c,f)=>{r[o]={resolve:d=>{c(d),delete r[o]},reject:d=>{f(d),delete r[o]}}}));return(async()=>{try{for await(let o of n){let[u,...c]=o.split(":"),f=c.join(":"),d=JSON.parse(f);if(u==="data")for(let[h,y]of Object.entries(d))r[h]&&r[h].resolve(y);else if(u==="error")for(let[h,y]of Object.entries(d)){let m=new Error(y.message);m.stack=y.stack,r[h]&&r[h].reject(m)}}for(let[o,u]of Object.entries(r))u.reject(new $t(`Deferred ${o} will never be resolved`))}catch(o){for(let u of Object.values(r))u.reject(o)}})(),new jt({...s,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*dn(e){let t=e.getReader(),r=[],n=[],a=!1,i=new TextEncoder,s=new TextDecoder,o=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let c=await t.read();if(c.done){a=!0;break}r.push(c.value);try{let d=s.decode(He(...r)).split(`
83
-
84
- `);if(d.length>=2&&(n.push(...d.slice(0,-1)),r=[i.encode(d.slice(-1).join(`
85
-
86
- `))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=s.decode(He(...r)).split(`
87
-
88
- `).filter(f=>f),r=[]),n.shift()},u=await o();for(;u;)yield u,u=await o()}function He(...e){let t=new Uint8Array(e.reduce((n,a)=>n+a.length,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}/**
89
- * @remix-run/react v2.10.0
90
- *
91
- * Copyright (c) Remix Software Inc.
92
- *
93
- * This source code is licensed under the MIT license found in the
94
- * LICENSE.md file in the root directory of this source tree.
95
- *
96
- * @license MIT
97
- */function zn(e,t){return async({request:r,matches:n})=>r.method!=="GET"?hn(r,n):mn(e,t,r,n)}function hn(e,t){return Promise.all(t.map(async r=>{let n;return{...await r.resolve(async i=>({type:"data",result:await i(async()=>{let o=Oe(e.url),u=await yt(e),{data:c,status:f}=await Ee(o,u);return n=f,Se(c,r.route.id)}),status:n})),status:n}}))}function mn(e,t,r,n){let a;return Promise.all(n.map(async i=>i.resolve(async s=>{let o,u=yn(Oe(r.url));return e.routes[i.route.id].hasClientLoader?o=await s(async()=>{u.searchParams.set("_routes",i.route.id);let{data:c}=await Ee(u);return Be(c,i.route.id)}):o=await s(async()=>{a||(u=pt(e,t,n.map(f=>f.route),n.filter(f=>f.shouldLoad).map(f=>f.route),u),a=Ee(u).then(({data:f})=>f));let c=await a;return Be(c,i.route.id)}),{type:"data",result:o}})))}function yn(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function pt(e,t,r,n,a){let i=c=>c.filter(f=>e.routes[f].hasLoader).join(",");if(!r.some(c=>{var f,d;return((f=t[c.id])===null||f===void 0?void 0:f.shouldRevalidate)||((d=e.routes[c.id])===null||d===void 0?void 0:d.hasClientLoader)}))return a;let o=i(r.map(c=>c.id)),u=i(n.filter(c=>{var f;return!((f=e.routes[c.id])!==null&&f!==void 0&&f.hasClientLoader)}).map(c=>c.id));return o!==u&&a.searchParams.set("_routes",u),a}function Oe(e){let t=typeof e=="string"?new URL(e,window.location.origin):e;return t.pathname=`${t.pathname==="/"?"_root":t.pathname}.data`,t}async function Ee(e,t){let r=await fetch(e,t);H(r.body,"No response body to decode");try{let n=await pn(r.body,window);return{status:r.status,data:n.value}}catch(n){throw console.error(n),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function pn(e,t){return Jr(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,i,s]=n,o=Error;a&&a in t&&typeof t[a]=="function"&&(o=t[a]);let u=new o(i);return u.stack=s,{value:u}}if(r==="ErrorResponse"){let[a,i,s]=n;return{value:new ae(i,s,a)}}if(r==="SingleFetchRedirect")return{value:{[st]:n[0]}}}]})}function Be(e,t){let r=e[st];return r?Se(r,t):e[t]!==void 0?Se(e[t],t):null}function Se(e,t){if("error"in e)throw e.error;if("redirect"in e){let r={};return e.revalidate&&(r["X-Remix-Revalidate"]="yes"),e.reload&&(r["X-Remix-Reload-Document"]="yes"),Ke(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}/**
98
- * @remix-run/react v2.10.0
99
- *
100
- * Copyright (c) Remix Software Inc.
101
- *
102
- * This source code is licensed under the MIT license found in the
103
- * LICENSE.md file in the root directory of this source tree.
104
- *
105
- * @license MIT
106
- */class Yn extends l.Component{constructor(t){super(t),this.state={error:t.error||null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error||null,location:t.location}:{error:t.error||r.error,location:r.location}}render(){return this.state.error?l.createElement(gt,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}}function gt({error:e,isOutsideRemixApp:t}){console.error(e);let r=l.createElement("script",{dangerouslySetInnerHTML:{__html:`
107
- console.log(
108
- "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information."
109
- );
110
- `}});if(Ut(e))return l.createElement(Re,{title:"Unhandled Thrown Response!"},l.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}return l.createElement(Re,{title:"Application Error!",isOutsideRemixApp:t},l.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),l.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function Re({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){var a;let{routeModules:i}=z();return(a=i.root)!==null&&a!==void 0&&a.Layout&&!r?n:l.createElement("html",{lang:"en"},l.createElement("head",null,l.createElement("meta",{charSet:"utf-8"}),l.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),l.createElement("title",null,e)),l.createElement("body",null,l.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?l.createElement(Nn,null):null)))}/**
111
- * @remix-run/react v2.10.0
112
- *
113
- * Copyright (c) Remix Software Inc.
114
- *
115
- * This source code is licensed under the MIT license found in the
116
- * LICENSE.md file in the root directory of this source tree.
117
- *
118
- * @license MIT
119
- */function gn(){return l.createElement(Re,{title:"Loading...",renderScripts:!0},l.createElement("script",{dangerouslySetInnerHTML:{__html:`
120
- console.log(
121
- "💿 Hey developer 👋. You can provide a way better UX than this " +
122
- "when your app is running \`clientLoader\` functions on hydration. " +
123
- "Check out https://remix.run/route/hydrate-fallback for more information."
124
- );
125
- `}}))}/**
126
- * @remix-run/react v2.10.0
127
- *
128
- * Copyright (c) Remix Software Inc.
129
- *
130
- * This source code is licensed under the MIT license found in the
131
- * LICENSE.md file in the root directory of this source tree.
132
- *
133
- * @license MIT
134
- */function vt(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function vn(e,t,r){let n=wt(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?gn:void 0,i=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>l.createElement(gt,{error:Mt()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:l.createElement(t.Layout,null,l.createElement(n,null))}:{Component:n},...i?{errorElement:l.createElement(t.Layout,null,l.createElement(i,null))}:{ErrorBoundary:i},...a?{hydrateFallbackElement:l.createElement(t.Layout,null,l.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:i,HydrateFallback:a}}function Wn(e,t,r,n,a,i){return Ce(t,r,n,a,i,"",vt(t),e)}function te(e,t,r){if(r){let s=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(s),new ae(400,"Bad Request",new Error(s),!0)}let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction)throw console.error(a),new ae(400,"Bad Request",new Error(a),!0)}function pe(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new ae(405,"Method Not Allowed",new Error(n),!0)}function Ce(e,t,r,n,a,i="",s=vt(e),o){return(s[i]||[]).map(u=>{let c=t[u.id];async function f(w,g,x){if(typeof x=="function")return await x();let S=await En(w,u);return g?Sn(S):S}function d(w,g,x){return u.hasLoader?f(w,g,x):Promise.resolve(null)}function h(w,g,x){if(!u.hasAction)throw pe("action",u.id);return f(w,g,x)}async function y(w){let g=t[u.id],x=g?ct(u,g):Promise.resolve();try{return w()}finally{await x}}let m={id:u.id,index:u.index,path:u.path};if(c){var v,R,b;Object.assign(m,{...m,...vn(u,c,a),handle:c.handle,shouldRevalidate:o?Je(u.id,c.shouldRevalidate,o):c.shouldRevalidate});let w=r==null||(v=r.loaderData)===null||v===void 0?void 0:v[u.id],g=r==null||(R=r.errors)===null||R===void 0?void 0:R[u.id],x=o==null&&(((b=c.clientLoader)===null||b===void 0?void 0:b.hydrate)===!0||!u.hasLoader);m.loader=async({request:S,params:E},_)=>{try{return await y(async()=>(H(c,"No `routeModule` available for critical-route loader"),c.clientLoader?c.clientLoader({request:S,params:E,async serverLoader(){if(te("loader",u,a),x){if(g!==void 0)throw g;return w}return d(S,!0,_)}}):a?null:d(S,!1,_)))}finally{x=!1}},m.loader.hydrate=bn(u,c,a),m.action=({request:S,params:E},_)=>y(async()=>{if(H(c,"No `routeModule` available for critical-route action"),!c.clientAction){if(a)throw pe("clientAction",u.id);return h(S,!1,_)}return c.clientAction({request:S,params:E,async serverAction(){return te("action",u,a),h(S,!0,_)}})})}else u.hasClientLoader||(m.loader=({request:w},g)=>y(()=>a?Promise.resolve(null):d(w,!1,g))),u.hasClientAction||(m.action=({request:w},g)=>y(()=>{if(a)throw pe("clientAction",u.id);return h(w,!1,g)})),m.lazy=async()=>{let w=await wn(u,t),g={...w};if(w.clientLoader){let x=w.clientLoader;g.loader=(S,E)=>x({...S,async serverLoader(){return te("loader",u,a),d(S.request,!0,E)}})}if(w.clientAction){let x=w.clientAction;g.action=(S,E)=>x({...S,async serverAction(){return te("action",u,a),h(S.request,!0,E)}})}return o&&(g.shouldRevalidate=Je(u.id,w.shouldRevalidate,o)),{...g.loader?{loader:g.loader}:{},...g.action?{action:g.action}:{},hasErrorBoundary:g.hasErrorBoundary,shouldRevalidate:g.shouldRevalidate,handle:g.handle,Component:g.Component,ErrorBoundary:g.ErrorBoundary}};let p=Ce(e,t,r,n,a,u.id,s,o);return p.length>0&&(m.children=p),m})}function Je(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function wn(e,t){let r=await ut(e,t);return await ct(e,r),{Component:wt(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function En(e,t){let r=await mt(e,t.id);if(r instanceof Error)throw r;if(ln(r))throw Rn(r);if(nn(r))throw r;return sn(r)&&r.body?await fn(r.body):r}function Sn(e){if(un(e))return e.data;if(ht(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function Rn(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),n={},a=e.headers.get("X-Remix-Revalidate");a&&(n["X-Remix-Revalidate"]=a);let i=e.headers.get("X-Remix-Reload-Document");return i&&(n["X-Remix-Reload-Document"]=i),Ke(r,{status:t,headers:n})}function wt(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function bn(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}/**
135
- * @remix-run/react v2.10.0
136
- *
137
- * Copyright (c) Remix Software Inc.
138
- *
139
- * This source code is licensed under the MIT license found in the
140
- * LICENSE.md file in the root directory of this source tree.
141
- *
142
- * @license MIT
143
- */const _n=7680;let U=null;function ke(e,t){return e.unstable_fogOfWar===!0&&!t}function xn(e,t){let r=new Set(t.state.matches.map(s=>s.route.id)),n=t.state.location.pathname.split("/").filter(Boolean),a=["/"];for(n.pop();n.length>0;)a.push(`/${n.join("/")}`),n.pop();a.forEach(s=>{let o=Xe(t.routes,s,t.basename);o&&o.forEach(u=>r.add(u.route.id))});let i=[...r].reduce((s,o)=>Object.assign(s,{[o]:e.routes[o]}),{});return{...e,routes:i}}function Vn(e,t,r,n,a){return ke(r,n)?(U={nextPaths:new Set,knownGoodPaths:new Set,known404Paths:new Set},{enabled:!0,patchRoutesOnMiss:async({path:i,patch:s})=>{U.known404Paths.has(i)||U.knownGoodPaths.has(i)||await Et([i],U,e,t,r,n,a,s)}}):{enabled:!1}}function Kn(e,t,r,n,a){l.useEffect(()=>{var i;if(!ke(n,a)||((i=navigator.connection)===null||i===void 0?void 0:i.saveData)===!0)return;function s(d){if(!d)return;let h=new URL(d,window.location.origin),{knownGoodPaths:y,known404Paths:m,nextPaths:v}=U;y.has(h.pathname)||m.has(h.pathname)||v.add(h.pathname)}async function o(){let d=Ln(U);if(d.length!==0)try{await Et(d,U,t,r,n,a,e.basename,e.patchRoutes)}catch(h){console.error("Failed to fetch manifest patches",h)}}document.body.querySelectorAll("a[data-discover]").forEach(d=>s(d.getAttribute("href"))),o();let u=Tn(o,100);function c(d){return d.nodeType===Node.ELEMENT_NODE}let f=new MutationObserver(d=>{let h=new Set;d.forEach(y=>{[y.target,...y.addedNodes].forEach(m=>{c(m)&&(m.tagName==="A"&&m.getAttribute("data-discover")?h.add(m):m.tagName!=="A"&&m.querySelectorAll("a[data-discover]").forEach(v=>h.add(v)))})}),h.forEach(y=>s(y.getAttribute("href"))),u()});return f.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href"]}),()=>f.disconnect()},[n,a,t,r,e])}function Ln(e,t){let{knownGoodPaths:r,known404Paths:n,nextPaths:a}=e;return Array.from(a.keys()).filter(i=>r.has(i)||n.has(i)?(a.delete(i),!1):!0)}async function Et(e,t,r,n,a,i,s,o){let{nextPaths:u,knownGoodPaths:c,known404Paths:f}=t,d=`${s??"/"}/__manifest`.replace(/\/+/g,"/"),h=new URL(d,window.location.origin);if(h.searchParams.set("version",r.version),e.forEach(p=>h.searchParams.append("p",p)),h.toString().length>_n){u.clear();return}let y=await fetch(h);if(y.ok){if(y.status>=400)throw new Error(await y.text())}else throw new Error(`${y.status} ${y.statusText}`);let m=await y.json(),v=new Set(Object.keys(r.routes)),R=Object.values(m.patches).reduce((p,w)=>v.has(w.id)?p:Object.assign(p,{[w.id]:w}),{});Object.assign(r.routes,R),m.notFoundPaths.forEach(p=>f.add(p)),e.forEach(p=>c.add(p));let b=new Set;Object.values(R).forEach(p=>{(!p.parentId||!R[p.parentId])&&b.add(p.parentId)}),b.forEach(p=>o(p||null,Ce(R,n,null,a,i,p)))}function Tn(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}/**
144
- * @remix-run/react v2.10.0
145
- *
146
- * Copyright (c) Remix Software Inc.
147
- *
148
- * This source code is licensed under the MIT license found in the
149
- * LICENSE.md file in the root directory of this source tree.
150
- *
151
- * @license MIT
152
- */function St(){let e=l.useContext(be);return H(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function ce(){let e=l.useContext(oe);return H(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const Rt=l.createContext(void 0);Rt.displayName="Remix";function z(){let e=l.useContext(Rt);return H(e,"You must render this element inside a <Remix> element"),e}function bt(e,t){let[r,n]=l.useState(!1),[a,i]=l.useState(!1),{onFocus:s,onBlur:o,onMouseEnter:u,onMouseLeave:c,onTouchStart:f}=t,d=l.useRef(null);l.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let m=R=>{R.forEach(b=>{i(b.isIntersecting)})},v=new IntersectionObserver(m,{threshold:.5});return d.current&&v.observe(d.current),()=>{v.disconnect()}}},[e]);let h=()=>{e==="intent"&&n(!0)},y=()=>{e==="intent"&&(n(!1),i(!1))};return l.useEffect(()=>{if(r){let m=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(m)}}},[r]),[a,d,{onFocus:W(s,h),onBlur:W(o,y),onMouseEnter:W(u,h),onMouseLeave:W(c,y),onTouchStart:W(f,h)}]}const _t=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;let Pn=l.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&_t.test(e),s=_e(e),[o,u,c]=bt(t,n);return l.createElement(l.Fragment,null,l.createElement(gr,P({},n,c,{ref:xt(a,u),to:e,"data-discover":!i&&r==="render"?"true":void 0})),o&&!i?l.createElement(De,{page:s}):null)});Pn.displayName="NavLink";let On=l.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&_t.test(e),s=_e(e),[o,u,c]=bt(t,n);return l.createElement(l.Fragment,null,l.createElement(rt,P({},n,c,{ref:xt(a,u),to:e,"data-discover":!i&&r==="render"?"true":void 0})),o&&!i?l.createElement(De,{page:s}):null)});On.displayName="Link";function W(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Ae(e,t,r){if(r&&!ne)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function Xn(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=z(),{errors:a,matches:i}=ce(),s=Ae(i,a,e),o=l.useMemo(()=>Wr(s,r,t),[s,r,t]);return l.createElement(l.Fragment,null,n?l.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,o.map(({key:u,link:c})=>Te(c)?l.createElement(De,P({key:u},c)):l.createElement("link",P({key:u},c))))}function De({page:e,...t}){let{router:r}=St(),n=l.useMemo(()=>Xe(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?l.createElement(kn,P({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Cn(e){let{manifest:t,routeModules:r}=z(),[n,a]=l.useState([]);return l.useEffect(()=>{let i=!1;return Xr(e,t,r).then(s=>{i||a(s)}),()=>{i=!0}},[e,t,r]),n}function kn({page:e,matches:t,...r}){let n=B(),{future:a,manifest:i,routeModules:s}=z(),{matches:o}=ce(),u=l.useMemo(()=>Ue(e,t,o,i,n,"data"),[e,t,o,i,n]),c=l.useMemo(()=>Ue(e,t,o,i,n,"assets"),[e,t,o,i,n]),f=l.useMemo(()=>Gr(e,u,i),[u,e,i]),d=l.useMemo(()=>Zr(c,i),[c,i]),h=Cn(c),y=null;if(!a.unstable_singleFetch)y=f.map(m=>l.createElement("link",P({key:m,rel:"prefetch",as:"fetch",href:m},r)));else if(u.length>0){let m=pt(i,s,t.map(v=>v.route),u.map(v=>v.route),Oe(e));m.searchParams.get("_routes")!==""&&(y=l.createElement("link",P({key:m.pathname+m.search,rel:"prefetch",as:"fetch",href:m.pathname+m.search},r)))}return l.createElement(l.Fragment,null,y,d.map(m=>l.createElement("link",P({key:m,rel:"modulepreload",href:m},r))),h.map(({key:m,link:v})=>l.createElement("link",P({key:m},v))))}function Gn(){let{isSpaMode:e,routeModules:t}=z(),{errors:r,matches:n,loaderData:a}=ce(),i=B(),s=Ae(n,r,e),o=null;r&&(o=r[s[s.length-1].route.id]);let u=[],c=null,f=[];for(let d=0;d<s.length;d++){let h=s[d],y=h.route.id,m=a[y],v=h.params,R=t[y],b=[],p={id:y,data:m,meta:[],params:h.params,pathname:h.pathname,handle:h.route.handle,error:o};if(f[d]=p,R!=null&&R.meta?b=typeof R.meta=="function"?R.meta({data:m,params:v,location:i,matches:f,error:o}):Array.isArray(R.meta)?[...R.meta]:R.meta:c&&(b=[...c]),b=b||[],!Array.isArray(b))throw new Error("The route at "+h.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
153
-
154
- To reference the meta function API, see https://remix.run/route/meta`);p.meta=b,f[d]=p,u=[...b],c=u}return l.createElement(l.Fragment,null,u.flat().map(d=>{if(!d)return null;if("tagName"in d){let{tagName:h,...y}=d;if(!An(h))return console.warn(`A meta object uses an invalid tagName: ${h}. Expected either 'link' or 'meta'`),null;let m=h;return l.createElement(m,P({key:JSON.stringify(y)},y))}if("title"in d)return l.createElement("title",{key:"title"},String(d.title));if("charset"in d&&(d.charSet??(d.charSet=d.charset),delete d.charset),"charSet"in d&&d.charSet!=null)return typeof d.charSet=="string"?l.createElement("meta",{key:"charSet",charSet:d.charSet}):null;if("script:ld+json"in d)try{let h=JSON.stringify(d["script:ld+json"]);return l.createElement("script",{key:`script:ld+json:${h}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:h}})}catch{return null}return l.createElement("meta",P({key:JSON.stringify(d)},d))}))}function An(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function Dn(e){return l.createElement(Bt,e)}let ne=!1;function Nn(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:i,future:s,renderMeta:o}=z(),{router:u,static:c,staticContext:f}=St(),{matches:d}=ce(),h=ke(s,i);o&&(o.didRenderScripts=!0);let y=Ae(d,null,i);l.useEffect(()=>{ne=!0},[]);let m=(S,E)=>{let _;return a&&E instanceof Error?_=a(E):_=E,`${JSON.stringify(S)}:__remixContext.p(!1, ${ee(JSON.stringify(_))})`},v=(S,E,_)=>{let L;try{L=JSON.stringify(_)}catch(k){return m(E,k)}return`${JSON.stringify(E)}:__remixContext.p(${ee(L)})`},R=(S,E,_)=>{let L;return a&&_ instanceof Error?L=a(_):L=_,`__remixContext.r(${JSON.stringify(S)}, ${JSON.stringify(E)}, !1, ${ee(JSON.stringify(L))})`},b=(S,E,_)=>{let L;try{L=JSON.stringify(_)}catch(k){return R(S,E,k)}return`__remixContext.r(${JSON.stringify(S)}, ${JSON.stringify(E)}, ${ee(L)})`},p=[],w=l.useMemo(()=>{var S;let E=s.unstable_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",_=f?`window.__remixContext = ${r};${E}`:" ",L=s.unstable_singleFetch||f==null?void 0:f.activeDeferreds;_+=L?["__remixContext.p = function(v,e,p,x) {"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
155
- x.stack=undefined;`," p=Promise.reject(x);"," } else {"," p=Promise.resolve(v);"," }"," return p;","};","__remixContext.n = function(i,k) {"," __remixContext.t = __remixContext.t || {};"," __remixContext.t[i] = __remixContext.t[i] || {};"," let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:""," return p;","};","__remixContext.r = function(i,k,v,e,p,x) {"," p = __remixContext.t[i][k];"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
156
- x.stack=undefined;`," p.e(x);"," } else {"," p.r(v);"," }","};"].join(`
157
- `)+Object.entries(L).map(([T,N])=>{let F=new Set(N.pendingKeys),fe=N.deferredKeys.map(I=>{if(F.has(I))return p.push(l.createElement(ze,{key:`${T} | ${I}`,deferredData:N,routeId:T,dataKey:I,scriptProps:e,serializeData:b,serializeError:R})),`${JSON.stringify(I)}:__remixContext.n(${JSON.stringify(T)}, ${JSON.stringify(I)})`;{let de=N.data[I];return typeof de._error<"u"?m(I,de._error):v(T,I,de._data)}}).join(`,
158
- `);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(T)}], {${fe}});`}).join(`
159
- `)+(p.length>0?`__remixContext.a=${p.length};`:""):"";let k=c?`${(S=t.hmr)!==null&&S!==void 0&&S.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${h?"":`import ${JSON.stringify(t.url)}`};
160
- ${y.map((T,N)=>`import * as route${N} from ${JSON.stringify(t.routes[T.route.id].module)};`).join(`
161
- `)}
162
- ${h?`window.__remixManifest = ${JSON.stringify(xn(t,u),null,2)};`:""}
163
- window.__remixRouteModules = {${y.map((T,N)=>`${JSON.stringify(T.route.id)}:route${N}`).join(",")}};
164
-
165
- import(${JSON.stringify(t.entry.module)});`:" ";return l.createElement(l.Fragment,null,l.createElement("script",P({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Me(_),type:void 0})),l.createElement("script",P({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Me(k),type:"module",async:!0})))},[]);if(!c&&typeof __remixContext=="object"&&__remixContext.a)for(let S=0;S<__remixContext.a;S++)p.push(l.createElement(ze,{key:S,scriptProps:e,serializeData:b,serializeError:R}));let g=y.map(S=>{let E=t.routes[S.route.id];return(E.imports||[]).concat([E.module])}).flat(1),x=ne?[]:t.entry.imports.concat(g);return ne?null:l.createElement(l.Fragment,null,h?null:l.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),l.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),In(x).map(S=>l.createElement("link",{key:S,rel:"modulepreload",href:S,crossOrigin:e.crossOrigin})),w,p)}function ze({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&H(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),l.createElement(l.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:l.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?l.createElement(Dn,{resolve:t.data[e],errorElement:l.createElement(Fn,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:s=>l.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,s)}}))}):l.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function Fn({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=Jt();return l.createElement("script",P({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function In(e){return[...new Set(e)]}function Zn(){return Ht()}function Qn(e){return zt(e)}function qn(e={}){return br(e)}function xt(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}export{Dn as A,vr as F,On as L,Gn as M,Pn as N,Kt as R,Nn as S,P as _,qn as a,Hn as b,at as c,Bn as d,Qn as e,Wn as f,pn as g,Ce as h,H as i,Vn as j,zn as k,Kn as l,Rt as m,Yn as n,Mn as o,z as p,Jn as q,qe as r,bn as s,Xn as t,Zn as u};
166
- //# sourceMappingURL=components-DZ8XIeZ3.js.map