zenml-nightly 0.82.1.dev20250526__py3-none-any.whl → 0.82.1.dev20250528__py3-none-any.whl

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 (311) hide show
  1. zenml/VERSION +1 -1
  2. zenml/artifacts/utils.py +8 -0
  3. zenml/cli/base.py +6 -1
  4. zenml/cli/model.py +16 -36
  5. zenml/cli/server.py +8 -3
  6. zenml/client.py +20 -4
  7. zenml/client_lazy_loader.py +2 -0
  8. zenml/config/docker_settings.py +15 -2
  9. zenml/enums.py +3 -0
  10. zenml/event_hub/event_hub.py +1 -1
  11. zenml/integrations/bitbucket/plugins/event_sources/bitbucket_webhook_event_source.py +1 -1
  12. zenml/integrations/github/plugins/event_sources/github_webhook_event_source.py +1 -1
  13. zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +3 -0
  14. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +37 -26
  15. zenml/logging/step_logging.py +17 -4
  16. zenml/login/web_login.py +1 -1
  17. zenml/model/model.py +13 -23
  18. zenml/models/__init__.py +39 -2
  19. zenml/models/v2/base/scoped.py +34 -15
  20. zenml/models/v2/core/artifact.py +10 -9
  21. zenml/models/v2/core/artifact_version.py +16 -16
  22. zenml/models/v2/core/logs.py +8 -50
  23. zenml/models/v2/core/model.py +10 -10
  24. zenml/models/v2/core/model_version.py +155 -88
  25. zenml/models/v2/core/pipeline.py +10 -11
  26. zenml/models/v2/core/pipeline_deployment.py +1 -9
  27. zenml/models/v2/core/pipeline_run.py +10 -17
  28. zenml/models/v2/core/run_template.py +10 -10
  29. zenml/models/v2/core/step_run.py +100 -16
  30. zenml/models/v2/core/tag.py +5 -4
  31. zenml/models/v2/misc/pipeline_run_dag.py +46 -0
  32. zenml/orchestrators/base_orchestrator.py +8 -19
  33. zenml/orchestrators/cache_utils.py +48 -1
  34. zenml/orchestrators/input_utils.py +35 -39
  35. zenml/orchestrators/step_launcher.py +1 -1
  36. zenml/orchestrators/step_run_utils.py +26 -10
  37. zenml/pipelines/pipeline_definition.py +3 -3
  38. zenml/pipelines/run_utils.py +2 -3
  39. zenml/service_connectors/service_connector.py +5 -1
  40. zenml/stack/stack_component.py +1 -4
  41. zenml/steps/step_context.py +1 -1
  42. zenml/utils/dashboard_utils.py +3 -3
  43. zenml/zen_server/auth.py +6 -3
  44. zenml/zen_server/cloud_utils.py +2 -2
  45. zenml/zen_server/dashboard/assets/{404-_AtuLtaX.js → 404-DmJUgorp.js} +1 -1
  46. zenml/zen_server/dashboard/assets/{@radix-C7hRs6Kx.js → @radix-Cdvw4jJ8.js} +1 -1
  47. zenml/zen_server/dashboard/assets/{@react-router-CNP6g_RL.js → @react-router-DeDfXbUF.js} +5 -5
  48. zenml/zen_server/dashboard/assets/{@reactflow-CQi1Z1Wq.js → @reactflow-8OCk19Fi.js} +1 -1
  49. zenml/zen_server/dashboard/assets/{@tanstack-CSxjHCME.js → @tanstack-5gTMR7G2.js} +4 -4
  50. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-CZW4QyWn.js +1 -0
  51. zenml/zen_server/dashboard/assets/ButtonGroup-DFWWFGUE.js +1 -0
  52. zenml/zen_server/dashboard/assets/{CodeSnippet-CvI6D0wx.js → CodeSnippet-D2HkkAGr.js} +1 -1
  53. zenml/zen_server/dashboard/assets/CollapsibleCard-CnS09ljw.js +1 -0
  54. zenml/zen_server/dashboard/assets/{ComponentBadge-DKw7Gndh.js → ComponentBadge-CDgdd0Ks.js} +1 -1
  55. zenml/zen_server/dashboard/assets/ComponentIcon-CbbOc7lb.js +1 -0
  56. zenml/zen_server/dashboard/assets/{DeleteAlertDialog-DVvXt-S6.js → DeleteAlertDialog-VIOMDLmx.js} +1 -1
  57. zenml/zen_server/dashboard/assets/DialogItem-ClFCqxEp.js +1 -0
  58. zenml/zen_server/dashboard/assets/{DisplayDate-CYVBBSgr.js → DisplayDate-8RESqe5H.js} +1 -1
  59. zenml/zen_server/dashboard/assets/{EmptyState-M1jafpg6.js → EmptyState-CjrgDtVk.js} +1 -1
  60. zenml/zen_server/dashboard/assets/{Error-BWaXP0VK.js → Error-CQzjbDcN.js} +1 -1
  61. zenml/zen_server/dashboard/assets/ExecutionStatus-CWreILP0.js +1 -0
  62. zenml/zen_server/dashboard/assets/{Helpbox-iE1xLmiZ.js → Helpbox-CiKxG5_X.js} +1 -1
  63. zenml/zen_server/dashboard/assets/Infobox-CGxFvqzi.js +1 -0
  64. zenml/zen_server/dashboard/assets/LeftSideMenu-DCsKdIjC.js +1 -0
  65. zenml/zen_server/dashboard/assets/{Lock-DW-0_M0o.js → Lock-CrIAdQo6.js} +1 -1
  66. zenml/zen_server/dashboard/assets/NestedCollapsible-3M4llYtH.js +1 -0
  67. zenml/zen_server/dashboard/assets/NumberBox-C0mQktmV.js +1 -0
  68. zenml/zen_server/dashboard/assets/Partials-DSjkttlz.js +1 -0
  69. zenml/zen_server/dashboard/assets/{PasswordChecker-lYTOtNom.js → PasswordChecker-B88WjuCe.js} +1 -1
  70. zenml/zen_server/dashboard/assets/ProCta-Dm5cWKpS.js +1 -0
  71. zenml/zen_server/dashboard/assets/{ProviderIcon-DLo7t1lo.js → ProviderIcon-DPwMR6nF.js} +1 -1
  72. zenml/zen_server/dashboard/assets/ProviderRadio-DEDNRgAb.js +1 -0
  73. zenml/zen_server/dashboard/assets/RunsBody-BRBn1e2O.js +1 -0
  74. zenml/zen_server/dashboard/assets/SearchField-DY6-UbRT.js +1 -0
  75. zenml/zen_server/dashboard/assets/SecretTooltip-CZTRnaCV.js +1 -0
  76. zenml/zen_server/dashboard/assets/{SetPassword-DR-EiLI5.js → SetPassword-BjNGDC5e.js} +1 -1
  77. zenml/zen_server/dashboard/assets/SheetHeader-CASpN2Lz.js +1 -0
  78. zenml/zen_server/dashboard/assets/StackComponentList-Be1pQt9m.js +1 -0
  79. zenml/zen_server/dashboard/assets/StackList-BdiR5DvR.js +1 -0
  80. zenml/zen_server/dashboard/assets/StackName-ojLC6xdl.js +1 -0
  81. zenml/zen_server/dashboard/assets/Tabs-DNSKblCM.js +1 -0
  82. zenml/zen_server/dashboard/assets/Tick-BPrWnNlN.js +1 -0
  83. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DbFEaezI.js → UpdatePasswordSchemas-CNfKDo2Q.js} +1 -1
  84. zenml/zen_server/dashboard/assets/UsageReason-Cb-mpV8M.js +1 -0
  85. zenml/zen_server/dashboard/assets/{Wizard-CMI6Ksgz.js → Wizard-Dg8Pmn5A.js} +1 -1
  86. zenml/zen_server/dashboard/assets/WizardFooter-BcNDIvlQ.js +1 -0
  87. zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-BGASHYtF.js → all-pipeline-runs-query-DCdax7I5.js} +1 -1
  88. zenml/zen_server/dashboard/assets/{arrow-left-CwgF2MEM.js → arrow-left-MRXv5pAH.js} +1 -1
  89. zenml/zen_server/dashboard/assets/bulk-delete-C_kpIB9A.js +3 -0
  90. zenml/zen_server/dashboard/assets/{check-DK77doTf.js → check-B9QMTa3f.js} +1 -1
  91. zenml/zen_server/dashboard/assets/{check-circle-mvyzYvIW.js → check-circle-C4tYvbtw.js} +1 -1
  92. zenml/zen_server/dashboard/assets/{chevron-down-A-rmltmI.js → chevron-down-jbbQh82s.js} +1 -1
  93. zenml/zen_server/dashboard/assets/{chevron-right-double-uNWbJT-C.js → chevron-right-double-Dgp_gEsp.js} +1 -1
  94. zenml/zen_server/dashboard/assets/{clock-CPA5cYxq.js → clock-B_mTG8PH.js} +1 -1
  95. zenml/zen_server/dashboard/assets/{code-browser-j2EpcxIA.js → code-browser-CiD8qkBx.js} +1 -1
  96. zenml/zen_server/dashboard/assets/configuration-form-B2hmKGnF.js +1 -0
  97. zenml/zen_server/dashboard/assets/connectivity-4UKGMYnr.webp +0 -0
  98. zenml/zen_server/dashboard/assets/constants-1EZZxtay.js +1 -0
  99. zenml/zen_server/dashboard/assets/create-stack-TKmMtrkQ.js +1 -0
  100. zenml/zen_server/dashboard/assets/dates-Buh6SMo7.js +1 -0
  101. zenml/zen_server/dashboard/assets/delete-run-CCR9md_s.js +1 -0
  102. zenml/zen_server/dashboard/assets/eye-CbVlAYty.js +1 -0
  103. zenml/zen_server/dashboard/assets/{file-text-BdxZdjP_.js → file-text-Cd8wVfq5.js} +1 -1
  104. zenml/zen_server/dashboard/assets/form-DFJkaFDX.js +1 -0
  105. zenml/zen_server/dashboard/assets/form-schemas-CrznJVzA.js +1 -0
  106. zenml/zen_server/dashboard/assets/{gcp-CHNvgEss.js → gcp-B1I3Qvcx.js} +1 -1
  107. zenml/zen_server/dashboard/assets/{help-DyMolRxD.js → help-Co6aedki.js} +1 -1
  108. zenml/zen_server/dashboard/assets/index-BFqbGSck.js +308 -0
  109. zenml/zen_server/dashboard/assets/{index-CrhdX_qG.js → index-BjUu1mP4.js} +1 -1
  110. zenml/zen_server/dashboard/assets/{index-DR30v9MZ.js → index-DWpiv-Ft.js} +1 -1
  111. zenml/zen_server/dashboard/assets/index-DuhuqTCI.css +1 -0
  112. zenml/zen_server/dashboard/assets/index-U992soPJ.js +1 -0
  113. zenml/zen_server/dashboard/assets/index.es-C1gfATPn.js +14 -0
  114. zenml/zen_server/dashboard/assets/{index.esm-D7jFlf5N.js → index.esm-DhJo3mA6.js} +1 -1
  115. zenml/zen_server/dashboard/assets/info-QkbQz4QU.js +1 -0
  116. zenml/zen_server/dashboard/assets/{key-icon-DO4DPJHZ.js → key-icon-C07HKw8z.js} +1 -1
  117. zenml/zen_server/dashboard/assets/{layout-h3cbx8WZ.js → layout-DBbfEFBe.js} +1 -1
  118. zenml/zen_server/dashboard/assets/layout-Do9YI4QX.js +1 -0
  119. zenml/zen_server/dashboard/assets/login-mutation-D3tFP6Wm.js +1 -0
  120. zenml/zen_server/dashboard/assets/{logs-B5n0U7tB.js → logs-CQKlJjo0.js} +1 -1
  121. zenml/zen_server/dashboard/assets/{package-D1Mhqeh8.js → package-miExReQl.js} +1 -1
  122. zenml/zen_server/dashboard/assets/page-9RjCitFH.js +1 -0
  123. zenml/zen_server/dashboard/assets/page-B0PsXWiT.js +1 -0
  124. zenml/zen_server/dashboard/assets/page-BCrKmYIZ.js +1 -0
  125. zenml/zen_server/dashboard/assets/page-BcRI3-aR.js +29 -0
  126. zenml/zen_server/dashboard/assets/page-Be3R2uYn.js +1 -0
  127. zenml/zen_server/dashboard/assets/page-BgknnddT.js +1 -0
  128. zenml/zen_server/dashboard/assets/page-BrT0_zSJ.js +40 -0
  129. zenml/zen_server/dashboard/assets/page-Bs3W2FDi.js +1 -0
  130. zenml/zen_server/dashboard/assets/page-C210HcBA.js +1 -0
  131. zenml/zen_server/dashboard/assets/page-C6KaiZ_W.js +1 -0
  132. zenml/zen_server/dashboard/assets/page-CAJ8B0vb.js +1 -0
  133. zenml/zen_server/dashboard/assets/page-CAUYrfui.js +1 -0
  134. zenml/zen_server/dashboard/assets/page-CHxVhF3x.js +1 -0
  135. zenml/zen_server/dashboard/assets/{page-CSwZxZMQ.js → page-CN7lkvXr.js} +1 -1
  136. zenml/zen_server/dashboard/assets/page-CUaMMoPG.js +1 -0
  137. zenml/zen_server/dashboard/assets/page-Cal6XQ4U.js +1 -0
  138. zenml/zen_server/dashboard/assets/page-CdZCmszX.js +1 -0
  139. zenml/zen_server/dashboard/assets/page-ChGcZI_6.js +1 -0
  140. zenml/zen_server/dashboard/assets/page-CktmtZ8Z.js +1 -0
  141. zenml/zen_server/dashboard/assets/page-ClvmVesa.js +1 -0
  142. zenml/zen_server/dashboard/assets/page-CnbIYE80.js +1 -0
  143. zenml/zen_server/dashboard/assets/page-CoXzjeEY.js +1 -0
  144. zenml/zen_server/dashboard/assets/page-CtiuMP_r.js +1 -0
  145. zenml/zen_server/dashboard/assets/page-D9Hfx6GV.js +1 -0
  146. zenml/zen_server/dashboard/assets/page-D9iuB88h.js +1 -0
  147. zenml/zen_server/dashboard/assets/page-DCcuPZ8P.js +1 -0
  148. zenml/zen_server/dashboard/assets/page-DEohTSz6.js +1 -0
  149. zenml/zen_server/dashboard/assets/page-DJIGaUQ9.js +1 -0
  150. zenml/zen_server/dashboard/assets/page-DKK6ulgy.js +1 -0
  151. zenml/zen_server/dashboard/assets/page-DNjKHjnH.js +1 -0
  152. zenml/zen_server/dashboard/assets/page-DUK0Nd_1.js +1 -0
  153. zenml/zen_server/dashboard/assets/page-DUKbOhaD.js +1 -0
  154. zenml/zen_server/dashboard/assets/page-DYOucPtA.js +1 -0
  155. zenml/zen_server/dashboard/assets/page-DpqRelAy.js +1 -0
  156. zenml/zen_server/dashboard/assets/{page-ZfTtFicG.js → page-DwVPpCFg.js} +2 -2
  157. zenml/zen_server/dashboard/assets/page-XURWnYZP.js +1 -0
  158. zenml/zen_server/dashboard/assets/page-abw-2oeW.js +1 -0
  159. zenml/zen_server/dashboard/assets/page-akLcPcKw.js +1 -0
  160. zenml/zen_server/dashboard/assets/page-n9ejQ2V3.js +2 -0
  161. zenml/zen_server/dashboard/assets/page-sJjNT9xA.js +6 -0
  162. zenml/zen_server/dashboard/assets/{persist-UUym702q.js → persist-DWMWVP-y.js} +1 -1
  163. zenml/zen_server/dashboard/assets/{persist-D87V82eO.js → persist-Dec_w7aB.js} +1 -1
  164. zenml/zen_server/dashboard/assets/pipeline-CSUlkd50.js +1 -0
  165. zenml/zen_server/dashboard/assets/{plus-COjQg3AG.js → plus-Cl0_rCVF.js} +1 -1
  166. zenml/zen_server/dashboard/assets/{react-error-boundary.esm-fyoUBS25.js → react-error-boundary.esm-7_MuhCay.js} +1 -1
  167. zenml/zen_server/dashboard/assets/{refresh-CM5T3QeU.js → refresh-BcTM09NW.js} +1 -1
  168. zenml/zen_server/dashboard/assets/resource-tyes-list-o2LXiMay.js +1 -0
  169. zenml/zen_server/dashboard/assets/resource-type-tooltip-DwHrJstL.js +1 -0
  170. zenml/zen_server/dashboard/assets/service-connectors-DSEMwJ5A.js +1 -0
  171. zenml/zen_server/dashboard/assets/{service-BQ9KIhls.js → service-jxtvgks0.js} +2 -2
  172. zenml/zen_server/dashboard/assets/sharedSchema-BXzg0EZz.js +1 -0
  173. zenml/zen_server/dashboard/assets/stack-detail-query-Cm0fsgo-.js +1 -0
  174. zenml/zen_server/dashboard/assets/{terminal-square-DMtel8mb.js → terminal-XFL_4QN-.js} +1 -1
  175. zenml/zen_server/dashboard/assets/terminal-square-XFL_4QN-.js +1 -0
  176. zenml/zen_server/dashboard/assets/transform-CeZdrxDZ.js +1 -0
  177. zenml/zen_server/dashboard/assets/{trash-BWSZ7NRK.js → trash-DP6Tpp_E.js} +1 -1
  178. zenml/zen_server/dashboard/assets/type-guards-CNgPYg8l.js +1 -0
  179. zenml/zen_server/dashboard/assets/update-current-user-mutation-D5MjcQ6F.js +1 -0
  180. zenml/zen_server/dashboard/assets/update-server-settings-mutation-CmnxdxiK.js +1 -0
  181. zenml/zen_server/dashboard/assets/{zod-C0xYeTvL.js → zod-XdS2h1ws.js} +1 -1
  182. zenml/zen_server/dashboard/index.html +7 -7
  183. zenml/zen_server/rbac/utils.py +2 -2
  184. zenml/zen_server/rbac/zenml_cloud_rbac.py +4 -3
  185. zenml/zen_server/routers/auth_endpoints.py +2 -2
  186. zenml/zen_server/routers/devices_endpoints.py +8 -5
  187. zenml/zen_server/routers/pipeline_deployments_endpoints.py +1 -1
  188. zenml/zen_server/routers/pipelines_endpoints.py +1 -1
  189. zenml/zen_server/routers/run_templates_endpoints.py +3 -3
  190. zenml/zen_server/routers/runs_endpoints.py +35 -0
  191. zenml/zen_server/routers/steps_endpoints.py +3 -0
  192. zenml/zen_server/template_execution/utils.py +6 -6
  193. zenml/zen_stores/dag_generator.py +171 -0
  194. zenml/zen_stores/rest_zen_store.py +17 -3
  195. zenml/zen_stores/schemas/action_schemas.py +40 -4
  196. zenml/zen_stores/schemas/api_key_schemas.py +29 -1
  197. zenml/zen_stores/schemas/artifact_schemas.py +168 -48
  198. zenml/zen_stores/schemas/base_schemas.py +26 -1
  199. zenml/zen_stores/schemas/code_repository_schemas.py +46 -5
  200. zenml/zen_stores/schemas/component_schemas.py +44 -3
  201. zenml/zen_stores/schemas/device_schemas.py +43 -2
  202. zenml/zen_stores/schemas/event_source_schemas.py +41 -5
  203. zenml/zen_stores/schemas/flavor_schemas.py +42 -2
  204. zenml/zen_stores/schemas/model_schemas.py +113 -77
  205. zenml/zen_stores/schemas/pipeline_build_schemas.py +53 -4
  206. zenml/zen_stores/schemas/pipeline_deployment_schemas.py +53 -4
  207. zenml/zen_stores/schemas/pipeline_run_schemas.py +111 -47
  208. zenml/zen_stores/schemas/pipeline_schemas.py +41 -9
  209. zenml/zen_stores/schemas/run_template_schemas.py +75 -11
  210. zenml/zen_stores/schemas/schedule_schema.py +50 -5
  211. zenml/zen_stores/schemas/secret_schemas.py +39 -2
  212. zenml/zen_stores/schemas/service_connector_schemas.py +39 -2
  213. zenml/zen_stores/schemas/service_schemas.py +39 -4
  214. zenml/zen_stores/schemas/stack_schemas.py +47 -2
  215. zenml/zen_stores/schemas/step_run_schemas.py +89 -26
  216. zenml/zen_stores/schemas/tag_schemas.py +69 -5
  217. zenml/zen_stores/schemas/trigger_schemas.py +44 -5
  218. zenml/zen_stores/schemas/utils.py +25 -4
  219. zenml/zen_stores/sql_zen_store.py +471 -28
  220. zenml/zen_stores/zen_store_interface.py +9 -1
  221. {zenml_nightly-0.82.1.dev20250526.dist-info → zenml_nightly-0.82.1.dev20250528.dist-info}/METADATA +1 -1
  222. {zenml_nightly-0.82.1.dev20250526.dist-info → zenml_nightly-0.82.1.dev20250528.dist-info}/RECORD +225 -219
  223. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-BG7-Ki1L.js +0 -1
  224. zenml/zen_server/dashboard/assets/CollapsibleCard-D20FtrzC.js +0 -1
  225. zenml/zen_server/dashboard/assets/Commands-DGbAvMDk.js +0 -1
  226. zenml/zen_server/dashboard/assets/ComponentIcon-ils7uNAk.js +0 -1
  227. zenml/zen_server/dashboard/assets/CsvVizualization-DVN541XF.js +0 -15
  228. zenml/zen_server/dashboard/assets/DialogItem-BHWf3sIB.js +0 -1
  229. zenml/zen_server/dashboard/assets/ExecutionStatus-XrvT2r65.js +0 -1
  230. zenml/zen_server/dashboard/assets/Infobox-D9k5TFH4.js +0 -1
  231. zenml/zen_server/dashboard/assets/InlineAvatar-Cfz4WSLK.js +0 -1
  232. zenml/zen_server/dashboard/assets/MarkdownVisualization-URCyUPcZ.js +0 -14
  233. zenml/zen_server/dashboard/assets/NestedCollapsible-Dor-bi98.js +0 -1
  234. zenml/zen_server/dashboard/assets/NumberBox-D2A7ENHb.js +0 -1
  235. zenml/zen_server/dashboard/assets/Partials-DQJFw1yW.js +0 -1
  236. zenml/zen_server/dashboard/assets/ProBadge-Cp4hb1YT.js +0 -1
  237. zenml/zen_server/dashboard/assets/ProCta-EYoV9CvK.js +0 -1
  238. zenml/zen_server/dashboard/assets/ProviderRadio-BVDA-fAr.js +0 -1
  239. zenml/zen_server/dashboard/assets/RunSelector-BLuBYNJt.js +0 -1
  240. zenml/zen_server/dashboard/assets/RunsBody-W4WHf-sq.js +0 -1
  241. zenml/zen_server/dashboard/assets/SearchField-D-h6jXyg.js +0 -1
  242. zenml/zen_server/dashboard/assets/SecretTooltip-CePCL8kd.js +0 -1
  243. zenml/zen_server/dashboard/assets/StackList-CgmN5H-i.js +0 -1
  244. zenml/zen_server/dashboard/assets/Tabs-DxQ8PDOD.js +0 -1
  245. zenml/zen_server/dashboard/assets/Tick-CEsT3HPR.js +0 -1
  246. zenml/zen_server/dashboard/assets/UsageReason-DjI5qMje.js +0 -1
  247. zenml/zen_server/dashboard/assets/WizardFooter-CFBHFZas.js +0 -1
  248. zenml/zen_server/dashboard/assets/cloud-squares-DeRLMopf.svg +0 -43
  249. zenml/zen_server/dashboard/assets/configuration-form-BtI2Y4eX.js +0 -1
  250. zenml/zen_server/dashboard/assets/connectors-video-C9qY4syJ.svg +0 -21
  251. zenml/zen_server/dashboard/assets/constants-DP3ZEnXH.js +0 -1
  252. zenml/zen_server/dashboard/assets/create-stack-BJ6x5rzj.js +0 -1
  253. zenml/zen_server/dashboard/assets/dates-3pMLCNrD.js +0 -1
  254. zenml/zen_server/dashboard/assets/delete-run-DlSLEl5T.js +0 -1
  255. zenml/zen_server/dashboard/assets/docker-BuDBFEDL.js +0 -1
  256. zenml/zen_server/dashboard/assets/dots-horizontal-BGRJCPCs.js +0 -1
  257. zenml/zen_server/dashboard/assets/flavor-select-BnPxvQDN.js +0 -1
  258. zenml/zen_server/dashboard/assets/form-schemas-CbvoEUHr.js +0 -1
  259. zenml/zen_server/dashboard/assets/index-CFESYpe4.js +0 -1
  260. zenml/zen_server/dashboard/assets/index-CmLcvK2z.js +0 -1
  261. zenml/zen_server/dashboard/assets/index-CzX3ZYlI.css +0 -1
  262. zenml/zen_server/dashboard/assets/index-D2iSHVZq.js +0 -64
  263. zenml/zen_server/dashboard/assets/kubernetes-D6OUjwSK.js +0 -1
  264. zenml/zen_server/dashboard/assets/link-external-DUhCSKNm.js +0 -1
  265. zenml/zen_server/dashboard/assets/login-command-CkqxPtV3.js +0 -1
  266. zenml/zen_server/dashboard/assets/login-mutation-CXc-Klim.js +0 -1
  267. zenml/zen_server/dashboard/assets/not-found-olRU3fnu.js +0 -1
  268. zenml/zen_server/dashboard/assets/page-7keIM1V3.js +0 -1
  269. zenml/zen_server/dashboard/assets/page-B31neFwG.js +0 -1
  270. zenml/zen_server/dashboard/assets/page-B3zo4KYS.js +0 -1
  271. zenml/zen_server/dashboard/assets/page-BN3MHq1a.js +0 -1
  272. zenml/zen_server/dashboard/assets/page-BNgVExjN.js +0 -1
  273. zenml/zen_server/dashboard/assets/page-BPtvu74G.js +0 -1
  274. zenml/zen_server/dashboard/assets/page-BTIuG0ki.js +0 -2
  275. zenml/zen_server/dashboard/assets/page-BcQzleH6.js +0 -1
  276. zenml/zen_server/dashboard/assets/page-C05Jw4M2.js +0 -1
  277. zenml/zen_server/dashboard/assets/page-C28a7K8h.js +0 -1
  278. zenml/zen_server/dashboard/assets/page-C9WLk0X-.js +0 -1
  279. zenml/zen_server/dashboard/assets/page-CINMx64X.js +0 -1
  280. zenml/zen_server/dashboard/assets/page-CYrJbk7P.js +0 -1
  281. zenml/zen_server/dashboard/assets/page-Ce0cqLo3.js +0 -1
  282. zenml/zen_server/dashboard/assets/page-CgNsEkw-.js +0 -1
  283. zenml/zen_server/dashboard/assets/page-Ct2FUYuR.js +0 -1
  284. zenml/zen_server/dashboard/assets/page-D8G2B3Bu.js +0 -1
  285. zenml/zen_server/dashboard/assets/page-DL8a4_lg.js +0 -3
  286. zenml/zen_server/dashboard/assets/page-DMhYn1cF.js +0 -1
  287. zenml/zen_server/dashboard/assets/page-Dd_Yq-Uf.js +0 -6
  288. zenml/zen_server/dashboard/assets/page-DfSvqT8g.js +0 -1
  289. zenml/zen_server/dashboard/assets/page-Dt6ANUTx.js +0 -1
  290. zenml/zen_server/dashboard/assets/page-DtvTleaT.js +0 -1
  291. zenml/zen_server/dashboard/assets/page-DwfGTiVs.js +0 -1
  292. zenml/zen_server/dashboard/assets/page-JgomSTDc.js +0 -1
  293. zenml/zen_server/dashboard/assets/page-L84ig6HB.js +0 -1
  294. zenml/zen_server/dashboard/assets/page-Mabsn4QJ.js +0 -1
  295. zenml/zen_server/dashboard/assets/page-P04L5cm9.js +0 -1
  296. zenml/zen_server/dashboard/assets/page-PfhAnvq4.js +0 -1
  297. zenml/zen_server/dashboard/assets/page-WdRrlNt_.js +0 -1
  298. zenml/zen_server/dashboard/assets/page-cqJDDDeK.js +0 -1
  299. zenml/zen_server/dashboard/assets/page-k-Wxh9L_.js +0 -1
  300. zenml/zen_server/dashboard/assets/page-y-zV4n0c.js +0 -1
  301. zenml/zen_server/dashboard/assets/rocket-Cf-B-XOR.js +0 -1
  302. zenml/zen_server/dashboard/assets/settings_preview-0JLrRgHP.webp +0 -0
  303. zenml/zen_server/dashboard/assets/sharedSchema-Bse2agAf.js +0 -14
  304. zenml/zen_server/dashboard/assets/stack-detail-query-BAcZJrN3.js +0 -1
  305. zenml/zen_server/dashboard/assets/tick-circle-m94Aa6Zt.js +0 -1
  306. zenml/zen_server/dashboard/assets/tour-cover-BYfeen6M.webp +0 -0
  307. zenml/zen_server/dashboard/assets/type-guards-CaeD8wHO.js +0 -1
  308. zenml/zen_server/dashboard/assets/update-server-settings-mutation-DwMM1LJz.js +0 -1
  309. {zenml_nightly-0.82.1.dev20250526.dist-info → zenml_nightly-0.82.1.dev20250528.dist-info}/LICENSE +0 -0
  310. {zenml_nightly-0.82.1.dev20250526.dist-info → zenml_nightly-0.82.1.dev20250528.dist-info}/WHEEL +0 -0
  311. {zenml_nightly-0.82.1.dev20250526.dist-info → zenml_nightly-0.82.1.dev20250528.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,4 @@
1
- import{r as v,R as Gr,a as Xr}from"./@radix-C7hRs6Kx.js";/**
1
+ import{r as g,R as Yr,a as Gr}from"./@radix-Cdvw4jJ8.js";/**
2
2
  * @remix-run/router v1.20.0
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
@@ -7,8 +7,8 @@ import{r as v,R as Gr,a as Xr}from"./@radix-C7hRs6Kx.js";/**
7
7
  * LICENSE.md file in the root directory of this source tree.
8
8
  *
9
9
  * @license MIT
10
- */function V(){return V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},V.apply(this,arguments)}var Y;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Y||(Y={}));const Gt="popstate";function Qr(e){e===void 0&&(e={});function t(n,a){let{pathname:l,search:o,hash:c}=n.location;return Ze("",{pathname:l,search:o,hash:c},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:Me(a)}return qr(t,r,null,e)}function F(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Be(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Zr(){return Math.random().toString(36).substr(2,8)}function Xt(e,t){return{usr:e.state,key:e.key,idx:t}}function Ze(e,t,r,n){return r===void 0&&(r=null),V({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?be(t):t,{state:r,key:t&&t.key||n||Zr()})}function Me(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 be(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 qr(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:l=!1}=n,o=a.history,c=Y.Pop,u=null,f=h();f==null&&(f=0,o.replaceState(V({},o.state,{idx:f}),""));function h(){return(o.state||{idx:null}).idx}function p(){c=Y.Pop;let M=h(),I=M==null?null:M-f;f=M,u&&u({action:c,location:b.location,delta:I})}function y(M,I){c=Y.Push;let L=Ze(b.location,M,I);f=h()+1;let j=Xt(L,f),O=b.createHref(L);try{o.pushState(j,"",O)}catch(G){if(G instanceof DOMException&&G.name==="DataCloneError")throw G;a.location.assign(O)}l&&u&&u({action:c,location:b.location,delta:1})}function w(M,I){c=Y.Replace;let L=Ze(b.location,M,I);f=h();let j=Xt(L,f),O=b.createHref(L);o.replaceState(j,"",O),l&&u&&u({action:c,location:b.location,delta:0})}function P(M){let I=a.location.origin!=="null"?a.location.origin:a.location.href,L=typeof M=="string"?M:Me(M);return L=L.replace(/ $/,"%20"),F(I,"No window.location.(origin|href) available to create URL for href: "+L),new URL(L,I)}let b={get action(){return c},get location(){return e(a,o)},listen(M){if(u)throw new Error("A history only accepts one active listener");return a.addEventListener(Gt,p),u=M,()=>{a.removeEventListener(Gt,p),u=null}},createHref(M){return t(a,M)},createURL:P,encodeLocation(M){let I=P(M);return{pathname:I.pathname,search:I.search,hash:I.hash}},push:y,replace:w,go(M){return o.go(M)}};return b}var H;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(H||(H={}));const en=new Set(["lazy","caseSensitive","path","id","index","children"]);function tn(e){return e.index===!0}function dt(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,l)=>{let o=[...r,String(l)],c=typeof a.id=="string"?a.id:o.join("-");if(F(a.index!==!0||!a.children,"Cannot specify children on an index route"),F(!n[c],'Found a route id collision on id "'+c+`". Route id's must be globally unique within Data Router usages`),tn(a)){let u=V({},a,t(a),{id:c});return n[c]=u,u}else{let u=V({},a,t(a),{id:c,children:void 0});return n[c]=u,a.children&&(u.children=dt(a.children,t,o,n)),u}})}function Le(e,t,r){return r===void 0&&(r="/"),ct(e,t,r,!1)}function ct(e,t,r,n){let a=typeof t=="string"?be(t):t,l=pe(a.pathname||"/",r);if(l==null)return null;let o=vr(e);nn(o);let c=null;for(let u=0;c==null&&u<o.length;++u){let f=mn(l);c=hn(o[u],f,n)}return c}function rn(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 vr(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let a=(l,o,c)=>{let u={relativePath:c===void 0?l.path||"":c,caseSensitive:l.caseSensitive===!0,childrenIndex:o,route:l};u.relativePath.startsWith("/")&&(F(u.relativePath.startsWith(n),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(n.length));let f=he([n,u.relativePath]),h=r.concat(u);l.children&&l.children.length>0&&(F(l.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+f+'".')),vr(l.children,t,h,f)),!(l.path==null&&!l.index)&&t.push({path:f,score:dn(f,l.index),routesMeta:h})};return e.forEach((l,o)=>{var c;if(l.path===""||!((c=l.path)!=null&&c.includes("?")))a(l,o);else for(let u of gr(l.path))a(l,o,u)}),t}function gr(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),l=r.replace(/\?$/,"");if(n.length===0)return a?[l,""]:[l];let o=gr(n.join("/")),c=[];return c.push(...o.map(u=>u===""?l:[l,u].join("/"))),a&&c.push(...o),c.map(u=>e.startsWith("/")&&u===""?"/":u)}function nn(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:fn(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const an=/^:[\w-]+$/,on=3,ln=2,sn=1,un=10,cn=-2,Qt=e=>e==="*";function dn(e,t){let r=e.split("/"),n=r.length;return r.some(Qt)&&(n+=cn),t&&(n+=ln),r.filter(a=>!Qt(a)).reduce((a,l)=>a+(an.test(l)?on:l===""?sn:un),n)}function fn(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function hn(e,t,r){r===void 0&&(r=!1);let{routesMeta:n}=e,a={},l="/",o=[];for(let c=0;c<n.length;++c){let u=n[c],f=c===n.length-1,h=l==="/"?t:t.slice(l.length)||"/",p=ft({path:u.relativePath,caseSensitive:u.caseSensitive,end:f},h),y=u.route;if(!p&&f&&r&&!n[n.length-1].route.index&&(p=ft({path:u.relativePath,caseSensitive:u.caseSensitive,end:!1},h)),!p)return null;Object.assign(a,p.params),o.push({params:a,pathname:he([l,p.pathname]),pathnameBase:yn(he([l,p.pathnameBase])),route:y}),p.pathnameBase!=="/"&&(l=he([l,p.pathnameBase]))}return o}function ft(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=pn(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let l=a[0],o=l.replace(/(.)\/+$/,"$1"),c=a.slice(1);return{params:n.reduce((f,h,p)=>{let{paramName:y,isOptional:w}=h;if(y==="*"){let b=c[p]||"";o=l.slice(0,l.length-b.length).replace(/(.)\/+$/,"$1")}const P=c[p];return w&&!P?f[y]=void 0:f[y]=(P||"").replace(/%2F/g,"/"),f},{}),pathname:l,pathnameBase:o,pattern:e}}function pn(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),Be(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,(o,c,u)=>(n.push({paramName:c,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function mn(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Be(!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 pe(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function vn(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?be(e):e;return{pathname:r?r.startsWith("/")?r:gn(r,t):t,search:wn(n),hash:bn(a)}}function gn(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function xt(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 yr(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function mt(e,t){let r=yr(e);return t?r.map((n,a)=>a===r.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function vt(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=be(e):(a=V({},e),F(!a.pathname||!a.pathname.includes("?"),xt("?","pathname","search",a)),F(!a.pathname||!a.pathname.includes("#"),xt("#","pathname","hash",a)),F(!a.search||!a.search.includes("#"),xt("#","search","hash",a)));let l=e===""||a.pathname==="",o=l?"/":a.pathname,c;if(o==null)c=r;else{let p=t.length-1;if(!n&&o.startsWith("..")){let y=o.split("/");for(;y[0]==="..";)y.shift(),p-=1;a.pathname=y.join("/")}c=p>=0?t[p]:"/"}let u=vn(a,c),f=o&&o!=="/"&&o.endsWith("/"),h=(l||o===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(f||h)&&(u.pathname+="/"),u}const he=e=>e.join("/").replace(/\/\/+/g,"/"),yn=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),wn=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,bn=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class ht{constructor(t,r,n,a){a===void 0&&(a=!1),this.status=t,this.statusText=r||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}}function gt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const wr=["post","put","patch","delete"],Rn=new Set(wr),En=["get",...wr],xn=new Set(En),Sn=new Set([301,302,303,307,308]),Pn=new Set([307,308]),St={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ln={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ye={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Ft=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Cn=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),br="remix-router-transitions";function Dn(e){const t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",n=!r;F(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a;if(e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let i=e.detectErrorBoundary;a=s=>({hasErrorBoundary:i(s)})}else a=Cn;let l={},o=dt(e.routes,a,void 0,l),c,u=e.basename||"/",f=e.dataStrategy||Un,h=e.patchRoutesOnNavigation,p=V({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),y=null,w=new Set,P=null,b=null,M=null,I=e.hydrationData!=null,L=Le(o,e.history.location,u),j=null;if(L==null&&!h){let i=ae(404,{pathname:e.history.location.pathname}),{matches:s,route:d}=sr(o);L=s,j={[d.id]:i}}L&&!e.hydrationData&&it(L,o,e.history.location.pathname).active&&(L=null);let O;if(L)if(L.some(i=>i.route.lazy))O=!1;else if(!L.some(i=>i.route.loader))O=!0;else if(p.v7_partialHydration){let i=e.hydrationData?e.hydrationData.loaderData:null,s=e.hydrationData?e.hydrationData.errors:null;if(s){let d=L.findIndex(g=>s[g.route.id]!==void 0);O=L.slice(0,d+1).every(g=>!Ct(g.route,i,s))}else O=L.every(d=>!Ct(d.route,i,s))}else O=e.hydrationData!=null;else if(O=!1,L=[],p.v7_partialHydration){let i=it(null,o,e.history.location.pathname);i.active&&i.matches&&(L=i.matches)}let G,m={historyAction:e.history.action,location:e.history.location,matches:L,initialized:O,navigation:St,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||j,fetchers:new Map,blockers:new Map},X=Y.Pop,U=!1,_,k=!1,Q=new Map,Z=null,ne=!1,q=!1,Fe=[],et=new Set,ee=new Map,tt=0,He=-1,Ue=new Map,ue=new Set,Oe=new Map,We=new Map,ce=new Set,Re=new Map,Ee=new Map,rt;function Ur(){if(y=e.history.listen(i=>{let{action:s,location:d,delta:g}=i;if(rt){rt(),rt=void 0;return}Be(Ee.size===0||g!=null,"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 R=$t({currentLocation:m.location,nextLocation:d,historyAction:s});if(R&&g!=null){let C=new Promise(T=>{rt=T});e.history.go(g*-1),at(R,{state:"blocked",location:d,proceed(){at(R,{state:"proceeding",proceed:void 0,reset:void 0,location:d}),C.then(()=>e.history.go(g))},reset(){let T=new Map(m.blockers);T.set(R,Ye),re({blockers:T})}});return}return xe(s,d)}),r){Kn(t,Q);let i=()=>Jn(t,Q);t.addEventListener("pagehide",i),Z=()=>t.removeEventListener("pagehide",i)}return m.initialized||xe(Y.Pop,m.location,{initialHydration:!0}),G}function Or(){y&&y(),Z&&Z(),w.clear(),_&&_.abort(),m.fetchers.forEach((i,s)=>nt(s)),m.blockers.forEach((i,s)=>Vt(s))}function _r(i){return w.add(i),()=>w.delete(i)}function re(i,s){s===void 0&&(s={}),m=V({},m,i);let d=[],g=[];p.v7_fetcherPersist&&m.fetchers.forEach((R,C)=>{R.state==="idle"&&(ce.has(C)?g.push(C):d.push(C))}),[...w].forEach(R=>R(m,{deletedFetchers:g,viewTransitionOpts:s.viewTransitionOpts,flushSync:s.flushSync===!0})),p.v7_fetcherPersist&&(d.forEach(R=>m.fetchers.delete(R)),g.forEach(R=>nt(R)))}function _e(i,s,d){var g,R;let{flushSync:C}=d===void 0?{}:d,T=m.actionData!=null&&m.navigation.formMethod!=null&&oe(m.navigation.formMethod)&&m.navigation.state==="loading"&&((g=i.state)==null?void 0:g._isRedirect)!==!0,x;s.actionData?Object.keys(s.actionData).length>0?x=s.actionData:x=null:T?x=m.actionData:x=null;let S=s.loaderData?or(m.loaderData,s.loaderData,s.matches||[],s.errors):m.loaderData,E=m.blockers;E.size>0&&(E=new Map(E),E.forEach((A,te)=>E.set(te,Ye)));let D=U===!0||m.navigation.formMethod!=null&&oe(m.navigation.formMethod)&&((R=i.state)==null?void 0:R._isRedirect)!==!0;c&&(o=c,c=void 0),ne||X===Y.Pop||(X===Y.Push?e.history.push(i,i.state):X===Y.Replace&&e.history.replace(i,i.state));let N;if(X===Y.Pop){let A=Q.get(m.location.pathname);A&&A.has(i.pathname)?N={currentLocation:m.location,nextLocation:i}:Q.has(i.pathname)&&(N={currentLocation:i,nextLocation:m.location})}else if(k){let A=Q.get(m.location.pathname);A?A.add(i.pathname):(A=new Set([i.pathname]),Q.set(m.location.pathname,A)),N={currentLocation:m.location,nextLocation:i}}re(V({},s,{actionData:x,loaderData:S,historyAction:X,location:i,initialized:!0,navigation:St,revalidation:"idle",restoreScrollPosition:Jt(i,s.matches||m.matches),preventScrollReset:D,blockers:E}),{viewTransitionOpts:N,flushSync:C===!0}),X=Y.Pop,U=!1,k=!1,ne=!1,q=!1,Fe=[]}async function It(i,s){if(typeof i=="number"){e.history.go(i);return}let d=Lt(m.location,m.matches,u,p.v7_prependBasename,i,p.v7_relativeSplatPath,s==null?void 0:s.fromRouteId,s==null?void 0:s.relative),{path:g,submission:R,error:C}=Zt(p.v7_normalizeFormMethod,!1,d,s),T=m.location,x=Ze(m.location,g,s&&s.state);x=V({},x,e.history.encodeLocation(x));let S=s&&s.replace!=null?s.replace:void 0,E=Y.Push;S===!0?E=Y.Replace:S===!1||R!=null&&oe(R.formMethod)&&R.formAction===m.location.pathname+m.location.search&&(E=Y.Replace);let D=s&&"preventScrollReset"in s?s.preventScrollReset===!0:void 0,N=(s&&s.flushSync)===!0,A=$t({currentLocation:T,nextLocation:x,historyAction:E});if(A){at(A,{state:"blocked",location:x,proceed(){at(A,{state:"proceeding",proceed:void 0,reset:void 0,location:x}),It(i,s)},reset(){let te=new Map(m.blockers);te.set(A,Ye),re({blockers:te})}});return}return await xe(E,x,{submission:R,pendingError:C,preventScrollReset:D,replace:s&&s.replace,enableViewTransition:s&&s.viewTransition,flushSync:N})}function Nr(){if(wt(),re({revalidation:"loading"}),m.navigation.state!=="submitting"){if(m.navigation.state==="idle"){xe(m.historyAction,m.location,{startUninterruptedRevalidation:!0});return}xe(X||m.historyAction,m.navigation.location,{overrideNavigation:m.navigation,enableViewTransition:k===!0})}}async function xe(i,s,d){_&&_.abort(),_=null,X=i,ne=(d&&d.startUninterruptedRevalidation)===!0,$r(m.location,m.matches),U=(d&&d.preventScrollReset)===!0,k=(d&&d.enableViewTransition)===!0;let g=c||o,R=d&&d.overrideNavigation,C=Le(g,s,u),T=(d&&d.flushSync)===!0,x=it(C,g,s.pathname);if(x.active&&x.matches&&(C=x.matches),!C){let{error:W,notFoundMatches:z,route:$}=bt(s.pathname);_e(s,{matches:z,loaderData:{},errors:{[$.id]:W}},{flushSync:T});return}if(m.initialized&&!q&&An(m.location,s)&&!(d&&d.submission&&oe(d.submission.formMethod))){_e(s,{matches:C},{flushSync:T});return}_=new AbortController;let S=Ae(e.history,s,_.signal,d&&d.submission),E;if(d&&d.pendingError)E=[Ce(C).route.id,{type:H.error,error:d.pendingError}];else if(d&&d.submission&&oe(d.submission.formMethod)){let W=await jr(S,s,d.submission,C,x.active,{replace:d.replace,flushSync:T});if(W.shortCircuited)return;if(W.pendingActionResult){let[z,$]=W.pendingActionResult;if(ie($)&&gt($.error)&&$.error.status===404){_=null,_e(s,{matches:W.matches,loaderData:{},errors:{[z]:$.error}});return}}C=W.matches||C,E=W.pendingActionResult,R=Pt(s,d.submission),T=!1,x.active=!1,S=Ae(e.history,S.url,S.signal)}let{shortCircuited:D,matches:N,loaderData:A,errors:te}=await Ir(S,s,C,x.active,R,d&&d.submission,d&&d.fetcherSubmission,d&&d.replace,d&&d.initialHydration===!0,T,E);D||(_=null,_e(s,V({matches:N||C},lr(E),{loaderData:A,errors:te})))}async function jr(i,s,d,g,R,C){C===void 0&&(C={}),wt();let T=Vn(s,d);if(re({navigation:T},{flushSync:C.flushSync===!0}),R){let E=await ot(g,s.pathname,i.signal);if(E.type==="aborted")return{shortCircuited:!0};if(E.type==="error"){let D=Ce(E.partialMatches).route.id;return{matches:E.partialMatches,pendingActionResult:[D,{type:H.error,error:E.error}]}}else if(E.matches)g=E.matches;else{let{notFoundMatches:D,error:N,route:A}=bt(s.pathname);return{matches:D,pendingActionResult:[A.id,{type:H.error,error:N}]}}}let x,S=Qe(g,s);if(!S.route.action&&!S.route.lazy)x={type:H.error,error:ae(405,{method:i.method,pathname:s.pathname,routeId:S.route.id})};else if(x=(await Ve("action",m,i,[S],g,null))[S.route.id],i.signal.aborted)return{shortCircuited:!0};if(De(x)){let E;return C&&C.replace!=null?E=C.replace:E=nr(x.response.headers.get("Location"),new URL(i.url),u)===m.location.pathname+m.location.search,await Se(i,x,!0,{submission:d,replace:E}),{shortCircuited:!0}}if(we(x))throw ae(400,{type:"defer-action"});if(ie(x)){let E=Ce(g,S.route.id);return(C&&C.replace)!==!0&&(X=Y.Push),{matches:g,pendingActionResult:[E.route.id,x]}}return{matches:g,pendingActionResult:[S.route.id,x]}}async function Ir(i,s,d,g,R,C,T,x,S,E,D){let N=R||Pt(s,C),A=C||T||cr(N),te=!ne&&(!p.v7_partialHydration||!S);if(g){if(te){let K=At(D);re(V({navigation:N},K!==void 0?{actionData:K}:{}),{flushSync:E})}let B=await ot(d,s.pathname,i.signal);if(B.type==="aborted")return{shortCircuited:!0};if(B.type==="error"){let K=Ce(B.partialMatches).route.id;return{matches:B.partialMatches,loaderData:{},errors:{[K]:B.error}}}else if(B.matches)d=B.matches;else{let{error:K,notFoundMatches:je,route:Je}=bt(s.pathname);return{matches:je,loaderData:{},errors:{[Je.id]:K}}}}let W=c||o,[z,$]=er(e.history,m,d,A,s,p.v7_partialHydration&&S===!0,p.v7_skipActionErrorRevalidation,q,Fe,et,ce,Oe,ue,W,u,D);if(Rt(B=>!(d&&d.some(K=>K.route.id===B))||z&&z.some(K=>K.route.id===B)),He=++tt,z.length===0&&$.length===0){let B=Ht();return _e(s,V({matches:d,loaderData:{},errors:D&&ie(D[1])?{[D[0]]:D[1].error}:null},lr(D),B?{fetchers:new Map(m.fetchers)}:{}),{flushSync:E}),{shortCircuited:!0}}if(te){let B={};if(!g){B.navigation=N;let K=At(D);K!==void 0&&(B.actionData=K)}$.length>0&&(B.fetchers=Ar($)),re(B,{flushSync:E})}$.forEach(B=>{ge(B.key),B.controller&&ee.set(B.key,B.controller)});let Ne=()=>$.forEach(B=>ge(B.key));_&&_.signal.addEventListener("abort",Ne);let{loaderResults:$e,fetcherResults:fe}=await Bt(m,d,z,$,i);if(i.signal.aborted)return{shortCircuited:!0};_&&_.signal.removeEventListener("abort",Ne),$.forEach(B=>ee.delete(B.key));let le=ut($e);if(le)return await Se(i,le.result,!0,{replace:x}),{shortCircuited:!0};if(le=ut(fe),le)return ue.add(le.key),await Se(i,le.result,!0,{replace:x}),{shortCircuited:!0};let{loaderData:Et,errors:Ke}=ir(m,d,$e,D,$,fe,Re);Re.forEach((B,K)=>{B.subscribe(je=>{(je||B.done)&&Re.delete(K)})}),p.v7_partialHydration&&S&&m.errors&&(Ke=V({},m.errors,Ke));let Pe=Ht(),lt=Wt(He),st=Pe||lt||$.length>0;return V({matches:d,loaderData:Et,errors:Ke},st?{fetchers:new Map(m.fetchers)}:{})}function At(i){if(i&&!ie(i[1]))return{[i[0]]:i[1].data};if(m.actionData)return Object.keys(m.actionData).length===0?null:m.actionData}function Ar(i){return i.forEach(s=>{let d=m.fetchers.get(s.key),g=Ge(void 0,d?d.data:void 0);m.fetchers.set(s.key,g)}),new Map(m.fetchers)}function Br(i,s,d,g){if(n)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.");ge(i);let R=(g&&g.flushSync)===!0,C=c||o,T=Lt(m.location,m.matches,u,p.v7_prependBasename,d,p.v7_relativeSplatPath,s,g==null?void 0:g.relative),x=Le(C,T,u),S=it(x,C,T);if(S.active&&S.matches&&(x=S.matches),!x){de(i,s,ae(404,{pathname:T}),{flushSync:R});return}let{path:E,submission:D,error:N}=Zt(p.v7_normalizeFormMethod,!0,T,g);if(N){de(i,s,N,{flushSync:R});return}let A=Qe(x,E),te=(g&&g.preventScrollReset)===!0;if(D&&oe(D.formMethod)){zr(i,s,E,A,x,S.active,R,te,D);return}Oe.set(i,{routeId:s,path:E}),kr(i,s,E,A,x,S.active,R,te,D)}async function zr(i,s,d,g,R,C,T,x,S){wt(),Oe.delete(i);function E(J){if(!J.route.action&&!J.route.lazy){let Ie=ae(405,{method:S.formMethod,pathname:d,routeId:s});return de(i,s,Ie,{flushSync:T}),!0}return!1}if(!C&&E(g))return;let D=m.fetchers.get(i);ve(i,$n(S,D),{flushSync:T});let N=new AbortController,A=Ae(e.history,d,N.signal,S);if(C){let J=await ot(R,d,A.signal);if(J.type==="aborted")return;if(J.type==="error"){de(i,s,J.error,{flushSync:T});return}else if(J.matches){if(R=J.matches,g=Qe(R,d),E(g))return}else{de(i,s,ae(404,{pathname:d}),{flushSync:T});return}}ee.set(i,N);let te=tt,z=(await Ve("action",m,A,[g],R,i))[g.route.id];if(A.signal.aborted){ee.get(i)===N&&ee.delete(i);return}if(p.v7_fetcherPersist&&ce.has(i)){if(De(z)||ie(z)){ve(i,ye(void 0));return}}else{if(De(z))if(ee.delete(i),He>te){ve(i,ye(void 0));return}else return ue.add(i),ve(i,Ge(S)),Se(A,z,!1,{fetcherSubmission:S,preventScrollReset:x});if(ie(z)){de(i,s,z.error);return}}if(we(z))throw ae(400,{type:"defer-action"});let $=m.navigation.location||m.location,Ne=Ae(e.history,$,N.signal),$e=c||o,fe=m.navigation.state!=="idle"?Le($e,m.navigation.location,u):m.matches;F(fe,"Didn't find any matches after fetcher action");let le=++tt;Ue.set(i,le);let Et=Ge(S,z.data);m.fetchers.set(i,Et);let[Ke,Pe]=er(e.history,m,fe,S,$,!1,p.v7_skipActionErrorRevalidation,q,Fe,et,ce,Oe,ue,$e,u,[g.route.id,z]);Pe.filter(J=>J.key!==i).forEach(J=>{let Ie=J.key,Yt=m.fetchers.get(Ie),Yr=Ge(void 0,Yt?Yt.data:void 0);m.fetchers.set(Ie,Yr),ge(Ie),J.controller&&ee.set(Ie,J.controller)}),re({fetchers:new Map(m.fetchers)});let lt=()=>Pe.forEach(J=>ge(J.key));N.signal.addEventListener("abort",lt);let{loaderResults:st,fetcherResults:B}=await Bt(m,fe,Ke,Pe,Ne);if(N.signal.aborted)return;N.signal.removeEventListener("abort",lt),Ue.delete(i),ee.delete(i),Pe.forEach(J=>ee.delete(J.key));let K=ut(st);if(K)return Se(Ne,K.result,!1,{preventScrollReset:x});if(K=ut(B),K)return ue.add(K.key),Se(Ne,K.result,!1,{preventScrollReset:x});let{loaderData:je,errors:Je}=ir(m,fe,st,void 0,Pe,B,Re);if(m.fetchers.has(i)){let J=ye(z.data);m.fetchers.set(i,J)}Wt(le),m.navigation.state==="loading"&&le>He?(F(X,"Expected pending action"),_&&_.abort(),_e(m.navigation.location,{matches:fe,loaderData:je,errors:Je,fetchers:new Map(m.fetchers)})):(re({errors:Je,loaderData:or(m.loaderData,je,fe,Je),fetchers:new Map(m.fetchers)}),q=!1)}async function kr(i,s,d,g,R,C,T,x,S){let E=m.fetchers.get(i);ve(i,Ge(S,E?E.data:void 0),{flushSync:T});let D=new AbortController,N=Ae(e.history,d,D.signal);if(C){let z=await ot(R,d,N.signal);if(z.type==="aborted")return;if(z.type==="error"){de(i,s,z.error,{flushSync:T});return}else if(z.matches)R=z.matches,g=Qe(R,d);else{de(i,s,ae(404,{pathname:d}),{flushSync:T});return}}ee.set(i,D);let A=tt,W=(await Ve("loader",m,N,[g],R,i))[g.route.id];if(we(W)&&(W=await Ut(W,N.signal,!0)||W),ee.get(i)===D&&ee.delete(i),!N.signal.aborted){if(ce.has(i)){ve(i,ye(void 0));return}if(De(W))if(He>A){ve(i,ye(void 0));return}else{ue.add(i),await Se(N,W,!1,{preventScrollReset:x});return}if(ie(W)){de(i,s,W.error);return}F(!we(W),"Unhandled fetcher deferred data"),ve(i,ye(W.data))}}async function Se(i,s,d,g){let{submission:R,fetcherSubmission:C,preventScrollReset:T,replace:x}=g===void 0?{}:g;s.response.headers.has("X-Remix-Revalidate")&&(q=!0);let S=s.response.headers.get("Location");F(S,"Expected a Location header on the redirect Response"),S=nr(S,new URL(i.url),u);let E=Ze(m.location,S,{_isRedirect:!0});if(r){let z=!1;if(s.response.headers.has("X-Remix-Reload-Document"))z=!0;else if(Ft.test(S)){const $=e.history.createURL(S);z=$.origin!==t.location.origin||pe($.pathname,u)==null}if(z){x?t.location.replace(S):t.location.assign(S);return}}_=null;let D=x===!0||s.response.headers.has("X-Remix-Replace")?Y.Replace:Y.Push,{formMethod:N,formAction:A,formEncType:te}=m.navigation;!R&&!C&&N&&A&&te&&(R=cr(m.navigation));let W=R||C;if(Pn.has(s.response.status)&&W&&oe(W.formMethod))await xe(D,E,{submission:V({},W,{formAction:S}),preventScrollReset:T||U,enableViewTransition:d?k:void 0});else{let z=Pt(E,R);await xe(D,E,{overrideNavigation:z,fetcherSubmission:C,preventScrollReset:T||U,enableViewTransition:d?k:void 0})}}async function Ve(i,s,d,g,R,C){let T,x={};try{T=await On(f,i,s,d,g,R,C,l,a)}catch(S){return g.forEach(E=>{x[E.route.id]={type:H.error,error:S}}),x}for(let[S,E]of Object.entries(T))if(Bn(E)){let D=E.result;x[S]={type:H.redirect,response:jn(D,d,S,R,u,p.v7_relativeSplatPath)}}else x[S]=await Nn(E);return x}async function Bt(i,s,d,g,R){let C=i.matches,T=Ve("loader",i,R,d,s,null),x=Promise.all(g.map(async D=>{if(D.matches&&D.match&&D.controller){let A=(await Ve("loader",i,Ae(e.history,D.path,D.controller.signal),[D.match],D.matches,D.key))[D.match.route.id];return{[D.key]:A}}else return Promise.resolve({[D.key]:{type:H.error,error:ae(404,{pathname:D.path})}})})),S=await T,E=(await x).reduce((D,N)=>Object.assign(D,N),{});return await Promise.all([Hn(s,S,R.signal,C,i.loaderData),Wn(s,E,g)]),{loaderResults:S,fetcherResults:E}}function wt(){q=!0,Fe.push(...Rt()),Oe.forEach((i,s)=>{ee.has(s)&&et.add(s),ge(s)})}function ve(i,s,d){d===void 0&&(d={}),m.fetchers.set(i,s),re({fetchers:new Map(m.fetchers)},{flushSync:(d&&d.flushSync)===!0})}function de(i,s,d,g){g===void 0&&(g={});let R=Ce(m.matches,s);nt(i),re({errors:{[R.route.id]:d},fetchers:new Map(m.fetchers)},{flushSync:(g&&g.flushSync)===!0})}function zt(i){return p.v7_fetcherPersist&&(We.set(i,(We.get(i)||0)+1),ce.has(i)&&ce.delete(i)),m.fetchers.get(i)||Ln}function nt(i){let s=m.fetchers.get(i);ee.has(i)&&!(s&&s.state==="loading"&&Ue.has(i))&&ge(i),Oe.delete(i),Ue.delete(i),ue.delete(i),ce.delete(i),et.delete(i),m.fetchers.delete(i)}function Hr(i){if(p.v7_fetcherPersist){let s=(We.get(i)||0)-1;s<=0?(We.delete(i),ce.add(i)):We.set(i,s)}else nt(i);re({fetchers:new Map(m.fetchers)})}function ge(i){let s=ee.get(i);s&&(s.abort(),ee.delete(i))}function kt(i){for(let s of i){let d=zt(s),g=ye(d.data);m.fetchers.set(s,g)}}function Ht(){let i=[],s=!1;for(let d of ue){let g=m.fetchers.get(d);F(g,"Expected fetcher: "+d),g.state==="loading"&&(ue.delete(d),i.push(d),s=!0)}return kt(i),s}function Wt(i){let s=[];for(let[d,g]of Ue)if(g<i){let R=m.fetchers.get(d);F(R,"Expected fetcher: "+d),R.state==="loading"&&(ge(d),Ue.delete(d),s.push(d))}return kt(s),s.length>0}function Wr(i,s){let d=m.blockers.get(i)||Ye;return Ee.get(i)!==s&&Ee.set(i,s),d}function Vt(i){m.blockers.delete(i),Ee.delete(i)}function at(i,s){let d=m.blockers.get(i)||Ye;F(d.state==="unblocked"&&s.state==="blocked"||d.state==="blocked"&&s.state==="blocked"||d.state==="blocked"&&s.state==="proceeding"||d.state==="blocked"&&s.state==="unblocked"||d.state==="proceeding"&&s.state==="unblocked","Invalid blocker state transition: "+d.state+" -> "+s.state);let g=new Map(m.blockers);g.set(i,s),re({blockers:g})}function $t(i){let{currentLocation:s,nextLocation:d,historyAction:g}=i;if(Ee.size===0)return;Ee.size>1&&Be(!1,"A router only supports one blocker at a time");let R=Array.from(Ee.entries()),[C,T]=R[R.length-1],x=m.blockers.get(C);if(!(x&&x.state==="proceeding")&&T({currentLocation:s,nextLocation:d,historyAction:g}))return C}function bt(i){let s=ae(404,{pathname:i}),d=c||o,{matches:g,route:R}=sr(d);return Rt(),{notFoundMatches:g,route:R,error:s}}function Rt(i){let s=[];return Re.forEach((d,g)=>{(!i||i(g))&&(d.cancel(),s.push(g),Re.delete(g))}),s}function Vr(i,s,d){if(P=i,M=s,b=d||null,!I&&m.navigation===St){I=!0;let g=Jt(m.location,m.matches);g!=null&&re({restoreScrollPosition:g})}return()=>{P=null,M=null,b=null}}function Kt(i,s){return b&&b(i,s.map(g=>rn(g,m.loaderData)))||i.key}function $r(i,s){if(P&&M){let d=Kt(i,s);P[d]=M()}}function Jt(i,s){if(P){let d=Kt(i,s),g=P[d];if(typeof g=="number")return g}return null}function it(i,s,d){if(h)if(i){if(Object.keys(i[0].params).length>0)return{active:!0,matches:ct(s,d,u,!0)}}else return{active:!0,matches:ct(s,d,u,!0)||[]};return{active:!1,matches:null}}async function ot(i,s,d){if(!h)return{type:"success",matches:i};let g=i;for(;;){let R=c==null,C=c||o,T=l;try{await h({path:s,matches:g,patch:(E,D)=>{d.aborted||rr(E,D,C,T,a)}})}catch(E){return{type:"error",error:E,partialMatches:g}}finally{R&&!d.aborted&&(o=[...o])}if(d.aborted)return{type:"aborted"};let x=Le(C,s,u);if(x)return{type:"success",matches:x};let S=ct(C,s,u,!0);if(!S||g.length===S.length&&g.every((E,D)=>E.route.id===S[D].route.id))return{type:"success",matches:null};g=S}}function Kr(i){l={},c=dt(i,a,void 0,l)}function Jr(i,s){let d=c==null;rr(i,s,c||o,l,a),d&&(o=[...o],re({}))}return G={get basename(){return u},get future(){return p},get state(){return m},get routes(){return o},get window(){return t},initialize:Ur,subscribe:_r,enableScrollRestoration:Vr,navigate:It,fetch:Br,revalidate:Nr,createHref:i=>e.history.createHref(i),encodeLocation:i=>e.history.encodeLocation(i),getFetcher:zt,deleteFetcher:Hr,dispose:Or,getBlocker:Wr,deleteBlocker:Vt,patchRoutes:Jr,_internalFetchControllers:ee,_internalActiveDeferreds:Re,_internalSetRoutes:Kr},G}function Mn(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Lt(e,t,r,n,a,l,o,c){let u,f;if(o){u=[];for(let p of t)if(u.push(p),p.route.id===o){f=p;break}}else u=t,f=t[t.length-1];let h=vt(a||".",mt(u,l),pe(e.pathname,r)||e.pathname,c==="path");if(a==null&&(h.search=e.search,h.hash=e.hash),(a==null||a===""||a===".")&&f){let p=Ot(h.search);if(f.route.index&&!p)h.search=h.search?h.search.replace(/^\?/,"?index&"):"?index";else if(!f.route.index&&p){let y=new URLSearchParams(h.search),w=y.getAll("index");y.delete("index"),w.filter(b=>b).forEach(b=>y.append("index",b));let P=y.toString();h.search=P?"?"+P:""}}return n&&r!=="/"&&(h.pathname=h.pathname==="/"?r:he([r,h.pathname])),Me(h)}function Zt(e,t,r,n){if(!n||!Mn(n))return{path:r};if(n.formMethod&&!kn(n.formMethod))return{path:r,error:ae(405,{method:n.formMethod})};let a=()=>({path:r,error:ae(400,{type:"invalid-body"})}),l=n.formMethod||"get",o=e?l.toUpperCase():l.toLowerCase(),c=xr(r);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!oe(o))return a();let y=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((w,P)=>{let[b,M]=P;return""+w+b+"="+M+`
11
- `},""):String(n.body);return{path:r,submission:{formMethod:o,formAction:c,formEncType:n.formEncType,formData:void 0,json:void 0,text:y}}}else if(n.formEncType==="application/json"){if(!oe(o))return a();try{let y=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:o,formAction:c,formEncType:n.formEncType,formData:void 0,json:y,text:void 0}}}catch{return a()}}}F(typeof FormData=="function","FormData is not available in this environment");let u,f;if(n.formData)u=Dt(n.formData),f=n.formData;else if(n.body instanceof FormData)u=Dt(n.body),f=n.body;else if(n.body instanceof URLSearchParams)u=n.body,f=ar(u);else if(n.body==null)u=new URLSearchParams,f=new FormData;else try{u=new URLSearchParams(n.body),f=ar(u)}catch{return a()}let h={formMethod:o,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:f,json:void 0,text:void 0};if(oe(h.formMethod))return{path:r,submission:h};let p=be(r);return t&&p.search&&Ot(p.search)&&u.append("index",""),p.search="?"+u,{path:Me(p),submission:h}}function qt(e,t,r){r===void 0&&(r=!1);let n=e.findIndex(a=>a.route.id===t);return n>=0?e.slice(0,r?n+1:n):e}function er(e,t,r,n,a,l,o,c,u,f,h,p,y,w,P,b){let M=b?ie(b[1])?b[1].error:b[1].data:void 0,I=e.createURL(t.location),L=e.createURL(a),j=r;l&&t.errors?j=qt(r,Object.keys(t.errors)[0],!0):b&&ie(b[1])&&(j=qt(r,b[0]));let O=b?b[1].statusCode:void 0,G=o&&O&&O>=400,m=j.filter((U,_)=>{let{route:k}=U;if(k.lazy)return!0;if(k.loader==null)return!1;if(l)return Ct(k,t.loaderData,t.errors);if(Tn(t.loaderData,t.matches[_],U)||u.some(ne=>ne===U.route.id))return!0;let Q=t.matches[_],Z=U;return tr(U,V({currentUrl:I,currentParams:Q.params,nextUrl:L,nextParams:Z.params},n,{actionResult:M,actionStatus:O,defaultShouldRevalidate:G?!1:c||I.pathname+I.search===L.pathname+L.search||I.search!==L.search||Rr(Q,Z)}))}),X=[];return p.forEach((U,_)=>{if(l||!r.some(q=>q.route.id===U.routeId)||h.has(_))return;let k=Le(w,U.path,P);if(!k){X.push({key:_,routeId:U.routeId,path:U.path,matches:null,match:null,controller:null});return}let Q=t.fetchers.get(_),Z=Qe(k,U.path),ne=!1;y.has(_)?ne=!1:f.has(_)?(f.delete(_),ne=!0):Q&&Q.state!=="idle"&&Q.data===void 0?ne=c:ne=tr(Z,V({currentUrl:I,currentParams:t.matches[t.matches.length-1].params,nextUrl:L,nextParams:r[r.length-1].params},n,{actionResult:M,actionStatus:O,defaultShouldRevalidate:G?!1:c})),ne&&X.push({key:_,routeId:U.routeId,path:U.path,matches:k,match:Z,controller:new AbortController})}),[m,X]}function Ct(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=t!=null&&t[e.id]!==void 0,a=r!=null&&r[e.id]!==void 0;return!n&&a?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!n&&!a}function Tn(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function Rr(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function tr(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function rr(e,t,r,n,a){var l;let o;if(e){let f=n[e];F(f,"No route found to patch children into: routeId = "+e),f.children||(f.children=[]),o=f.children}else o=r;let c=t.filter(f=>!o.some(h=>Er(f,h))),u=dt(c,a,[e||"_","patch",String(((l=o)==null?void 0:l.length)||"0")],n);o.push(...u)}function Er(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children.every((r,n)=>{var a;return(a=t.children)==null?void 0:a.some(l=>Er(r,l))}):!1}async function Fn(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 l={};for(let o in n){let u=a[o]!==void 0&&o!=="hasErrorBoundary";Be(!u,'Route "'+a.id+'" has a static property "'+o+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+o+'" will be ignored.')),!u&&!en.has(o)&&(l[o]=n[o])}Object.assign(a,l),Object.assign(a,V({},t(a),{lazy:void 0}))}async function Un(e){let{matches:t}=e,r=t.filter(a=>a.shouldLoad);return(await Promise.all(r.map(a=>a.resolve()))).reduce((a,l,o)=>Object.assign(a,{[r[o].route.id]:l}),{})}async function On(e,t,r,n,a,l,o,c,u,f){let h=l.map(w=>w.route.lazy?Fn(w.route,u,c):void 0),p=l.map((w,P)=>{let b=h[P],M=a.some(L=>L.route.id===w.route.id);return V({},w,{shouldLoad:M,resolve:async L=>(L&&n.method==="GET"&&(w.route.lazy||w.route.loader)&&(M=!0),M?_n(t,n,w,b,L,f):Promise.resolve({type:H.data,result:void 0}))})}),y=await e({matches:p,request:n,params:l[0].params,fetcherKey:o,context:f});try{await Promise.all(h)}catch{}return y}async function _n(e,t,r,n,a,l){let o,c,u=f=>{let h,p=new Promise((P,b)=>h=b);c=()=>h(),t.signal.addEventListener("abort",c);let y=P=>typeof f!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: '+r.route.id+"]"))):f({request:t,params:r.params,context:l},...P!==void 0?[P]:[]),w=(async()=>{try{return{type:"data",result:await(a?a(b=>y(b)):y())}}catch(P){return{type:"error",result:P}}})();return Promise.race([w,p])};try{let f=r.route[e];if(n)if(f){let h,[p]=await Promise.all([u(f).catch(y=>{h=y}),n]);if(h!==void 0)throw h;o=p}else if(await n,f=r.route[e],f)o=await u(f);else if(e==="action"){let h=new URL(t.url),p=h.pathname+h.search;throw ae(405,{method:t.method,pathname:p,routeId:r.route.id})}else return{type:H.data,result:void 0};else if(f)o=await u(f);else{let h=new URL(t.url),p=h.pathname+h.search;throw ae(404,{pathname:p})}F(o.result!==void 0,"You defined "+(e==="action"?"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(f){return{type:H.error,result:f}}finally{c&&t.signal.removeEventListener("abort",c)}return o}async function Nn(e){let{result:t,type:r}=e;if(Sr(t)){let f;try{let h=t.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?t.body==null?f=null:f=await t.json():f=await t.text()}catch(h){return{type:H.error,error:h}}return r===H.error?{type:H.error,error:new ht(t.status,t.statusText,f),statusCode:t.status,headers:t.headers}:{type:H.data,data:f,statusCode:t.status,headers:t.headers}}if(r===H.error){if(ur(t)){var n;if(t.data instanceof Error){var a;return{type:H.error,error:t.data,statusCode:(a=t.init)==null?void 0:a.status}}t=new ht(((n=t.init)==null?void 0:n.status)||500,void 0,t.data)}return{type:H.error,error:t,statusCode:gt(t)?t.status:void 0}}if(zn(t)){var l,o;return{type:H.deferred,deferredData:t,statusCode:(l=t.init)==null?void 0:l.status,headers:((o=t.init)==null?void 0:o.headers)&&new Headers(t.init.headers)}}if(ur(t)){var c,u;return{type:H.data,data:t.data,statusCode:(c=t.init)==null?void 0:c.status,headers:(u=t.init)!=null&&u.headers?new Headers(t.init.headers):void 0}}return{type:H.data,data:t}}function jn(e,t,r,n,a,l){let o=e.headers.get("Location");if(F(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!Ft.test(o)){let c=n.slice(0,n.findIndex(u=>u.route.id===r)+1);o=Lt(new URL(t.url),c,a,!0,o,l),e.headers.set("Location",o)}return e}function nr(e,t,r){if(Ft.test(e)){let n=e,a=n.startsWith("//")?new URL(t.protocol+n):new URL(n),l=pe(a.pathname,r)!=null;if(a.origin===t.origin&&l)return a.pathname+a.search+a.hash}return e}function Ae(e,t,r,n){let a=e.createURL(xr(t)).toString(),l={signal:r};if(n&&oe(n.formMethod)){let{formMethod:o,formEncType:c}=n;l.method=o.toUpperCase(),c==="application/json"?(l.headers=new Headers({"Content-Type":c}),l.body=JSON.stringify(n.json)):c==="text/plain"?l.body=n.text:c==="application/x-www-form-urlencoded"&&n.formData?l.body=Dt(n.formData):l.body=n.formData}return new Request(a,l)}function Dt(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function ar(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function In(e,t,r,n,a){let l={},o=null,c,u=!1,f={},h=r&&ie(r[1])?r[1].error:void 0;return e.forEach(p=>{if(!(p.route.id in t))return;let y=p.route.id,w=t[y];if(F(!De(w),"Cannot handle redirect results in processLoaderData"),ie(w)){let P=w.error;h!==void 0&&(P=h,h=void 0),o=o||{};{let b=Ce(e,y);o[b.route.id]==null&&(o[b.route.id]=P)}l[y]=void 0,u||(u=!0,c=gt(w.error)?w.error.status:500),w.headers&&(f[y]=w.headers)}else we(w)?(n.set(y,w.deferredData),l[y]=w.deferredData.data,w.statusCode!=null&&w.statusCode!==200&&!u&&(c=w.statusCode),w.headers&&(f[y]=w.headers)):(l[y]=w.data,w.statusCode&&w.statusCode!==200&&!u&&(c=w.statusCode),w.headers&&(f[y]=w.headers))}),h!==void 0&&r&&(o={[r[0]]:h},l[r[0]]=void 0),{loaderData:l,errors:o,statusCode:c||200,loaderHeaders:f}}function ir(e,t,r,n,a,l,o){let{loaderData:c,errors:u}=In(t,r,n,o);return a.forEach(f=>{let{key:h,match:p,controller:y}=f,w=l[h];if(F(w,"Did not find corresponding fetcher result"),!(y&&y.signal.aborted))if(ie(w)){let P=Ce(e.matches,p==null?void 0:p.route.id);u&&u[P.route.id]||(u=V({},u,{[P.route.id]:w.error})),e.fetchers.delete(h)}else if(De(w))F(!1,"Unhandled fetcher revalidation redirect");else if(we(w))F(!1,"Unhandled fetcher deferred data");else{let P=ye(w.data);e.fetchers.set(h,P)}}),{loaderData:c,errors:u}}function or(e,t,r,n){let a=V({},t);for(let l of r){let o=l.route.id;if(t.hasOwnProperty(o)?t[o]!==void 0&&(a[o]=t[o]):e[o]!==void 0&&l.route.loader&&(a[o]=e[o]),n&&n.hasOwnProperty(o))break}return a}function lr(e){return e?ie(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Ce(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function sr(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function ae(e,t){let{pathname:r,routeId:n,method:a,type:l,message:o}=t===void 0?{}:t,c="Unknown Server Error",u="Unknown @remix-run/router error";return e===400?(c="Bad Request",a&&r&&n?u="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.":l==="defer-action"?u="defer() is not supported in actions":l==="invalid-body"&&(u="Unable to encode submission body")):e===403?(c="Forbidden",u='Route "'+n+'" does not match URL "'+r+'"'):e===404?(c="Not Found",u='No route matches URL "'+r+'"'):e===405&&(c="Method Not Allowed",a&&r&&n?u="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&&(u='Invalid request method "'+a.toUpperCase()+'"')),new ht(e||500,c,new Error(u),!0)}function ut(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if(De(a))return{key:n,result:a}}}function xr(e){let t=typeof e=="string"?be(e):e;return Me(V({},t,{hash:""}))}function An(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Bn(e){return Sr(e.result)&&Sn.has(e.result.status)}function we(e){return e.type===H.deferred}function ie(e){return e.type===H.error}function De(e){return(e&&e.type)===H.redirect}function ur(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function zn(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"}function Sr(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function kn(e){return xn.has(e.toLowerCase())}function oe(e){return Rn.has(e.toLowerCase())}async function Hn(e,t,r,n,a){let l=Object.entries(t);for(let o=0;o<l.length;o++){let[c,u]=l[o],f=e.find(y=>(y==null?void 0:y.route.id)===c);if(!f)continue;let h=n.find(y=>y.route.id===f.route.id),p=h!=null&&!Rr(h,f)&&(a&&a[f.route.id])!==void 0;we(u)&&p&&await Ut(u,r,!1).then(y=>{y&&(t[c]=y)})}}async function Wn(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:l,controller:o}=r[n],c=t[a];e.find(f=>(f==null?void 0:f.route.id)===l)&&we(c)&&(F(o,"Expected an AbortController for revalidating fetcher deferred result"),await Ut(c,o.signal,!0).then(f=>{f&&(t[a]=f)}))}}async function Ut(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:H.data,data:e.deferredData.unwrappedData}}catch(a){return{type:H.error,error:a}}return{type:H.data,data:e.deferredData.data}}}function Ot(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Qe(e,t){let r=typeof t=="string"?be(t).search:t.search;if(e[e.length-1].route.index&&Ot(r||""))return e[e.length-1];let n=yr(e);return n[n.length-1]}function cr(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:l,json:o}=e;if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(l!=null)return{formMethod:t,formAction:r,formEncType:n,formData:l,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:o,text:void 0}}}function Pt(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 Vn(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}}function Ge(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 $n(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}}function ye(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 Kn(e,t){try{let r=e.sessionStorage.getItem(br);if(r){let n=JSON.parse(r);for(let[a,l]of Object.entries(n||{}))l&&Array.isArray(l)&&t.set(a,new Set(l||[]))}}catch{}}function Jn(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(br,JSON.stringify(r))}catch(n){Be(!1,"Failed to save applied view transitions in sessionStorage ("+n+").")}}}/**
10
+ */function V(){return V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},V.apply(this,arguments)}var Y;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Y||(Y={}));const Gt="popstate";function Xr(e){e===void 0&&(e={});function t(n,a){let{pathname:l,search:o,hash:c}=n.location;return Ze("",{pathname:l,search:o,hash:c},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:Me(a)}return Zr(t,r,null,e)}function F(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Be(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Qr(){return Math.random().toString(36).substr(2,8)}function Xt(e,t){return{usr:e.state,key:e.key,idx:t}}function Ze(e,t,r,n){return r===void 0&&(r=null),V({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?be(t):t,{state:r,key:t&&t.key||n||Qr()})}function Me(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 be(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 Zr(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:l=!1}=n,o=a.history,c=Y.Pop,u=null,f=h();f==null&&(f=0,o.replaceState(V({},o.state,{idx:f}),""));function h(){return(o.state||{idx:null}).idx}function m(){c=Y.Pop;let M=h(),I=M==null?null:M-f;f=M,u&&u({action:c,location:b.location,delta:I})}function y(M,I){c=Y.Push;let L=Ze(b.location,M,I);f=h()+1;let j=Xt(L,f),O=b.createHref(L);try{o.pushState(j,"",O)}catch(G){if(G instanceof DOMException&&G.name==="DataCloneError")throw G;a.location.assign(O)}l&&u&&u({action:c,location:b.location,delta:1})}function w(M,I){c=Y.Replace;let L=Ze(b.location,M,I);f=h();let j=Xt(L,f),O=b.createHref(L);o.replaceState(j,"",O),l&&u&&u({action:c,location:b.location,delta:0})}function P(M){let I=a.location.origin!=="null"?a.location.origin:a.location.href,L=typeof M=="string"?M:Me(M);return L=L.replace(/ $/,"%20"),F(I,"No window.location.(origin|href) available to create URL for href: "+L),new URL(L,I)}let b={get action(){return c},get location(){return e(a,o)},listen(M){if(u)throw new Error("A history only accepts one active listener");return a.addEventListener(Gt,m),u=M,()=>{a.removeEventListener(Gt,m),u=null}},createHref(M){return t(a,M)},createURL:P,encodeLocation(M){let I=P(M);return{pathname:I.pathname,search:I.search,hash:I.hash}},push:y,replace:w,go(M){return o.go(M)}};return b}var H;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(H||(H={}));const qr=new Set(["lazy","caseSensitive","path","id","index","children"]);function en(e){return e.index===!0}function dt(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,l)=>{let o=[...r,String(l)],c=typeof a.id=="string"?a.id:o.join("-");if(F(a.index!==!0||!a.children,"Cannot specify children on an index route"),F(!n[c],'Found a route id collision on id "'+c+`". Route id's must be globally unique within Data Router usages`),en(a)){let u=V({},a,t(a),{id:c});return n[c]=u,u}else{let u=V({},a,t(a),{id:c,children:void 0});return n[c]=u,a.children&&(u.children=dt(a.children,t,o,n)),u}})}function Le(e,t,r){return r===void 0&&(r="/"),ct(e,t,r,!1)}function ct(e,t,r,n){let a=typeof t=="string"?be(t):t,l=me(a.pathname||"/",r);if(l==null)return null;let o=pr(e);rn(o);let c=null;for(let u=0;c==null&&u<o.length;++u){let f=mn(l);c=fn(o[u],f,n)}return c}function tn(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 pr(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let a=(l,o,c)=>{let u={relativePath:c===void 0?l.path||"":c,caseSensitive:l.caseSensitive===!0,childrenIndex:o,route:l};u.relativePath.startsWith("/")&&(F(u.relativePath.startsWith(n),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(n.length));let f=he([n,u.relativePath]),h=r.concat(u);l.children&&l.children.length>0&&(F(l.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+f+'".')),pr(l.children,t,h,f)),!(l.path==null&&!l.index)&&t.push({path:f,score:cn(f,l.index),routesMeta:h})};return e.forEach((l,o)=>{var c;if(l.path===""||!((c=l.path)!=null&&c.includes("?")))a(l,o);else for(let u of vr(l.path))a(l,o,u)}),t}function vr(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),l=r.replace(/\?$/,"");if(n.length===0)return a?[l,""]:[l];let o=vr(n.join("/")),c=[];return c.push(...o.map(u=>u===""?l:[l,u].join("/"))),a&&c.push(...o),c.map(u=>e.startsWith("/")&&u===""?"/":u)}function rn(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:dn(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const nn=/^:[\w-]+$/,an=3,on=2,ln=1,sn=10,un=-2,Qt=e=>e==="*";function cn(e,t){let r=e.split("/"),n=r.length;return r.some(Qt)&&(n+=un),t&&(n+=on),r.filter(a=>!Qt(a)).reduce((a,l)=>a+(nn.test(l)?an:l===""?ln:sn),n)}function dn(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function fn(e,t,r){r===void 0&&(r=!1);let{routesMeta:n}=e,a={},l="/",o=[];for(let c=0;c<n.length;++c){let u=n[c],f=c===n.length-1,h=l==="/"?t:t.slice(l.length)||"/",m=ft({path:u.relativePath,caseSensitive:u.caseSensitive,end:f},h),y=u.route;if(!m&&f&&r&&!n[n.length-1].route.index&&(m=ft({path:u.relativePath,caseSensitive:u.caseSensitive,end:!1},h)),!m)return null;Object.assign(a,m.params),o.push({params:a,pathname:he([l,m.pathname]),pathnameBase:gn(he([l,m.pathnameBase])),route:y}),m.pathnameBase!=="/"&&(l=he([l,m.pathnameBase]))}return o}function ft(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=hn(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let l=a[0],o=l.replace(/(.)\/+$/,"$1"),c=a.slice(1);return{params:n.reduce((f,h,m)=>{let{paramName:y,isOptional:w}=h;if(y==="*"){let b=c[m]||"";o=l.slice(0,l.length-b.length).replace(/(.)\/+$/,"$1")}const P=c[m];return w&&!P?f[y]=void 0:f[y]=(P||"").replace(/%2F/g,"/"),f},{}),pathname:l,pathnameBase:o,pattern:e}}function hn(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),Be(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,(o,c,u)=>(n.push({paramName:c,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function mn(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Be(!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 me(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function pn(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?be(e):e;return{pathname:r?r.startsWith("/")?r:vn(r,t):t,search:yn(n),hash:wn(a)}}function vn(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function xt(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 gr(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function pt(e,t){let r=gr(e);return t?r.map((n,a)=>a===r.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function vt(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=be(e):(a=V({},e),F(!a.pathname||!a.pathname.includes("?"),xt("?","pathname","search",a)),F(!a.pathname||!a.pathname.includes("#"),xt("#","pathname","hash",a)),F(!a.search||!a.search.includes("#"),xt("#","search","hash",a)));let l=e===""||a.pathname==="",o=l?"/":a.pathname,c;if(o==null)c=r;else{let m=t.length-1;if(!n&&o.startsWith("..")){let y=o.split("/");for(;y[0]==="..";)y.shift(),m-=1;a.pathname=y.join("/")}c=m>=0?t[m]:"/"}let u=pn(a,c),f=o&&o!=="/"&&o.endsWith("/"),h=(l||o===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(f||h)&&(u.pathname+="/"),u}const he=e=>e.join("/").replace(/\/\/+/g,"/"),gn=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),yn=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,wn=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class ht{constructor(t,r,n,a){a===void 0&&(a=!1),this.status=t,this.statusText=r||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}}function gt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const yr=["post","put","patch","delete"],bn=new Set(yr),Rn=["get",...yr],En=new Set(Rn),xn=new Set([301,302,303,307,308]),Sn=new Set([307,308]),St={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Pn={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ye={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Ut=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ln=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),wr="remix-router-transitions";function Cn(e){const t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",n=!r;F(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a;if(e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let i=e.detectErrorBoundary;a=s=>({hasErrorBoundary:i(s)})}else a=Ln;let l={},o=dt(e.routes,a,void 0,l),c,u=e.basename||"/",f=e.dataStrategy||Un,h=e.patchRoutesOnNavigation,m=V({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),y=null,w=new Set,P=null,b=null,M=null,I=e.hydrationData!=null,L=Le(o,e.history.location,u),j=null;if(L==null&&!h){let i=ae(404,{pathname:e.history.location.pathname}),{matches:s,route:d}=sr(o);L=s,j={[d.id]:i}}L&&!e.hydrationData&&it(L,o,e.history.location.pathname).active&&(L=null);let O;if(L)if(L.some(i=>i.route.lazy))O=!1;else if(!L.some(i=>i.route.loader))O=!0;else if(m.v7_partialHydration){let i=e.hydrationData?e.hydrationData.loaderData:null,s=e.hydrationData?e.hydrationData.errors:null;if(s){let d=L.findIndex(v=>s[v.route.id]!==void 0);O=L.slice(0,d+1).every(v=>!Ct(v.route,i,s))}else O=L.every(d=>!Ct(d.route,i,s))}else O=e.hydrationData!=null;else if(O=!1,L=[],m.v7_partialHydration){let i=it(null,o,e.history.location.pathname);i.active&&i.matches&&(L=i.matches)}let G,p={historyAction:e.history.action,location:e.history.location,matches:L,initialized:O,navigation:St,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||j,fetchers:new Map,blockers:new Map},X=Y.Pop,U=!1,_,z=!1,Q=new Map,Z=null,ne=!1,q=!1,Ue=[],et=new Set,ee=new Map,tt=0,He=-1,Fe=new Map,ue=new Set,Oe=new Map,We=new Map,ce=new Set,Re=new Map,Ee=new Map,rt;function Ur(){if(y=e.history.listen(i=>{let{action:s,location:d,delta:v}=i;if(rt){rt(),rt=void 0;return}Be(Ee.size===0||v!=null,"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 R=$t({currentLocation:p.location,nextLocation:d,historyAction:s});if(R&&v!=null){let C=new Promise(T=>{rt=T});e.history.go(v*-1),at(R,{state:"blocked",location:d,proceed(){at(R,{state:"proceeding",proceed:void 0,reset:void 0,location:d}),C.then(()=>e.history.go(v))},reset(){let T=new Map(p.blockers);T.set(R,Ye),re({blockers:T})}});return}return xe(s,d)}),r){$n(t,Q);let i=()=>Kn(t,Q);t.addEventListener("pagehide",i),Z=()=>t.removeEventListener("pagehide",i)}return p.initialized||xe(Y.Pop,p.location,{initialHydration:!0}),G}function Fr(){y&&y(),Z&&Z(),w.clear(),_&&_.abort(),p.fetchers.forEach((i,s)=>nt(s)),p.blockers.forEach((i,s)=>Vt(s))}function Or(i){return w.add(i),()=>w.delete(i)}function re(i,s){s===void 0&&(s={}),p=V({},p,i);let d=[],v=[];m.v7_fetcherPersist&&p.fetchers.forEach((R,C)=>{R.state==="idle"&&(ce.has(C)?v.push(C):d.push(C))}),[...w].forEach(R=>R(p,{deletedFetchers:v,viewTransitionOpts:s.viewTransitionOpts,flushSync:s.flushSync===!0})),m.v7_fetcherPersist&&(d.forEach(R=>p.fetchers.delete(R)),v.forEach(R=>nt(R)))}function _e(i,s,d){var v,R;let{flushSync:C}=d===void 0?{}:d,T=p.actionData!=null&&p.navigation.formMethod!=null&&oe(p.navigation.formMethod)&&p.navigation.state==="loading"&&((v=i.state)==null?void 0:v._isRedirect)!==!0,x;s.actionData?Object.keys(s.actionData).length>0?x=s.actionData:x=null:T?x=p.actionData:x=null;let S=s.loaderData?or(p.loaderData,s.loaderData,s.matches||[],s.errors):p.loaderData,E=p.blockers;E.size>0&&(E=new Map(E),E.forEach((A,te)=>E.set(te,Ye)));let D=U===!0||p.navigation.formMethod!=null&&oe(p.navigation.formMethod)&&((R=i.state)==null?void 0:R._isRedirect)!==!0;c&&(o=c,c=void 0),ne||X===Y.Pop||(X===Y.Push?e.history.push(i,i.state):X===Y.Replace&&e.history.replace(i,i.state));let N;if(X===Y.Pop){let A=Q.get(p.location.pathname);A&&A.has(i.pathname)?N={currentLocation:p.location,nextLocation:i}:Q.has(i.pathname)&&(N={currentLocation:i,nextLocation:p.location})}else if(z){let A=Q.get(p.location.pathname);A?A.add(i.pathname):(A=new Set([i.pathname]),Q.set(p.location.pathname,A)),N={currentLocation:p.location,nextLocation:i}}re(V({},s,{actionData:x,loaderData:S,historyAction:X,location:i,initialized:!0,navigation:St,revalidation:"idle",restoreScrollPosition:Jt(i,s.matches||p.matches),preventScrollReset:D,blockers:E}),{viewTransitionOpts:N,flushSync:C===!0}),X=Y.Pop,U=!1,z=!1,ne=!1,q=!1,Ue=[]}async function It(i,s){if(typeof i=="number"){e.history.go(i);return}let d=Lt(p.location,p.matches,u,m.v7_prependBasename,i,m.v7_relativeSplatPath,s==null?void 0:s.fromRouteId,s==null?void 0:s.relative),{path:v,submission:R,error:C}=Zt(m.v7_normalizeFormMethod,!1,d,s),T=p.location,x=Ze(p.location,v,s&&s.state);x=V({},x,e.history.encodeLocation(x));let S=s&&s.replace!=null?s.replace:void 0,E=Y.Push;S===!0?E=Y.Replace:S===!1||R!=null&&oe(R.formMethod)&&R.formAction===p.location.pathname+p.location.search&&(E=Y.Replace);let D=s&&"preventScrollReset"in s?s.preventScrollReset===!0:void 0,N=(s&&s.flushSync)===!0,A=$t({currentLocation:T,nextLocation:x,historyAction:E});if(A){at(A,{state:"blocked",location:x,proceed(){at(A,{state:"proceeding",proceed:void 0,reset:void 0,location:x}),It(i,s)},reset(){let te=new Map(p.blockers);te.set(A,Ye),re({blockers:te})}});return}return await xe(E,x,{submission:R,pendingError:C,preventScrollReset:D,replace:s&&s.replace,enableViewTransition:s&&s.viewTransition,flushSync:N})}function _r(){if(wt(),re({revalidation:"loading"}),p.navigation.state!=="submitting"){if(p.navigation.state==="idle"){xe(p.historyAction,p.location,{startUninterruptedRevalidation:!0});return}xe(X||p.historyAction,p.navigation.location,{overrideNavigation:p.navigation,enableViewTransition:z===!0})}}async function xe(i,s,d){_&&_.abort(),_=null,X=i,ne=(d&&d.startUninterruptedRevalidation)===!0,Vr(p.location,p.matches),U=(d&&d.preventScrollReset)===!0,z=(d&&d.enableViewTransition)===!0;let v=c||o,R=d&&d.overrideNavigation,C=Le(v,s,u),T=(d&&d.flushSync)===!0,x=it(C,v,s.pathname);if(x.active&&x.matches&&(C=x.matches),!C){let{error:W,notFoundMatches:k,route:$}=bt(s.pathname);_e(s,{matches:k,loaderData:{},errors:{[$.id]:W}},{flushSync:T});return}if(p.initialized&&!q&&In(p.location,s)&&!(d&&d.submission&&oe(d.submission.formMethod))){_e(s,{matches:C},{flushSync:T});return}_=new AbortController;let S=Ae(e.history,s,_.signal,d&&d.submission),E;if(d&&d.pendingError)E=[Ce(C).route.id,{type:H.error,error:d.pendingError}];else if(d&&d.submission&&oe(d.submission.formMethod)){let W=await Nr(S,s,d.submission,C,x.active,{replace:d.replace,flushSync:T});if(W.shortCircuited)return;if(W.pendingActionResult){let[k,$]=W.pendingActionResult;if(ie($)&&gt($.error)&&$.error.status===404){_=null,_e(s,{matches:W.matches,loaderData:{},errors:{[k]:$.error}});return}}C=W.matches||C,E=W.pendingActionResult,R=Pt(s,d.submission),T=!1,x.active=!1,S=Ae(e.history,S.url,S.signal)}let{shortCircuited:D,matches:N,loaderData:A,errors:te}=await jr(S,s,C,x.active,R,d&&d.submission,d&&d.fetcherSubmission,d&&d.replace,d&&d.initialHydration===!0,T,E);D||(_=null,_e(s,V({matches:N||C},lr(E),{loaderData:A,errors:te})))}async function Nr(i,s,d,v,R,C){C===void 0&&(C={}),wt();let T=Wn(s,d);if(re({navigation:T},{flushSync:C.flushSync===!0}),R){let E=await ot(v,s.pathname,i.signal);if(E.type==="aborted")return{shortCircuited:!0};if(E.type==="error"){let D=Ce(E.partialMatches).route.id;return{matches:E.partialMatches,pendingActionResult:[D,{type:H.error,error:E.error}]}}else if(E.matches)v=E.matches;else{let{notFoundMatches:D,error:N,route:A}=bt(s.pathname);return{matches:D,pendingActionResult:[A.id,{type:H.error,error:N}]}}}let x,S=Qe(v,s);if(!S.route.action&&!S.route.lazy)x={type:H.error,error:ae(405,{method:i.method,pathname:s.pathname,routeId:S.route.id})};else if(x=(await Ve("action",p,i,[S],v,null))[S.route.id],i.signal.aborted)return{shortCircuited:!0};if(De(x)){let E;return C&&C.replace!=null?E=C.replace:E=nr(x.response.headers.get("Location"),new URL(i.url),u)===p.location.pathname+p.location.search,await Se(i,x,!0,{submission:d,replace:E}),{shortCircuited:!0}}if(we(x))throw ae(400,{type:"defer-action"});if(ie(x)){let E=Ce(v,S.route.id);return(C&&C.replace)!==!0&&(X=Y.Push),{matches:v,pendingActionResult:[E.route.id,x]}}return{matches:v,pendingActionResult:[S.route.id,x]}}async function jr(i,s,d,v,R,C,T,x,S,E,D){let N=R||Pt(s,C),A=C||T||cr(N),te=!ne&&(!m.v7_partialHydration||!S);if(v){if(te){let K=At(D);re(V({navigation:N},K!==void 0?{actionData:K}:{}),{flushSync:E})}let B=await ot(d,s.pathname,i.signal);if(B.type==="aborted")return{shortCircuited:!0};if(B.type==="error"){let K=Ce(B.partialMatches).route.id;return{matches:B.partialMatches,loaderData:{},errors:{[K]:B.error}}}else if(B.matches)d=B.matches;else{let{error:K,notFoundMatches:je,route:Je}=bt(s.pathname);return{matches:je,loaderData:{},errors:{[Je.id]:K}}}}let W=c||o,[k,$]=er(e.history,p,d,A,s,m.v7_partialHydration&&S===!0,m.v7_skipActionErrorRevalidation,q,Ue,et,ce,Oe,ue,W,u,D);if(Rt(B=>!(d&&d.some(K=>K.route.id===B))||k&&k.some(K=>K.route.id===B)),He=++tt,k.length===0&&$.length===0){let B=Ht();return _e(s,V({matches:d,loaderData:{},errors:D&&ie(D[1])?{[D[0]]:D[1].error}:null},lr(D),B?{fetchers:new Map(p.fetchers)}:{}),{flushSync:E}),{shortCircuited:!0}}if(te){let B={};if(!v){B.navigation=N;let K=At(D);K!==void 0&&(B.actionData=K)}$.length>0&&(B.fetchers=Ir($)),re(B,{flushSync:E})}$.forEach(B=>{ge(B.key),B.controller&&ee.set(B.key,B.controller)});let Ne=()=>$.forEach(B=>ge(B.key));_&&_.signal.addEventListener("abort",Ne);let{loaderResults:$e,fetcherResults:fe}=await Bt(p,d,k,$,i);if(i.signal.aborted)return{shortCircuited:!0};_&&_.signal.removeEventListener("abort",Ne),$.forEach(B=>ee.delete(B.key));let le=ut($e);if(le)return await Se(i,le.result,!0,{replace:x}),{shortCircuited:!0};if(le=ut(fe),le)return ue.add(le.key),await Se(i,le.result,!0,{replace:x}),{shortCircuited:!0};let{loaderData:Et,errors:Ke}=ir(p,d,$e,D,$,fe,Re);Re.forEach((B,K)=>{B.subscribe(je=>{(je||B.done)&&Re.delete(K)})}),m.v7_partialHydration&&S&&p.errors&&(Ke=V({},p.errors,Ke));let Pe=Ht(),lt=Wt(He),st=Pe||lt||$.length>0;return V({matches:d,loaderData:Et,errors:Ke},st?{fetchers:new Map(p.fetchers)}:{})}function At(i){if(i&&!ie(i[1]))return{[i[0]]:i[1].data};if(p.actionData)return Object.keys(p.actionData).length===0?null:p.actionData}function Ir(i){return i.forEach(s=>{let d=p.fetchers.get(s.key),v=Ge(void 0,d?d.data:void 0);p.fetchers.set(s.key,v)}),new Map(p.fetchers)}function Ar(i,s,d,v){if(n)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.");ge(i);let R=(v&&v.flushSync)===!0,C=c||o,T=Lt(p.location,p.matches,u,m.v7_prependBasename,d,m.v7_relativeSplatPath,s,v==null?void 0:v.relative),x=Le(C,T,u),S=it(x,C,T);if(S.active&&S.matches&&(x=S.matches),!x){de(i,s,ae(404,{pathname:T}),{flushSync:R});return}let{path:E,submission:D,error:N}=Zt(m.v7_normalizeFormMethod,!0,T,v);if(N){de(i,s,N,{flushSync:R});return}let A=Qe(x,E),te=(v&&v.preventScrollReset)===!0;if(D&&oe(D.formMethod)){Br(i,s,E,A,x,S.active,R,te,D);return}Oe.set(i,{routeId:s,path:E}),kr(i,s,E,A,x,S.active,R,te,D)}async function Br(i,s,d,v,R,C,T,x,S){wt(),Oe.delete(i);function E(J){if(!J.route.action&&!J.route.lazy){let Ie=ae(405,{method:S.formMethod,pathname:d,routeId:s});return de(i,s,Ie,{flushSync:T}),!0}return!1}if(!C&&E(v))return;let D=p.fetchers.get(i);ve(i,Vn(S,D),{flushSync:T});let N=new AbortController,A=Ae(e.history,d,N.signal,S);if(C){let J=await ot(R,d,A.signal);if(J.type==="aborted")return;if(J.type==="error"){de(i,s,J.error,{flushSync:T});return}else if(J.matches){if(R=J.matches,v=Qe(R,d),E(v))return}else{de(i,s,ae(404,{pathname:d}),{flushSync:T});return}}ee.set(i,N);let te=tt,k=(await Ve("action",p,A,[v],R,i))[v.route.id];if(A.signal.aborted){ee.get(i)===N&&ee.delete(i);return}if(m.v7_fetcherPersist&&ce.has(i)){if(De(k)||ie(k)){ve(i,ye(void 0));return}}else{if(De(k))if(ee.delete(i),He>te){ve(i,ye(void 0));return}else return ue.add(i),ve(i,Ge(S)),Se(A,k,!1,{fetcherSubmission:S,preventScrollReset:x});if(ie(k)){de(i,s,k.error);return}}if(we(k))throw ae(400,{type:"defer-action"});let $=p.navigation.location||p.location,Ne=Ae(e.history,$,N.signal),$e=c||o,fe=p.navigation.state!=="idle"?Le($e,p.navigation.location,u):p.matches;F(fe,"Didn't find any matches after fetcher action");let le=++tt;Fe.set(i,le);let Et=Ge(S,k.data);p.fetchers.set(i,Et);let[Ke,Pe]=er(e.history,p,fe,S,$,!1,m.v7_skipActionErrorRevalidation,q,Ue,et,ce,Oe,ue,$e,u,[v.route.id,k]);Pe.filter(J=>J.key!==i).forEach(J=>{let Ie=J.key,Yt=p.fetchers.get(Ie),Jr=Ge(void 0,Yt?Yt.data:void 0);p.fetchers.set(Ie,Jr),ge(Ie),J.controller&&ee.set(Ie,J.controller)}),re({fetchers:new Map(p.fetchers)});let lt=()=>Pe.forEach(J=>ge(J.key));N.signal.addEventListener("abort",lt);let{loaderResults:st,fetcherResults:B}=await Bt(p,fe,Ke,Pe,Ne);if(N.signal.aborted)return;N.signal.removeEventListener("abort",lt),Fe.delete(i),ee.delete(i),Pe.forEach(J=>ee.delete(J.key));let K=ut(st);if(K)return Se(Ne,K.result,!1,{preventScrollReset:x});if(K=ut(B),K)return ue.add(K.key),Se(Ne,K.result,!1,{preventScrollReset:x});let{loaderData:je,errors:Je}=ir(p,fe,st,void 0,Pe,B,Re);if(p.fetchers.has(i)){let J=ye(k.data);p.fetchers.set(i,J)}Wt(le),p.navigation.state==="loading"&&le>He?(F(X,"Expected pending action"),_&&_.abort(),_e(p.navigation.location,{matches:fe,loaderData:je,errors:Je,fetchers:new Map(p.fetchers)})):(re({errors:Je,loaderData:or(p.loaderData,je,fe,Je),fetchers:new Map(p.fetchers)}),q=!1)}async function kr(i,s,d,v,R,C,T,x,S){let E=p.fetchers.get(i);ve(i,Ge(S,E?E.data:void 0),{flushSync:T});let D=new AbortController,N=Ae(e.history,d,D.signal);if(C){let k=await ot(R,d,N.signal);if(k.type==="aborted")return;if(k.type==="error"){de(i,s,k.error,{flushSync:T});return}else if(k.matches)R=k.matches,v=Qe(R,d);else{de(i,s,ae(404,{pathname:d}),{flushSync:T});return}}ee.set(i,D);let A=tt,W=(await Ve("loader",p,N,[v],R,i))[v.route.id];if(we(W)&&(W=await Ft(W,N.signal,!0)||W),ee.get(i)===D&&ee.delete(i),!N.signal.aborted){if(ce.has(i)){ve(i,ye(void 0));return}if(De(W))if(He>A){ve(i,ye(void 0));return}else{ue.add(i),await Se(N,W,!1,{preventScrollReset:x});return}if(ie(W)){de(i,s,W.error);return}F(!we(W),"Unhandled fetcher deferred data"),ve(i,ye(W.data))}}async function Se(i,s,d,v){let{submission:R,fetcherSubmission:C,preventScrollReset:T,replace:x}=v===void 0?{}:v;s.response.headers.has("X-Remix-Revalidate")&&(q=!0);let S=s.response.headers.get("Location");F(S,"Expected a Location header on the redirect Response"),S=nr(S,new URL(i.url),u);let E=Ze(p.location,S,{_isRedirect:!0});if(r){let k=!1;if(s.response.headers.has("X-Remix-Reload-Document"))k=!0;else if(Ut.test(S)){const $=e.history.createURL(S);k=$.origin!==t.location.origin||me($.pathname,u)==null}if(k){x?t.location.replace(S):t.location.assign(S);return}}_=null;let D=x===!0||s.response.headers.has("X-Remix-Replace")?Y.Replace:Y.Push,{formMethod:N,formAction:A,formEncType:te}=p.navigation;!R&&!C&&N&&A&&te&&(R=cr(p.navigation));let W=R||C;if(Sn.has(s.response.status)&&W&&oe(W.formMethod))await xe(D,E,{submission:V({},W,{formAction:S}),preventScrollReset:T||U,enableViewTransition:d?z:void 0});else{let k=Pt(E,R);await xe(D,E,{overrideNavigation:k,fetcherSubmission:C,preventScrollReset:T||U,enableViewTransition:d?z:void 0})}}async function Ve(i,s,d,v,R,C){let T,x={};try{T=await Fn(f,i,s,d,v,R,C,l,a)}catch(S){return v.forEach(E=>{x[E.route.id]={type:H.error,error:S}}),x}for(let[S,E]of Object.entries(T))if(An(E)){let D=E.result;x[S]={type:H.redirect,response:Nn(D,d,S,R,u,m.v7_relativeSplatPath)}}else x[S]=await _n(E);return x}async function Bt(i,s,d,v,R){let C=i.matches,T=Ve("loader",i,R,d,s,null),x=Promise.all(v.map(async D=>{if(D.matches&&D.match&&D.controller){let A=(await Ve("loader",i,Ae(e.history,D.path,D.controller.signal),[D.match],D.matches,D.key))[D.match.route.id];return{[D.key]:A}}else return Promise.resolve({[D.key]:{type:H.error,error:ae(404,{pathname:D.path})}})})),S=await T,E=(await x).reduce((D,N)=>Object.assign(D,N),{});return await Promise.all([zn(s,S,R.signal,C,i.loaderData),Hn(s,E,v)]),{loaderResults:S,fetcherResults:E}}function wt(){q=!0,Ue.push(...Rt()),Oe.forEach((i,s)=>{ee.has(s)&&et.add(s),ge(s)})}function ve(i,s,d){d===void 0&&(d={}),p.fetchers.set(i,s),re({fetchers:new Map(p.fetchers)},{flushSync:(d&&d.flushSync)===!0})}function de(i,s,d,v){v===void 0&&(v={});let R=Ce(p.matches,s);nt(i),re({errors:{[R.route.id]:d},fetchers:new Map(p.fetchers)},{flushSync:(v&&v.flushSync)===!0})}function kt(i){return m.v7_fetcherPersist&&(We.set(i,(We.get(i)||0)+1),ce.has(i)&&ce.delete(i)),p.fetchers.get(i)||Pn}function nt(i){let s=p.fetchers.get(i);ee.has(i)&&!(s&&s.state==="loading"&&Fe.has(i))&&ge(i),Oe.delete(i),Fe.delete(i),ue.delete(i),ce.delete(i),et.delete(i),p.fetchers.delete(i)}function zr(i){if(m.v7_fetcherPersist){let s=(We.get(i)||0)-1;s<=0?(We.delete(i),ce.add(i)):We.set(i,s)}else nt(i);re({fetchers:new Map(p.fetchers)})}function ge(i){let s=ee.get(i);s&&(s.abort(),ee.delete(i))}function zt(i){for(let s of i){let d=kt(s),v=ye(d.data);p.fetchers.set(s,v)}}function Ht(){let i=[],s=!1;for(let d of ue){let v=p.fetchers.get(d);F(v,"Expected fetcher: "+d),v.state==="loading"&&(ue.delete(d),i.push(d),s=!0)}return zt(i),s}function Wt(i){let s=[];for(let[d,v]of Fe)if(v<i){let R=p.fetchers.get(d);F(R,"Expected fetcher: "+d),R.state==="loading"&&(ge(d),Fe.delete(d),s.push(d))}return zt(s),s.length>0}function Hr(i,s){let d=p.blockers.get(i)||Ye;return Ee.get(i)!==s&&Ee.set(i,s),d}function Vt(i){p.blockers.delete(i),Ee.delete(i)}function at(i,s){let d=p.blockers.get(i)||Ye;F(d.state==="unblocked"&&s.state==="blocked"||d.state==="blocked"&&s.state==="blocked"||d.state==="blocked"&&s.state==="proceeding"||d.state==="blocked"&&s.state==="unblocked"||d.state==="proceeding"&&s.state==="unblocked","Invalid blocker state transition: "+d.state+" -> "+s.state);let v=new Map(p.blockers);v.set(i,s),re({blockers:v})}function $t(i){let{currentLocation:s,nextLocation:d,historyAction:v}=i;if(Ee.size===0)return;Ee.size>1&&Be(!1,"A router only supports one blocker at a time");let R=Array.from(Ee.entries()),[C,T]=R[R.length-1],x=p.blockers.get(C);if(!(x&&x.state==="proceeding")&&T({currentLocation:s,nextLocation:d,historyAction:v}))return C}function bt(i){let s=ae(404,{pathname:i}),d=c||o,{matches:v,route:R}=sr(d);return Rt(),{notFoundMatches:v,route:R,error:s}}function Rt(i){let s=[];return Re.forEach((d,v)=>{(!i||i(v))&&(d.cancel(),s.push(v),Re.delete(v))}),s}function Wr(i,s,d){if(P=i,M=s,b=d||null,!I&&p.navigation===St){I=!0;let v=Jt(p.location,p.matches);v!=null&&re({restoreScrollPosition:v})}return()=>{P=null,M=null,b=null}}function Kt(i,s){return b&&b(i,s.map(v=>tn(v,p.loaderData)))||i.key}function Vr(i,s){if(P&&M){let d=Kt(i,s);P[d]=M()}}function Jt(i,s){if(P){let d=Kt(i,s),v=P[d];if(typeof v=="number")return v}return null}function it(i,s,d){if(h)if(i){if(Object.keys(i[0].params).length>0)return{active:!0,matches:ct(s,d,u,!0)}}else return{active:!0,matches:ct(s,d,u,!0)||[]};return{active:!1,matches:null}}async function ot(i,s,d){if(!h)return{type:"success",matches:i};let v=i;for(;;){let R=c==null,C=c||o,T=l;try{await h({path:s,matches:v,patch:(E,D)=>{d.aborted||rr(E,D,C,T,a)}})}catch(E){return{type:"error",error:E,partialMatches:v}}finally{R&&!d.aborted&&(o=[...o])}if(d.aborted)return{type:"aborted"};let x=Le(C,s,u);if(x)return{type:"success",matches:x};let S=ct(C,s,u,!0);if(!S||v.length===S.length&&v.every((E,D)=>E.route.id===S[D].route.id))return{type:"success",matches:null};v=S}}function $r(i){l={},c=dt(i,a,void 0,l)}function Kr(i,s){let d=c==null;rr(i,s,c||o,l,a),d&&(o=[...o],re({}))}return G={get basename(){return u},get future(){return m},get state(){return p},get routes(){return o},get window(){return t},initialize:Ur,subscribe:Or,enableScrollRestoration:Wr,navigate:It,fetch:Ar,revalidate:_r,createHref:i=>e.history.createHref(i),encodeLocation:i=>e.history.encodeLocation(i),getFetcher:kt,deleteFetcher:zr,dispose:Fr,getBlocker:Hr,deleteBlocker:Vt,patchRoutes:Kr,_internalFetchControllers:ee,_internalActiveDeferreds:Re,_internalSetRoutes:$r},G}function Dn(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Lt(e,t,r,n,a,l,o,c){let u,f;if(o){u=[];for(let m of t)if(u.push(m),m.route.id===o){f=m;break}}else u=t,f=t[t.length-1];let h=vt(a||".",pt(u,l),me(e.pathname,r)||e.pathname,c==="path");if(a==null&&(h.search=e.search,h.hash=e.hash),(a==null||a===""||a===".")&&f){let m=Ot(h.search);if(f.route.index&&!m)h.search=h.search?h.search.replace(/^\?/,"?index&"):"?index";else if(!f.route.index&&m){let y=new URLSearchParams(h.search),w=y.getAll("index");y.delete("index"),w.filter(b=>b).forEach(b=>y.append("index",b));let P=y.toString();h.search=P?"?"+P:""}}return n&&r!=="/"&&(h.pathname=h.pathname==="/"?r:he([r,h.pathname])),Me(h)}function Zt(e,t,r,n){if(!n||!Dn(n))return{path:r};if(n.formMethod&&!kn(n.formMethod))return{path:r,error:ae(405,{method:n.formMethod})};let a=()=>({path:r,error:ae(400,{type:"invalid-body"})}),l=n.formMethod||"get",o=e?l.toUpperCase():l.toLowerCase(),c=Er(r);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!oe(o))return a();let y=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((w,P)=>{let[b,M]=P;return""+w+b+"="+M+`
11
+ `},""):String(n.body);return{path:r,submission:{formMethod:o,formAction:c,formEncType:n.formEncType,formData:void 0,json:void 0,text:y}}}else if(n.formEncType==="application/json"){if(!oe(o))return a();try{let y=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:o,formAction:c,formEncType:n.formEncType,formData:void 0,json:y,text:void 0}}}catch{return a()}}}F(typeof FormData=="function","FormData is not available in this environment");let u,f;if(n.formData)u=Dt(n.formData),f=n.formData;else if(n.body instanceof FormData)u=Dt(n.body),f=n.body;else if(n.body instanceof URLSearchParams)u=n.body,f=ar(u);else if(n.body==null)u=new URLSearchParams,f=new FormData;else try{u=new URLSearchParams(n.body),f=ar(u)}catch{return a()}let h={formMethod:o,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:f,json:void 0,text:void 0};if(oe(h.formMethod))return{path:r,submission:h};let m=be(r);return t&&m.search&&Ot(m.search)&&u.append("index",""),m.search="?"+u,{path:Me(m),submission:h}}function qt(e,t,r){r===void 0&&(r=!1);let n=e.findIndex(a=>a.route.id===t);return n>=0?e.slice(0,r?n+1:n):e}function er(e,t,r,n,a,l,o,c,u,f,h,m,y,w,P,b){let M=b?ie(b[1])?b[1].error:b[1].data:void 0,I=e.createURL(t.location),L=e.createURL(a),j=r;l&&t.errors?j=qt(r,Object.keys(t.errors)[0],!0):b&&ie(b[1])&&(j=qt(r,b[0]));let O=b?b[1].statusCode:void 0,G=o&&O&&O>=400,p=j.filter((U,_)=>{let{route:z}=U;if(z.lazy)return!0;if(z.loader==null)return!1;if(l)return Ct(z,t.loaderData,t.errors);if(Mn(t.loaderData,t.matches[_],U)||u.some(ne=>ne===U.route.id))return!0;let Q=t.matches[_],Z=U;return tr(U,V({currentUrl:I,currentParams:Q.params,nextUrl:L,nextParams:Z.params},n,{actionResult:M,actionStatus:O,defaultShouldRevalidate:G?!1:c||I.pathname+I.search===L.pathname+L.search||I.search!==L.search||br(Q,Z)}))}),X=[];return m.forEach((U,_)=>{if(l||!r.some(q=>q.route.id===U.routeId)||h.has(_))return;let z=Le(w,U.path,P);if(!z){X.push({key:_,routeId:U.routeId,path:U.path,matches:null,match:null,controller:null});return}let Q=t.fetchers.get(_),Z=Qe(z,U.path),ne=!1;y.has(_)?ne=!1:f.has(_)?(f.delete(_),ne=!0):Q&&Q.state!=="idle"&&Q.data===void 0?ne=c:ne=tr(Z,V({currentUrl:I,currentParams:t.matches[t.matches.length-1].params,nextUrl:L,nextParams:r[r.length-1].params},n,{actionResult:M,actionStatus:O,defaultShouldRevalidate:G?!1:c})),ne&&X.push({key:_,routeId:U.routeId,path:U.path,matches:z,match:Z,controller:new AbortController})}),[p,X]}function Ct(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=t!=null&&t[e.id]!==void 0,a=r!=null&&r[e.id]!==void 0;return!n&&a?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!n&&!a}function Mn(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function br(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function tr(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function rr(e,t,r,n,a){var l;let o;if(e){let f=n[e];F(f,"No route found to patch children into: routeId = "+e),f.children||(f.children=[]),o=f.children}else o=r;let c=t.filter(f=>!o.some(h=>Rr(f,h))),u=dt(c,a,[e||"_","patch",String(((l=o)==null?void 0:l.length)||"0")],n);o.push(...u)}function Rr(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children.every((r,n)=>{var a;return(a=t.children)==null?void 0:a.some(l=>Rr(r,l))}):!1}async function Tn(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 l={};for(let o in n){let u=a[o]!==void 0&&o!=="hasErrorBoundary";Be(!u,'Route "'+a.id+'" has a static property "'+o+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+o+'" will be ignored.')),!u&&!qr.has(o)&&(l[o]=n[o])}Object.assign(a,l),Object.assign(a,V({},t(a),{lazy:void 0}))}async function Un(e){let{matches:t}=e,r=t.filter(a=>a.shouldLoad);return(await Promise.all(r.map(a=>a.resolve()))).reduce((a,l,o)=>Object.assign(a,{[r[o].route.id]:l}),{})}async function Fn(e,t,r,n,a,l,o,c,u,f){let h=l.map(w=>w.route.lazy?Tn(w.route,u,c):void 0),m=l.map((w,P)=>{let b=h[P],M=a.some(L=>L.route.id===w.route.id);return V({},w,{shouldLoad:M,resolve:async L=>(L&&n.method==="GET"&&(w.route.lazy||w.route.loader)&&(M=!0),M?On(t,n,w,b,L,f):Promise.resolve({type:H.data,result:void 0}))})}),y=await e({matches:m,request:n,params:l[0].params,fetcherKey:o,context:f});try{await Promise.all(h)}catch{}return y}async function On(e,t,r,n,a,l){let o,c,u=f=>{let h,m=new Promise((P,b)=>h=b);c=()=>h(),t.signal.addEventListener("abort",c);let y=P=>typeof f!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: '+r.route.id+"]"))):f({request:t,params:r.params,context:l},...P!==void 0?[P]:[]),w=(async()=>{try{return{type:"data",result:await(a?a(b=>y(b)):y())}}catch(P){return{type:"error",result:P}}})();return Promise.race([w,m])};try{let f=r.route[e];if(n)if(f){let h,[m]=await Promise.all([u(f).catch(y=>{h=y}),n]);if(h!==void 0)throw h;o=m}else if(await n,f=r.route[e],f)o=await u(f);else if(e==="action"){let h=new URL(t.url),m=h.pathname+h.search;throw ae(405,{method:t.method,pathname:m,routeId:r.route.id})}else return{type:H.data,result:void 0};else if(f)o=await u(f);else{let h=new URL(t.url),m=h.pathname+h.search;throw ae(404,{pathname:m})}F(o.result!==void 0,"You defined "+(e==="action"?"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(f){return{type:H.error,result:f}}finally{c&&t.signal.removeEventListener("abort",c)}return o}async function _n(e){let{result:t,type:r}=e;if(xr(t)){let f;try{let h=t.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?t.body==null?f=null:f=await t.json():f=await t.text()}catch(h){return{type:H.error,error:h}}return r===H.error?{type:H.error,error:new ht(t.status,t.statusText,f),statusCode:t.status,headers:t.headers}:{type:H.data,data:f,statusCode:t.status,headers:t.headers}}if(r===H.error){if(ur(t)){var n;if(t.data instanceof Error){var a;return{type:H.error,error:t.data,statusCode:(a=t.init)==null?void 0:a.status}}t=new ht(((n=t.init)==null?void 0:n.status)||500,void 0,t.data)}return{type:H.error,error:t,statusCode:gt(t)?t.status:void 0}}if(Bn(t)){var l,o;return{type:H.deferred,deferredData:t,statusCode:(l=t.init)==null?void 0:l.status,headers:((o=t.init)==null?void 0:o.headers)&&new Headers(t.init.headers)}}if(ur(t)){var c,u;return{type:H.data,data:t.data,statusCode:(c=t.init)==null?void 0:c.status,headers:(u=t.init)!=null&&u.headers?new Headers(t.init.headers):void 0}}return{type:H.data,data:t}}function Nn(e,t,r,n,a,l){let o=e.headers.get("Location");if(F(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!Ut.test(o)){let c=n.slice(0,n.findIndex(u=>u.route.id===r)+1);o=Lt(new URL(t.url),c,a,!0,o,l),e.headers.set("Location",o)}return e}function nr(e,t,r){if(Ut.test(e)){let n=e,a=n.startsWith("//")?new URL(t.protocol+n):new URL(n),l=me(a.pathname,r)!=null;if(a.origin===t.origin&&l)return a.pathname+a.search+a.hash}return e}function Ae(e,t,r,n){let a=e.createURL(Er(t)).toString(),l={signal:r};if(n&&oe(n.formMethod)){let{formMethod:o,formEncType:c}=n;l.method=o.toUpperCase(),c==="application/json"?(l.headers=new Headers({"Content-Type":c}),l.body=JSON.stringify(n.json)):c==="text/plain"?l.body=n.text:c==="application/x-www-form-urlencoded"&&n.formData?l.body=Dt(n.formData):l.body=n.formData}return new Request(a,l)}function Dt(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function ar(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function jn(e,t,r,n,a){let l={},o=null,c,u=!1,f={},h=r&&ie(r[1])?r[1].error:void 0;return e.forEach(m=>{if(!(m.route.id in t))return;let y=m.route.id,w=t[y];if(F(!De(w),"Cannot handle redirect results in processLoaderData"),ie(w)){let P=w.error;h!==void 0&&(P=h,h=void 0),o=o||{};{let b=Ce(e,y);o[b.route.id]==null&&(o[b.route.id]=P)}l[y]=void 0,u||(u=!0,c=gt(w.error)?w.error.status:500),w.headers&&(f[y]=w.headers)}else we(w)?(n.set(y,w.deferredData),l[y]=w.deferredData.data,w.statusCode!=null&&w.statusCode!==200&&!u&&(c=w.statusCode),w.headers&&(f[y]=w.headers)):(l[y]=w.data,w.statusCode&&w.statusCode!==200&&!u&&(c=w.statusCode),w.headers&&(f[y]=w.headers))}),h!==void 0&&r&&(o={[r[0]]:h},l[r[0]]=void 0),{loaderData:l,errors:o,statusCode:c||200,loaderHeaders:f}}function ir(e,t,r,n,a,l,o){let{loaderData:c,errors:u}=jn(t,r,n,o);return a.forEach(f=>{let{key:h,match:m,controller:y}=f,w=l[h];if(F(w,"Did not find corresponding fetcher result"),!(y&&y.signal.aborted))if(ie(w)){let P=Ce(e.matches,m==null?void 0:m.route.id);u&&u[P.route.id]||(u=V({},u,{[P.route.id]:w.error})),e.fetchers.delete(h)}else if(De(w))F(!1,"Unhandled fetcher revalidation redirect");else if(we(w))F(!1,"Unhandled fetcher deferred data");else{let P=ye(w.data);e.fetchers.set(h,P)}}),{loaderData:c,errors:u}}function or(e,t,r,n){let a=V({},t);for(let l of r){let o=l.route.id;if(t.hasOwnProperty(o)?t[o]!==void 0&&(a[o]=t[o]):e[o]!==void 0&&l.route.loader&&(a[o]=e[o]),n&&n.hasOwnProperty(o))break}return a}function lr(e){return e?ie(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Ce(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function sr(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function ae(e,t){let{pathname:r,routeId:n,method:a,type:l,message:o}=t===void 0?{}:t,c="Unknown Server Error",u="Unknown @remix-run/router error";return e===400?(c="Bad Request",a&&r&&n?u="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.":l==="defer-action"?u="defer() is not supported in actions":l==="invalid-body"&&(u="Unable to encode submission body")):e===403?(c="Forbidden",u='Route "'+n+'" does not match URL "'+r+'"'):e===404?(c="Not Found",u='No route matches URL "'+r+'"'):e===405&&(c="Method Not Allowed",a&&r&&n?u="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&&(u='Invalid request method "'+a.toUpperCase()+'"')),new ht(e||500,c,new Error(u),!0)}function ut(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if(De(a))return{key:n,result:a}}}function Er(e){let t=typeof e=="string"?be(e):e;return Me(V({},t,{hash:""}))}function In(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function An(e){return xr(e.result)&&xn.has(e.result.status)}function we(e){return e.type===H.deferred}function ie(e){return e.type===H.error}function De(e){return(e&&e.type)===H.redirect}function ur(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function Bn(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"}function xr(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function kn(e){return En.has(e.toLowerCase())}function oe(e){return bn.has(e.toLowerCase())}async function zn(e,t,r,n,a){let l=Object.entries(t);for(let o=0;o<l.length;o++){let[c,u]=l[o],f=e.find(y=>(y==null?void 0:y.route.id)===c);if(!f)continue;let h=n.find(y=>y.route.id===f.route.id),m=h!=null&&!br(h,f)&&(a&&a[f.route.id])!==void 0;we(u)&&m&&await Ft(u,r,!1).then(y=>{y&&(t[c]=y)})}}async function Hn(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:l,controller:o}=r[n],c=t[a];e.find(f=>(f==null?void 0:f.route.id)===l)&&we(c)&&(F(o,"Expected an AbortController for revalidating fetcher deferred result"),await Ft(c,o.signal,!0).then(f=>{f&&(t[a]=f)}))}}async function Ft(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:H.data,data:e.deferredData.unwrappedData}}catch(a){return{type:H.error,error:a}}return{type:H.data,data:e.deferredData.data}}}function Ot(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Qe(e,t){let r=typeof t=="string"?be(t).search:t.search;if(e[e.length-1].route.index&&Ot(r||""))return e[e.length-1];let n=gr(e);return n[n.length-1]}function cr(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:l,json:o}=e;if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(l!=null)return{formMethod:t,formAction:r,formEncType:n,formData:l,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:o,text:void 0}}}function Pt(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 Wn(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}}function Ge(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 Vn(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}}function ye(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 $n(e,t){try{let r=e.sessionStorage.getItem(wr);if(r){let n=JSON.parse(r);for(let[a,l]of Object.entries(n||{}))l&&Array.isArray(l)&&t.set(a,new Set(l||[]))}}catch{}}function Kn(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(wr,JSON.stringify(r))}catch(n){Be(!1,"Failed to save applied view transitions in sessionStorage ("+n+").")}}}/**
12
12
  * React Router v6.27.0
13
13
  *
14
14
  * Copyright (c) Remix Software Inc.
@@ -17,7 +17,7 @@ import{r as v,R as Gr,a as Xr}from"./@radix-C7hRs6Kx.js";/**
17
17
  * LICENSE.md file in the root directory of this source tree.
18
18
  *
19
19
  * @license MIT
20
- */function pt(){return pt=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},pt.apply(this,arguments)}const qe=v.createContext(null),_t=v.createContext(null),me=v.createContext(null),Nt=v.createContext(null),se=v.createContext({outlet:null,matches:[],isDataRoute:!1}),Pr=v.createContext(null);function Yn(e,t){let{relative:r}=t===void 0?{}:t;ke()||F(!1);let{basename:n,navigator:a}=v.useContext(me),{hash:l,pathname:o,search:c}=yt(e,{relative:r}),u=o;return n!=="/"&&(u=o==="/"?n:he([n,o])),a.createHref({pathname:u,search:c,hash:l})}function ke(){return v.useContext(Nt)!=null}function Te(){return ke()||F(!1),v.useContext(Nt).location}function Lr(e){v.useContext(me).static||v.useLayoutEffect(e)}function jt(){let{isDataRoute:e}=v.useContext(se);return e?sa():Gn()}function Gn(){ke()||F(!1);let e=v.useContext(qe),{basename:t,future:r,navigator:n}=v.useContext(me),{matches:a}=v.useContext(se),{pathname:l}=Te(),o=JSON.stringify(mt(a,r.v7_relativeSplatPath)),c=v.useRef(!1);return Lr(()=>{c.current=!0}),v.useCallback(function(f,h){if(h===void 0&&(h={}),!c.current)return;if(typeof f=="number"){n.go(f);return}let p=vt(f,JSON.parse(o),l,h.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:he([t,p.pathname])),(h.replace?n.replace:n.push)(p,h.state,h)},[t,n,o,l,e])}const Xn=v.createContext(null);function Qn(e){let t=v.useContext(se).outlet;return t&&v.createElement(Xn.Provider,{value:e},t)}function Na(){let{matches:e}=v.useContext(se),t=e[e.length-1];return t?t.params:{}}function yt(e,t){let{relative:r}=t===void 0?{}:t,{future:n}=v.useContext(me),{matches:a}=v.useContext(se),{pathname:l}=Te(),o=JSON.stringify(mt(a,n.v7_relativeSplatPath));return v.useMemo(()=>vt(e,JSON.parse(o),l,r==="path"),[e,o,l,r])}function Zn(e,t,r,n){ke()||F(!1);let{navigator:a}=v.useContext(me),{matches:l}=v.useContext(se),o=l[l.length-1],c=o?o.params:{};o&&o.pathname;let u=o?o.pathnameBase:"/";o&&o.route;let f=Te(),h;h=f;let p=h.pathname||"/",y=p;if(u!=="/"){let b=u.replace(/^\//,"").split("/");y="/"+p.replace(/^\//,"").split("/").slice(b.length).join("/")}let w=Le(e,{pathname:y});return na(w&&w.map(b=>Object.assign({},b,{params:Object.assign({},c,b.params),pathname:he([u,a.encodeLocation?a.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?u:he([u,a.encodeLocation?a.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),l,r,n)}function qn(){let e=la(),t=gt(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return v.createElement(v.Fragment,null,v.createElement("h2",null,"Unexpected Application Error!"),v.createElement("h3",{style:{fontStyle:"italic"}},t),r?v.createElement("pre",{style:a},r):null,null)}const ea=v.createElement(qn,null);class ta extends v.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error!==void 0?v.createElement(se.Provider,{value:this.props.routeContext},v.createElement(Pr.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ra(e){let{routeContext:t,match:r,children:n}=e,a=v.useContext(qe);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),v.createElement(se.Provider,{value:t},n)}function na(e,t,r,n){var a;if(t===void 0&&(t=[]),r===void 0&&(r=null),n===void 0&&(n=null),e==null){var l;if(!r)return null;if(r.errors)e=r.matches;else if((l=n)!=null&&l.v7_partialHydration&&t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,c=(a=r)==null?void 0:a.errors;if(c!=null){let h=o.findIndex(p=>p.route.id&&(c==null?void 0:c[p.route.id])!==void 0);h>=0||F(!1),o=o.slice(0,Math.min(o.length,h+1))}let u=!1,f=-1;if(r&&n&&n.v7_partialHydration)for(let h=0;h<o.length;h++){let p=o[h];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(f=h),p.route.id){let{loaderData:y,errors:w}=r,P=p.route.loader&&y[p.route.id]===void 0&&(!w||w[p.route.id]===void 0);if(p.route.lazy||P){u=!0,f>=0?o=o.slice(0,f+1):o=[o[0]];break}}}return o.reduceRight((h,p,y)=>{let w,P=!1,b=null,M=null;r&&(w=c&&p.route.id?c[p.route.id]:void 0,b=p.route.errorElement||ea,u&&(f<0&&y===0?(ua("route-fallback"),P=!0,M=null):f===y&&(P=!0,M=p.route.hydrateFallbackElement||null)));let I=t.concat(o.slice(0,y+1)),L=()=>{let j;return w?j=b:P?j=M:p.route.Component?j=v.createElement(p.route.Component,null):p.route.element?j=p.route.element:j=h,v.createElement(ra,{match:p,routeContext:{outlet:h,matches:I,isDataRoute:r!=null},children:j})};return r&&(p.route.ErrorBoundary||p.route.errorElement||y===0)?v.createElement(ta,{location:r.location,revalidation:r.revalidation,component:b,error:w,children:L(),routeContext:{outlet:null,matches:I,isDataRoute:!0}}):L()},null)}var Cr=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Cr||{}),Dr=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}(Dr||{});function aa(e){let t=v.useContext(qe);return t||F(!1),t}function ia(e){let t=v.useContext(_t);return t||F(!1),t}function oa(e){let t=v.useContext(se);return t||F(!1),t}function Mr(e){let t=oa(),r=t.matches[t.matches.length-1];return r.route.id||F(!1),r.route.id}function la(){var e;let t=v.useContext(Pr),r=ia(),n=Mr();return t!==void 0?t:(e=r.errors)==null?void 0:e[n]}function sa(){let{router:e}=aa(Cr.UseNavigateStable),t=Mr(Dr.UseNavigateStable),r=v.useRef(!1);return Lr(()=>{r.current=!0}),v.useCallback(function(a,l){l===void 0&&(l={}),r.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,pt({fromRouteId:t},l)))},[e,t])}const dr={};function ua(e,t,r){dr[e]||(dr[e]=!0)}function ja(e){let{to:t,replace:r,state:n,relative:a}=e;ke()||F(!1);let{future:l,static:o}=v.useContext(me),{matches:c}=v.useContext(se),{pathname:u}=Te(),f=jt(),h=vt(t,mt(c,l.v7_relativeSplatPath),u,a==="path"),p=JSON.stringify(h);return v.useEffect(()=>f(JSON.parse(p),{replace:r,state:n,relative:a}),[f,p,a,r,n]),null}function Ia(e){return Qn(e.context)}function ca(e){F(!1)}function da(e){let{basename:t="/",children:r=null,location:n,navigationType:a=Y.Pop,navigator:l,static:o=!1,future:c}=e;ke()&&F(!1);let u=t.replace(/^\/*/,"/"),f=v.useMemo(()=>({basename:u,navigator:l,static:o,future:pt({v7_relativeSplatPath:!1},c)}),[u,c,l,o]);typeof n=="string"&&(n=be(n));let{pathname:h="/",search:p="",hash:y="",state:w=null,key:P="default"}=n,b=v.useMemo(()=>{let M=pe(h,u);return M==null?null:{location:{pathname:M,search:p,hash:y,state:w,key:P},navigationType:a}},[u,h,p,y,w,P,a]);return b==null?null:v.createElement(me.Provider,{value:f},v.createElement(Nt.Provider,{children:r,value:b}))}new Promise(()=>{});function fr(e,t){t===void 0&&(t=[]);let r=[];return v.Children.forEach(e,(n,a)=>{if(!v.isValidElement(n))return;let l=[...t,a];if(n.type===v.Fragment){r.push.apply(r,fr(n.props.children,l));return}n.type!==ca&&F(!1),!n.props.index||!n.props.children||F(!1);let o={id:n.props.id||l.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(o.children=fr(n.props.children,l)),r.push(o)}),r}function fa(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:v.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:v.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:v.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/**
20
+ */function mt(){return mt=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},mt.apply(this,arguments)}const qe=g.createContext(null),_t=g.createContext(null),pe=g.createContext(null),Nt=g.createContext(null),se=g.createContext({outlet:null,matches:[],isDataRoute:!1}),Sr=g.createContext(null);function Jn(e,t){let{relative:r}=t===void 0?{}:t;ze()||F(!1);let{basename:n,navigator:a}=g.useContext(pe),{hash:l,pathname:o,search:c}=yt(e,{relative:r}),u=o;return n!=="/"&&(u=o==="/"?n:he([n,o])),a.createHref({pathname:u,search:c,hash:l})}function ze(){return g.useContext(Nt)!=null}function Te(){return ze()||F(!1),g.useContext(Nt).location}function Pr(e){g.useContext(pe).static||g.useLayoutEffect(e)}function jt(){let{isDataRoute:e}=g.useContext(se);return e?la():Yn()}function Yn(){ze()||F(!1);let e=g.useContext(qe),{basename:t,future:r,navigator:n}=g.useContext(pe),{matches:a}=g.useContext(se),{pathname:l}=Te(),o=JSON.stringify(pt(a,r.v7_relativeSplatPath)),c=g.useRef(!1);return Pr(()=>{c.current=!0}),g.useCallback(function(f,h){if(h===void 0&&(h={}),!c.current)return;if(typeof f=="number"){n.go(f);return}let m=vt(f,JSON.parse(o),l,h.relative==="path");e==null&&t!=="/"&&(m.pathname=m.pathname==="/"?t:he([t,m.pathname])),(h.replace?n.replace:n.push)(m,h.state,h)},[t,n,o,l,e])}const Gn=g.createContext(null);function Xn(e){let t=g.useContext(se).outlet;return t&&g.createElement(Gn.Provider,{value:e},t)}function Oa(){let{matches:e}=g.useContext(se),t=e[e.length-1];return t?t.params:{}}function yt(e,t){let{relative:r}=t===void 0?{}:t,{future:n}=g.useContext(pe),{matches:a}=g.useContext(se),{pathname:l}=Te(),o=JSON.stringify(pt(a,n.v7_relativeSplatPath));return g.useMemo(()=>vt(e,JSON.parse(o),l,r==="path"),[e,o,l,r])}function Qn(e,t,r,n){ze()||F(!1);let{navigator:a}=g.useContext(pe),{matches:l}=g.useContext(se),o=l[l.length-1],c=o?o.params:{};o&&o.pathname;let u=o?o.pathnameBase:"/";o&&o.route;let f=Te(),h;h=f;let m=h.pathname||"/",y=m;if(u!=="/"){let b=u.replace(/^\//,"").split("/");y="/"+m.replace(/^\//,"").split("/").slice(b.length).join("/")}let w=Le(e,{pathname:y});return ra(w&&w.map(b=>Object.assign({},b,{params:Object.assign({},c,b.params),pathname:he([u,a.encodeLocation?a.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?u:he([u,a.encodeLocation?a.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),l,r,n)}function Zn(){let e=oa(),t=gt(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},t),r?g.createElement("pre",{style:a},r):null,null)}const qn=g.createElement(Zn,null);class ea extends g.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error!==void 0?g.createElement(se.Provider,{value:this.props.routeContext},g.createElement(Sr.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ta(e){let{routeContext:t,match:r,children:n}=e,a=g.useContext(qe);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),g.createElement(se.Provider,{value:t},n)}function ra(e,t,r,n){var a;if(t===void 0&&(t=[]),r===void 0&&(r=null),n===void 0&&(n=null),e==null){var l;if(!r)return null;if(r.errors)e=r.matches;else if((l=n)!=null&&l.v7_partialHydration&&t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,c=(a=r)==null?void 0:a.errors;if(c!=null){let h=o.findIndex(m=>m.route.id&&(c==null?void 0:c[m.route.id])!==void 0);h>=0||F(!1),o=o.slice(0,Math.min(o.length,h+1))}let u=!1,f=-1;if(r&&n&&n.v7_partialHydration)for(let h=0;h<o.length;h++){let m=o[h];if((m.route.HydrateFallback||m.route.hydrateFallbackElement)&&(f=h),m.route.id){let{loaderData:y,errors:w}=r,P=m.route.loader&&y[m.route.id]===void 0&&(!w||w[m.route.id]===void 0);if(m.route.lazy||P){u=!0,f>=0?o=o.slice(0,f+1):o=[o[0]];break}}}return o.reduceRight((h,m,y)=>{let w,P=!1,b=null,M=null;r&&(w=c&&m.route.id?c[m.route.id]:void 0,b=m.route.errorElement||qn,u&&(f<0&&y===0?(sa("route-fallback"),P=!0,M=null):f===y&&(P=!0,M=m.route.hydrateFallbackElement||null)));let I=t.concat(o.slice(0,y+1)),L=()=>{let j;return w?j=b:P?j=M:m.route.Component?j=g.createElement(m.route.Component,null):m.route.element?j=m.route.element:j=h,g.createElement(ta,{match:m,routeContext:{outlet:h,matches:I,isDataRoute:r!=null},children:j})};return r&&(m.route.ErrorBoundary||m.route.errorElement||y===0)?g.createElement(ea,{location:r.location,revalidation:r.revalidation,component:b,error:w,children:L(),routeContext:{outlet:null,matches:I,isDataRoute:!0}}):L()},null)}var Lr=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Lr||{}),Cr=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}(Cr||{});function na(e){let t=g.useContext(qe);return t||F(!1),t}function aa(e){let t=g.useContext(_t);return t||F(!1),t}function ia(e){let t=g.useContext(se);return t||F(!1),t}function Dr(e){let t=ia(),r=t.matches[t.matches.length-1];return r.route.id||F(!1),r.route.id}function oa(){var e;let t=g.useContext(Sr),r=aa(),n=Dr();return t!==void 0?t:(e=r.errors)==null?void 0:e[n]}function la(){let{router:e}=na(Lr.UseNavigateStable),t=Dr(Cr.UseNavigateStable),r=g.useRef(!1);return Pr(()=>{r.current=!0}),g.useCallback(function(a,l){l===void 0&&(l={}),r.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,mt({fromRouteId:t},l)))},[e,t])}const dr={};function sa(e,t,r){dr[e]||(dr[e]=!0)}function _a(e){let{to:t,replace:r,state:n,relative:a}=e;ze()||F(!1);let{future:l,static:o}=g.useContext(pe),{matches:c}=g.useContext(se),{pathname:u}=Te(),f=jt(),h=vt(t,pt(c,l.v7_relativeSplatPath),u,a==="path"),m=JSON.stringify(h);return g.useEffect(()=>f(JSON.parse(m),{replace:r,state:n,relative:a}),[f,m,a,r,n]),null}function Na(e){return Xn(e.context)}function ua(e){let{basename:t="/",children:r=null,location:n,navigationType:a=Y.Pop,navigator:l,static:o=!1,future:c}=e;ze()&&F(!1);let u=t.replace(/^\/*/,"/"),f=g.useMemo(()=>({basename:u,navigator:l,static:o,future:mt({v7_relativeSplatPath:!1},c)}),[u,c,l,o]);typeof n=="string"&&(n=be(n));let{pathname:h="/",search:m="",hash:y="",state:w=null,key:P="default"}=n,b=g.useMemo(()=>{let M=me(h,u);return M==null?null:{location:{pathname:M,search:m,hash:y,state:w,key:P},navigationType:a}},[u,h,m,y,w,P,a]);return b==null?null:g.createElement(pe.Provider,{value:f},g.createElement(Nt.Provider,{children:r,value:b}))}new Promise(()=>{});function ca(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:g.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:g.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:g.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/**
21
21
  * React Router DOM v6.27.0
22
22
  *
23
23
  * Copyright (c) Remix Software Inc.
@@ -26,4 +26,4 @@ import{r as v,R as Gr,a as Xr}from"./@radix-C7hRs6Kx.js";/**
26
26
  * LICENSE.md file in the root directory of this source tree.
27
27
  *
28
28
  * @license MIT
29
- */function ze(){return ze=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},ze.apply(this,arguments)}function Tr(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,l;for(l=0;l<n.length;l++)a=n[l],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}function ha(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function pa(e,t){return e.button===0&&(!t||t==="_self")&&!ha(e)}function Mt(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 ma(e,t){let r=Mt(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(l=>{r.append(a,l)})}),r}const va=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],ga=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],ya="6";try{window.__reactRouterVersion=ya}catch{}function Aa(e,t){return Dn({basename:void 0,future:ze({},void 0,{v7_prependBasename:!0}),history:Qr({window:void 0}),hydrationData:wa(),routes:e,mapRouteProperties:fa,dataStrategy:void 0,patchRoutesOnNavigation:void 0,window:void 0}).initialize()}function wa(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=ze({},t,{errors:ba(t.errors)})),t}function ba(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,a]of t)if(a&&a.__type==="RouteErrorResponse")r[n]=new ht(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let l=window[a.__subType];if(typeof l=="function")try{let o=new l(a.message);o.stack="",r[n]=o}catch{}}if(r[n]==null){let l=new Error(a.message);l.stack="",r[n]=l}}else r[n]=a;return r}const Fr=v.createContext({isTransitioning:!1}),Ra=v.createContext(new Map),Ea="startTransition",hr=Gr[Ea],xa="flushSync",pr=Xr[xa];function Sa(e){hr?hr(e):e()}function Xe(e){pr?pr(e):e()}class Pa{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 Ba(e){let{fallbackElement:t,router:r,future:n}=e,[a,l]=v.useState(r.state),[o,c]=v.useState(),[u,f]=v.useState({isTransitioning:!1}),[h,p]=v.useState(),[y,w]=v.useState(),[P,b]=v.useState(),M=v.useRef(new Map),{v7_startTransition:I}=n||{},L=v.useCallback(U=>{I?Sa(U):U()},[I]),j=v.useCallback((U,_)=>{let{deletedFetchers:k,flushSync:Q,viewTransitionOpts:Z}=_;k.forEach(q=>M.current.delete(q)),U.fetchers.forEach((q,Fe)=>{q.data!==void 0&&M.current.set(Fe,q.data)});let ne=r.window==null||r.window.document==null||typeof r.window.document.startViewTransition!="function";if(!Z||ne){Q?Xe(()=>l(U)):L(()=>l(U));return}if(Q){Xe(()=>{y&&(h&&h.resolve(),y.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation})});let q=r.window.document.startViewTransition(()=>{Xe(()=>l(U))});q.finished.finally(()=>{Xe(()=>{p(void 0),w(void 0),c(void 0),f({isTransitioning:!1})})}),Xe(()=>w(q));return}y?(h&&h.resolve(),y.skipTransition(),b({state:U,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation})):(c(U),f({isTransitioning:!0,flushSync:!1,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation}))},[r.window,y,h,M,L]);v.useLayoutEffect(()=>r.subscribe(j),[r,j]),v.useEffect(()=>{u.isTransitioning&&!u.flushSync&&p(new Pa)},[u]),v.useEffect(()=>{if(h&&o&&r.window){let U=o,_=h.promise,k=r.window.document.startViewTransition(async()=>{L(()=>l(U)),await _});k.finished.finally(()=>{p(void 0),w(void 0),c(void 0),f({isTransitioning:!1})}),w(k)}},[L,o,h,r.window]),v.useEffect(()=>{h&&o&&a.location.key===o.location.key&&h.resolve()},[h,y,a.location,o]),v.useEffect(()=>{!u.isTransitioning&&P&&(c(P.state),f({isTransitioning:!0,flushSync:!1,currentLocation:P.currentLocation,nextLocation:P.nextLocation}),b(void 0))},[u.isTransitioning,P]),v.useEffect(()=>{},[]);let O=v.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:U=>r.navigate(U),push:(U,_,k)=>r.navigate(U,{state:_,preventScrollReset:k==null?void 0:k.preventScrollReset}),replace:(U,_,k)=>r.navigate(U,{replace:!0,state:_,preventScrollReset:k==null?void 0:k.preventScrollReset})}),[r]),G=r.basename||"/",m=v.useMemo(()=>({router:r,navigator:O,static:!1,basename:G}),[r,O,G]),X=v.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return v.createElement(v.Fragment,null,v.createElement(qe.Provider,{value:m},v.createElement(_t.Provider,{value:a},v.createElement(Ra.Provider,{value:M.current},v.createElement(Fr.Provider,{value:u},v.createElement(da,{basename:G,location:a.location,navigationType:a.historyAction,navigator:O,future:X},a.initialized||r.future.v7_partialHydration?v.createElement(La,{routes:r.routes,future:r.future,state:a}):t))))),null)}const La=v.memo(Ca);function Ca(e){let{routes:t,future:r,state:n}=e;return Zn(t,void 0,n,r)}const Da=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Ma=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ta=v.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:l,replace:o,state:c,target:u,to:f,preventScrollReset:h,viewTransition:p}=t,y=Tr(t,va),{basename:w}=v.useContext(me),P,b=!1;if(typeof f=="string"&&Ma.test(f)&&(P=f,Da))try{let j=new URL(window.location.href),O=f.startsWith("//")?new URL(j.protocol+f):new URL(f),G=pe(O.pathname,w);O.origin===j.origin&&G!=null?f=G+O.search+O.hash:b=!0}catch{}let M=Yn(f,{relative:a}),I=Ua(f,{replace:o,state:c,target:u,preventScrollReset:h,relative:a,viewTransition:p});function L(j){n&&n(j),j.defaultPrevented||I(j)}return v.createElement("a",ze({},y,{href:P||M,onClick:b||l?n:L,ref:r,target:u}))}),za=v.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:l="",end:o=!1,style:c,to:u,viewTransition:f,children:h}=t,p=Tr(t,ga),y=yt(u,{relative:p.relative}),w=Te(),P=v.useContext(_t),{navigator:b,basename:M}=v.useContext(me),I=P!=null&&Oa(y)&&f===!0,L=b.encodeLocation?b.encodeLocation(y).pathname:y.pathname,j=w.pathname,O=P&&P.navigation&&P.navigation.location?P.navigation.location.pathname:null;a||(j=j.toLowerCase(),O=O?O.toLowerCase():null,L=L.toLowerCase()),O&&M&&(O=pe(O,M)||O);const G=L!=="/"&&L.endsWith("/")?L.length-1:L.length;let m=j===L||!o&&j.startsWith(L)&&j.charAt(G)==="/",X=O!=null&&(O===L||!o&&O.startsWith(L)&&O.charAt(L.length)==="/"),U={isActive:m,isPending:X,isTransitioning:I},_=m?n:void 0,k;typeof l=="function"?k=l(U):k=[l,m?"active":null,X?"pending":null,I?"transitioning":null].filter(Boolean).join(" ");let Q=typeof c=="function"?c(U):c;return v.createElement(Ta,ze({},p,{"aria-current":_,className:k,ref:r,style:Q,to:u,viewTransition:f}),typeof h=="function"?h(U):h)});var Tt;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Tt||(Tt={}));var mr;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(mr||(mr={}));function Fa(e){let t=v.useContext(qe);return t||F(!1),t}function Ua(e,t){let{target:r,replace:n,state:a,preventScrollReset:l,relative:o,viewTransition:c}=t===void 0?{}:t,u=jt(),f=Te(),h=yt(e,{relative:o});return v.useCallback(p=>{if(pa(p,r)){p.preventDefault();let y=n!==void 0?n:Me(f)===Me(h);u(e,{replace:y,state:a,preventScrollReset:l,relative:o,viewTransition:c})}},[f,u,h,n,a,r,e,l,o,c])}function ka(e){let t=v.useRef(Mt(e)),r=v.useRef(!1),n=Te(),a=v.useMemo(()=>ma(n.search,r.current?null:t.current),[n.search]),l=jt(),o=v.useCallback((c,u)=>{const f=Mt(typeof c=="function"?c(a):c);r.current=!0,l("?"+f,u)},[l,a]);return[a,o]}function Oa(e,t){t===void 0&&(t={});let r=v.useContext(Fr);r==null&&F(!1);let{basename:n}=Fa(Tt.useViewTransitionState),a=yt(e,{relative:t.relative});if(!r.isTransitioning)return!1;let l=pe(r.currentLocation.pathname,n)||r.currentLocation.pathname,o=pe(r.nextLocation.pathname,n)||r.nextLocation.pathname;return ft(a.pathname,o)!=null||ft(a.pathname,l)!=null}export{Ta as L,ja as N,Ia as O,ca as R,Na as a,la as b,jt as c,ka as d,Aa as e,fr as f,Ba as g,za as h,ft as m,Te as u};
29
+ */function ke(){return ke=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},ke.apply(this,arguments)}function Mr(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,l;for(l=0;l<n.length;l++)a=n[l],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}function da(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function fa(e,t){return e.button===0&&(!t||t==="_self")&&!da(e)}function Mt(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 ha(e,t){let r=Mt(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(l=>{r.append(a,l)})}),r}const ma=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],pa=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],va="6";try{window.__reactRouterVersion=va}catch{}function ja(e,t){return Cn({basename:void 0,future:ke({},void 0,{v7_prependBasename:!0}),history:Xr({window:void 0}),hydrationData:ga(),routes:e,mapRouteProperties:ca,dataStrategy:void 0,patchRoutesOnNavigation:void 0,window:void 0}).initialize()}function ga(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=ke({},t,{errors:ya(t.errors)})),t}function ya(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,a]of t)if(a&&a.__type==="RouteErrorResponse")r[n]=new ht(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let l=window[a.__subType];if(typeof l=="function")try{let o=new l(a.message);o.stack="",r[n]=o}catch{}}if(r[n]==null){let l=new Error(a.message);l.stack="",r[n]=l}}else r[n]=a;return r}const Tr=g.createContext({isTransitioning:!1}),wa=g.createContext(new Map),ba="startTransition",fr=Yr[ba],Ra="flushSync",hr=Gr[Ra];function Ea(e){fr?fr(e):e()}function Xe(e){hr?hr(e):e()}class xa{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 Ia(e){let{fallbackElement:t,router:r,future:n}=e,[a,l]=g.useState(r.state),[o,c]=g.useState(),[u,f]=g.useState({isTransitioning:!1}),[h,m]=g.useState(),[y,w]=g.useState(),[P,b]=g.useState(),M=g.useRef(new Map),{v7_startTransition:I}=n||{},L=g.useCallback(U=>{I?Ea(U):U()},[I]),j=g.useCallback((U,_)=>{let{deletedFetchers:z,flushSync:Q,viewTransitionOpts:Z}=_;z.forEach(q=>M.current.delete(q)),U.fetchers.forEach((q,Ue)=>{q.data!==void 0&&M.current.set(Ue,q.data)});let ne=r.window==null||r.window.document==null||typeof r.window.document.startViewTransition!="function";if(!Z||ne){Q?Xe(()=>l(U)):L(()=>l(U));return}if(Q){Xe(()=>{y&&(h&&h.resolve(),y.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation})});let q=r.window.document.startViewTransition(()=>{Xe(()=>l(U))});q.finished.finally(()=>{Xe(()=>{m(void 0),w(void 0),c(void 0),f({isTransitioning:!1})})}),Xe(()=>w(q));return}y?(h&&h.resolve(),y.skipTransition(),b({state:U,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation})):(c(U),f({isTransitioning:!0,flushSync:!1,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation}))},[r.window,y,h,M,L]);g.useLayoutEffect(()=>r.subscribe(j),[r,j]),g.useEffect(()=>{u.isTransitioning&&!u.flushSync&&m(new xa)},[u]),g.useEffect(()=>{if(h&&o&&r.window){let U=o,_=h.promise,z=r.window.document.startViewTransition(async()=>{L(()=>l(U)),await _});z.finished.finally(()=>{m(void 0),w(void 0),c(void 0),f({isTransitioning:!1})}),w(z)}},[L,o,h,r.window]),g.useEffect(()=>{h&&o&&a.location.key===o.location.key&&h.resolve()},[h,y,a.location,o]),g.useEffect(()=>{!u.isTransitioning&&P&&(c(P.state),f({isTransitioning:!0,flushSync:!1,currentLocation:P.currentLocation,nextLocation:P.nextLocation}),b(void 0))},[u.isTransitioning,P]),g.useEffect(()=>{},[]);let O=g.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:U=>r.navigate(U),push:(U,_,z)=>r.navigate(U,{state:_,preventScrollReset:z==null?void 0:z.preventScrollReset}),replace:(U,_,z)=>r.navigate(U,{replace:!0,state:_,preventScrollReset:z==null?void 0:z.preventScrollReset})}),[r]),G=r.basename||"/",p=g.useMemo(()=>({router:r,navigator:O,static:!1,basename:G}),[r,O,G]),X=g.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return g.createElement(g.Fragment,null,g.createElement(qe.Provider,{value:p},g.createElement(_t.Provider,{value:a},g.createElement(wa.Provider,{value:M.current},g.createElement(Tr.Provider,{value:u},g.createElement(ua,{basename:G,location:a.location,navigationType:a.historyAction,navigator:O,future:X},a.initialized||r.future.v7_partialHydration?g.createElement(Sa,{routes:r.routes,future:r.future,state:a}):t))))),null)}const Sa=g.memo(Pa);function Pa(e){let{routes:t,future:r,state:n}=e;return Qn(t,void 0,n,r)}const La=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Ca=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Da=g.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:l,replace:o,state:c,target:u,to:f,preventScrollReset:h,viewTransition:m}=t,y=Mr(t,ma),{basename:w}=g.useContext(pe),P,b=!1;if(typeof f=="string"&&Ca.test(f)&&(P=f,La))try{let j=new URL(window.location.href),O=f.startsWith("//")?new URL(j.protocol+f):new URL(f),G=me(O.pathname,w);O.origin===j.origin&&G!=null?f=G+O.search+O.hash:b=!0}catch{}let M=Jn(f,{relative:a}),I=Ta(f,{replace:o,state:c,target:u,preventScrollReset:h,relative:a,viewTransition:m});function L(j){n&&n(j),j.defaultPrevented||I(j)}return g.createElement("a",ke({},y,{href:P||M,onClick:b||l?n:L,ref:r,target:u}))}),Aa=g.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:l="",end:o=!1,style:c,to:u,viewTransition:f,children:h}=t,m=Mr(t,pa),y=yt(u,{relative:m.relative}),w=Te(),P=g.useContext(_t),{navigator:b,basename:M}=g.useContext(pe),I=P!=null&&Ua(y)&&f===!0,L=b.encodeLocation?b.encodeLocation(y).pathname:y.pathname,j=w.pathname,O=P&&P.navigation&&P.navigation.location?P.navigation.location.pathname:null;a||(j=j.toLowerCase(),O=O?O.toLowerCase():null,L=L.toLowerCase()),O&&M&&(O=me(O,M)||O);const G=L!=="/"&&L.endsWith("/")?L.length-1:L.length;let p=j===L||!o&&j.startsWith(L)&&j.charAt(G)==="/",X=O!=null&&(O===L||!o&&O.startsWith(L)&&O.charAt(L.length)==="/"),U={isActive:p,isPending:X,isTransitioning:I},_=p?n:void 0,z;typeof l=="function"?z=l(U):z=[l,p?"active":null,X?"pending":null,I?"transitioning":null].filter(Boolean).join(" ");let Q=typeof c=="function"?c(U):c;return g.createElement(Da,ke({},m,{"aria-current":_,className:z,ref:r,style:Q,to:u,viewTransition:f}),typeof h=="function"?h(U):h)});var Tt;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Tt||(Tt={}));var mr;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(mr||(mr={}));function Ma(e){let t=g.useContext(qe);return t||F(!1),t}function Ta(e,t){let{target:r,replace:n,state:a,preventScrollReset:l,relative:o,viewTransition:c}=t===void 0?{}:t,u=jt(),f=Te(),h=yt(e,{relative:o});return g.useCallback(m=>{if(fa(m,r)){m.preventDefault();let y=n!==void 0?n:Me(f)===Me(h);u(e,{replace:y,state:a,preventScrollReset:l,relative:o,viewTransition:c})}},[f,u,h,n,a,r,e,l,o,c])}function Ba(e){let t=g.useRef(Mt(e)),r=g.useRef(!1),n=Te(),a=g.useMemo(()=>ha(n.search,r.current?null:t.current),[n.search]),l=jt(),o=g.useCallback((c,u)=>{const f=Mt(typeof c=="function"?c(a):c);r.current=!0,l("?"+f,u)},[l,a]);return[a,o]}function Ua(e,t){t===void 0&&(t={});let r=g.useContext(Tr);r==null&&F(!1);let{basename:n}=Ma(Tt.useViewTransitionState),a=yt(e,{relative:t.relative});if(!r.isTransitioning)return!1;let l=me(r.currentLocation.pathname,n)||r.currentLocation.pathname,o=me(r.nextLocation.pathname,n)||r.nextLocation.pathname;return ft(a.pathname,o)!=null||ft(a.pathname,l)!=null}export{Da as L,_a as N,Na as O,Ia as R,Oa as a,oa as b,jt as c,Aa as d,ja as e,Ba as f,ft as m,Te as u};
@@ -1,4 +1,4 @@
1
- import{b as to,g as ts,c as R,r as E}from"./@radix-C7hRs6Kx.js";function ft(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,r;n<t.length;n++)(r=ft(t[n]))!==""&&(e+=(e&&" ")+r);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var fn={exports:{}},dn={},hn={exports:{}},gn={};/**
1
+ import{b as to,g as ts,c as R,r as E}from"./@radix-Cdvw4jJ8.js";function ft(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,r;n<t.length;n++)(r=ft(t[n]))!==""&&(e+=(e&&" ")+r);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var fn={exports:{}},dn={},hn={exports:{}},gn={};/**
2
2
  * @license React
3
3
  * use-sync-external-store-shim.production.min.js
4
4
  *