vibe64 0.1.39 → 0.1.40

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 (261) hide show
  1. package/bin/run.js +1942 -1846
  2. package/bin/server.js +136 -112
  3. package/bin/upgrade-state.js +5023 -4860
  4. package/dist/assets/GithubBrowserTabs-BoDkGFtY.js +1 -0
  5. package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
  6. package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
  7. package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
  8. package/dist/assets/VAlert-gwuhYlYb.js +1 -0
  9. package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
  10. package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
  11. package/dist/assets/VBtn-BhVEwXLX.js +1 -0
  12. package/dist/assets/VCard-C3Hx769y.js +1 -0
  13. package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
  14. package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
  15. package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
  16. package/dist/assets/VChip-VVdtjfq-.js +1 -0
  17. package/dist/assets/VDialog-CQDhjRiV.js +1 -0
  18. package/dist/assets/VDivider-Dq25WsKu.js +1 -0
  19. package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
  20. package/dist/assets/VMenu-CDcBLYWR.js +1 -0
  21. package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
  22. package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
  23. package/dist/assets/VRow-BskP28jR.js +1 -0
  24. package/dist/assets/VSelect-D3oLvCcB.js +2 -0
  25. package/dist/assets/VSheet-DxYEFfnM.js +1 -0
  26. package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
  27. package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
  28. package/dist/assets/VSwitch-BxGuGypi.js +1 -0
  29. package/dist/assets/VTextField-C0b_0cSa.js +1 -0
  30. package/dist/assets/VTextField-F6unyhrS.css +1 -0
  31. package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
  32. package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
  33. package/dist/assets/Vibe64AuthSettingsButton-CmiidAs5.js +5 -0
  34. package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
  35. package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
  36. package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
  37. package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
  38. package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
  39. package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
  40. package/dist/assets/Vibe64DashboardShell-MCzEQCWu.js +1 -0
  41. package/dist/assets/{Vibe64DatabaseWorkspace-CEml9BWn.js → Vibe64DatabaseWorkspace-DM9V017v.js} +3 -3
  42. package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
  43. package/dist/assets/Vibe64OutputControls-CU9H0Dur.js +8 -0
  44. package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
  45. package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
  46. package/dist/assets/{Vibe64RepositoryWorkspace-obZFXkoG.js → Vibe64RepositoryWorkspace-DaAChLA8.js} +2 -2
  47. package/dist/assets/{Vibe64SessionFiles-CQzs6fee.js → Vibe64SessionFiles-CM2EzXBf.js} +4 -4
  48. package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
  49. package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
  50. package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
  51. package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
  52. package/dist/assets/{_sessionId_-CKkGH3Rx.js → _sessionId_-DVHd6D5V.js} +1 -1
  53. package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
  54. package/dist/assets/_slug_-DsfaE8Vh.js +25 -0
  55. package/dist/assets/_slug_-_qfQqdHb.css +1 -0
  56. package/dist/assets/{access-WlhPvPgy.js → access-BbzSuMt5.js} +1 -1
  57. package/dist/assets/app-BNh2oZg-.js +1 -0
  58. package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
  59. package/dist/assets/{changes-CHJjrZAc.js → changes-D8Koqrqg.js} +1 -1
  60. package/dist/assets/client-CybfBKCn.js +2 -0
  61. package/dist/assets/client-D6UGamrv.css +1 -0
  62. package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
  63. package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
  64. package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
  65. package/dist/assets/{dashboard-CuutW8iv.js → dashboard-DLrmf5ed.js} +1 -1
  66. package/dist/assets/definitions-DgyQJgn-.js +1 -0
  67. package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
  68. package/dist/assets/env-B5V1EC4M.css +1 -0
  69. package/dist/assets/env-rVQwLtYr.js +1 -0
  70. package/dist/assets/health-92hh8xXh.css +1 -0
  71. package/dist/assets/health-B6r9LLrd.js +1 -0
  72. package/dist/assets/{history-1_NU8azF.js → history-C6xLWUxL.js} +1 -1
  73. package/dist/assets/incoming-Bdqo8z25.css +1 -0
  74. package/dist/assets/incoming-CNwZa_yD.js +2 -0
  75. package/dist/assets/index-B9P6KjvH.js +138 -0
  76. package/dist/assets/{index-irlMYzLh.css → index-BC29JK2e.css} +1 -1
  77. package/dist/assets/{integrations-BMzWQQpa.js → integrations-CcrqPXxj.js} +10 -10
  78. package/dist/assets/integrations-Co8WvCiD.css +1 -0
  79. package/dist/assets/issues-DEjIlMdl.js +1 -0
  80. package/dist/assets/layout-B2Ap07aa.js +1 -0
  81. package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
  82. package/dist/assets/{learning-Bdi3XRS7.js → learning-BP1xvd8w.js} +1 -1
  83. package/dist/assets/mdi-Bt90Ns76.js +1 -0
  84. package/dist/assets/placement-CQy46H3H.js +1 -0
  85. package/dist/assets/publish-CPWnztCc.css +1 -0
  86. package/dist/assets/publish-CVXolnAG.js +3 -0
  87. package/dist/assets/pull-requests-BjwokcU0.css +1 -0
  88. package/dist/assets/pull-requests-DdgzLzY_.js +1 -0
  89. package/dist/assets/{repository-BL_2bgzC.js → repository-5S0LzRq3.js} +1 -1
  90. package/dist/assets/ripple-EFNA8EBu.js +11 -0
  91. package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
  92. package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
  93. package/dist/assets/{settings-1rpuL7eR.js → settings-BKP_eQ3F.js} +1 -1
  94. package/dist/assets/settings-D8x4KUqV.css +1 -0
  95. package/dist/assets/shared-DZETtWRH.js +2 -0
  96. package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
  97. package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
  98. package/dist/assets/useArchivedVibe64Sessions-D8DWpcSy.js +1 -0
  99. package/dist/assets/useCommand-nWFczmJy.js +1 -0
  100. package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
  101. package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
  102. package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
  103. package/dist/assets/useVibe64ConversationLog-D-Vkq0sK.js +1 -0
  104. package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-Dpm53ruL.js} +1 -1
  105. package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
  106. package/dist/assets/useVibe64SessionData-CGJXj3r7.js +1 -0
  107. package/dist/assets/{useVibe64SessionSelection-BzL1y_Vq.js → useVibe64SessionSelection-BEqKR412.js} +1 -1
  108. package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
  109. package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
  110. package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
  111. package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
  112. package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
  113. package/dist/assets/vibe64SessionFocus-tv2wz7_H.js +1 -0
  114. package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
  115. package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
  116. package/dist/index.html +56 -46
  117. package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
  118. package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
  119. package/docs/colleague-usage/ai-model-setups.md +159 -0
  120. package/docs/colleague-usage/ai-onboarding.md +94 -21
  121. package/docs/colleague-usage/ai-personal-use.md +41 -0
  122. package/docs/colleague-usage/auto-workflow.md +8 -3
  123. package/docs/colleague-usage/codex-context-recovery.md +2 -1
  124. package/docs/colleague-usage/coding-agent-goals.md +7 -4
  125. package/docs/colleague-usage/coding-agents.md +8 -5
  126. package/docs/colleague-usage/colleague-watches.md +15 -4
  127. package/docs/colleague-usage/colleague.md +21 -5
  128. package/docs/colleague-usage/connected-contributions.md +13 -13
  129. package/docs/colleague-usage/connected-projects.md +2 -2
  130. package/docs/colleague-usage/conversation-context.md +1 -1
  131. package/docs/colleague-usage/dashboard-navigation.md +5 -3
  132. package/docs/colleague-usage/development-env.md +21 -4
  133. package/docs/colleague-usage/file-interfaces.md +1 -1
  134. package/docs/colleague-usage/github-work.md +8 -8
  135. package/docs/colleague-usage/health-checks.md +52 -18
  136. package/docs/colleague-usage/incoming-changes.md +3 -3
  137. package/docs/colleague-usage/integrations.md +5 -3
  138. package/docs/colleague-usage/learning-course-catalogue.md +3 -3
  139. package/docs/colleague-usage/learning-environment.md +55 -47
  140. package/docs/colleague-usage/learning-mode-ui.md +13 -10
  141. package/docs/colleague-usage/learning-practice-projects.md +13 -2
  142. package/docs/colleague-usage/learning-teacher-guide.md +9 -4
  143. package/docs/colleague-usage/learning-with-colleague.md +9 -5
  144. package/docs/colleague-usage/lesson-authoring.md +12 -12
  145. package/docs/colleague-usage/lesson-step-bar.md +22 -22
  146. package/docs/colleague-usage/main-chat-approvals.md +150 -0
  147. package/docs/colleague-usage/preview-browser-checks.md +5 -1
  148. package/docs/colleague-usage/project-language-tools.md +16 -2
  149. package/docs/colleague-usage/project-settings.md +1 -1
  150. package/docs/colleague-usage/project-setup.md +17 -7
  151. package/docs/colleague-usage/publishing.md +185 -0
  152. package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
  153. package/docs/colleague-usage/sessions.md +18 -10
  154. package/docs/colleague-usage/set-up-linux.md +254 -0
  155. package/docs/colleague-usage/set-up-macos.md +199 -0
  156. package/docs/colleague-usage/set-up-windows.md +76 -0
  157. package/docs/colleague-usage/starter-apps.md +21 -4
  158. package/docs/colleague-usage/teaching-content.md +2 -2
  159. package/docs/colleague-usage/team-ai-access.md +108 -0
  160. package/docs/colleague-usage/temporary-chats.md +9 -7
  161. package/docs/colleague-usage/workspace-preparation.md +50 -1
  162. package/docs/templates/learn-topic/README.md +3 -3
  163. package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
  164. package/docs/training-content.md +37 -15
  165. package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
  166. package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
  167. package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
  168. package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
  169. package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
  170. package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
  171. package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
  172. package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
  173. package/node_modules/@jskit-ai/kernel/package.json +1 -1
  174. package/node_modules/@jskit-ai/realtime/package.json +1 -1
  175. package/node_modules/@jskit-ai/resource-core/package.json +1 -1
  176. package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
  177. package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
  178. package/node_modules/@local/vibe64-accounts/package.json +2 -1
  179. package/node_modules/@local/vibe64-core/package.json +4 -1
  180. package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
  181. package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +73 -69
  182. package/node_modules/@local/vibe64-genesis/package.json +1 -0
  183. package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
  184. package/node_modules/@local/vibe64-genesis/src/server/index.js +501 -415
  185. package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
  186. package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +143 -139
  187. package/node_modules/@local/vibe64-packaging/package.json +26 -0
  188. package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
  189. package/node_modules/@local/vibe64-project/package.json +3 -1
  190. package/node_modules/@local/vibe64-publishing/package.json +12 -0
  191. package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
  192. package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
  193. package/node_modules/@local/vibe64-terminals/package.json +2 -1
  194. package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1340 -1300
  195. package/node_modules/@local/vibe64-training/package.json +2 -1
  196. package/package.json +19 -15
  197. package/server.bundle.mjs +42890 -40887
  198. package/dist/assets/GithubBrowserTabs-C2NO5l8g.js +0 -1
  199. package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
  200. package/dist/assets/VAlert-P256xaE0.js +0 -1
  201. package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
  202. package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
  203. package/dist/assets/VBtn-B2MBK2DL.js +0 -1
  204. package/dist/assets/VCard-mXy0k4aS.js +0 -1
  205. package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
  206. package/dist/assets/VChip-CcI-Oo2J.js +0 -1
  207. package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
  208. package/dist/assets/VDivider-BMEqUoAB.js +0 -1
  209. package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
  210. package/dist/assets/VMenu-C_x18lwb.js +0 -1
  211. package/dist/assets/VOverlay-CeMZurIN.js +0 -1
  212. package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
  213. package/dist/assets/VRow-Cpw7OHQV.js +0 -1
  214. package/dist/assets/VSelect-DL3HaA5m.js +0 -2
  215. package/dist/assets/VSheet-DZWsu0kL.js +0 -1
  216. package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
  217. package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
  218. package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
  219. package/dist/assets/VTextField-BR2eZeFT.js +0 -1
  220. package/dist/assets/VTextField-BiatYyd3.css +0 -1
  221. package/dist/assets/VTextarea-DbqamXJd.js +0 -1
  222. package/dist/assets/Vibe64AuthSettingsButton-fY4ZiIFF.js +0 -5
  223. package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
  224. package/dist/assets/Vibe64DashboardShell-BSq7uXEW.js +0 -1
  225. package/dist/assets/Vibe64OutputControls-_zhGX9ne.js +0 -8
  226. package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
  227. package/dist/assets/_slug_-BclonbST.js +0 -24
  228. package/dist/assets/_slug_-CZ1bxO9C.css +0 -1
  229. package/dist/assets/app-BNP_n_Tt.js +0 -1
  230. package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
  231. package/dist/assets/client-BWV84wi2.js +0 -2
  232. package/dist/assets/client-DGrP-2AJ.css +0 -1
  233. package/dist/assets/definitions-BrMvu6yV.js +0 -1
  234. package/dist/assets/env-BzRtyO0w.css +0 -1
  235. package/dist/assets/env-D3KQGvRe.js +0 -1
  236. package/dist/assets/health-BJvooRnJ.css +0 -1
  237. package/dist/assets/health-BhoO1d4h.js +0 -1
  238. package/dist/assets/incoming-DWDrmxyH.css +0 -1
  239. package/dist/assets/incoming-DzADFGqp.js +0 -2
  240. package/dist/assets/index-dNxr4Lg9.js +0 -138
  241. package/dist/assets/integrations-Cq1x-Di9.css +0 -1
  242. package/dist/assets/issues-Bywux4s7.js +0 -1
  243. package/dist/assets/mdi-CG9pWOSj.js +0 -1
  244. package/dist/assets/placement-BF-zIEhA.js +0 -1
  245. package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
  246. package/dist/assets/pull-requests-ncmKT3sS.js +0 -1
  247. package/dist/assets/ripple-BVltMmyV.js +0 -11
  248. package/dist/assets/settings-BopLnpB0.css +0 -1
  249. package/dist/assets/shared-DpMvYJO3.js +0 -2
  250. package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
  251. package/dist/assets/studioUrls-DmMMIScP.js +0 -1
  252. package/dist/assets/useArchivedVibe64Sessions-_LB2XxEa.js +0 -1
  253. package/dist/assets/useCommand-Bqxb-naz.js +0 -1
  254. package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
  255. package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
  256. package/dist/assets/useVibe64ConversationLog-BqUI0S5n.js +0 -1
  257. package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
  258. package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
  259. package/dist/assets/useVibe64SessionData-B686lToN.js +0 -1
  260. package/dist/assets/vibe64SessionFocus-CqZNTvYF.js +0 -1
  261. package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
@@ -1,11 +0,0 @@
1
- import{$ as mergeModels,$n as normalizeProps,$t as ReactiveEffect,A as defineEmits,An as NOOP,At as ssrUtils,B as h,Bn as isModelListener,Bt as version,C as createRenderer,Cn as toRaw,Ct as resolveDirective,D as createVNode,Dn as triggerRef,Dt as setDevtoolsHook,E as createTextVNode,En as toValue,Et as setBlockTracking,F as defineSlots,Fn as hyphenate,Ft as useModel,G as hydrateOnMediaQuery,Gn as isSpecialBooleanAttr,Gt as watchSyncEffect,H as hasInjectionContext,Hn as isOn$1,Ht as watch,I as devtools,In as includeBooleanAttr,It as useSSRContext,J as inject,Jn as looseEqual,Jt as withDefaults,K as hydrateOnVisible,Kn as isString$1,Kt as withAsyncContext,L as getCurrentInstance$1,Ln as invokeArrayFns,Lt as useSlots,M as defineModel,Mn as capitalize,Mt as transformVNodeArgs,N as defineOptions,Nn as extend,Nt as useAttrs,O as defineAsyncComponent,On as unref,Ot as setTransitionHooks,P as defineProps,Pn as hasOwn,Pt as useId$1,Q as mergeDefaults,Qn as normalizeCssVarValue,Qt as EffectScope,R as getTransitionRawChildren,Rn as isArray$1,Rt as useTemplateRef,S as createPropsRestProxy,Sn as stop,St as resolveComponent,T as createStaticVNode,Tn as toRefs,Tt as resolveTransitionHooks,U as hydrateOnIdle,Un as isPlainObject$2,Ut as watchEffect,V as handleError,Vn as isObject$1,Vt as warn,W as hydrateOnInteraction,Wn as isSet,Wt as watchPostEffect,X as isRuntimeOnly,Xn as looseToNumber,Xt as withMemo,Y as isMemoSame,Yn as looseIndexOf,Yt as withDirectives,Z as isVNode,Zn as normalizeClass,Zt as withScopeId,_ as createBaseVNode,_n as readonly,_t as pushScopeId,a as ErrorTypeStrings,an as getCurrentScope,at as onBeforeUpdate,b as createElementBlock,bn as shallowReadonly,bt as renderList,c as Static,cn as isReactive,ct as onMounted,d as Text,dn as isShallow,dt as onServerPrefetch,en as TrackOpTypes,er as normalizeStyle,et as mergeProps,f as assertNumber,fn as markRaw,ft as onUnmounted,g as computed,gn as reactive,gt as provide,h as cloneVNode,hn as proxyRefs,ht as popScopeId,i as ErrorCodes,in as effectScope,it as onBeforeUnmount,j as defineExpose,jn as camelize,jt as toHandlers,k as defineComponent$1,kn as EMPTY_OBJ,kt as ssrContextKey,l as Suspense,ln as isReadonly,lt as onRenderTracked,m as callWithErrorHandling,mn as onWatcherCleanup,mt as openBlock,n as BaseTransitionPropsValidators,nn as customRef,nr as toHandlerKey,nt as onActivated,o as Fragment,on as getCurrentWatcher,ot as onDeactivated,p as callWithAsyncErrorHandling,pn as onScopeDispose,pt as onUpdated,q as initCustomFormatter,qn as isSymbol$1,qt as withCtx,r as Comment,rn as effect,rr as toNumber,rt as onBeforeMount,s as KeepAlive,sn as isProxy,st as onErrorCaptured,t as BaseTransition,tn as TriggerOpTypes,tr as toDisplayString,tt as nextTick,u as Teleport,un as isRef,ut as onRenderTriggered,v as createBlock,vn as ref,vt as queuePostFlushCb,w as createSlots,wn as toRef,wt as resolveDynamicComponent,x as createHydrationRenderer,xn as shallowRef,xt as renderSlot,y as createCommentVNode,yn as shallowReactive,yt as registerRuntimeCompiler,z as guardReactiveProps,zn as isFunction$1,zt as useTransitionState}from"./runtime-core.esm-bundler-DGXg_mpN.js";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __esmMin=(fn,res,err)=>()=>{if(err)throw err[0];try{return fn&&(res=fn(fn=0)),res}catch(e){throw err=[e],e}};var __commonJSMin=(cb,mod)=>()=>(mod||(cb((mod={exports:{}}).exports,mod),cb=null),mod.exports);var __exportAll=(all,no_symbols)=>{let target={};for(var name in all){__defProp(target,name,{get:all[name],enumerable:true})}if(!no_symbols){__defProp(target,Symbol.toStringTag,{value:`Module`})}return target};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===`object`||typeof from===`function`){for(var keys=__getOwnPropNames(from),i=0,n=keys.length,key;i<n;i++){key=keys[i];if(!__hasOwnProp.call(to,key)&&key!==except){__defProp(to,key,{get:(k=>from[k]).bind(null,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}}}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule||!__hasOwnProp.call(mod,`default`)?__defProp(target,`default`,{value:mod,enumerable:true}):target,mod));var __toCommonJS=mod=>__hasOwnProp.call(mod,`module.exports`)?mod[`module.exports`]:__copyProps(__defProp({},`__esModule`,{value:true}),mod);var policy=void 0;var tt=typeof window!==`undefined`&&window.trustedTypes;if(tt)try{policy=tt.createPolicy(`vue`,{createHTML:val=>val})}catch(e){}var unsafeToTrustedHTML=policy?val=>policy.createHTML(val):val=>val;var svgNS=`http://www.w3.org/2000/svg`;var mathmlNS=`http://www.w3.org/1998/Math/MathML`;var doc=typeof document!==`undefined`?document:null;var templateContainer=doc&&doc.createElement(`template`);var nodeOps={insert:(child,parent,anchor)=>{parent.insertBefore(child,anchor||null)},remove:child=>{const parent=child.parentNode;if(parent)parent.removeChild(child)},createElement:(tag,namespace,is,props)=>{const el=namespace===`svg`?doc.createElementNS(svgNS,tag):namespace===`mathml`?doc.createElementNS(mathmlNS,tag):is?doc.createElement(tag,{is}):doc.createElement(tag);if(tag===`select`&&props&&props.multiple!=null)el.setAttribute(`multiple`,props.multiple);return el},createText:text=>doc.createTextNode(text),createComment:text=>doc.createComment(text),setText:(node,text)=>{node.nodeValue=text},setElementText:(el,text)=>{el.textContent=text},parentNode:node=>node.parentNode,nextSibling:node=>node.nextSibling,querySelector:selector=>doc.querySelector(selector),setScopeId(el,id){el.setAttribute(id,``)},insertStaticContent(content,parent,anchor,namespace,start,end){const before=anchor?anchor.previousSibling:parent.lastChild;if(start&&(start===end||start.nextSibling))while(true){parent.insertBefore(start.cloneNode(true),anchor);if(start===end||!(start=start.nextSibling))break}else{templateContainer.innerHTML=unsafeToTrustedHTML(namespace===`svg`?`<svg>${content}</svg>`:namespace===`mathml`?`<math>${content}</math>`:content);const template=templateContainer.content;if(namespace===`svg`||namespace===`mathml`){const wrapper=template.firstChild;while(wrapper.firstChild)template.appendChild(wrapper.firstChild);template.removeChild(wrapper)}parent.insertBefore(template,anchor)}return[before?before.nextSibling:parent.firstChild,anchor?anchor.previousSibling:parent.lastChild]}};var TRANSITION=`transition`;var ANIMATION=`animation`;var vtcKey=Symbol(`_vtc`);var DOMTransitionPropsValidators={name:String,type:String,css:{type:Boolean,default:true},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};var TransitionPropsValidators=extend({},BaseTransitionPropsValidators,DOMTransitionPropsValidators);var decorate$1=t=>{t.displayName=`Transition`;t.props=TransitionPropsValidators;return t};var Transition=decorate$1((props,{slots})=>h(BaseTransition,resolveTransitionProps(props),slots));var callHook=(hook,args=[])=>{if(isArray$1(hook))hook.forEach(h2=>h2(...args));else if(hook)hook(...args)};var hasExplicitCallback=hook=>{return hook?isArray$1(hook)?hook.some(h2=>h2.length>1):hook.length>1:false};function resolveTransitionProps(rawProps){const baseProps={};for(const key in rawProps)if(!(key in DOMTransitionPropsValidators))baseProps[key]=rawProps[key];if(rawProps.css===false)return baseProps;const{name=`v`,type,duration,enterFromClass=`${name}-enter-from`,enterActiveClass=`${name}-enter-active`,enterToClass=`${name}-enter-to`,appearFromClass=enterFromClass,appearActiveClass=enterActiveClass,appearToClass=enterToClass,leaveFromClass=`${name}-leave-from`,leaveActiveClass=`${name}-leave-active`,leaveToClass=`${name}-leave-to`}=rawProps;const durations=normalizeDuration(duration);const enterDuration=durations&&durations[0];const leaveDuration=durations&&durations[1];const{onBeforeEnter,onEnter,onEnterCancelled,onLeave,onLeaveCancelled,onBeforeAppear=onBeforeEnter,onAppear=onEnter,onAppearCancelled=onEnterCancelled}=baseProps;const finishEnter=(el,isAppear,done,isCancelled)=>{el._enterCancelled=isCancelled;removeTransitionClass(el,isAppear?appearToClass:enterToClass);removeTransitionClass(el,isAppear?appearActiveClass:enterActiveClass);done&&done()};const finishLeave=(el,done)=>{el._isLeaving=false;removeTransitionClass(el,leaveFromClass);removeTransitionClass(el,leaveToClass);removeTransitionClass(el,leaveActiveClass);done&&done()};const makeEnterHook=isAppear=>{return(el,done)=>{const hook=isAppear?onAppear:onEnter;const resolve=()=>finishEnter(el,isAppear,done);callHook(hook,[el,resolve]);nextFrame(()=>{removeTransitionClass(el,isAppear?appearFromClass:enterFromClass);addTransitionClass(el,isAppear?appearToClass:enterToClass);if(!hasExplicitCallback(hook))whenTransitionEnds(el,type,enterDuration,resolve)})}};return extend(baseProps,{onBeforeEnter(el){callHook(onBeforeEnter,[el]);addTransitionClass(el,enterFromClass);addTransitionClass(el,enterActiveClass)},onBeforeAppear(el){callHook(onBeforeAppear,[el]);addTransitionClass(el,appearFromClass);addTransitionClass(el,appearActiveClass)},onEnter:makeEnterHook(false),onAppear:makeEnterHook(true),onLeave(el,done){el._isLeaving=true;const resolve=()=>finishLeave(el,done);addTransitionClass(el,leaveFromClass);if(!el._enterCancelled){forceReflow(el);addTransitionClass(el,leaveActiveClass)}else{addTransitionClass(el,leaveActiveClass);forceReflow(el)}nextFrame(()=>{if(!el._isLeaving)return;removeTransitionClass(el,leaveFromClass);addTransitionClass(el,leaveToClass);if(!hasExplicitCallback(onLeave))whenTransitionEnds(el,type,leaveDuration,resolve)});callHook(onLeave,[el,resolve])},onEnterCancelled(el){finishEnter(el,false,void 0,true);callHook(onEnterCancelled,[el])},onAppearCancelled(el){finishEnter(el,true,void 0,true);callHook(onAppearCancelled,[el])},onLeaveCancelled(el){finishLeave(el);callHook(onLeaveCancelled,[el])}})}function normalizeDuration(duration){if(duration==null)return null;else if(isObject$1(duration))return[NumberOf(duration.enter),NumberOf(duration.leave)];else{const n=NumberOf(duration);return[n,n]}}function NumberOf(val){return toNumber(val)}function addTransitionClass(el,cls){cls.split(/\s+/).forEach(c=>c&&el.classList.add(c));(el[vtcKey]||(el[vtcKey]=new Set)).add(cls)}function removeTransitionClass(el,cls){cls.split(/\s+/).forEach(c=>c&&el.classList.remove(c));const _vtc=el[vtcKey];if(_vtc){_vtc.delete(cls);if(!_vtc.size)el[vtcKey]=void 0}}function nextFrame(cb){requestAnimationFrame(()=>{requestAnimationFrame(cb)})}var endId=0;function whenTransitionEnds(el,expectedType,explicitTimeout,resolve){const id=el._endId=++endId;const resolveIfNotStale=()=>{if(id===el._endId)resolve()};if(explicitTimeout!=null)return setTimeout(resolveIfNotStale,explicitTimeout);const{type,timeout,propCount}=getTransitionInfo(el,expectedType);if(!type)return resolve();const endEvent=type+`end`;let ended=0;const end=()=>{el.removeEventListener(endEvent,onEnd);resolveIfNotStale()};const onEnd=e=>{if(e.target===el&&++ended>=propCount)end()};setTimeout(()=>{if(ended<propCount)end()},timeout+1);el.addEventListener(endEvent,onEnd)}function getTransitionInfo(el,expectedType){const styles=window.getComputedStyle(el);const getStyleProperties=key=>(styles[key]||``).split(`, `);const transitionDelays=getStyleProperties(`${TRANSITION}Delay`);const transitionDurations=getStyleProperties(`${TRANSITION}Duration`);const transitionTimeout=getTimeout(transitionDelays,transitionDurations);const animationDelays=getStyleProperties(`${ANIMATION}Delay`);const animationDurations=getStyleProperties(`${ANIMATION}Duration`);const animationTimeout=getTimeout(animationDelays,animationDurations);let type=null;let timeout=0;let propCount=0;if(expectedType===TRANSITION){if(transitionTimeout>0){type=TRANSITION;timeout=transitionTimeout;propCount=transitionDurations.length}}else if(expectedType===ANIMATION){if(animationTimeout>0){type=ANIMATION;timeout=animationTimeout;propCount=animationDurations.length}}else{timeout=Math.max(transitionTimeout,animationTimeout);type=timeout>0?transitionTimeout>animationTimeout?TRANSITION:ANIMATION:null;propCount=type?type===TRANSITION?transitionDurations.length:animationDurations.length:0}const hasTransform=type===TRANSITION&&/\b(?:transform|all)(?:,|$)/.test(getStyleProperties(`${TRANSITION}Property`).toString());return{type,timeout,propCount,hasTransform}}function getTimeout(delays,durations){while(delays.length<durations.length)delays=delays.concat(delays);return Math.max(...durations.map((d,i)=>toMs(d)+toMs(delays[i])))}function toMs(s){if(s===`auto`)return 0;return Number(s.slice(0,-1).replace(`,`,`.`))*1e3}function forceReflow(el){return(el?el.ownerDocument:document).body.offsetHeight}function patchClass(el,value,isSVG){const transitionClasses=el[vtcKey];if(transitionClasses)value=(value?[value,...transitionClasses]:[...transitionClasses]).join(` `);if(value==null)el.removeAttribute(`class`);else if(isSVG)el.setAttribute(`class`,value);else el.className=value}var vShowOriginalDisplay=Symbol(`_vod`);var vShowHidden=Symbol(`_vsh`);var vShow={name:`show`,beforeMount(el,{value},{transition}){el[vShowOriginalDisplay]=el.style.display===`none`?``:el.style.display;if(transition&&value)transition.beforeEnter(el);else setDisplay(el,value)},mounted(el,{value},{transition}){if(transition&&value)transition.enter(el)},updated(el,{value,oldValue},{transition}){if(!value===!oldValue)return;if(transition){if(value){transition.beforeEnter(el);setDisplay(el,true);transition.enter(el)}else transition.leave(el,()=>{setDisplay(el,false)})}else setDisplay(el,value)},beforeUnmount(el,{value}){setDisplay(el,value)}};function setDisplay(el,value){el.style.display=value?el[vShowOriginalDisplay]:`none`;el[vShowHidden]=!value}function initVShowForSSR(){vShow.getSSRProps=({value})=>{if(!value)return{style:{display:`none`}}}}var CSS_VAR_TEXT=Symbol(``);function useCssVars(getter){const instance=getCurrentInstance$1();if(!instance)return;const updateTeleports=instance.ut=(vars=getter(instance.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)).forEach(node=>setVarsOnNode(node,vars))};const setVars=()=>{const vars=getter(instance.proxy);if(instance.ce)setVarsOnNode(instance.ce,vars);else setVarsOnVNode(instance.subTree,vars);updateTeleports(vars)};onBeforeUpdate(()=>{queuePostFlushCb(setVars)});onMounted(()=>{watch(setVars,NOOP,{flush:`post`});const ob=new MutationObserver(setVars);ob.observe(instance.subTree.el.parentNode,{childList:true});onUnmounted(()=>ob.disconnect())})}function setVarsOnVNode(vnode,vars){if(vnode.shapeFlag&128){const suspense=vnode.suspense;vnode=suspense.activeBranch;if(suspense.pendingBranch&&!suspense.isHydrating)suspense.effects.push(()=>{setVarsOnVNode(suspense.activeBranch,vars)})}while(vnode.component)vnode=vnode.component.subTree;if(vnode.shapeFlag&1&&vnode.el)setVarsOnNode(vnode.el,vars);else if(vnode.type===Fragment)vnode.children.forEach(c=>setVarsOnVNode(c,vars));else if(vnode.type===Static){let{el,anchor}=vnode;while(el){setVarsOnNode(el,vars);if(el===anchor)break;el=el.nextSibling}}}function setVarsOnNode(el,vars){if(el.nodeType===1){const style=el.style;let cssText=``;for(const key in vars){const value=normalizeCssVarValue(vars[key]);style.setProperty(`--${key}`,value);cssText+=`--${key}: ${value};`}style[CSS_VAR_TEXT]=cssText}}var displayRE=/(?:^|;)\s*display\s*:/;function patchStyle(el,prev,next){const style=el.style;const isCssString=isString$1(next);let hasControlledDisplay=false;if(next&&!isCssString){if(prev){if(!isString$1(prev)){for(const key in prev)if(next[key]==null)setStyle(style,key,``)}else for(const prevStyle of prev.split(`;`)){const key=prevStyle.slice(0,prevStyle.indexOf(`:`)).trim();if(next[key]==null)setStyle(style,key,``)}}for(const key in next){if(key===`display`)hasControlledDisplay=true;const value=next[key];if(value!=null){if(!shouldPreserveTextareaResizeStyle(el,key,!isString$1(prev)&&prev?prev[key]:void 0,value))setStyle(style,key,value)}else setStyle(style,key,``)}}else if(isCssString){if(prev!==next){const cssVarText=style[CSS_VAR_TEXT];if(cssVarText)next+=`;`+cssVarText;style.cssText=next;hasControlledDisplay=displayRE.test(next)}}else if(prev)el.removeAttribute(`style`);if(vShowOriginalDisplay in el){if(!isCssString||prev!==next)el[vShowOriginalDisplay]=hasControlledDisplay?style.display:``;if(el[vShowHidden])style.display=`none`}}var importantRE=/\s*!important$/;function setStyle(style,name,val){if(isArray$1(val))val.forEach(v=>setStyle(style,name,v));else{if(val==null)val=``;if(name.startsWith(`--`)){if(importantRE.test(val))style.setProperty(name,val.replace(importantRE,``),`important`);else style.setProperty(name,val)}else{const prefixed=autoPrefix(style,name);if(importantRE.test(val))style.setProperty(hyphenate(prefixed),val.replace(importantRE,``),`important`);else style[prefixed]=val}}}var prefixes=[`Webkit`,`Moz`,`ms`];var prefixCache={};function autoPrefix(style,rawName){const cached=prefixCache[rawName];if(cached)return cached;let name=camelize(rawName);if(name!==`filter`&&name in style)return prefixCache[rawName]=name;name=capitalize(name);for(let i=0;i<prefixes.length;i++){const prefixed=prefixes[i]+name;if(prefixed in style)return prefixCache[rawName]=prefixed}return rawName}function shouldPreserveTextareaResizeStyle(el,key,prev,next){return el.tagName===`TEXTAREA`&&(key===`width`||key===`height`)&&isString$1(next)&&prev===next}var xlinkNS=`http://www.w3.org/1999/xlink`;function patchAttr(el,key,value,isSVG,instance,isBoolean=isSpecialBooleanAttr(key)){if(isSVG&&key.startsWith(`xlink:`)){if(value==null)el.removeAttributeNS(xlinkNS,key.slice(6,key.length));else el.setAttributeNS(xlinkNS,key,value)}else if(value==null||isBoolean&&!includeBooleanAttr(value))el.removeAttribute(key);else el.setAttribute(key,isBoolean?``:isSymbol$1(value)?String(value):value)}function patchDOMProp(el,key,value,parentComponent,attrName){if(key===`innerHTML`||key===`textContent`){if(value!=null)el[key]=key===`innerHTML`?unsafeToTrustedHTML(value):value;return}const tag=el.tagName;if(key===`value`&&tag!==`PROGRESS`&&!tag.includes(`-`)){const oldValue=tag===`OPTION`?el.getAttribute(`value`)||``:el.value;const newValue=value==null?el.type===`checkbox`?`on`:``:String(value);if(oldValue!==newValue||!(`_value`in el))el.value=newValue;if(value==null)el.removeAttribute(key);el._value=value;return}let needRemove=false;if(value===``||value==null){const type=typeof el[key];if(type===`boolean`)value=includeBooleanAttr(value);else if(value==null&&type===`string`){value=``;needRemove=true}else if(type===`number`){value=0;needRemove=true}}try{el[key]=value}catch(e){}needRemove&&el.removeAttribute(attrName||key)}function addEventListener(el,event,handler,options){el.addEventListener(event,handler,options)}function removeEventListener(el,event,handler,options){el.removeEventListener(event,handler,options)}var veiKey=Symbol(`_vei`);function patchEvent(el,rawName,prevValue,nextValue,instance=null){const invokers=el[veiKey]||(el[veiKey]={});const existingInvoker=invokers[rawName];if(nextValue&&existingInvoker)existingInvoker.value=nextValue;else{const[name,options]=parseName(rawName);if(nextValue)addEventListener(el,name,invokers[rawName]=createInvoker(nextValue,instance),options);else if(existingInvoker){removeEventListener(el,name,existingInvoker,options);invokers[rawName]=void 0}}}var optionsModifierRE=/(Once|Passive|Capture)$/;var optionsModifierEventRE=/^on:?(?:Once|Passive|Capture)$/;function parseName(name){let options;let m;while((m=name.match(optionsModifierRE))&&!optionsModifierEventRE.test(name)){if(!options)options={};name=name.slice(0,name.length-m[1].length);options[m[1].toLowerCase()]=true}return[name[2]===`:`?name.slice(3):hyphenate(name.slice(2)),options]}var cachedNow=0;var p=Promise.resolve();var getNow=()=>cachedNow||(p.then(()=>cachedNow=0),cachedNow=Date.now());function createInvoker(initialValue,instance){const invoker=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=invoker.attached)return;const value=invoker.value;if(isArray$1(value)){const originalStop=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{originalStop.call(e);e._stopped=true};const handlers=value.slice();const args=[e];for(let i=0;i<handlers.length;i++){if(e._stopped)break;const handler=handlers[i];if(handler)callWithAsyncErrorHandling(handler,instance,5,args)}}else callWithAsyncErrorHandling(value,instance,5,[e])};invoker.value=initialValue;invoker.attached=getNow();return invoker}var isNativeOn=key=>key.charCodeAt(0)===111&&key.charCodeAt(1)===110&&key.charCodeAt(2)>96&&key.charCodeAt(2)<123;var patchProp=(el,key,prevValue,nextValue,namespace,parentComponent)=>{const isSVG=namespace===`svg`;if(key===`class`)patchClass(el,nextValue,isSVG);else if(key===`style`)patchStyle(el,prevValue,nextValue);else if(isOn$1(key)){if(!isModelListener(key))patchEvent(el,key,prevValue,nextValue,parentComponent)}else if(key[0]===`.`?(key=key.slice(1),true):key[0]===`^`?(key=key.slice(1),false):shouldSetAsProp(el,key,nextValue,isSVG)){patchDOMProp(el,key,nextValue);if(!el.tagName.includes(`-`)&&(key===`value`||key===`checked`||key===`selected`))patchAttr(el,key,nextValue,isSVG,parentComponent,key!==`value`)}else if(el._isVueCE&&(shouldSetAsPropForVueCE(el,key)||el._def.__asyncLoader&&(/[A-Z]/.test(key)||!isString$1(nextValue))))patchDOMProp(el,camelize(key),nextValue,parentComponent,key);else{if(key===`true-value`)el._trueValue=nextValue;else if(key===`false-value`)el._falseValue=nextValue;patchAttr(el,key,nextValue,isSVG)}};function shouldSetAsProp(el,key,value,isSVG){if(isSVG){if(key===`innerHTML`||key===`textContent`)return true;if(key in el&&isNativeOn(key)&&isFunction$1(value))return true;return false}if(key===`spellcheck`||key===`draggable`||key===`translate`||key===`autocorrect`)return false;if(key===`sandbox`&&el.tagName===`IFRAME`)return false;if(key===`form`)return false;if(key===`list`&&el.tagName===`INPUT`)return false;if(key===`type`&&el.tagName===`TEXTAREA`)return false;if(key===`width`||key===`height`){const tag=el.tagName;if(tag===`IMG`||tag===`VIDEO`||tag===`CANVAS`||tag===`SOURCE`)return false}if(isNativeOn(key)&&isString$1(value))return false;return key in el}function shouldSetAsPropForVueCE(el,key){const props=el._def.props;if(!props)return false;const camelKey=camelize(key);return Array.isArray(props)?props.some(prop=>camelize(prop)===camelKey):Object.keys(props).some(prop=>camelize(prop)===camelKey)}var REMOVAL={};function defineCustomElement(options,extraOptions,_createApp){let Comp=defineComponent$1(options,extraOptions);if(isPlainObject$2(Comp))Comp=extend({},Comp,extraOptions);class VueCustomElement extends VueElement{constructor(initialProps){super(Comp,initialProps,_createApp)}}VueCustomElement.def=Comp;return VueCustomElement}var defineSSRCustomElement=((options,extraOptions)=>{return defineCustomElement(options,extraOptions,createSSRApp)});var BaseClass=typeof HTMLElement!==`undefined`?HTMLElement:class{};var VueElement=class VueElement extends BaseClass{constructor(_def,_props={},_createApp=createApp){super();this._def=_def;this._props=_props;this._createApp=_createApp;this._isVueCE=true;this._instance=null;this._app=null;this._nonce=this._def.nonce;this._connected=false;this._resolved=false;this._patching=false;this._dirty=false;this._numberProps=null;this._styleChildren=new WeakSet;this._styleAnchors=new WeakMap;this._ob=null;if(this.shadowRoot&&_createApp!==createApp)this._root=this.shadowRoot;else if(_def.shadowRoot!==false){this.attachShadow(extend({},_def.shadowRootOptions,{mode:`open`}));this._root=this.shadowRoot}else this._root=this}connectedCallback(){if(!this.isConnected)return;if(!this.shadowRoot&&!this._resolved)this._parseSlots();this._connected=true;let parent=this;while(parent=parent&&(parent.assignedSlot||parent.parentNode||parent.host))if(parent instanceof VueElement){this._parent=parent;break}if(!this._instance){if(this._resolved)this._mount(this._def);else if(parent&&parent._pendingResolve)this._pendingResolve=parent._pendingResolve.then(()=>{this._pendingResolve=void 0;if(this.isConnected)return this._resolveDef()});else this._resolveDef()}}_setParent(parent=this._parent){if(parent){this._instance.parent=parent._instance;this._inheritParentContext(parent)}}_inheritParentContext(parent=this._parent){if(parent&&this._app)Object.setPrototypeOf(this._app._context.provides,parent._instance.provides)}disconnectedCallback(){this._connected=false;nextTick(()=>{if(!this._connected){if(this._ob){this._ob.disconnect();this._ob=null}this._app&&this._app.unmount();if(this._instance)this._instance.ce=void 0;this._app=this._instance=null;if(this._teleportTargets){this._teleportTargets.clear();this._teleportTargets=void 0}}})}_processMutations(mutations){for(const m of mutations)this._setAttr(m.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let i=0;i<this.attributes.length;i++)this._setAttr(this.attributes[i].name);this._ob=new MutationObserver(this._processMutations.bind(this));this._ob.observe(this,{attributes:true});const resolve=(def,isAsync=false)=>{this._resolved=true;this._pendingResolve=void 0;const{props,styles}=def;let numberProps;if(props&&!isArray$1(props))for(const key in props){const opt=props[key];if(opt===Number||opt&&opt.type===Number){if(key in this._props)this._props[key]=toNumber(this._props[key]);(numberProps||(numberProps=Object.create(null)))[camelize(key)]=true}}this._numberProps=numberProps;this._resolveProps(def);if(this.shadowRoot)this._applyStyles(styles);if(this._connected)this._mount(def)};const asyncDef=this._def.__asyncLoader;if(asyncDef){this._pendingResolve=asyncDef().then(def=>{def.configureApp=this._def.configureApp;resolve(this._def=def,true)});return this._pendingResolve}else resolve(this._def)}_mount(def){this._app=this._createApp(def);this._inheritParentContext();if(def.configureApp)def.configureApp(this._app);this._app._ceVNode=this._createVNode();this._app.mount(this._root);const exposed=this._instance&&this._instance.exposed;if(!exposed)return;for(const key in exposed)if(!hasOwn(this,key))Object.defineProperty(this,key,{get:()=>unref(exposed[key])})}_resolveProps(def){const{props}=def;const declaredPropKeys=isArray$1(props)?props:Object.keys(props||{});for(const key of Object.keys(this))if(key[0]!==`_`&&declaredPropKeys.includes(key))this._setProp(key,this[key]);for(const key of declaredPropKeys.map(camelize))Object.defineProperty(this,key,{get(){return this._getProp(key)},set(val){this._setProp(key,val,true,!this._patching)}})}_setAttr(key){if(key.startsWith(`data-v-`))return;const has=this.hasAttribute(key);let value=has?this.getAttribute(key):REMOVAL;const camelKey=camelize(key);if(has&&this._numberProps&&this._numberProps[camelKey])value=toNumber(value);this._setProp(camelKey,value,false,true)}_getProp(key){return this._props[key]}_setProp(key,val,shouldReflect=true,shouldUpdate=false){if(val!==this._props[key]){this._dirty=true;if(val===REMOVAL)delete this._props[key];else{this._props[key]=val;if(key===`key`&&this._app)this._app._ceVNode.key=val}if(shouldUpdate&&this._instance)this._update();if(shouldReflect){const ob=this._ob;if(ob){this._processMutations(ob.takeRecords());ob.disconnect()}if(val===true)this.setAttribute(hyphenate(key),``);else if(typeof val===`string`||typeof val===`number`)this.setAttribute(hyphenate(key),val+``);else if(!val)this.removeAttribute(hyphenate(key));ob&&ob.observe(this,{attributes:true})}}}_update(){const vnode=this._createVNode();if(this._app)vnode.appContext=this._app._context;render(vnode,this._root)}_createVNode(){const baseProps={};if(!this.shadowRoot)baseProps.onVnodeMounted=baseProps.onVnodeUpdated=this._renderSlots.bind(this);const vnode=createVNode(this._def,extend(baseProps,this._props));if(!this._instance)vnode.ce=instance=>{this._instance=instance;instance.ce=this;instance.isCE=true;const dispatch=(event,args)=>{this.dispatchEvent(new CustomEvent(event,isPlainObject$2(args[0])?extend({detail:args},args[0]):{detail:args}))};instance.emit=(event,...args)=>{dispatch(event,args);if(hyphenate(event)!==event)dispatch(hyphenate(event),args)};this._setParent()};return vnode}_applyStyles(styles,owner,parentComp){if(!styles)return;if(owner){if(owner===this._def||this._styleChildren.has(owner))return;this._styleChildren.add(owner)}const nonce=this._nonce;const root=this.shadowRoot;const insertionAnchor=parentComp?this._getStyleAnchor(parentComp)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(root);let last=null;for(let i=styles.length-1;i>=0;i--){const s=document.createElement(`style`);if(nonce)s.setAttribute(`nonce`,nonce);s.textContent=styles[i];root.insertBefore(s,last||insertionAnchor);last=s;if(i===0){if(!parentComp)this._styleAnchors.set(this._def,s);if(owner)this._styleAnchors.set(owner,s)}}}_getStyleAnchor(comp){if(!comp)return null;const anchor=this._styleAnchors.get(comp);if(anchor&&anchor.parentNode===this.shadowRoot)return anchor;if(anchor)this._styleAnchors.delete(comp);return null}_getRootStyleInsertionAnchor(root){for(let i=0;i<root.childNodes.length;i++){const node=root.childNodes[i];if(!(node instanceof HTMLStyleElement))return node}return null}_parseSlots(){const slots=this._slots={};let n;while(n=this.firstChild){const slotName=n.nodeType===1&&n.getAttribute(`slot`)||`default`;(slots[slotName]||(slots[slotName]=[])).push(n);this.removeChild(n)}}_renderSlots(){const outlets=this._getSlots();const scopeId=this._instance.type.__scopeId;for(let i=0;i<outlets.length;i++){const o=outlets[i];const slotName=o.getAttribute(`name`)||`default`;const content=this._slots[slotName];const parent=o.parentNode;if(content)for(const n of content){if(scopeId&&n.nodeType===1){const id=scopeId+`-s`;const walker=document.createTreeWalker(n,1);n.setAttribute(id,``);let child;while(child=walker.nextNode())child.setAttribute(id,``)}parent.insertBefore(n,o)}else while(o.firstChild)parent.insertBefore(o.firstChild,o);parent.removeChild(o)}}_getSlots(){const roots=[this];if(this._teleportTargets)roots.push(...this._teleportTargets);const slots=new Set;for(const root of roots){const found=root.querySelectorAll(`slot`);for(let i=0;i<found.length;i++)slots.add(found[i])}return Array.from(slots)}_injectChildStyle(comp,parentComp){this._applyStyles(comp.styles,comp,parentComp)}_beginPatch(){this._patching=true;this._dirty=false}_endPatch(){this._patching=false;if(this._dirty&&this._instance)this._update()}_hasShadowRoot(){return this._def.shadowRoot!==false}_removeChildStyle(comp){}};function useHost(caller){const instance=getCurrentInstance$1();const el=instance&&instance.ce;if(el)return el;return null}function useShadowRoot(){const el=useHost();return el&&el.shadowRoot}function useCssModule(name=`$style`){{const instance=getCurrentInstance$1();if(!instance)return EMPTY_OBJ;const modules=instance.type.__cssModules;if(!modules)return EMPTY_OBJ;const mod=modules[name];if(!mod)return EMPTY_OBJ;return mod}}var positionMap=new WeakMap;var newPositionMap=new WeakMap;var moveCbKey=Symbol(`_moveCb`);var enterCbKey=Symbol(`_enterCb`);var pendingGroups=new WeakMap;var decorate=t=>{delete t.props.mode;return t};var TransitionGroup=decorate({name:`TransitionGroup`,props:extend({},TransitionPropsValidators,{tag:String,moveClass:String}),setup(props,{slots}){const instance=getCurrentInstance$1();const state=useTransitionState();let prevChildren;let children;let origins;let moves;const willMove=()=>{if(moves===void 0)moves=prevChildren.length>0&&hasCSSTransform(prevChildren[0].el,instance.vnode.el,resolveMoveClass(props));return moves};onUpdated(()=>{pendingGroups.delete(instance);if(!willMove()){prevChildren=[];origins=void 0;return}const moveClass=resolveMoveClass(props);prevChildren.forEach(callPendingCbs);const shift=origins&&getOriginShift(origins,instance.vnode.el);origins=void 0;prevChildren.forEach(c=>recordPosition(c,shift));const movedChildren=prevChildren.filter(applyTranslation);forceReflow(instance.vnode.el);movedChildren.forEach(c=>{const el=c.el;const style=el.style;addTransitionClass(el,moveClass);style.transform=style.webkitTransform=style.transitionDuration=``;const cb=el[moveCbKey]=e=>{if(e&&e.target!==el)return;if(!e||e.propertyName.endsWith(`transform`)){el.removeEventListener(`transitionend`,cb);el[moveCbKey]=null;removeTransitionClass(el,moveClass)}};el.addEventListener(`transitionend`,cb)});prevChildren=[]});return()=>{const rawProps=toRaw(props);const cssTransitionProps=resolveTransitionProps(rawProps);let tag=rawProps.tag||Fragment;prevChildren=[];moves=void 0;if(children)for(let i=0;i<children.length;i++){const child=children[i];if(child.el&&child.el instanceof Element&&!child.el[vShowHidden]){prevChildren.push(child);setTransitionHooks(child,resolveTransitionHooks(child,cssTransitionProps,state,instance));positionMap.set(child,getPosition(child.el))}}children=slots.default?getTransitionRawChildren(slots.default()):[];for(let i=0;i<children.length;i++){const child=children[i];if(child.key!=null)setTransitionHooks(child,resolveTransitionHooks(child,cssTransitionProps,state,instance))}if(prevChildren.length){origins=getOrigins(instance);pendingGroups.set(instance,willMove)}return createVNode(tag,null,children)}}});function callPendingCbs(c){const el=c.el;if(el[moveCbKey])el[moveCbKey]();if(el[enterCbKey])el[enterCbKey]()}function resolveMoveClass(props){return props.moveClass||`${props.name||`v`}-move`}function recordPosition(c,shift){newPositionMap.set(c,getPosition(c.el,shift))}function applyTranslation(c){const oldPos=positionMap.get(c);const newPos=newPositionMap.get(c);const dx=oldPos.left-newPos.left;const dy=oldPos.top-newPos.top;if(dx||dy){const el=c.el;const s=el.style;const rect=el.getBoundingClientRect();let scaleX=1;let scaleY=1;if(el.offsetWidth)scaleX=rect.width/el.offsetWidth;if(el.offsetHeight)scaleY=rect.height/el.offsetHeight;if(!Number.isFinite(scaleX)||scaleX===0)scaleX=1;if(!Number.isFinite(scaleY)||scaleY===0)scaleY=1;if(Math.abs(scaleX-1)<.01)scaleX=1;if(Math.abs(scaleY-1)<.01)scaleY=1;s.transform=s.webkitTransform=`translate(${dx/scaleX}px,${dy/scaleY}px)`;s.transitionDuration=`0s`;return c}}function getPosition(el,shift){const rect=el.getBoundingClientRect();return{left:rect.left-(shift?shift.left:0),top:rect.top-(shift?shift.top:0)}}function getOrigins(instance){let origins;for(let group=instance.parent;group;group=group.parent){const willMove=pendingGroups.get(group);if(willMove){const item=findItem(group.vnode.el,instance.vnode.el);if(item)(origins||(origins=[])).push(extend(getPosition(item),{item,willMove}))}}return origins}function findItem(root,node){const container=root.nodeType===1?root:root.parentNode;while(node&&node.parentNode!==container)node=node.parentNode;if(node&&node.nodeType===1)return node}function getOriginShift(origins,root){const origin=origins.find(o=>o.willMove()&&o.item.contains(root));return origin&&getPosition(origin.item,origin)}function hasCSSTransform(el,root,moveClass){const clone=el.cloneNode();const _vtc=el[vtcKey];if(_vtc)_vtc.forEach(cls=>{cls.split(/\s+/).forEach(c=>c&&clone.classList.remove(c))});moveClass.split(/\s+/).forEach(c=>c&&clone.classList.add(c));clone.style.display=`none`;const container=root.nodeType===1?root:root.parentNode;container.appendChild(clone);const{hasTransform}=getTransitionInfo(clone);container.removeChild(clone);return hasTransform}var getModelAssigner=vnode=>{const fn=vnode.props[`onUpdate:modelValue`]||false;return isArray$1(fn)?value=>invokeArrayFns(fn,value):fn};function onCompositionStart(e){e.target.composing=true}function onCompositionEnd(e){const target=e.target;if(target.composing){target.composing=false;target.dispatchEvent(new Event(`input`))}}var assignKey=Symbol(`_assign`);var initialValueKey=Symbol(`_initialValue`);function castValue(value,trim,number){if(trim)value=value.trim();if(number)value=looseToNumber(value);return value}var vModelText={created(el,{modifiers:{lazy,trim,number}},vnode){if(el.parentNode){if(el.type===`text`)el[initialValueKey]=el.defaultValue.replace(/[\r\n]/g,``);else if(el.type===`textarea`)el[initialValueKey]=el.defaultValue.replace(/\r\n?/g,`
2
- `)}el[assignKey]=getModelAssigner(vnode);const castToNumber=number||vnode.props&&vnode.props.type===`number`;addEventListener(el,lazy?`change`:`input`,e=>{if(e.target.composing)return;el[assignKey](castValue(el.value,trim,castToNumber))});if(trim||castToNumber)addEventListener(el,`change`,()=>{el.value=castValue(el.value,trim,castToNumber)});if(!lazy){addEventListener(el,`compositionstart`,onCompositionStart);addEventListener(el,`compositionend`,onCompositionEnd);addEventListener(el,`change`,onCompositionEnd)}},mounted(el,{value,modifiers:{trim,number}}){const newValue=value==null?``:value;const initialValue=el[initialValueKey];delete el[initialValueKey];if(initialValue!==void 0&&(el.type===`text`||el.type===`textarea`)&&el.value!==initialValue)el[assignKey](castValue(el.value,trim,number));else el.value=newValue},beforeUpdate(el,{value,oldValue,modifiers:{lazy,trim,number}},vnode){el[assignKey]=getModelAssigner(vnode);if(el.composing)return;const elValue=(number||el.type===`number`)&&!/^0\d/.test(el.value)?looseToNumber(el.value):el.value;const newValue=value==null?``:value;if(elValue===newValue)return;const rootNode=el.getRootNode();if((rootNode instanceof Document||rootNode instanceof ShadowRoot)&&rootNode.activeElement===el&&el.type!==`range`){if(lazy&&value===oldValue)return;if(trim&&el.value.trim()===newValue)return}el.value=newValue}};var vModelCheckbox={deep:true,created(el,_,vnode){el[assignKey]=getModelAssigner(vnode);addEventListener(el,`change`,()=>{const modelValue=el._modelValue;const elementValue=getValue(el);const checked=el.checked;const assign=el[assignKey];if(isArray$1(modelValue)){const index=looseIndexOf(modelValue,elementValue);const found=index!==-1;if(checked&&!found)assign(modelValue.concat(elementValue));else if(!checked&&found){const filtered=[...modelValue];filtered.splice(index,1);assign(filtered)}}else if(isSet(modelValue)){const cloned=new Set(modelValue);if(checked)cloned.add(elementValue);else cloned.delete(elementValue);assign(cloned)}else assign(getCheckboxValue(el,checked))})},mounted:setChecked,beforeUpdate(el,binding,vnode){el[assignKey]=getModelAssigner(vnode);setChecked(el,binding,vnode)}};function setChecked(el,{value,oldValue},vnode){el._modelValue=value;let checked;if(isArray$1(value))checked=looseIndexOf(value,vnode.props.value)>-1;else if(isSet(value))checked=value.has(vnode.props.value);else{if(value===oldValue)return;checked=looseEqual(value,getCheckboxValue(el,true))}if(el.checked!==checked)el.checked=checked}var vModelRadio={created(el,{value},vnode){el.checked=looseEqual(value,vnode.props.value);el[assignKey]=getModelAssigner(vnode);addEventListener(el,`change`,()=>{el[assignKey](getValue(el))})},beforeUpdate(el,{value,oldValue},vnode){el[assignKey]=getModelAssigner(vnode);if(value!==oldValue)el.checked=looseEqual(value,vnode.props.value)}};var vModelSelect={deep:true,created(el,{value,modifiers:{number}},vnode){el._modelValue=value;addEventListener(el,`change`,()=>{const selectedVal=Array.prototype.filter.call(el.options,o=>o.selected).map(o=>number?looseToNumber(getValue(o)):getValue(o));const multiple=el.multiple;const assignedValue=multiple?isSet(el._modelValue)?new Set(selectedVal):selectedVal:selectedVal[0];const pending=el._pendingValue=[multiple,multiple?isArray$1(assignedValue)?selectedVal.slice():selectedVal:assignedValue];try{el[assignKey](assignedValue)}finally{nextTick(()=>{if(el._pendingValue===pending)el._pendingValue=void 0})}});el[assignKey]=getModelAssigner(vnode)},mounted(el,{value}){setSelected(el,value)},beforeUpdate(el,{value},vnode){el._modelValue=value;el[assignKey]=getModelAssigner(vnode)},updated(el,{value}){const pending=el._pendingValue;el._pendingValue=void 0;if(!pending||pending[0]!==el.multiple||!isSameSelectValue(value,pending[1],pending[0]))setSelected(el,value)}};function isSameSelectValue(value,assignedValue,multiple){if(!multiple)return looseEqual(value,assignedValue);if(isArray$1(value))return looseEqual(value,assignedValue);if(isSet(value)){if(value.size!==assignedValue.length)return false;for(const item of assignedValue)if(!value.has(item))return false;return true}return false}function setSelected(el,value){const isMultiple=el.multiple;const isArrayValue=isArray$1(value);if(isMultiple&&!isArrayValue&&!isSet(value))return;for(let i=0,l=el.options.length;i<l;i++){const option=el.options[i];const optionValue=getValue(option);if(isMultiple){if(isArrayValue){const optionType=typeof optionValue;if(optionType===`string`||optionType===`number`)option.selected=value.some(v=>String(v)===String(optionValue));else option.selected=looseIndexOf(value,optionValue)>-1}else option.selected=value.has(optionValue)}else if(looseEqual(getValue(option),value)){if(el.selectedIndex!==i)el.selectedIndex=i;return}}if(!isMultiple&&el.selectedIndex!==-1)el.selectedIndex=-1}function getValue(el){return`_value`in el?el._value:el.value}function getCheckboxValue(el,checked){const key=checked?`_trueValue`:`_falseValue`;return key in el?el[key]:checked}var vModelDynamic={created(el,binding,vnode){callModelHook(el,binding,vnode,null,`created`)},mounted(el,binding,vnode){callModelHook(el,binding,vnode,null,`mounted`)},beforeUpdate(el,binding,vnode,prevVNode){callModelHook(el,binding,vnode,prevVNode,`beforeUpdate`)},updated(el,binding,vnode,prevVNode){callModelHook(el,binding,vnode,prevVNode,`updated`)}};function resolveDynamicModel(tagName,type){switch(tagName){case`SELECT`:return vModelSelect;case`TEXTAREA`:return vModelText;default:switch(type){case`checkbox`:return vModelCheckbox;case`radio`:return vModelRadio;default:return vModelText}}}function callModelHook(el,binding,vnode,prevVNode,hook){const fn=resolveDynamicModel(el.tagName,vnode.props&&vnode.props.type)[hook];fn&&fn(el,binding,vnode,prevVNode)}function initVModelForSSR(){vModelText.getSSRProps=({value})=>({value});vModelRadio.getSSRProps=({value},vnode)=>{if(vnode.props&&looseEqual(vnode.props.value,value))return{checked:true}};vModelCheckbox.getSSRProps=({value},vnode)=>{if(isArray$1(value)){if(vnode.props&&looseIndexOf(value,vnode.props.value)>-1)return{checked:true}}else if(isSet(value)){if(vnode.props&&value.has(vnode.props.value))return{checked:true}}else if(value)return{checked:true}};vModelDynamic.getSSRProps=(binding,vnode)=>{if(typeof vnode.type!==`string`)return;const modelToUse=resolveDynamicModel(vnode.type.toUpperCase(),vnode.props&&vnode.props.type);if(modelToUse.getSSRProps)return modelToUse.getSSRProps(binding,vnode)}}var systemModifiers=[`ctrl`,`shift`,`alt`,`meta`];var modifierGuards={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,modifiers)=>systemModifiers.some(m=>e[`${m}Key`]&&!modifiers.includes(m))};var withModifiers=(fn,modifiers)=>{if(!fn)return fn;const cache=fn._withMods||(fn._withMods={});const cacheKey=modifiers.join(`.`);return cache[cacheKey]||(cache[cacheKey]=((event,...args)=>{for(let i=0;i<modifiers.length;i++){const guard=modifierGuards[modifiers[i]];if(guard&&guard(event,modifiers))return}return fn(event,...args)}))};var keyNames={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`};var withKeys=(fn,modifiers)=>{const cache=fn._withKeys||(fn._withKeys={});const cacheKey=modifiers.join(`.`);return cache[cacheKey]||(cache[cacheKey]=(event=>{if(!(`key`in event))return;const eventKey=hyphenate(event.key);if(modifiers.some(k=>k===eventKey||keyNames[k]===eventKey))return fn(event)}))};var rendererOptions=extend({patchProp},nodeOps);var renderer;var enabledHydration=false;function ensureRenderer(){return renderer||(renderer=createRenderer(rendererOptions))}function ensureHydrationRenderer(){renderer=enabledHydration?renderer:createHydrationRenderer(rendererOptions);enabledHydration=true;return renderer}var render=((...args)=>{ensureRenderer().render(...args)});var hydrate=((...args)=>{ensureHydrationRenderer().hydrate(...args)});var createApp=((...args)=>{const app=ensureRenderer().createApp(...args);const{mount}=app;app.mount=containerOrSelector=>{const container=normalizeContainer(containerOrSelector);if(!container)return;const component=app._component;if(!isFunction$1(component)&&!component.render&&!component.template)component.template=container.innerHTML;if(container.nodeType===1)container.textContent=``;const proxy=mount(container,false,resolveRootNamespace(container));if(container instanceof Element){container.removeAttribute(`v-cloak`);container.setAttribute(`data-v-app`,``)}return proxy};return app});var createSSRApp=((...args)=>{const app=ensureHydrationRenderer().createApp(...args);const{mount}=app;app.mount=containerOrSelector=>{const container=normalizeContainer(containerOrSelector);if(container)return mount(container,true,resolveRootNamespace(container))};return app});function resolveRootNamespace(container){if(container instanceof SVGElement)return`svg`;if(typeof MathMLElement===`function`&&container instanceof MathMLElement)return`mathml`}function normalizeContainer(container){if(isString$1(container))return document.querySelector(container);return container}var ssrDirectiveInitialized=false;var initDirectivesForSSR=()=>{if(!ssrDirectiveInitialized){ssrDirectiveInitialized=true;initVModelForSSR();initVShowForSSR()}};var vue_runtime_esm_bundler_exports=__exportAll({BaseTransition:()=>BaseTransition,BaseTransitionPropsValidators:()=>BaseTransitionPropsValidators,Comment:()=>Comment,DeprecationTypes:()=>null,EffectScope:()=>EffectScope,ErrorCodes:()=>ErrorCodes,ErrorTypeStrings:()=>ErrorTypeStrings,Fragment:()=>Fragment,KeepAlive:()=>KeepAlive,ReactiveEffect:()=>ReactiveEffect,Static:()=>Static,Suspense:()=>Suspense,Teleport:()=>Teleport,Text:()=>Text,TrackOpTypes:()=>TrackOpTypes,Transition:()=>Transition,TransitionGroup:()=>TransitionGroup,TriggerOpTypes:()=>TriggerOpTypes,VueElement:()=>VueElement,assertNumber:()=>assertNumber,callWithAsyncErrorHandling:()=>callWithAsyncErrorHandling,callWithErrorHandling:()=>callWithErrorHandling,camelize:()=>camelize,capitalize:()=>capitalize,cloneVNode:()=>cloneVNode,compatUtils:()=>null,compile:()=>compile,computed:()=>computed,createApp:()=>createApp,createBlock:()=>createBlock,createCommentVNode:()=>createCommentVNode,createElementBlock:()=>createElementBlock,createElementVNode:()=>createBaseVNode,createHydrationRenderer:()=>createHydrationRenderer,createPropsRestProxy:()=>createPropsRestProxy,createRenderer:()=>createRenderer,createSSRApp:()=>createSSRApp,createSlots:()=>createSlots,createStaticVNode:()=>createStaticVNode,createTextVNode:()=>createTextVNode,createVNode:()=>createVNode,customRef:()=>customRef,defineAsyncComponent:()=>defineAsyncComponent,defineComponent:()=>defineComponent$1,defineCustomElement:()=>defineCustomElement,defineEmits:()=>defineEmits,defineExpose:()=>defineExpose,defineModel:()=>defineModel,defineOptions:()=>defineOptions,defineProps:()=>defineProps,defineSSRCustomElement:()=>defineSSRCustomElement,defineSlots:()=>defineSlots,devtools:()=>devtools,effect:()=>effect,effectScope:()=>effectScope,getCurrentInstance:()=>getCurrentInstance$1,getCurrentScope:()=>getCurrentScope,getCurrentWatcher:()=>getCurrentWatcher,getTransitionRawChildren:()=>getTransitionRawChildren,guardReactiveProps:()=>guardReactiveProps,h:()=>h,handleError:()=>handleError,hasInjectionContext:()=>hasInjectionContext,hydrate:()=>hydrate,hydrateOnIdle:()=>hydrateOnIdle,hydrateOnInteraction:()=>hydrateOnInteraction,hydrateOnMediaQuery:()=>hydrateOnMediaQuery,hydrateOnVisible:()=>hydrateOnVisible,initCustomFormatter:()=>initCustomFormatter,initDirectivesForSSR:()=>initDirectivesForSSR,inject:()=>inject,isMemoSame:()=>isMemoSame,isProxy:()=>isProxy,isReactive:()=>isReactive,isReadonly:()=>isReadonly,isRef:()=>isRef,isRuntimeOnly:()=>isRuntimeOnly,isShallow:()=>isShallow,isVNode:()=>isVNode,markRaw:()=>markRaw,mergeDefaults:()=>mergeDefaults,mergeModels:()=>mergeModels,mergeProps:()=>mergeProps,nextTick:()=>nextTick,nodeOps:()=>nodeOps,normalizeClass:()=>normalizeClass,normalizeProps:()=>normalizeProps,normalizeStyle:()=>normalizeStyle,onActivated:()=>onActivated,onBeforeMount:()=>onBeforeMount,onBeforeUnmount:()=>onBeforeUnmount,onBeforeUpdate:()=>onBeforeUpdate,onDeactivated:()=>onDeactivated,onErrorCaptured:()=>onErrorCaptured,onMounted:()=>onMounted,onRenderTracked:()=>onRenderTracked,onRenderTriggered:()=>onRenderTriggered,onScopeDispose:()=>onScopeDispose,onServerPrefetch:()=>onServerPrefetch,onUnmounted:()=>onUnmounted,onUpdated:()=>onUpdated,onWatcherCleanup:()=>onWatcherCleanup,openBlock:()=>openBlock,patchProp:()=>patchProp,popScopeId:()=>popScopeId,provide:()=>provide,proxyRefs:()=>proxyRefs,pushScopeId:()=>pushScopeId,queuePostFlushCb:()=>queuePostFlushCb,reactive:()=>reactive,readonly:()=>readonly,ref:()=>ref,registerRuntimeCompiler:()=>registerRuntimeCompiler,render:()=>render,renderList:()=>renderList,renderSlot:()=>renderSlot,resolveComponent:()=>resolveComponent,resolveDirective:()=>resolveDirective,resolveDynamicComponent:()=>resolveDynamicComponent,resolveFilter:()=>null,resolveTransitionHooks:()=>resolveTransitionHooks,setBlockTracking:()=>setBlockTracking,setDevtoolsHook:()=>setDevtoolsHook,setTransitionHooks:()=>setTransitionHooks,shallowReactive:()=>shallowReactive,shallowReadonly:()=>shallowReadonly,shallowRef:()=>shallowRef,ssrContextKey:()=>ssrContextKey,ssrUtils:()=>ssrUtils,stop:()=>stop,toDisplayString:()=>toDisplayString,toHandlerKey:()=>toHandlerKey,toHandlers:()=>toHandlers,toRaw:()=>toRaw,toRef:()=>toRef,toRefs:()=>toRefs,toValue:()=>toValue,transformVNodeArgs:()=>transformVNodeArgs,triggerRef:()=>triggerRef,unref:()=>unref,useAttrs:()=>useAttrs,useCssModule:()=>useCssModule,useCssVars:()=>useCssVars,useHost:()=>useHost,useId:()=>useId$1,useModel:()=>useModel,useSSRContext:()=>useSSRContext,useShadowRoot:()=>useShadowRoot,useSlots:()=>useSlots,useTemplateRef:()=>useTemplateRef,useTransitionState:()=>useTransitionState,vModelCheckbox:()=>vModelCheckbox,vModelDynamic:()=>vModelDynamic,vModelRadio:()=>vModelRadio,vModelSelect:()=>vModelSelect,vModelText:()=>vModelText,vShow:()=>vShow,version:()=>version,warn:()=>warn,watch:()=>watch,watchEffect:()=>watchEffect,watchPostEffect:()=>watchPostEffect,watchSyncEffect:()=>watchSyncEffect,withAsyncContext:()=>withAsyncContext,withCtx:()=>withCtx,withDefaults:()=>withDefaults,withDirectives:()=>withDirectives,withKeys:()=>withKeys,withMemo:()=>withMemo,withModifiers:()=>withModifiers,withScopeId:()=>withScopeId});var compile=()=>{};function consoleWarn(message){warn(`Vuetify: ${message}`)}function consoleError(message){warn(`Vuetify error: ${message}`)}function deprecate(original,replacement){replacement=Array.isArray(replacement)?replacement.slice(0,-1).map(s=>`'${s}'`).join(`, `)+` or '${replacement.at(-1)}'`:`'${replacement}'`;warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`)}function hexToRgb(hex){const clean=hex.startsWith(`#`)?hex.slice(1):hex;if(clean.length===3||clean.length===4){const r=Number.parseInt(clean[0]+clean[0],16);const g=Number.parseInt(clean[1]+clean[1],16);const b=Number.parseInt(clean[2]+clean[2],16);const a=clean.length===4?Number.parseInt(clean[3]+clean[3],16):void 0;return isUndefined(a)?{r,g,b}:{r,g,b,a}}const r=Number.parseInt(clean.slice(0,2),16);const g=Number.parseInt(clean.slice(2,4),16);const b=Number.parseInt(clean.slice(4,6),16);const a=clean.length===8?Number.parseInt(clean.slice(6,8),16):void 0;return isUndefined(a)?{r,g,b}:{r,g,b,a}}var Rco$1=.2126729;var Gco$1=.7151522;var Bco$1=.072175;var normBG$1=.56;var normTXT$1=.57;var revBG$1=.65;var revTXT$1=.62;var blkThrs$1=.022;var blkClmp$1=1.414;var scaleBoW$1=1.14;var scaleWoB$1=1.14;var loBoWoffset=.027;var loWoBoffset=.027;var deltaYmin$1=5e-4;function linearize(channel){const val=channel/255;return val<=.04045?val/12.92:Math.pow((val+.055)/1.055,2.4)}function luminance(rgb){return Rco$1*linearize(rgb.r)+Gco$1*linearize(rgb.g)+Bco$1*linearize(rgb.b)}function clamp$1(y){return y>blkThrs$1?y:y+Math.pow(blkThrs$1-y,blkClmp$1)}function apca(text,background){const txtY=clamp$1(luminance(text));const bgY=clamp$1(luminance(background));if(Math.abs(bgY-txtY)<deltaYmin$1)return 0;let contrast;if(bgY>txtY){contrast=(Math.pow(bgY,normBG$1)-Math.pow(txtY,normTXT$1))*scaleBoW$1;return contrast<loBoWoffset?0:(contrast-loBoWoffset)*100}else{contrast=(Math.pow(bgY,revBG$1)-Math.pow(txtY,revTXT$1))*scaleWoB$1;return contrast>-.027?0:(contrast+loWoBoffset)*100}}var BLACK={r:0,g:0,b:0};var WHITE={r:255,g:255,b:255};function foreground(hex){const rgb=hexToRgb(hex);return Math.abs(apca(BLACK,rgb))>Math.abs(apca(WHITE,rgb))?`#000000`:`#ffffff`}var COMBINING_MARKS=/[\u0300-\u036F]/g;var FINAL_SIGMA=/ς/g;function lower(str){return str.toLowerCase().replace(FINAL_SIGMA,`σ`)}var SPECIAL_LETTERS={ł:`l`,ø:`o`,đ:`d`,ð:`d`,þ:`th`,ħ:`h`,ŧ:`t`,ŋ:`n`,ß:`ss`,æ:`ae`,œ:`oe`,ı:`i`,Ł:`L`,Ø:`O`,Đ:`D`,Ð:`D`,Þ:`Th`,Ħ:`H`,Ŧ:`T`,Ŋ:`N`,ẞ:`Ss`,Æ:`Ae`,Œ:`Oe`};var SPECIAL_LETTER=new RegExp(`[${Object.keys(SPECIAL_LETTERS).join(``)}]`,`g`);function fold(str){return str.normalize(`NFD`).replace(COMBINING_MARKS,``).replace(SPECIAL_LETTER,char=>SPECIAL_LETTERS[char])}function foldWithMap(str,ignoreCase,foldAccents){let folded=``;const map=[];let index=0;for(const char of str){const raw=ignoreCase?lower(char):char;const chunk=foldAccents?fold(raw):raw;folded+=chunk;for(let unit=0;unit<chunk.length;unit++)map.push(index);index+=char.length}map.push(str.length);return{folded,map}}function collect(haystack,needle,matchAll){const ranges=[];let index=haystack.indexOf(needle);while(index!==-1){ranges.push([index,index+needle.length]);if(!matchAll)break;index=haystack.indexOf(needle,index+needle.length)}return ranges}function remap(map,start,end){const sourceStart=map[start];let sourceEnd=map[end];if(end>0&&map[end]===map[end-1]){let index=end;const current=map[end];while(index<map.length&&map[index]===current)index++;sourceEnd=map[index]}return[sourceStart,sourceEnd]}function project(ranges,map){const projected=[];for(const[start,end]of ranges){const span=remap(map,start,end);const last=projected.at(-1);if(!last||last[0]!==span[0]||last[1]!==span[1])projected.push(span)}return projected}function search(text,query,ignoreCase,foldQuery,foldTarget,matchAll){const folded=foldQuery?fold(query):query;const needle=ignoreCase?lower(folded):folded;if(needle.length===0)return[];if(!foldTarget){if(!ignoreCase)return collect(text,needle,matchAll);const lowered=lower(text);if(lowered.length===text.length)return collect(lowered,needle,matchAll)}const{folded:haystack,map}=foldWithMap(text,ignoreCase,foldTarget);return project(collect(haystack,needle,matchAll),map)}function mergeRanges(a,b){const combined=[...a,...b].toSorted((x,y)=>x[0]-y[0]||x[1]-y[1]);const merged=[];for(const range of combined){const last=merged.at(-1);if(last&&range[0]<last[1])continue;merged.push(range)}return merged}function findMatchRanges(text,query,options={}){const{ignoreCase=false,ignoreAccents=false,matchAll=false}=options;const foldQuery=ignoreAccents===true||ignoreAccents===`query`;const foldTarget=ignoreAccents===true||ignoreAccents===`target`;if(foldQuery===foldTarget)return search(text,query,ignoreCase,foldQuery,foldTarget,matchAll);const merged=mergeRanges(search(text,query,ignoreCase,false,false,true),search(text,query,ignoreCase,foldQuery,foldTarget,true));return matchAll?merged:merged.slice(0,1)}var INSTANCE_KEY=`currentInstance`;function getInstanceCompat(){const vueExports=vue_runtime_esm_bundler_exports;if(INSTANCE_KEY in vueExports)return vueExports[INSTANCE_KEY];return getCurrentInstance$1()}function instanceExists(){return!isNull(getInstanceCompat())}function isFunction(item){return typeof item===`function`}function isString(item){return typeof item===`string`}function isNumber(item){return typeof item===`number`}function isBoolean(item){return typeof item===`boolean`}function isObject(item){return typeof item===`object`&&item!==null&&!Array.isArray(item)}function isArray(item){return Array.isArray(item)}function isElement(item){return typeof Element!==`undefined`&&item instanceof Element}function isNull(item){return item===null}function isNullOrUndefined(item){return item==null}function isUndefined(item){return item===void 0}function isSymbol(item){return typeof item===`symbol`}var UNSAFE_KEYS=new Set([`__proto__`,`constructor`,`prototype`]);function isPlainObject$1(value){if(typeof value!==`object`||value===null||Array.isArray(value))return false;const proto=Object.getPrototypeOf(value);return proto===Object.prototype||proto===null}function mergeDeep$1(target,...sources){const out={};for(const key in target)if(Object.hasOwn(target,key))out[key]=target[key];for(const source of sources){if(!isObject(source))continue;for(const key in source){if(UNSAFE_KEYS.has(key))continue;if(!Object.hasOwn(source,key))continue;const sourceValue=source[key];if(isUndefined(sourceValue))continue;const targetValue=out[key];out[key]=isPlainObject$1(sourceValue)&&isPlainObject$1(targetValue)?mergeDeep$1(targetValue,sourceValue):sourceValue}}return out}var idCounter=0;function useId(){if(instanceExists())return useId$1();return`v0-${idCounter++}`}function clamp$2(value,min=0,max=1){if(!Number.isFinite(value))return min;return Math.max(min,Math.min(max,value))}function range(length,start=0){return Array.from({length},(_,index)=>start+index)}function resolveIds(ids,getter){const result=[];for(const id of ids){const item=getter(id);if(!isUndefined(item))result.push(item)}return result}var V0Error=class extends Error{name=`V0Error`;code;key;plugin;palette;seed;variant;adapter;prefix;constructor(message,details){const{cause,...rest}=details;super(message,isUndefined(cause)?void 0:{cause});this.code=details.code;for(const[key,value]of Object.entries(rest)){if(UNSAFE_KEYS.has(key))continue;this[key]=value}}};var IN_BROWSER=typeof window!==`undefined`;var SUPPORTS_INTERSECTION=IN_BROWSER&&`IntersectionObserver`in window;var SUPPORTS_TOUCH=IN_BROWSER&&(`ontouchstart`in window||window.navigator.maxTouchPoints>0);var SUPPORTS_EYE_DROPPER=IN_BROWSER&&`EyeDropper`in window;var SUPPORTS_MATCH_MEDIA=IN_BROWSER&&`matchMedia`in window&&isFunction(window.matchMedia);var PREFERS_REDUCED_MOTION=()=>SUPPORTS_MATCH_MEDIA&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;var IS_WEBKIT=IN_BROWSER&&CSS?.supports?.(`-webkit-backdrop-filter`,`none`);function getNestedValue(obj,path,fallback){const last=path.length-1;if(last<0)return isUndefined(obj)?fallback:obj;for(let i=0;i<last;i++){if(isNullOrUndefined(obj))return fallback;obj=obj[path[i]]}if(isNullOrUndefined(obj))return fallback;return obj[path[last]]===void 0?fallback:obj[path[last]]}function getObjectValueByPath(obj,path,fallback){if(isNullOrUndefined(obj)||!path||!isString(path))return fallback;if(!isUndefined(obj[path]))return obj[path];path=path.replace(/\[(\w+)\]/g,`.$1`);path=path.replace(/^\./,``);return getNestedValue(obj,path.split(`.`),fallback)}function getPropertyFromItem(item,property,fallback){if(property===true)return isUndefined(item)?fallback:item;if(isNullOrUndefined(property)||isBoolean(property))return fallback;if(item!==Object(item)){if(!isFunction(property))return fallback;const value=property(item,fallback);return typeof value===`undefined`?fallback:value}if(isString(property))return getObjectValueByPath(item,property,fallback);if(Array.isArray(property))return getNestedValue(item,property,fallback);if(!isFunction(property))return fallback;const value=property(item,fallback);return typeof value===`undefined`?fallback:value}function isPercentage(value){return isString(value)&&value.endsWith(`%`)}function resolveSize(value,spanSize=0){return isPercentage(value)?parseFloat(value)/100*spanSize:parseFloat(String(value))||0}function convertToUnit(str,unit=`px`){if(isNullOrUndefined(str)||str===``)return;const num=Number(str);if(isNaN(num))return String(str);else if(!isFinite(num))return;else return`${num}${unit}`}function isPlainObject(obj){let proto;return!!obj&&typeof obj===`object`&&((proto=Object.getPrototypeOf(obj))===Object.prototype||!proto)}function refElement(obj){if(obj&&`$el`in obj){const el=obj.$el;if(el?.nodeType===Node.TEXT_NODE)return el.nextElementSibling;return el}return obj}var keyCodes=Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16});var keyValues=Object.freeze({enter:`Enter`,tab:`Tab`,delete:`Delete`,esc:`Escape`,space:`Space`,up:`ArrowUp`,down:`ArrowDown`,left:`ArrowLeft`,right:`ArrowRight`,end:`End`,home:`Home`,del:`Delete`,backspace:`Backspace`,insert:`Insert`,pageup:`PageUp`,pagedown:`PageDown`,shift:`Shift`});function keys(o){return Object.keys(o)}function has(obj,key){return key.every(k=>obj.hasOwnProperty(k))}function pick(obj,paths){const found={};for(const key of paths)if(Object.prototype.hasOwnProperty.call(obj,key))found[key]=obj[key];return found}function pickWithRest(obj,paths,exclude){const found=Object.create(null);const rest=Object.create(null);for(const key in obj)if(paths.some(path=>path instanceof RegExp?path.test(key):path===key)&&!exclude?.some(path=>path===key))found[key]=obj[key];else rest[key]=obj[key];return[found,rest]}function omit(obj,exclude){const clone={...obj};exclude.forEach(prop=>delete clone[prop]);return clone}var onRE=/^on[^a-z]/;var isOn=key=>onRE.test(key);var bubblingEvents=[`onAfterscriptexecute`,`onAnimationcancel`,`onAnimationend`,`onAnimationiteration`,`onAnimationstart`,`onAuxclick`,`onBeforeinput`,`onBeforescriptexecute`,`onChange`,`onClick`,`onCompositionend`,`onCompositionstart`,`onCompositionupdate`,`onContextmenu`,`onCopy`,`onCut`,`onDblclick`,`onFocusin`,`onFocusout`,`onFullscreenchange`,`onFullscreenerror`,`onGesturechange`,`onGestureend`,`onGesturestart`,`onGotpointercapture`,`onInput`,`onKeydown`,`onKeypress`,`onKeyup`,`onLostpointercapture`,`onMousedown`,`onMousemove`,`onMouseout`,`onMouseover`,`onMouseup`,`onMousewheel`,`onPaste`,`onPointercancel`,`onPointerdown`,`onPointerenter`,`onPointerleave`,`onPointermove`,`onPointerout`,`onPointerover`,`onPointerup`,`onReset`,`onSelect`,`onSubmit`,`onTouchcancel`,`onTouchend`,`onTouchmove`,`onTouchstart`,`onTransitioncancel`,`onTransitionend`,`onTransitionrun`,`onTransitionstart`,`onWheel`];var compositionIgnoreKeys=[`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`,`Enter`,`Escape`,`Tab`,` `];function isComposingIgnoreKey(e){return e.isComposing&&compositionIgnoreKeys.includes(e.key)}function filterInputAttrs(attrs){const[events,props]=pickWithRest(attrs,[onRE]);const inputEvents=omit(events,bubblingEvents);const[rootAttrs,inputAttrs]=pickWithRest(props,[`class`,`style`,`id`,`inert`,/^data-/]);Object.assign(rootAttrs,events);Object.assign(inputAttrs,inputEvents);return[rootAttrs,inputAttrs]}function wrapInArray(v){return isNullOrUndefined(v)?[]:Array.isArray(v)?v:[v]}function debounce(fn,delay){let timeoutId=0;const wrap=(...args)=>{clearTimeout(timeoutId);timeoutId=setTimeout(()=>fn(...args),unref(delay))};wrap.clear=()=>{clearTimeout(timeoutId)};wrap.immediate=fn;return wrap}function clamp(value,min=0,max=1){return Math.max(min,Math.min(max,value))}function padEnd(str,length,char=`0`){return str+char.repeat(Math.max(0,length-str.length))}function padStart(str,length,char=`0`){return char.repeat(Math.max(0,length-str.length))+str}function chunk(str,size=1){const chunked=[];let index=0;while(index<str.length){chunked.push(str.substr(index,size));index+=size}return chunked}function chunkArray(array,size=1){return Array.from({length:Math.ceil(array.length/size)},(v,i)=>array.slice(i*size,i*size+size))}function mergeDeep(source={},target={},arrayFn,targetCondition){const out={};for(const key in source)out[key]=source[key];for(const key in target){const targetProperty=target[key];if(targetCondition&&!targetCondition(key,targetProperty))continue;const sourceProperty=source[key];if(isPlainObject(sourceProperty)&&isPlainObject(targetProperty)){out[key]=mergeDeep(sourceProperty,targetProperty,arrayFn,targetCondition);continue}if(arrayFn&&Array.isArray(sourceProperty)&&Array.isArray(targetProperty)){out[key]=arrayFn(sourceProperty,targetProperty);continue}out[key]=targetProperty}return out}function flattenFragments(nodes){return nodes.map(node=>{if(node.type===Fragment)return flattenFragments(node.children);else return node}).flat()}function toKebabCase(str=``){if(toKebabCase.cache.has(str))return toKebabCase.cache.get(str);const kebab=str.replace(/[^a-z]/gi,`-`).replace(/\B([A-Z])/g,`-$1`).toLowerCase();toKebabCase.cache.set(str,kebab);return kebab}toKebabCase.cache=new Map;function findChildrenWithProvide(key,vnode){if(!vnode||typeof vnode!==`object`)return[];if(Array.isArray(vnode))return vnode.map(child=>findChildrenWithProvide(key,child)).flat(1);else if(vnode.suspense)return findChildrenWithProvide(key,vnode.ssContent);else if(Array.isArray(vnode.children))return vnode.children.map(child=>findChildrenWithProvide(key,child)).flat(1);else if(vnode.component){if(Object.getOwnPropertyDescriptor(vnode.component.provides,key))return[vnode.component];else if(vnode.component.subTree)return findChildrenWithProvide(key,vnode.component.subTree).flat(1)}return[]}var CircularBuffer=class{#arr=[];#pointer=0;constructor(size){this.size=size}get isFull(){return this.#arr.length===this.size}push(val){this.#arr[this.#pointer]=val;this.#pointer=(this.#pointer+1)%this.size}values(){return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0,this.#pointer))}clear(){this.#arr.length=0;this.#pointer=0}};function destructComputed(getter){const refs=reactive({});watchEffect(()=>{const base=getter();for(const key in base)refs[key]=base[key]},{flush:`sync`});const obj={};for(const key in refs)obj[key]=toRef(()=>refs[key]);return obj}function includes(arr,val){return arr.includes(val)}function eventName(propName){return propName[2].toLowerCase()+propName.slice(3)}var EventProp=()=>[Function,Array];function hasEvent(props,name){name=`on`+capitalize(name);return!!(props[name]||props[`${name}Once`]||props[`${name}Capture`]||props[`${name}OnceCapture`]||props[`${name}CaptureOnce`])}function callEvent(handler,...args){if(Array.isArray(handler))for(const h of handler)h(...args);else if(isFunction(handler))handler(...args)}function focusableChildren(el,filterByTabIndex=true){const targets=[`button`,`[href]`,`input:not([type="hidden"])`,`select`,`textarea`,`details:not(:has(> summary))`,`details > summary`,`[tabindex]`,`[contenteditable]:not([contenteditable="false"])`,`audio[controls]`,`video[controls]`].map(s=>`${s}${filterByTabIndex?`:not([tabindex="-1"])`:``}:not([disabled], [inert])`).join(`, `);let elements;try{elements=[...el.querySelectorAll(targets)]}catch(err){consoleError(String(err));return[]}return elements.filter(x=>!x.closest(`[inert]`)).filter(x=>!!x.offsetParent||x.getClientRects().length>0).filter(x=>!x.parentElement?.closest(`details:not([open])`)||x.tagName===`SUMMARY`&&x.parentElement?.tagName===`DETAILS`)}function getActiveElement(){let active=document.activeElement;while(active?.shadowRoot?.activeElement)active=active.shadowRoot.activeElement;return active}function getNextElement(elements,location,condition){let _el;let idx=elements.indexOf(getActiveElement());if(idx<0){const focusTargetRole=(location===`prev`?elements.at(-1):elements[0])?.getAttribute(`role`)??``;if([`option`,`listbox`].includes(focusTargetRole))idx=elements.findIndex(el=>el.getAttribute(`role`)===`option`&&el.getAttribute(`aria-selected`)===`true`)}const inc=location===`next`?1:-1;do{idx+=inc;_el=elements[idx]}while((!_el||!_el.offsetParent||!(condition?.(_el)??true))&&idx<elements.length&&idx>=0);return _el}function focusChild(el,location,options){const focusable=focusableChildren(el);if(isNullOrUndefined(location)){const active=getActiveElement();if(el===active||!el.contains(active))focusable[0]?.focus(options)}else if(location===`first`)focusable[0]?.focus(options);else if(location===`last`)focusable.at(-1)?.focus(options);else if(isNumber(location))focusable[location]?.focus(options);else{const _el=getNextElement(focusable,location);if(_el)_el.focus(options);else focusChild(el,location===`next`?`first`:`last`,options)}}function noop(){}function matchesSelector(el,selector){if(!(IN_BROWSER&&typeof CSS!==`undefined`&&typeof CSS.supports!==`undefined`&&CSS.supports(`selector(${selector})`)))return null;try{return!!el&&el.matches(selector)}catch(err){return null}}function ensureValidVNode(vnodes){return vnodes.some(child=>{if(!isVNode(child))return true;if(child.type===Comment)return false;return child.type!==Fragment||ensureValidVNode(child.children)})?vnodes:null}function defer(timeout,cb){if(!IN_BROWSER||timeout===0){cb();return()=>{}}const timeoutId=window.setTimeout(cb,timeout);return()=>window.clearTimeout(timeoutId)}function templateRef(){const el=shallowRef();const fn=target=>{el.value=target};Object.defineProperty(fn,"value",{enumerable:true,get:()=>el.value,set:val=>el.value=val});Object.defineProperty(fn,"el",{enumerable:true,get:()=>refElement(el.value)});return fn}function checkPrintable(e){const isPrintableChar=e.key.length===1;const noModifier=!e.ctrlKey&&!e.metaKey&&!e.altKey;return isPrintableChar&&noModifier}function isPrimitive(value){return isString(value)||isNumber(value)||isBoolean(value)||typeof value===`bigint`}function escapeForRegex(sign){return`\\^$*+?.()|{}[]`.includes(sign)?`\\${sign}`:sign}function camelizeProps(props){const out={};for(const prop in props)out[camelize(prop)]=props[prop];return out}function onlyDefinedProps(props){const booleanAttributes=[`checked`,`disabled`];return Object.fromEntries(Object.entries(props).filter(([key,v])=>booleanAttributes.includes(key)?!!v:!isUndefined(v)))}var block=[`top`,`bottom`];var inline=[`start`,`end`,`left`,`right`];function parseAnchor(anchor,isRtl){let[side,align]=anchor.split(` `);if(!align)align=includes(block,side)?`start`:includes(inline,side)?`top`:`center`;return{side:toPhysical(side,isRtl),align:toPhysical(align,isRtl)}}function toPhysical(str,isRtl){if(str===`start`)return isRtl?`right`:`left`;if(str===`end`)return isRtl?`left`:`right`;return str}function flipSide(anchor){return{side:{center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`}[anchor.side],align:anchor.align}}function flipAlign(anchor){return{side:anchor.side,align:{center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`}[anchor.align]}}function flipCorner(anchor){return{side:anchor.align,align:anchor.side}}function getAxis(anchor){return includes(block,anchor.side)?`y`:`x`}var Box=class{constructor(args){if(isElement(args)){const pageScale=document.body.currentCSSZoom??1;const factor=1+(1-pageScale)/pageScale;const{x,y,width,height}=args.getBoundingClientRect();this.x=x*factor;this.y=y*factor;this.width=width*factor;this.height=height*factor}else{this.x=args.x;this.y=args.y;this.width=args.width;this.height=args.height}}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}};function getOverflow(a,b){return{x:{before:Math.max(0,b.left-a.left),after:Math.max(0,a.right-b.right)},y:{before:Math.max(0,b.top-a.top),after:Math.max(0,a.bottom-b.bottom)}}}function getTargetBox(target){if(Array.isArray(target)){const pageScale=document.body.currentCSSZoom??1;const factor=1+(1-pageScale)/pageScale;return new Box({x:target[0]*factor,y:target[1]*factor,width:0*factor,height:0*factor})}else return new Box(target)}function getElementBox(el){if(el===document.documentElement){if(!visualViewport)return new Box({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});else{const localWidth=document.body.clientWidth;const pageScale=document.body.currentCSSZoom??(localWidth?document.documentElement.clientWidth/localWidth:1);return new Box({x:visualViewport.scale>1||IS_WEBKIT?0:visualViewport.offsetLeft,y:visualViewport.scale>1||IS_WEBKIT?0:visualViewport.offsetTop,width:document.documentElement.clientWidth/pageScale,height:document.documentElement.clientHeight/pageScale})}}else return new Box(el)}var mainTRC=2.4;var Rco=.2126729;var Gco=.7151522;var Bco=.072175;var normBG=.55;var normTXT=.58;var revTXT=.57;var revBG=.62;var blkThrs=.03;var blkClmp=1.45;var deltaYmin=5e-4;var scaleBoW=1.25;var scaleWoB=1.25;var loConThresh=.078;var loConFactor=12.82051282051282;var loConOffset=.06;var loClip=.001;function APCAcontrast(text,background){const Rtxt=(text.r/255)**mainTRC;const Gtxt=(text.g/255)**mainTRC;const Btxt=(text.b/255)**mainTRC;const Rbg=(background.r/255)**mainTRC;const Gbg=(background.g/255)**mainTRC;const Bbg=(background.b/255)**mainTRC;let Ytxt=Rtxt*Rco+Gtxt*Gco+Btxt*Bco;let Ybg=Rbg*Rco+Gbg*Gco+Bbg*Bco;if(Ytxt<=blkThrs)Ytxt+=(blkThrs-Ytxt)**blkClmp;if(Ybg<=blkThrs)Ybg+=(blkThrs-Ybg)**blkClmp;if(Math.abs(Ybg-Ytxt)<deltaYmin)return 0;let outputContrast;if(Ybg>Ytxt){const SAPC=(Ybg**normBG-Ytxt**normTXT)*scaleBoW;outputContrast=SAPC<loClip?0:SAPC<loConThresh?SAPC-SAPC*loConFactor*loConOffset:SAPC-loConOffset}else{const SAPC=(Ybg**revBG-Ytxt**revTXT)*scaleWoB;outputContrast=SAPC>-.001?0:SAPC>-.078?SAPC-SAPC*loConFactor*loConOffset:SAPC+loConOffset}return outputContrast*100}var delta=.20689655172413793;var cielabForwardTransform=t=>t>delta**3?Math.cbrt(t):t/(3*delta**2)+4/29;var cielabReverseTransform=t=>t>delta?t**3:3*delta**2*(t-4/29);function fromXYZ$1(xyz){const transform=cielabForwardTransform;const transformedY=transform(xyz[1]);return[116*transformedY-16,500*(transform(xyz[0]/.95047)-transformedY),200*(transformedY-transform(xyz[2]/1.08883))]}function toXYZ$1(lab){const transform=cielabReverseTransform;const Ln=(lab[0]+16)/116;return[transform(Ln+lab[1]/500)*.95047,transform(Ln),transform(Ln-lab[2]/200)*1.08883]}var srgbForwardMatrix=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];var srgbForwardTransform=C=>C<=.0031308?C*12.92:1.055*C**(1/2.4)-.055;var srgbReverseMatrix=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]];var srgbReverseTransform=C=>C<=.04045?C/12.92:((C+.055)/1.055)**2.4;function fromXYZ(xyz){const rgb=Array(3);const transform=srgbForwardTransform;const matrix=srgbForwardMatrix;for(let i=0;i<3;++i)rgb[i]=Math.round(clamp(transform(matrix[i][0]*xyz[0]+matrix[i][1]*xyz[1]+matrix[i][2]*xyz[2]))*255);return{r:rgb[0],g:rgb[1],b:rgb[2]}}function toXYZ({r,g,b}){const xyz=[0,0,0];const transform=srgbReverseTransform;const matrix=srgbReverseMatrix;r=transform(r/255);g=transform(g/255);b=transform(b/255);for(let i=0;i<3;++i)xyz[i]=matrix[i][0]*r+matrix[i][1]*g+matrix[i][2]*b;return xyz}function isCssColor(color){return!!color&&/^(#|var\(--|(rgb|hsl)a?\()/.test(color)}function isParsableColor(color){return isCssColor(color)&&!/^((rgb|hsl)a?\()?var\(--/.test(color)}var cssColorRe=/^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/;var mappers={rgb:(r,g,b,a)=>({r,g,b,a}),rgba:(r,g,b,a)=>({r,g,b,a}),hsl:(h,s,l,a)=>HSLtoRGB({h,s,l,a}),hsla:(h,s,l,a)=>HSLtoRGB({h,s,l,a}),hsv:(h,s,v,a)=>HSVtoRGB({h,s,v,a}),hsva:(h,s,v,a)=>HSVtoRGB({h,s,v,a})};function parseColor(color){if(isNumber(color)){if(isNaN(color)||color<0||color>16777215)consoleWarn(`'${color}' is not a valid hex color`);return{r:(color&16711680)>>16,g:(color&65280)>>8,b:color&255}}else if(isString(color)&&cssColorRe.test(color)){const{groups}=color.match(cssColorRe);const{fn,values}=groups;const realValues=values.split(/,\s*|\s*\/\s*|\s+/).map((v,i)=>{if(v.endsWith(`%`)||i>0&&i<3&&[`hsl`,`hsla`,`hsv`,`hsva`].includes(fn))return parseFloat(v)/100;else return parseFloat(v)});return mappers[fn](...realValues)}else if(isString(color)){let hex=color.startsWith(`#`)?color.slice(1):color;if([3,4].includes(hex.length))hex=hex.split(``).map(char=>char+char).join(``);else if(![6,8].includes(hex.length))consoleWarn(`'${color}' is not a valid hex(a) color`);const int=parseInt(hex,16);if(isNaN(int)||int<0||int>4294967295)consoleWarn(`'${color}' is not a valid hex(a) color`);return HexToRGB(hex)}else if(isObject(color)){if(has(color,[`r`,`g`,`b`]))return color;else if(has(color,[`h`,`s`,`l`]))return HSVtoRGB(HSLtoHSV(color));else if(has(color,[`h`,`s`,`v`]))return HSVtoRGB(color)}throw new TypeError(`Invalid color: ${isNullOrUndefined(color)?color:String(color)||color.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function HSVtoRGB(hsva){const{h,s,v,a}=hsva;const f=n=>{const k=(n+h/60)%6;return v-v*s*Math.max(Math.min(k,4-k,1),0)};const rgb=[f(5),f(3),f(1)].map(v=>Math.round(v*255));return{r:rgb[0],g:rgb[1],b:rgb[2],a}}function HSLtoRGB(hsla){return HSVtoRGB(HSLtoHSV(hsla))}function HSLtoHSV(hsl){const{h,s,l,a}=hsl;const v=l+s*Math.min(l,1-l);return{h,s:v===0?0:2-2*l/v,v,a}}function toHex(v){const h=Math.round(v).toString(16);return(`00`.substr(0,2-h.length)+h).toUpperCase()}function RGBtoHex({r,g,b,a}){return`#${[toHex(r),toHex(g),toHex(b),isNumber(a)?toHex(Math.round(a*255)):``].join(``)}`}function HexToRGB(hex){hex=parseHex(hex);let[r,g,b,a]=chunk(hex,2).map(c=>parseInt(c,16));a=isNumber(a)?a/255:a;return{r,g,b,a}}function parseHex(hex){if(hex.startsWith(`#`))hex=hex.slice(1);hex=hex.replace(/([^0-9a-f])/gi,`F`);if(hex.length===3||hex.length===4)hex=hex.split(``).map(x=>x+x).join(``);if(hex.length!==6)hex=padEnd(padEnd(hex,6),8,`F`);return hex}function lighten(value,amount){const lab=fromXYZ$1(toXYZ(value));lab[0]=lab[0]+amount*10;return fromXYZ(toXYZ$1(lab))}function darken(value,amount){const lab=fromXYZ$1(toXYZ(value));lab[0]=lab[0]-amount*10;return fromXYZ(toXYZ$1(lab))}function getLuma(color){const rgb=parseColor(color);return toXYZ(rgb)[1]}function hasLightForeground(color){const blackContrast=Math.abs(APCAcontrast(parseColor(0),parseColor(color)));return Math.abs(APCAcontrast(parseColor(16777215),parseColor(color)))>Math.min(blackContrast,50)}function propsFactory(props,source){return defaults=>{return Object.keys(props).reduce((obj,prop)=>{const definition=isObject(props[prop])?props[prop]:{type:props[prop]};if(defaults&&prop in defaults)obj[prop]={...definition,default:defaults[prop]};else obj[prop]=definition;if(source&&!obj[prop].source)obj[prop].source=source;return obj},{})}}var makeComponentProps=propsFactory({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},`component`);function getCurrentInstance(name,message){const vm=getCurrentInstance$1();if(!vm)throw new Error(`[Vuetify] ${name} ${message||`must be called from inside a setup function`}`);return vm}function getCurrentInstanceName(name=`composables`){const vm=getCurrentInstance(name).type;return toKebabCase(vm?.aliasName||vm?.name)}function injectSelf(key,vm=getCurrentInstance(`injectSelf`)){const{provides}=vm;if(provides&&key in provides)return provides[key]}var DefaultsSymbol=Symbol.for(`vuetify:defaults`);var RootDefaultsSymbol=Symbol.for(`vuetify:defaults:root`);function createDefaults(options){return ref(options)}function injectDefaults(){const defaults=inject(DefaultsSymbol);if(!defaults)throw new Error(`[Vuetify] Could not find defaults instance`);return defaults}function provideDefaults(defaults,options){const injectedDefaults=injectDefaults();const injectedRoot=inject(RootDefaultsSymbol,null);const providedDefaults=ref(defaults);const newDefaults=computed(()=>{if(unref(options?.disabled))return injectedDefaults.value;const scoped=unref(options?.scoped);const reset=unref(options?.reset);const root=unref(options?.root);if(!providedDefaults.value&&!(scoped||reset||root))return injectedDefaults.value;let properties=mergeDeep(providedDefaults.value,{prev:injectedDefaults.value});if(scoped)return properties;if(reset||root){const len=Number(reset||Infinity);const rootDefaults=isString(root)?properties.prev?.[root]:void 0;if(root&&injectedRoot?.value)properties=injectedRoot.value;for(let i=0;i<=len;i++){if(!properties||!(`prev`in properties))break;properties=properties.prev}if(properties&&rootDefaults)properties=mergeDeep(mergeDeep(properties,{prev:properties}),rootDefaults);return properties}return properties.prev?mergeDeep(properties.prev,properties,void 0,(_,v)=>v!==void 0):properties});provide(DefaultsSymbol,newDefaults);return newDefaults}function injectNestedDefaults(name){const vm=getCurrentInstance(`injectNestedDefaults`);const defaults=injectDefaults();const self=vm.props._as??vm.type.name;return toRef(()=>defaults.value?.[self]?.[name])}function propIsDefined(vnode,prop){return vnode.props&&(typeof vnode.props[prop]!==`undefined`||typeof vnode.props[toKebabCase(prop)]!==`undefined`)}function internalUseDefaults(props={},name,defaults=injectDefaults()){const vm=getCurrentInstance(`useDefaults`);name=name??vm.type.name??vm.type.__name;if(!name)throw new Error(`[Vuetify] Could not determine component name`);const componentDefaults=computed(()=>defaults.value?.[props._as??name]);const _props=new Proxy(props,{get(target,prop){const propValue=Reflect.get(target,prop);if(prop===`class`||prop===`style`)return[componentDefaults.value?.[prop],propValue].filter(v=>v!=null);if(propIsDefined(vm.vnode,prop))return propValue;const _componentDefault=componentDefaults.value?.[prop];if(_componentDefault!==void 0)return _componentDefault;const _globalDefault=defaults.value?.global?.[prop];if(_globalDefault!==void 0)return _globalDefault;return propValue}});const _subcomponentDefaults=shallowRef();watchEffect(()=>{if(componentDefaults.value){const subComponents=Object.entries(componentDefaults.value).filter(([key])=>key.startsWith(key[0].toUpperCase()));_subcomponentDefaults.value=subComponents.length?Object.fromEntries(subComponents):void 0}else _subcomponentDefaults.value=void 0});function provideSubDefaults(){const injected=injectSelf(DefaultsSymbol,vm);provide(DefaultsSymbol,computed(()=>{return _subcomponentDefaults.value?mergeDeep(injected?.value??{},_subcomponentDefaults.value):injected?.value}))}return{props:_props,provideSubDefaults}}function defineComponent(options){options._setup=options._setup??options.setup;if(!options.name){consoleWarn(`The component is missing an explicit name, unable to generate default prop value`);return options}if(options._setup){options.props=propsFactory(options.props??{},options.name)();const propKeys=Object.keys(options.props).filter(key=>key!==`class`&&key!==`style`);options.filterProps=function filterProps(props){return pick(props,propKeys)};options.props._as=String;options.setup=function setup(props,ctx){const defaults=injectDefaults();if(!defaults.value)return options._setup(props,ctx);const{props:_props,provideSubDefaults}=internalUseDefaults(props,props._as??options.name,defaults);const setupBindings=options._setup(_props,ctx);provideSubDefaults();return setupBindings}}return options}function genericComponent(exposeDefaults=true){return options=>(exposeDefaults?defineComponent:defineComponent$1)(options)}function updateRecursionCache(a,b,cache,result){if(!cache||isPrimitive(a)||isPrimitive(b))return;const visitedObject=cache.get(a);if(visitedObject)visitedObject.set(b,result);else{const newCacheItem=new WeakMap;newCacheItem.set(b,result);cache.set(a,newCacheItem)}}function findCachedComparison(a,b,cache){if(!cache||isPrimitive(a)||isPrimitive(b))return null;const r1=cache.get(a)?.get(b);if(isBoolean(r1))return r1;const r2=cache.get(b)?.get(a);if(isBoolean(r2))return r2;return null}function deepEqual(a,b,recursionCache=new WeakMap){if(a===b)return true;if(a instanceof Date&&b instanceof Date&&a.getTime()!==b.getTime())return false;if(a!==Object(a)||b!==Object(b))return false;const props=Object.keys(a);if(props.length!==Object.keys(b).length)return false;const cachedComparisonResult=findCachedComparison(a,b,recursionCache);if(cachedComparisonResult)return cachedComparisonResult;updateRecursionCache(a,b,recursionCache,true);return props.every(p=>deepEqual(a[p],b[p],recursionCache))}function useRender(render){const vm=getCurrentInstance(`useRender`);vm.render=render}var IconValue=[String,Function,Object,Array];var IconSymbol=Symbol.for(`vuetify:icons`);var makeIconProps=propsFactory({icon:{type:IconValue},tag:{type:[String,Object,Function],required:true}},`icon`);var VComponentIcon=genericComponent()({name:`VComponentIcon`,props:makeIconProps(),setup(props,{slots}){return()=>{const Icon=props.icon;return createVNode(props.tag,null,{default:()=>[props.icon?createVNode(Icon,null,null):slots.default?.()]})}}});var VSvgIcon=defineComponent({name:`VSvgIcon`,inheritAttrs:false,props:makeIconProps(),setup(props,{attrs}){return()=>{return createVNode(props.tag,mergeProps(attrs,{"style":null}),{default:()=>[createBaseVNode(`svg`,{"class":`v-icon__svg`,"xmlns":`http://www.w3.org/2000/svg`,"viewBox":`0 0 24 24`,"role":`img`,"aria-hidden":`true`},[Array.isArray(props.icon)?props.icon.map(path=>Array.isArray(path)?createBaseVNode(`path`,{"d":path[0],"fill-opacity":path[1]},null):createBaseVNode(`path`,{"d":path},null)):createBaseVNode(`path`,{"d":props.icon},null)])]})}}});var VLigatureIcon=defineComponent({name:`VLigatureIcon`,props:makeIconProps(),setup(props){return()=>{return createVNode(props.tag,null,{default:()=>[props.icon]})}}});var VClassIcon=defineComponent({name:`VClassIcon`,props:makeIconProps(),setup(props){return()=>{return createVNode(props.tag,{"class":normalizeClass(props.icon)},null)}}});var useIcon=props=>{const icons=inject(IconSymbol);if(!icons)throw new Error(`Missing Vuetify Icons provide!`);return{iconData:computed(()=>{const iconAlias=toValue(props);if(!iconAlias)return{component:VComponentIcon};let icon=iconAlias;if(isString(icon)){icon=icon.trim();if(icon.startsWith(`$`))icon=icons.aliases?.[icon.slice(1)]}if(!icon)consoleWarn(`Could not find aliased icon "${iconAlias}"`);if(Array.isArray(icon))return{component:VSvgIcon,icon};else if(!isString(icon))return{component:VComponentIcon,icon};const iconSetName=Object.keys(icons.sets).find(setName=>isString(icon)&&icon.startsWith(`${setName}:`));const iconName=iconSetName?icon.slice(iconSetName.length+1):icon;return{component:icons.sets[iconSetName??icons.defaultSet].component,icon:iconName}})}};function useToggleScope(source,fn){let scope;function start(){scope=effectScope();scope.run(()=>fn.length?fn(()=>{scope?.stop();start()}):fn())}watch(source,active=>{if(active&&!scope)start();else if(!active){scope?.stop();scope=void 0}},{immediate:true});onScopeDispose(()=>{scope?.stop()})}function useProxiedModel(props,prop,defaultValue,transformIn=v=>v,transformOut=v=>v){const vm=getCurrentInstance(`useProxiedModel`);const internal=ref(!isUndefined(props[prop])?props[prop]:defaultValue);const kebabProp=toKebabCase(prop);const isControlled=kebabProp!==prop?computed(()=>{props[prop];return!!((vm.vnode.props?.hasOwnProperty(prop)||vm.vnode.props?.hasOwnProperty(kebabProp))&&(vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`)||vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)))}):computed(()=>{props[prop];return!!(vm.vnode.props?.hasOwnProperty(prop)&&vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`))});useToggleScope(()=>!isControlled.value,()=>{watch(()=>props[prop],val=>{internal.value=val})});const model=computed({get(){const externalValue=props[prop];return transformIn(isControlled.value?externalValue:internal.value)},set(internalValue){const newValue=transformOut(internalValue);const value=toRaw(isControlled.value?props[prop]:internal.value);if(value===newValue||transformIn(value)===internalValue)return;internal.value=newValue;vm?.emit(`update:${prop}`,newValue)}});Object.defineProperty(model,"externalValue",{get:()=>isControlled.value?props[prop]:internal.value});return model}var en_default={badge:`Badge`,open:`Open`,close:`Close`,dismiss:`Dismiss`,confirmEdit:{ok:`OK`,cancel:`Cancel`},dataIterator:{noResultsText:`No matching records found`,loadingText:`Loading items...`},dataTable:{itemsPerPageText:`Rows per page:`,ariaLabel:{sortDescending:`Sorted descending.`,sortAscending:`Sorted ascending.`,sortNone:`Not sorted.`,activateNone:`Activate to remove sorting.`,activateDescending:`Activate to sort descending.`,activateAscending:`Activate to sort ascending.`,selectRow:`Select row`,selectAll:`Select all`,selectGroup:`Select group`},sortBy:`Sort by`},dataFooter:{itemsPerPageText:`Items per page:`,itemsPerPageAll:`All`,nextPage:`Next page`,prevPage:`Previous page`,firstPage:`First page`,lastPage:`Last page`,pageText:`{0}-{1} of {2}`},dateRangeInput:{divider:`to`},monthPicker:{title:`Select month`,itemsSelected:`{0} selected`,header:`Enter month`,range:{title:`Enter months`},ariaLabel:{previousYear:`Previous year`,nextYear:`Next year`,selectYear:`Select year`,currentMonth:`Current month, {0}`}},datePicker:{itemsSelected:`{0} selected`,range:{title:`Select dates`,header:`Enter dates`},title:`Select date`,header:`Enter date`,input:{placeholder:`Enter date`},ariaLabel:{previousMonth:`Previous month`,nextMonth:`Next month`,selectYear:`Select year`,previousYear:`Previous year`,nextYear:`Next year`,selectMonth:`Select month`,selectDate:`{0}`,currentDate:`Today, {0}`}},noDataText:`No data available`,carousel:{prev:`Previous visual`,next:`Next visual`,ariaLabel:{delimiter:`Carousel slide {0} of {1}`}},calendar:{moreEvents:`{0} more`,today:`Today`},heatmap:{less:`Less`,more:`More`},input:{clear:`Clear {0}`,prependAction:`{0} prepended action`,appendAction:`{0} appended action`,otp:`Enter verification code`},fileInput:{counter:`{0} files`,counterSize:`{0} files ({1} in total)`},fileUpload:{title:`Drag and drop files here`,divider:`or`,browse:`Browse Files`},timePicker:{am:`AM`,pm:`PM`,title:`Select Time`,hour:`Hour`,minute:`Minute`,second:`Second`,notAllowed:`Value is not allowed`},pagination:{ariaLabel:{root:`Pagination Navigation`,next:`Next page`,previous:`Previous page`,page:`Go to page {0}`,currentPage:`Page {0}, Current page`,first:`First page`,last:`Last page`}},stepper:{next:`Next`,prev:`Previous`},rating:{ariaLabel:{item:`Rating {0} of {1}`}},loading:`Loading...`,infiniteScroll:{loadMore:`Load more`,empty:`No more`},rules:{required:`This field is required`,email:`Please enter a valid email`,number:`This field can only contain numbers`,integer:`This field can only contain integer values`,capital:`This field can only contain uppercase letters`,maxLength:`You must enter a maximum of {0} characters`,minLength:`You must enter a minimum of {0} characters`,strictLength:`The length of the entered field is invalid`,exclude:`The {0} character is not allowed`,notEmpty:`Please choose at least one value`,pattern:`Invalid format`},command:{search:`Type a command or search...`},hotkey:{then:`then`,ctrl:`Ctrl`,command:`Command`,space:`Space`,shift:`Shift`,alt:`Alt`,enter:`Enter`,escape:`Escape`,upArrow:`Up Arrow`,downArrow:`Down Arrow`,leftArrow:`Left Arrow`,rightArrow:`Right Arrow`,backspace:`Backspace`,option:`Option`,plus:`plus`,shortcut:`Keyboard shortcut: {0}`,or:`or`},video:{play:`Play`,pause:`Pause`,seek:`Seek`,volume:`Volume`,showVolume:`Show volume control`,mute:`Mute`,unmute:`Unmute`,enterFullscreen:`Full screen`,exitFullscreen:`Exit full screen`},colorPicker:{ariaLabel:{eyedropper:`Select color with eyedropper`,hueSlider:`Hue`,alphaSlider:`Alpha`,redInput:`Red value`,greenInput:`Green value`,blueInput:`Blue value`,alphaInput:`Alpha value`,hueInput:`Hue value`,saturationInput:`Saturation value`,lightnessInput:`Lightness value`,hexInput:`HEX value`,hexaInput:`HEX with alpha value`,changeFormat:`Change color format`}}};var LANG_PREFIX=`$vuetify.`;var replace=(str,params)=>{return str.replace(/\{(\d+)\}/g,(match,index)=>{return String(params[Number(index)])})};var createTranslateFunction=(current,fallback,messages)=>{return(key,...params)=>{if(!key.startsWith(LANG_PREFIX))return replace(key,params);const shortKey=key.replace(LANG_PREFIX,``);const currentLocale=current.value&&messages.value[current.value];const fallbackLocale=fallback.value&&messages.value[fallback.value];let str=getObjectValueByPath(currentLocale,shortKey,null);if(!str){consoleWarn(`Translation key "${key}" not found in "${current.value}", trying fallback locale`);str=getObjectValueByPath(fallbackLocale,shortKey,null)}if(!str){consoleError(`Translation key "${key}" not found in fallback`);str=key}if(!isString(str)){consoleError(`Translation key "${key}" has a non-string value`);str=key}return replace(str,params)}};function createNumberFunction(current,fallback){return(value,options)=>{return new Intl.NumberFormat([current.value,fallback.value],options).format(value)}}function inferDecimalSeparator(current,fallback){return createNumberFunction(current,fallback)(.1).includes(`,`)?`,`:`.`}function inferNumericGroupSeparator(current,fallback){return new Intl.NumberFormat([current.value,fallback.value],{useGrouping:true}).formatToParts(1e4).find(p=>p.type===`group`)?.value??`\xA0`}function useProvided(props,prop,provided){const internal=useProxiedModel(props,prop,props[prop]??provided.value);internal.value=props[prop]??provided.value;watch(provided,v=>{if(props[prop]==null)internal.value=provided.value});return internal}function createProvideFunction(state){return props=>{const current=useProvided(props,`locale`,state.current);const fallback=useProvided(props,`fallback`,state.fallback);const messages=useProvided(props,`messages`,state.messages);return{name:`vuetify`,current,fallback,messages,decimalSeparator:toRef(()=>inferDecimalSeparator(current,fallback)),numericGroupSeparator:toRef(()=>inferNumericGroupSeparator(current,fallback)),t:createTranslateFunction(current,fallback,messages),n:createNumberFunction(current,fallback),provide:createProvideFunction({current,fallback,messages})}}}function createVuetifyAdapter(options){const current=shallowRef(options?.locale??`en`);const fallback=shallowRef(options?.fallback??`en`);const messages=ref({en:en_default,...options?.messages});return{name:`vuetify`,current,fallback,messages,decimalSeparator:toRef(()=>options?.decimalSeparator??inferDecimalSeparator(current,fallback)),numericGroupSeparator:toRef(()=>options?.numericGroupSeparator??inferNumericGroupSeparator(current,fallback)),t:createTranslateFunction(current,fallback,messages),n:createNumberFunction(current,fallback),provide:createProvideFunction({current,fallback,messages})}}var LocaleSymbol=Symbol.for(`vuetify:locale`);function createLocale(options){const i18n=options?.adapter?.name?options.adapter:createVuetifyAdapter(options);const rtl=createRtl(i18n,options);return{...i18n,...rtl}}function useLocale(){const locale=inject(LocaleSymbol);if(!locale)throw new Error(`[Vuetify] Could not find injected locale instance`);return locale}function genDefaults$1(){return{af:false,ar:true,bg:false,ca:false,ckb:true,cs:false,de:false,el:false,en:false,es:false,et:false,fa:true,fi:false,fr:false,hr:false,hu:false,he:true,id:false,it:false,ja:false,km:false,ko:false,lv:false,lt:false,nl:false,no:false,pl:false,pt:false,ro:false,ru:false,sk:false,sl:false,srCyrl:false,srLatn:false,sv:false,th:false,tr:false,az:false,uk:false,vi:false,zhHans:false,zhHant:false}}function createRtl(i18n,options){const rtl=ref(options?.rtl??genDefaults$1());const isRtl=computed(()=>rtl.value[i18n.current.value]??false);return{isRtl,rtl,rtlClasses:toRef(()=>`v-locale--is-${isRtl.value?`rtl`:`ltr`}`)}}function useRtl(){const locale=inject(LocaleSymbol);if(!locale)throw new Error(`[Vuetify] Could not find injected rtl instance`);return{isRtl:locale.isRtl,rtlClasses:locale.rtlClasses}}var ThemeSymbol=Symbol.for(`vuetify:theme`);var makeThemeProps=propsFactory({theme:String},`theme`);function genDefaults(){return{defaultTheme:`system`,prefix:`v-`,variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:false,colors:{background:`#FFFFFF`,surface:`#FFFFFF`,"surface-bright":`#FFFFFF`,"surface-light":`#EEEEEE`,"surface-variant":`#424242`,"on-surface-variant":`#EEEEEE`,primary:`#1867C0`,"primary-darken-1":`#1F5592`,secondary:`#48A9A6`,"secondary-darken-1":`#018786`,error:`#B00020`,info:`#2196F3`,success:`#4CAF50`,warning:`#FB8C00`},variables:{"border-color":`#000000`,"border-opacity":.12,"shadow-color":`#000000`,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":`#EEEEEE`,"theme-on-kbd":`#000000`,"theme-code":`#F5F5F5`,"theme-on-code":`#000000`,"theme-on-dark":`#FFF`,"theme-on-light":`#000`,"elevation-overlay-color":`black`,"elevation-overlay-opacity-step":`2%`,"highlight-opacity":`8%`}},dark:{dark:true,colors:{background:`#121212`,surface:`#212121`,"surface-bright":`#ccbfd6`,"surface-light":`#424242`,"surface-variant":`#c8c8c8`,"on-surface-variant":`#000000`,primary:`#2196F3`,"primary-darken-1":`#277CC1`,secondary:`#54B6B2`,"secondary-darken-1":`#48A9A6`,error:`#CF6679`,info:`#2196F3`,success:`#4CAF50`,warning:`#FB8C00`},variables:{"border-color":`#FFFFFF`,"border-opacity":.12,"shadow-color":`#000000`,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":`#424242`,"theme-on-kbd":`#FFFFFF`,"theme-code":`#343434`,"theme-on-code":`#CCCCCC`,"theme-on-dark":`#FFF`,"theme-on-light":`#000`,"elevation-overlay-color":`white`,"elevation-overlay-opacity-step":`2%`,"highlight-opacity":`20%`}}},stylesheetId:`vuetify-theme-stylesheet`,scoped:false,utilities:true,transition:false}}function parseThemeOptions(options=genDefaults()){const defaults=genDefaults();if(!options)return{...defaults,isDisabled:true};return mergeDeep(defaults,options)}function createCssClass(lines,selector,content,scope){lines.push(`${getScopedSelector(selector,scope)} {\n`,...content.map(line=>` ${line};\n`),`}
3
- `)}function genCssVariables(theme,prefix){const lightOverlay=theme.dark?2:1;const darkOverlay=theme.dark?1:2;const variables=[];for(const[key,value]of Object.entries(theme.colors)){const rgb=parseColor(value);variables.push(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`+(isNumber(rgb.a)?`,${rgb.a}`:``));if(!key.startsWith(`on-`))variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value)>.18?lightOverlay:darkOverlay}`)}for(const[key,value]of Object.entries(theme.variables)){const color=isString(value)&&value.startsWith(`#`)?parseColor(value):void 0;const rgb=color?`${color.r}, ${color.g}, ${color.b}`+(isNumber(color.a)?`, ${color.a}`:``):void 0;variables.push(`--${prefix}${key}: ${rgb??value}`)}return variables}function genVariation(name,color,variations){const object={};if(variations)for(const variation of[`lighten`,`darken`]){const fn=variation===`lighten`?lighten:darken;for(const amount of range(variations[variation],1))object[`${name}-${variation}-${amount}`]=RGBtoHex(fn(parseColor(color),amount))}return object}function genVariations(colors,variations){if(!variations)return{};let variationColors={};for(const name of variations.colors){const color=colors[name];if(!color)continue;variationColors={...variationColors,...genVariation(name,color,variations)}}return variationColors}function genOnColors(colors,variables){const onColors={};for(const color of Object.keys(colors)){if(color.startsWith(`on-`)||colors[`on-${color}`])continue;const onColor=`on-${color}`;const colorVal=parseColor(colors[color]);onColors[onColor]=hasLightForeground(colorVal)?variables[`theme-on-dark`]:variables[`theme-on-light`]}return onColors}function getScopedSelector(selector,scope){if(!scope)return selector;const scopeSelector=`:where(${scope})`;return selector===`:root`?scopeSelector:`${scopeSelector} ${selector}`}function upsertStyles(id,cspNonce,styles){const styleEl=getOrCreateStyleElement(id,cspNonce);if(!styleEl)return;styleEl.innerHTML=styles}function getOrCreateStyleElement(id,cspNonce){if(!IN_BROWSER)return null;let style=document.getElementById(id);if(!style){style=document.createElement(`style`);style.id=id;style.type=`text/css`;if(cspNonce)style.setAttribute(`nonce`,cspNonce);document.head.appendChild(style)}return style}function createTheme(options){const parsedOptions=parseThemeOptions(options);const _name=shallowRef(parsedOptions.defaultTheme);const themes=ref(parsedOptions.themes);const systemName=shallowRef(`light`);const name=computed({get(){return _name.value===`system`?systemName.value:_name.value},set(val){_name.value=val}});const computedThemes=computed(()=>{const acc={};for(const[name,original]of Object.entries(themes.value)){const defaultTheme=original.dark||name===`dark`?themes.value.dark:themes.value.light;const merged=mergeDeep(defaultTheme,original);const colors={...merged.colors,...genVariations(merged.colors,parsedOptions.variations)};acc[name]={...merged,colors:{...colors,...genOnColors(colors,merged.variables)}}}return acc});const current=toRef(()=>computedThemes.value[name.value]);const isSystem=toRef(()=>_name.value===`system`);const styles=computed(()=>{const lines=[];const scoped=parsedOptions.scoped?parsedOptions.prefix:``;lines.push(`@layer theme-base {
4
- `);createCssClass(lines,`:root`,[`color-scheme: ${current.value?.dark?`dark`:`light`}`],parsedOptions.scope);createCssClass(lines,`:root`,genCssVariables(current.value,parsedOptions.prefix),parsedOptions.scope);for(const[themeName,theme]of Object.entries(computedThemes.value))createCssClass(lines,`.${parsedOptions.prefix}theme--${themeName}`,[`color-scheme: ${theme.dark?`dark`:`light`}`,...genCssVariables(theme,parsedOptions.prefix)],parsedOptions.scope);lines.push(`}
5
- `);if(parsedOptions.utilities){const bgLines=[];const fgLines=[];const colors=new Set(Object.values(computedThemes.value).flatMap(theme=>Object.keys(theme.colors)));for(const key of colors)if(key.startsWith(`on-`))createCssClass(fgLines,`.${key}`,[`color: rgb(var(--${parsedOptions.prefix}theme-${key}))`],parsedOptions.scope);else{createCssClass(bgLines,`.${scoped}bg-${key}`,[`--${parsedOptions.prefix}theme-overlay-multiplier: var(--${parsedOptions.prefix}theme-${key}-overlay-multiplier)`,`background-color: rgb(var(--${parsedOptions.prefix}theme-${key}))`,`color: rgb(var(--${parsedOptions.prefix}theme-on-${key}))`],parsedOptions.scope);createCssClass(fgLines,`.${scoped}text-${key}`,[`color: rgb(var(--${parsedOptions.prefix}theme-${key}))`],parsedOptions.scope);createCssClass(fgLines,`.${scoped}border-${key}`,[`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`],parsedOptions.scope)}lines.push(`@layer theme-background {
6
- `,...bgLines.map(v=>` ${v}`),`}
7
- `,`@layer theme-foreground {
8
- `,...fgLines.map(v=>` ${v}`),`}
9
- `)}return`@layer vuetify-utilities {
10
- `+lines.map(v=>` ${v}`).join(``)+`
11
- }`});const themeClasses=toRef(()=>parsedOptions.isDisabled?void 0:`${parsedOptions.prefix}theme--${name.value}`);const themeNames=toRef(()=>Object.keys(computedThemes.value));if(SUPPORTS_MATCH_MEDIA){const media=window.matchMedia(`(prefers-color-scheme: dark)`);function updateSystemName(){systemName.value=media.matches?`dark`:`light`}updateSystemName();media.addEventListener(`change`,updateSystemName,{passive:true});if(getCurrentScope())onScopeDispose(()=>{media.removeEventListener(`change`,updateSystemName)})}function install(app){if(parsedOptions.isDisabled)return;const head=app._context.provides.usehead;if(head){function getHead(){return{style:[{textContent:styles.value,id:parsedOptions.stylesheetId,nonce:parsedOptions.cspNonce||false,tagPosition:`bodyOpen`}]}}if(head.push){const entry=head.push(getHead);if(IN_BROWSER)watch(styles,()=>{entry.patch(getHead)})}else if(IN_BROWSER){head.addHeadObjs(toRef(getHead));watchEffect(()=>head.updateDOM())}else head.addHeadObjs(getHead())}else{if(IN_BROWSER)watch(styles,updateStyles,{immediate:true});else updateStyles();function updateStyles(){upsertStyles(parsedOptions.stylesheetId,parsedOptions.cspNonce,styles.value)}}}let _transitionOrigin;function setTransitionOrigin(e){if(!e){_transitionOrigin=null;return}let x;let y;if(isElement(e)){const box=new Box(e);x=box.left+box.width/2;y=box.top+box.height/2}else{x=e.clientX;y=e.clientY}const originX=Math.min(98.9,100*x/window.innerWidth);const originY=100*y/window.innerHeight;_transitionOrigin=`${originX.toFixed(2)}% ${originY.toFixed(2)}%`}function resolveTransitionOptions(transition){if(!(transition??parsedOptions.transition)&&!_transitionOrigin)return false;const global=isObject(parsedOptions.transition)?parsedOptions.transition:{};const local=isObject(transition)?transition:{};return{origin:local.origin??_transitionOrigin??global.origin,duration:local.duration??global.duration}}function withPageTransition(callback,options){if(!IN_BROWSER||!document.startViewTransition||PREFERS_REDUCED_MOTION()){callback();return Promise.resolve()}const origin=options.origin??`50% 0%`;const duration=options.duration??`500ms`;const style=document.createElement(`style`);style.textContent=`html:active-view-transition-type(vuetify-theme)::view-transition-old(root) { animation: none; }html:active-view-transition-type(vuetify-theme)::view-transition-new(root) { animation: v-circle-in ${duration} ease-in-out; }@keyframes v-circle-in { from { clip-path: circle(0% at ${origin}); } to { clip-path: circle(150% at ${origin}); }}`;document.head.appendChild(style);const transition=document.startViewTransition({update:()=>callback(),types:[`vuetify-theme`]});transition.finished.then(()=>{_transitionOrigin=null;style.remove()});return transition.updateCallbackDone}function change(themeName,transition){if(themeName!==`system`&&!themeNames.value.includes(themeName)){consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);return Promise.resolve()}const apply=()=>{name.value=themeName};const transitionOptions=resolveTransitionOptions(transition);if(transitionOptions)return withPageTransition(apply,transitionOptions);apply();return Promise.resolve()}function cycle(themeArray=themeNames.value,transition){const currentIndex=themeArray.indexOf(name.value);return change(themeArray[currentIndex===-1?0:(currentIndex+1)%themeArray.length],transition)}function toggle(themeArray=[`light`,`dark`],transition){return cycle(themeArray,transition)}const globalName=new Proxy(name,{get(target,prop){return Reflect.get(target,prop)},set(target,prop,val){if(prop===`value`)deprecate(`theme.global.name.value = ${val}`,`theme.change('${val}')`);return Reflect.set(target,prop,val)}});return{install,change,cycle,toggle,setTransitionOrigin,isDisabled:parsedOptions.isDisabled,isSystem,name,themes,current,computedThemes,prefix:parsedOptions.prefix,themeClasses,styles,global:{name:globalName,current}}}function provideTheme(props){getCurrentInstance(`provideTheme`);const theme=inject(ThemeSymbol,null);if(!theme)throw new Error(`Could not find Vuetify theme injection`);const name=toRef(()=>props.theme??theme.name.value);const current=toRef(()=>theme.computedThemes.value[name.value]);const themeClasses=toRef(()=>theme.isDisabled?void 0:`${theme.prefix}theme--${name.value}`);const newTheme={...theme,name,current,themeClasses};provide(ThemeSymbol,newTheme);return newTheme}function useTheme(){getCurrentInstance(`useTheme`);const theme=inject(ThemeSymbol,null);if(!theme)throw new Error(`Could not find Vuetify theme injection`);return theme}function useResizeObserver(callback,box=`content`){const resizeRef=templateRef();const contentRect=ref();if(IN_BROWSER){const observer=new ResizeObserver(entries=>{callback?.(entries,observer);if(!entries.length)return;if(box===`content`)contentRect.value=entries[0].contentRect;else{const border=entries[0].borderBoxSize?.[0];const el=entries[0].target;contentRect.value=new Box({x:0,y:0,width:border?.inlineSize??el.offsetWidth,height:border?.blockSize??el.offsetHeight})}});onBeforeUnmount(()=>{observer.disconnect()});watch(()=>resizeRef.el,(newValue,oldValue)=>{if(oldValue){observer.unobserve(oldValue);contentRect.value=void 0}if(newValue)observer.observe(newValue)},{flush:`post`})}return{resizeRef,contentRect:readonly(contentRect)}}var makeTagProps=propsFactory({tag:{type:[String,Object,Function],default:`div`}},`tag`);var makeVDefaultsProviderProps=propsFactory({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},`VDefaultsProvider`);var VDefaultsProvider=genericComponent(false)({name:`VDefaultsProvider`,props:makeVDefaultsProviderProps(),setup(props,{slots}){const{defaults,disabled,reset,root,scoped}=toRefs(props);provideDefaults(defaults,{reset,root,scoped,disabled});return()=>slots.default?.()}});var makeDimensionProps=propsFactory({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},`dimension`);function useDimension(props){return{dimensionStyles:computed(()=>{const styles={};const height=convertToUnit(props.height);const maxHeight=convertToUnit(props.maxHeight);const maxWidth=convertToUnit(props.maxWidth);const minHeight=convertToUnit(props.minHeight);const minWidth=convertToUnit(props.minWidth);const width=convertToUnit(props.width);if(height)styles.height=height;if(maxHeight)styles.maxHeight=maxHeight;if(maxWidth)styles.maxWidth=maxWidth;if(minHeight)styles.minHeight=minHeight;if(minWidth)styles.minWidth=minWidth;if(width)styles.width=width;return styles})}}function useColor(colors){return destructComputed(()=>{const{class:colorClasses,style:colorStyles}=computeColor(colors);return{colorClasses,colorStyles}})}function useTextColor(color){const{colorClasses:textColorClasses,colorStyles:textColorStyles}=useColor(()=>({text:toValue(color)}));return{textColorClasses,textColorStyles}}function useBackgroundColor(color){const{colorClasses:backgroundColorClasses,colorStyles:backgroundColorStyles}=useColor(()=>({background:toValue(color)}));return{backgroundColorClasses,backgroundColorStyles}}function normalizeColors(colors){return{text:isString(colors.text)?colors.text.replace(/^text-/,``):colors.text,background:isString(colors.background)?colors.background.replace(/^bg-/,``):colors.background}}function computeColor(colors){const _colors=normalizeColors(toValue(colors));const classes=[];const styles={};if(_colors.background){if(isCssColor(_colors.background)){styles.backgroundColor=_colors.background;if(!_colors.text&&isParsableColor(_colors.background)){const backgroundColor=parseColor(_colors.background);if(!isNumber(backgroundColor.a)||backgroundColor.a===1)classes.push(hasLightForeground(backgroundColor)?`v-theme-on-dark`:`v-theme-on-light`)}}else classes.push(`bg-${_colors.background}`)}if(_colors.text){if(isCssColor(_colors.text)){styles.color=_colors.text;styles.caretColor=_colors.text}else classes.push(`text-${_colors.text}`)}return{class:classes,style:styles}}var CSS_LENGTH=/^-?\d*\.?\d+([a-z%]{0,4})$/i;function splitTokens(v){return String(v).trim().split(/\s+/)}function isCssLength(token){return token.toLowerCase().match(CSS_LENGTH)?.at(1)?.startsWith(`x`)===false}function isCssValue(v){return typeof v===`string`&&!!v&&(v.includes(`(`)||splitTokens(v).every(isCssLength))}var makeRoundedProps=propsFactory({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},`rounded`);function useRounded(props,name=getCurrentInstanceName()){return{roundedClasses:computed(()=>{const rounded=isRef(props)?props.value:props.rounded;const tile=isRef(props)?false:props.tile;const classes=[];if(tile||rounded===false||String(rounded)===`0`)classes.push(`rounded-0`);else if(rounded===true||rounded===``)classes.push(`${name}--rounded`);else if(isString(rounded)&&!isCssValue(rounded))for(const value of splitTokens(rounded))classes.push(`rounded-${value}`);return classes}),roundedStyles:computed(()=>{const rounded=isRef(props)?props.value:props.rounded;if((!isCssValue(rounded)||String(rounded)===`0`)&&!(typeof rounded===`number`&&rounded!==0))return{};return{borderRadius:convertToUnit(rounded)}})}}var makeBorderProps=propsFactory({border:[Boolean,Number,String]},`border`);function useBorder(props,name=getCurrentInstanceName()){return{borderClasses:computed(()=>{const border=props.border;if(border===true||border===``)return`${name}--border`;else if(isString(border)||border===0)return String(border).split(` `).map(v=>`border-${v}`);return[]})}}var makeElevationProps=propsFactory({elevation:{type:[Number,String],validator:value=>parseInt(value)>=0},hoverElevation:{type:[Number,String],validator:value=>parseInt(value)>=0}},`elevation`);function useElevation(props){return{elevationClasses:toRef(()=>{const elevation=isRef(props)?props.value:props.elevation;const hoverElevation=isRef(props)?null:props.hoverElevation;return[...isNullOrUndefined(elevation)?[]:[`elevation-${parseInt(elevation)}`],...isNullOrUndefined(hoverElevation)?[]:[`hover-elevation-${parseInt(hoverElevation)}`]]})}}var oppositeMap={center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`};var makeLocationProps=propsFactory({location:String},`location`);function useLocation(props,opposite=false,offset){const{isRtl}=useRtl();return{locationStyles:computed(()=>{if(!props.location)return{};const{side,align}=parseAnchor(props.location.split(` `).length>1?props.location:`${props.location} center`,isRtl.value);function getOffset(side){return offset?offset(side):0}const styles={};if(side!==`center`){if(opposite)styles[oppositeMap[side]]=`calc(100% - ${getOffset(side)}px)`;else styles[side]=0}if(align!==`center`){if(opposite)styles[oppositeMap[align]]=`calc(100% - ${getOffset(align)}px)`;else styles[align]=0}else{if(side===`center`)styles.top=styles.left=`50%`;else styles[{top:`left`,bottom:`left`,left:`top`,right:`top`}[side]]=`50%`;styles.transform={top:`translateX(-50%)`,bottom:`translateX(-50%)`,left:`translateY(-50%)`,right:`translateY(-50%)`,center:`translate(-50%, -50%)`}[side]}return styles})}}var allowedDensities=[null,`default`,`comfortable`,`compact`];var makeDensityProps=propsFactory({density:{type:String,default:`default`,validator:v=>allowedDensities.includes(v)}},`density`);function useDensity(props,name=getCurrentInstanceName()){return{densityClasses:toRef(()=>{return`${name}--density-${props.density}`})}}var predefinedSizes=[`x-small`,`small`,`default`,`large`,`x-large`];var makeSizeProps=propsFactory({size:{type:[String,Number],default:`default`}},`size`);function useSize(props,name=getCurrentInstanceName()){return destructComputed(()=>{const size=props.size;let sizeClasses;let sizeStyles;if(includes(predefinedSizes,size))sizeClasses=`${name}--size-${size}`;else if(size)sizeStyles={width:convertToUnit(size),height:convertToUnit(size)};return{sizeClasses,sizeStyles}})}var allowedVariants=[`elevated`,`flat`,`tonal`,`outlined`,`text`,`plain`];function genOverlays(isClickable,name){return createBaseVNode(Fragment,null,[isClickable&&createBaseVNode(`span`,{"key":`overlay`,"class":normalizeClass(`${name}__overlay`)},null),createBaseVNode(`span`,{"key":`underlay`,"class":normalizeClass(`${name}__underlay`)},null)])}var makeVariantProps=propsFactory({color:String,variant:{type:String,default:`elevated`,validator:v=>allowedVariants.includes(v)}},`variant`);function useVariant(props,name=getCurrentInstanceName()){const variantClasses=toRef(()=>{const{variant}=toValue(props);return`${name}--variant-${variant}`});const{colorClasses,colorStyles}=useColor(()=>{const{variant,color}=toValue(props);return{[[`elevated`,`flat`].includes(variant)?`background`:`text`]:color}});return{colorClasses,colorStyles,variantClasses}}var makeGroupProps=propsFactory({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},`group`);var makeGroupItemProps=propsFactory({value:null,disabled:Boolean,selectedClass:String},`group-item`);function useGroupItem(props,injectKey,required=true){const vm=getCurrentInstance(`useGroupItem`);if(!vm)throw new Error(`[Vuetify] useGroupItem composable must be used inside a component setup function`);const id=useId$1();provide(Symbol.for(`${injectKey.description}:id`),id);const group=inject(injectKey,null);if(!group){if(!required)return group;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)}const value=toRef(()=>props.value);const disabled=computed(()=>!!(group.disabled.value||props.disabled));function register(){group?.register({id,value,disabled},vm)}function unregister(){group?.unregister(id)}register();onBeforeUnmount(()=>unregister());const isSelected=computed(()=>{return group.isSelected(id)});const isFirst=computed(()=>{return group.items.value[0].id===id});const isLast=computed(()=>{return group.items.value[group.items.value.length-1].id===id});const selectedClass=computed(()=>isSelected.value&&[group.selectedClass.value,props.selectedClass]);watch(isSelected,value=>{vm.emit(`group:selected`,{value})},{flush:`sync`});return{id,isSelected,isFirst,isLast,toggle:()=>group.select(id,!isSelected.value),select:value=>group.select(id,value),selectedClass,value,disabled,group,register,unregister}}function useGroup(props,injectKey){let isUnmounted=false;const items=reactive([]);const selected=useProxiedModel(props,`modelValue`,[],v=>{if(isUndefined(v))return[];return getIds(items,isNull(v)?[null]:wrapInArray(v))},v=>{const arr=getValues(items,v);return props.multiple?arr:arr[0]});const groupVm=getCurrentInstance(`useGroup`);function register(item,vm){const unwrapped=item;const key=Symbol.for(`${injectKey.description}:id`);const index=findChildrenWithProvide(key,groupVm?.vnode).indexOf(vm);if(isUndefined(unref(unwrapped.value))){unwrapped.value=index;unwrapped.useIndexAsValue=true}if(index>-1)items.splice(index,0,unwrapped);else items.push(unwrapped)}function unregister(id){if(isUnmounted)return;forceMandatoryValue();const index=items.findIndex(item=>item.id===id);items.splice(index,1)}function forceMandatoryValue(){const item=items.find(item=>!item.disabled);if(item&&props.mandatory===`force`&&!selected.value.length)selected.value=[item.id]}onMounted(()=>{forceMandatoryValue()});onBeforeUnmount(()=>{isUnmounted=true});onUpdated(()=>{for(let i=0;i<items.length;i++)if(items[i].useIndexAsValue)items[i].value=i});function select(id,value){const item=items.find(item=>item.id===id);if(value&&item?.disabled)return;if(props.multiple){const internalValue=selected.value.slice();const index=internalValue.findIndex(v=>v===id);const isSelected=~index;value=value??!isSelected;if(isSelected&&props.mandatory&&internalValue.length<=1)return;if(!isSelected&&isNumber(props.max)&&internalValue.length+1>props.max)return;if(index<0&&value)internalValue.push(id);else if(index>=0&&!value)internalValue.splice(index,1);selected.value=internalValue}else{const isSelected=selected.value.includes(id);if(props.mandatory&&isSelected)return;if(!isSelected&&!value)return;selected.value=value??!isSelected?[id]:[]}}function step(offset){if(props.multiple)consoleWarn(`This method is not supported when using "multiple" prop`);if(!selected.value.length){const item=items.find(item=>!item.disabled);item&&(selected.value=[item.id])}else{const currentId=selected.value[0];const currentIndex=items.findIndex(i=>i.id===currentId);let newIndex=(currentIndex+offset)%items.length;let newItem=items[newIndex];while(newItem.disabled&&newIndex!==currentIndex){newIndex=(newIndex+offset)%items.length;newItem=items[newIndex]}if(newItem.disabled)return;selected.value=[items[newIndex].id]}}const state={register,unregister,selected,select,disabled:toRef(()=>props.disabled),prev:()=>step(items.length-1),next:()=>step(1),isSelected:id=>selected.value.includes(id),selectedClass:toRef(()=>props.selectedClass),items:toRef(()=>items),getItemIndex:value=>getItemIndex(items,value)};provide(injectKey,state);return state}function getItemIndex(items,value){const ids=getIds(items,[value]);if(!ids.length)return-1;return items.findIndex(item=>item.id===ids[0])}function getIds(items,modelValue){const ids=[];modelValue.forEach(value=>{const item=items.find(item=>deepEqual(value,item.value));const itemByIndex=items[value];if(!isUndefined(item?.value))ids.push(item.id);else if(itemByIndex?.useIndexAsValue)ids.push(itemByIndex.id)});return ids}function getValues(items,ids){const values=[];ids.forEach(id=>{const itemIndex=items.findIndex(item=>item.id===id);if(~itemIndex){const item=items[itemIndex];values.push(!isUndefined(item.value)?item.value:itemIndex)}});return values}var makeVIconProps=propsFactory({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:IconValue,opacity:[String,Number],...makeComponentProps(),...makeSizeProps(),...makeTagProps({tag:`i`}),...makeThemeProps()},`VIcon`);var VIcon=genericComponent()({name:`VIcon`,props:makeVIconProps(),setup(props,{attrs,slots}){const slotIcon=shallowRef();const{themeClasses}=useTheme();const{iconData}=useIcon(()=>slotIcon.value||props.icon);const{sizeClasses}=useSize(props);const{textColorClasses,textColorStyles}=useTextColor(()=>props.color);useRender(()=>{const slotValue=slots.default?.();if(slotValue)slotIcon.value=flattenFragments(slotValue).filter(node=>node.type===Text&&node.children&&isString(node.children))[0]?.children;const hasClick=!!(attrs.onClick||attrs.onClickOnce);return createVNode(iconData.value.component,{"tag":props.tag,"icon":iconData.value.icon,"class":normalizeClass([`v-icon`,`notranslate`,themeClasses.value,sizeClasses.value,textColorClasses.value,{"v-icon--clickable":hasClick,"v-icon--disabled":props.disabled,"v-icon--start":props.start,"v-icon--end":props.end},props.class]),"style":normalizeStyle([{"--v-icon-opacity":props.opacity},!sizeClasses.value?{fontSize:convertToUnit(props.size),height:convertToUnit(props.size),width:convertToUnit(props.size)}:void 0,textColorStyles.value,props.style]),"role":hasClick?`button`:void 0,"aria-hidden":!hasClick,"tabindex":hasClick?props.disabled?-1:0:void 0},{default:()=>[slotValue]})});return{}}});function useIntersectionObserver(callback,options){const intersectionRef=ref();const isIntersecting=shallowRef(false);if(SUPPORTS_INTERSECTION){const observer=new IntersectionObserver(entries=>{callback?.(entries,observer);isIntersecting.value=!!entries.find(entry=>entry.isIntersecting)},options);onScopeDispose(()=>{observer.disconnect()});watch(intersectionRef,(newValue,oldValue)=>{if(oldValue){observer.unobserve(oldValue);isIntersecting.value=false}if(newValue)observer.observe(newValue)},{flush:`post`})}return{intersectionRef,isIntersecting}}var makeRevealProps=propsFactory({reveal:{type:[Boolean,Object],default:false}},`reveal`);function useReveal(props){const defaultDuration=900;const duration=toRef(()=>isObject(props.reveal)?Math.max(0,Number(props.reveal.duration??defaultDuration)):defaultDuration);const state=shallowRef(props.reveal?`initial`:`disabled`);onMounted(async()=>{if(props.reveal){state.value=`initial`;await new Promise(resolve=>requestAnimationFrame(resolve));state.value=`pending`;await new Promise(resolve=>setTimeout(resolve,duration.value));state.value=`done`}});return{duration,state}}var makeChunksProps=propsFactory({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4},variant:{type:String,default:void 0,validator:v=>[`split`].includes(v)}},`chunks`);function useChunks(props,containerWidth,value,bufferValue,reversed){const isSplit=toRef(()=>props.variant===`split`);const chunkCount=toRef(()=>isSplit.value?2:Number(props.chunkCount)||0);const hasChunks=toRef(()=>!isSplit.value&&(!!chunkCount.value||!!props.chunkWidth));const chunkWidth=computed(()=>{const containerSize=toValue(containerWidth);if(!containerSize)return 0;if(chunkCount.value)return(containerSize-Number(props.chunkGap)*(chunkCount.value-1))/chunkCount.value;return Number(props.chunkWidth)});const chunkGap=toRef(()=>Number(props.chunkGap));const chunksMaskStyles=computed(()=>{if(!hasChunks.value)return{};const chunkGapPx=convertToUnit(chunkGap.value);const chunkWidthPx=convertToUnit(chunkWidth.value);return{maskRepeat:`repeat-x`,maskImage:`linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,maskSize:`calc(${chunkWidthPx} + ${chunkGapPx}) 100%`}});const splitStyles=computed(()=>{if(!isSplit.value)return void 0;const halfGap=convertToUnit(chunkGap.value/2);const position=toValue(reversed)?`right`:`left`;const val=toValue(value);if(val<=0||val>=100)return void 0;const buffer=toValue(bufferValue);const split=convertToUnit(val,`%`);const hasBuffer=buffer>val&&buffer<100;const bufferSplit=convertToUnit(buffer,`%`);return{bar:{width:`calc(${split} - ${halfGap})`},buffer:hasBuffer?{[position]:`calc(${split} + ${halfGap})`,width:`calc(${bufferSplit} - ${split} - ${convertToUnit(chunkGap.value)})`}:void 0,background:{[position]:`calc(${hasBuffer?bufferSplit:split} + ${halfGap})`,width:`calc(100% - ${hasBuffer?bufferSplit:split} - ${halfGap})`}}});function snapValueToChunk(val){if(isSplit.value)return val;const containerSize=toValue(containerWidth);if(!containerSize)return val;const gapRelativeSize=100*chunkGap.value/containerSize;const chunkRelativeSize=100*(chunkWidth.value+chunkGap.value)/containerSize;const filledChunks=Math.floor((val+gapRelativeSize)/chunkRelativeSize+1e-9);return clamp(filledChunks*chunkRelativeSize-gapRelativeSize/2,0,100)}return{hasChunks:toRef(()=>hasChunks.value||isSplit.value),isSplit,chunkCount,chunksMaskStyles,splitStyles,snapValueToChunk}}var makeVProgressLinearProps=propsFactory({absolute:Boolean,active:{type:Boolean,default:true},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,transition:{type:[Boolean,Object],default:void 0},...makeChunksProps(),...makeComponentProps(),...makeLocationProps({location:`top`}),...makeRevealProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps()},`VProgressLinear`);var VProgressLinear=genericComponent()({name:`VProgressLinear`,props:makeVProgressLinearProps(),emits:{"update:modelValue":value=>true},setup(props,{slots}){const root=ref();const progress=useProxiedModel(props,`modelValue`);const{isRtl,rtlClasses}=useRtl();const{themeClasses}=provideTheme(props);const{locationStyles}=useLocation(props);const{textColorClasses,textColorStyles}=useTextColor(()=>props.color);const{backgroundColorClasses,backgroundColorStyles}=useBackgroundColor(()=>props.bgColor||props.color);const{backgroundColorClasses:bufferColorClasses,backgroundColorStyles:bufferColorStyles}=useBackgroundColor(()=>props.bufferColor||props.bgColor||props.color);const{backgroundColorClasses:barColorClasses,backgroundColorStyles:barColorStyles}=useBackgroundColor(()=>props.color);const{roundedClasses,roundedStyles}=useRounded(props);const{intersectionRef,isIntersecting}=useIntersectionObserver();const{state:revealState,duration:revealDuration}=useReveal(props);const max=computed(()=>parseFloat(props.max));const height=computed(()=>convertToUnit(props.height));const normalizedBuffer=computed(()=>clamp(parseFloat(props.bufferValue)/max.value*100,0,100));const normalizedValue=computed(()=>revealState.value===`initial`?0:clamp(parseFloat(progress.value)/max.value*100,0,100));const isReversed=computed(()=>isRtl.value!==props.reverse);const transitionDuration=computed(()=>props.transition===false?void 0:convertToUnit(isObject(props.transition)?props.transition.duration:void 0,`ms`));const transitionName=computed(()=>props.indeterminate?`fade-transition`:`slide-x-transition`);const containerWidth=shallowRef(0);const{hasChunks,splitStyles,chunksMaskStyles,snapValueToChunk}=useChunks(props,containerWidth,normalizedValue,normalizedBuffer,isReversed);useToggleScope(hasChunks,()=>{const{resizeRef}=useResizeObserver(entries=>containerWidth.value=entries[0].contentRect.width);watchEffect(()=>resizeRef.value=root.value)});const bufferWidth=computed(()=>{return hasChunks.value?snapValueToChunk(normalizedBuffer.value):normalizedBuffer.value});const barWidth=computed(()=>{return hasChunks.value?snapValueToChunk(normalizedValue.value):normalizedValue.value});function handleClick(e){if(!intersectionRef.value)return;const{left,right,width}=intersectionRef.value.getBoundingClientRect();const value=isReversed.value?width-e.clientX+(right-width):e.clientX-left;progress.value=Math.round(value/width*max.value)}watchEffect(()=>{intersectionRef.value=root.value});function renderBackgroundBar(){return createBaseVNode(`div`,{"class":normalizeClass([`v-progress-linear__background`,backgroundColorClasses.value]),"style":normalizeStyle([backgroundColorStyles.value,{opacity:props.bgOpacity!=null?parseFloat(props.bgOpacity):void 0,width:props.stream?0:void 0},props.indeterminate?{}:splitStyles.value?.background])},null)}useRender(()=>createVNode(props.tag,{"ref":root,"class":normalizeClass([`v-progress-linear`,{"v-progress-linear--absolute":props.absolute,"v-progress-linear--active":props.active&&isIntersecting.value,"v-progress-linear--reverse":isReversed.value,"v-progress-linear--rounded":props.rounded,"v-progress-linear--rounded-bar":props.roundedBar,"v-progress-linear--striped":props.striped,"v-progress-linear--clickable":props.clickable,"v-progress-linear--no-transition":props.transition===false,"v-progress-linear--revealing":[`initial`,`pending`].includes(revealState.value),"v-progress-linear--variant-split":props.variant===`split`},roundedClasses.value,themeClasses.value,rtlClasses.value,props.class]),"style":normalizeStyle([{bottom:props.location===`bottom`?0:void 0,top:props.location===`top`?0:void 0,height:props.active?height.value:0,"--v-progress-linear-height":height.value,"--v-progress-linear-transition-duration":transitionDuration.value,"--v-progress-reveal-duration":`${revealDuration.value}ms`,"--v-progress-chunk-gap":convertToUnit(props.chunkGap),...props.absolute?locationStyles.value:{}},chunksMaskStyles.value,roundedStyles.value,props.style]),"role":`progressbar`,"aria-hidden":props.active?`false`:`true`,"aria-valuemin":`0`,"aria-valuemax":props.max,"aria-valuenow":props.indeterminate?void 0:Math.min(parseFloat(progress.value),max.value),"onClick":props.clickable&&handleClick},{default:()=>[props.stream&&createBaseVNode(`div`,{"key":`stream`,"class":normalizeClass([`v-progress-linear__stream`,textColorClasses.value]),"style":{...textColorStyles.value,[isReversed.value?`left`:`right`]:`calc(${height.value} * -1)`,borderTop:`calc(${height.value} / 2) dotted`,opacity:props.bufferOpacity!=null?parseFloat(props.bufferOpacity):void 0,top:`calc(50% - ${height.value} / 4)`,width:convertToUnit(100-normalizedBuffer.value,`%`),"--v-progress-linear-stream-to":`calc(${height.value} * ${isReversed.value?1:-1})`}},null),(props.variant!==`split`||!props.indeterminate)&&renderBackgroundBar(),createBaseVNode(`div`,{"class":normalizeClass([`v-progress-linear__buffer`,bufferColorClasses.value]),"style":normalizeStyle([bufferColorStyles.value,{opacity:props.bufferOpacity!=null?parseFloat(props.bufferOpacity):void 0,width:convertToUnit(bufferWidth.value,`%`)},splitStyles.value?.buffer])},null),createVNode(Transition,{"name":transitionName.value},{default:()=>[!props.indeterminate?createBaseVNode(`div`,{"class":normalizeClass([`v-progress-linear__determinate`,barColorClasses.value]),"style":normalizeStyle([barColorStyles.value,{width:convertToUnit(barWidth.value,`%`)},splitStyles.value?.bar])},null):createBaseVNode(`div`,{"class":`v-progress-linear__indeterminate`},[props.variant===`split`&&createBaseVNode(Fragment,null,[renderBackgroundBar(),renderBackgroundBar(),renderBackgroundBar()]),[`long`,`short`].map(bar=>createBaseVNode(`div`,{"key":bar,"class":normalizeClass([`v-progress-linear__indeterminate`,bar,barColorClasses.value]),"style":normalizeStyle(barColorStyles.value)},null))])]}),slots.default&&createBaseVNode(`div`,{"class":`v-progress-linear__content`},[slots.default({value:normalizedValue.value,buffer:normalizedBuffer.value})])]}));return{}}});var makeLoaderProps=propsFactory({loading:[Boolean,String]},`loader`);function useLoader(props,name=getCurrentInstanceName()){return{loaderClasses:toRef(()=>({[`${name}--loading`]:props.loading}))}}function LoaderSlot(props,{slots}){return createBaseVNode(`div`,{"class":normalizeClass(`${props.name}__loader`)},[slots.default?.({color:props.color,isActive:props.active})||createVNode(VProgressLinear,{"absolute":props.absolute,"active":props.active,"color":props.color,"height":`2`,"indeterminate":true},null)])}var positionValues=[`static`,`relative`,`fixed`,`absolute`,`sticky`];var makePositionProps=propsFactory({position:{type:String,validator:v=>positionValues.includes(v)}},`position`);function usePosition(props,name=getCurrentInstanceName()){return{positionClasses:toRef(()=>{return props.position?`${name}--${props.position}`:void 0})}}function useRoute(){const vm=getCurrentInstance(`useRoute`);return computed(()=>vm?.proxy?.$route)}function useRouter(){return getCurrentInstance(`useRouter`)?.proxy?.$router}function useLink(props,attrs){const RouterLink=resolveDynamicComponent(`RouterLink`);const isLink=toRef(()=>!!(props.href||props.to));const isClickable=computed(()=>{return isLink?.value||hasEvent(attrs,`click`)||hasEvent(props,`click`)});if(isString(RouterLink)||!(`useLink`in RouterLink)){const href=toRef(()=>props.href);return{isLink,isRouterLink:toRef(()=>false),isClickable,href,linkProps:reactive({href}),route:toRef(()=>void 0),navigate:toRef(()=>void 0)}}const routerLink=RouterLink.useLink({to:toRef(()=>props.to||``),replace:toRef(()=>props.replace)});const link=computed(()=>props.to?routerLink:void 0);const route=useRoute();const isActive=computed(()=>{if(!link.value)return false;if(route.value&&route.value.matched.length===0&&route.value.name==null)return link.value.isExactActive?.value??false;if(!props.exact)return link.value.isActive?.value??false;if(!route.value)return link.value.isExactActive?.value??false;return link.value.isExactActive?.value&&deepEqual(link.value.route.value.query,route.value.query)});const href=computed(()=>props.to?link.value?.route.value.href:props.href);return{isLink,isRouterLink:toRef(()=>!!props.to),isClickable,isActive,route:toRef(()=>link.value?.route.value),navigate:toRef(()=>link.value?.navigate),href,linkProps:reactive({href,"aria-current":toRef(()=>isActive.value?`page`:void 0),"aria-disabled":toRef(()=>props.disabled&&isLink.value?`true`:void 0),tabindex:toRef(()=>props.disabled&&isLink.value?`-1`:void 0)})}}var makeRouterProps=propsFactory({href:String,replace:Boolean,to:[String,Object],exact:Boolean},`router`);var inTransition=false;function useBackButton(router,cb){let popped=false;let removeBefore;let removeAfter;if(IN_BROWSER&&router?.beforeEach){nextTick(()=>{window.addEventListener(`popstate`,onPopstate);removeBefore=router.beforeEach(()=>{if(!inTransition){inTransition=true;return new Promise(resolve=>{setTimeout(()=>resolve(popped?cb():void 0))})}return popped?cb():void 0});removeAfter=router?.afterEach(()=>{inTransition=false})});onScopeDispose(()=>{window.removeEventListener(`popstate`,onPopstate);removeBefore?.();removeAfter?.()})}function onPopstate(e){if(e.state?.replaced)return;popped=true;setTimeout(()=>popped=false)}}var stopSymbol=Symbol(`rippleStop`);var DELAY_RIPPLE=80;function transform(el,value){el.style.transform=value;el.style.webkitTransform=value}function isTouchEvent(e){return e.constructor.name===`TouchEvent`}function isKeyboardEvent(e){return e.constructor.name===`KeyboardEvent`}var calculate=(e,el,value={})=>{let localX=0;let localY=0;if(!isKeyboardEvent(e)){const offset=new Box(el);const target=isTouchEvent(e)?e.touches[e.touches.length-1]:e;const point=getTargetBox([target.clientX,target.clientY]);localX=point.x-offset.left;localY=point.y-offset.top}let radius=0;let scale=.3;if(el._ripple?.circle){scale=.15;radius=el.clientWidth/2;radius=value.center?radius:radius+Math.sqrt((localX-radius)**2+(localY-radius)**2)/4}else radius=Math.sqrt(el.clientWidth**2+el.clientHeight**2)/2;const centerX=`${(el.clientWidth-radius*2)/2}px`;const centerY=`${(el.clientHeight-radius*2)/2}px`;const x=value.center?centerX:`${localX-radius}px`;const y=value.center?centerY:`${localY-radius}px`;return{radius,scale,x,y,centerX,centerY}};var ripples={show(e,el,value={}){if(!el?._ripple?.enabled)return;const container=document.createElement(`span`);const animation=document.createElement(`span`);container.appendChild(animation);container.className=`v-ripple__container`;if(value.class)container.className+=` ${value.class}`;const{radius,scale,x,y,centerX,centerY}=calculate(e,el,value);const size=`${radius*2}px`;animation.className=`v-ripple__animation`;animation.style.width=size;animation.style.height=size;el.appendChild(container);const computed=window.getComputedStyle(el);if(computed&&computed.position===`static`){el.style.position=`relative`;el.dataset.previousPosition=`static`}animation.classList.add(`v-ripple__animation--enter`);animation.classList.add(`v-ripple__animation--visible`);transform(animation,`translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);animation.dataset.activated=String(performance.now());requestAnimationFrame(()=>{requestAnimationFrame(()=>{animation.classList.remove(`v-ripple__animation--enter`);animation.classList.add(`v-ripple__animation--in`);transform(animation,`translate(${centerX}, ${centerY}) scale3d(1,1,1)`)})})},hide(el){if(!el?._ripple?.enabled)return;const ripples=el.getElementsByClassName(`v-ripple__animation`);if(ripples.length===0)return;const animation=Array.from(ripples).findLast(ripple=>!ripple.dataset.isHiding);if(!animation)return;else animation.dataset.isHiding=`true`;const diff=performance.now()-Number(animation.dataset.activated);const delay=Math.max(250-diff,0);setTimeout(()=>{animation.classList.remove(`v-ripple__animation--in`);animation.classList.add(`v-ripple__animation--out`);setTimeout(()=>{if(el.getElementsByClassName(`v-ripple__animation`).length===1&&el.dataset.previousPosition){el.style.position=el.dataset.previousPosition;delete el.dataset.previousPosition}if(animation.parentNode?.parentNode===el)el.removeChild(animation.parentNode)},300)},delay)}};function isRippleEnabled(value){return typeof value===`undefined`||!!value}function rippleShow(e){const value={};const element=e.currentTarget;if(!element?._ripple||element._ripple.touched||e[stopSymbol])return;e[stopSymbol]=true;if(isTouchEvent(e)){element._ripple.touched=true;element._ripple.isTouch=true}else if(element._ripple.isTouch)return;value.center=element._ripple.centered||isKeyboardEvent(e);if(element._ripple.class)value.class=element._ripple.class;if(isTouchEvent(e)){if(element._ripple.showTimerCommit)return;element._ripple.showTimerCommit=()=>{ripples.show(e,element,value)};element._ripple.showTimer=window.setTimeout(()=>{if(element?._ripple?.showTimerCommit){element._ripple.showTimerCommit();element._ripple.showTimerCommit=null}},DELAY_RIPPLE)}else ripples.show(e,element,value)}function rippleStop(e){e[stopSymbol]=true}function rippleHide(e){const element=e.currentTarget;if(!element?._ripple)return;window.clearTimeout(element._ripple.showTimer);if(e.type===`touchend`&&element._ripple.showTimerCommit){element._ripple.showTimerCommit();element._ripple.showTimerCommit=null;element._ripple.showTimer=window.setTimeout(()=>{rippleHide(e)});return}window.setTimeout(()=>{if(element._ripple)element._ripple.touched=false});ripples.hide(element)}function rippleCancelShow(e){const element=e.currentTarget;if(!element?._ripple)return;if(element._ripple.showTimerCommit)element._ripple.showTimerCommit=null;window.clearTimeout(element._ripple.showTimer)}var keyboardRipple=false;function keyboardRippleShow(e,keys){if(!keyboardRipple&&keys.includes(e.key)){keyboardRipple=true;rippleShow(e)}}function keyboardRippleHide(e){keyboardRipple=false;rippleHide(e)}function focusRippleHide(e){if(keyboardRipple){keyboardRipple=false;rippleHide(e)}}function updateRipple(el,binding,wasEnabled){const{value,modifiers}=binding;const enabled=isRippleEnabled(value);if(!enabled)ripples.hide(el);el._ripple=el._ripple??{};el._ripple.enabled=enabled;el._ripple.centered=modifiers.center;el._ripple.circle=modifiers.circle;const bindingValue=isObject(value)?value:{};if(bindingValue.class)el._ripple.class=bindingValue.class;const allowedKeys=bindingValue.keys??[`Enter`,`Space`];el._ripple.keyDownHandler=e=>keyboardRippleShow(e,allowedKeys);if(enabled&&!wasEnabled){if(modifiers.stop){el.addEventListener(`touchstart`,rippleStop,{passive:true});el.addEventListener(`mousedown`,rippleStop);return}el.addEventListener(`touchstart`,rippleShow,{passive:true});el.addEventListener(`touchend`,rippleHide,{passive:true});el.addEventListener(`touchmove`,rippleCancelShow,{passive:true});el.addEventListener(`touchcancel`,rippleHide);el.addEventListener(`mousedown`,rippleShow);el.addEventListener(`mouseup`,rippleHide);el.addEventListener(`mouseleave`,rippleHide);el.addEventListener(`keydown`,el._ripple.keyDownHandler);el.addEventListener(`keyup`,keyboardRippleHide);el.addEventListener(`blur`,focusRippleHide);el.addEventListener(`dragstart`,rippleHide,{passive:true})}else if(!enabled&&wasEnabled)removeListeners(el)}function removeListeners(el){el.removeEventListener(`touchstart`,rippleStop);el.removeEventListener(`mousedown`,rippleStop);el.removeEventListener(`touchstart`,rippleShow);el.removeEventListener(`touchend`,rippleHide);el.removeEventListener(`touchmove`,rippleCancelShow);el.removeEventListener(`touchcancel`,rippleHide);el.removeEventListener(`mousedown`,rippleShow);el.removeEventListener(`mouseup`,rippleHide);el.removeEventListener(`mouseleave`,rippleHide);if(el._ripple?.keyDownHandler)el.removeEventListener(`keydown`,el._ripple.keyDownHandler);el.removeEventListener(`keyup`,keyboardRippleHide);el.removeEventListener(`blur`,focusRippleHide);el.removeEventListener(`dragstart`,rippleHide)}function mounted(el,binding){updateRipple(el,binding,false)}function unmounted(el){removeListeners(el);delete el._ripple}function updated(el,binding){if(binding.value===binding.oldValue)return;updateRipple(el,binding,isRippleEnabled(binding.oldValue))}var Ripple={mounted,unmounted,updated};export{useToggleScope as $,matchesSelector as $t,useElevation as A,isSymbol as An,camelizeProps as At,VDefaultsProvider as B,TransitionGroup as Bn,eventName as Bt,makeSizeProps as C,isBoolean as Cn,flipSide as Ct,makeLocationProps as D,isNumber as Dn,CircularBuffer as Dt,useDensity as E,isNullOrUndefined as En,toPhysical as Et,useBackgroundColor as F,useId as Fn,debounce as Ft,makeThemeProps as G,withKeys as Gn,getActiveElement as Gt,useResizeObserver as H,vModelSelect as Hn,findChildrenWithProvide as Ht,useColor as I,consoleError as In,defer as It,LocaleSymbol as J,__esmMin as Jn,isComposingIgnoreKey as Jt,provideTheme as K,withModifiers as Kn,getNextElement as Kt,useTextColor as L,consoleWarn as Ln,destructComputed as Lt,useBorder as M,mergeDeep$1 as Mn,chunkArray as Mt,makeRoundedProps as N,range as Nn,clamp as Nt,useLocation as O,isObject as On,EventProp as Ot,useRounded as P,resolveIds as Pn,convertToUnit as Pt,useProxiedModel as Q,keys as Qt,makeDimensionProps as R,deprecate as Rn,ensureValidVNode as Rt,useVariant as S,isArray as Sn,flipCorner as St,makeDensityProps as T,isNull as Tn,parseAnchor as Tt,ThemeSymbol as U,vModelText as Un,focusChild as Ut,makeTagProps as V,createApp as Vn,filterInputAttrs as Vt,createTheme as W,vShow as Wn,focusableChildren as Wt,useLocale as X,__toCommonJS as Xn,isPercentage as Xt,createLocale as Y,__exportAll as Yn,isOn as Yt,useRtl as Z,__toESM as Zn,isPrimitive as Zt,makeGroupProps as _,V0Error as _n,Box as _t,useRouter as a,pick as an,deepEqual as at,genOverlays as b,foreground as bn,getTargetBox as bt,LoaderSlot as c,resolveSize as cn,DefaultsSymbol as ct,VProgressLinear as d,IN_BROWSER as dn,injectNestedDefaults as dt,mergeDeep as en,IconSymbol as et,makeRevealProps as f,PREFERS_REDUCED_MOTION as fn,provideDefaults as ft,makeGroupItemProps as g,UNSAFE_KEYS as gn,propsFactory as gt,VIcon as h,SUPPORTS_TOUCH as hn,makeComponentProps as ht,useLink as i,padStart as in,useRender as it,makeBorderProps as j,isUndefined as jn,checkPrintable as jt,makeElevationProps as k,isString as kn,callEvent as kt,makeLoaderProps as l,templateRef as ln,RootDefaultsSymbol as lt,useIntersectionObserver as m,SUPPORTS_MATCH_MEDIA as mn,getCurrentInstanceName as mt,makeRouterProps as n,omit as nn,VClassIcon as nt,makePositionProps as o,pickWithRest as on,defineComponent as ot,useReveal as p,SUPPORTS_INTERSECTION as pn,getCurrentInstance as pt,useTheme as q,__commonJSMin as qn,getPropertyFromItem as qt,useBackButton as r,onlyDefinedProps as rn,VSvgIcon as rt,usePosition as s,refElement as sn,genericComponent as st,Ripple as t,noop as tn,IconValue as tt,useLoader as u,wrapInArray as un,createDefaults as ut,useGroup as v,clamp$2 as vn,getElementBox as vt,useSize as w,isFunction as wn,getAxis as wt,makeVariantProps as x,hexToRgb as xn,flipAlign as xt,useGroupItem as y,findMatchRanges as yn,getOverflow as yt,useDimension as z,Transition as zn,escapeForRegex as zt};
@@ -1 +0,0 @@
1
- .project-settings__section-copy[data-v-f2a13772],.project-settings__content[data-v-f2a13772]{gap:1rem;min-width:0;display:grid}.project-settings__section-copy[data-v-f2a13772]{align-content:start;gap:.5rem}.project-settings__section-copy p[data-v-f2a13772],.project-settings__content p[data-v-f2a13772]{overflow-wrap:anywhere;margin:0}.connection-entry[data-v-f2a13772]{border:0;gap:.75rem;min-width:0;margin:1rem 0;padding:0;display:grid}.connection-entry legend[data-v-f2a13772]{margin-bottom:.75rem}.connection-actions[data-v-f2a13772]{flex-wrap:wrap;gap:.75rem;display:flex}.project-settings[data-v-362d4729]{width:100%;min-width:0;max-width:76rem;container:project-settings/inline-size}.project-settings__header[data-v-362d4729]{justify-content:space-between;align-items:start;gap:1rem;padding-block-end:1.5rem;display:flex}.project-settings p[data-v-362d4729],.project-settings h2[data-v-362d4729]{margin:0}.project-settings p[data-v-362d4729]{color:rgba(var(--v-theme-on-surface), .7);overflow-wrap:anywhere}.project-settings__header p[data-v-362d4729]{margin-top:.5rem}.project-settings__refresh[data-v-362d4729]{flex:none}.project-settings__section[data-v-362d4729]{border-top:thin solid rgba(var(--v-border-color), var(--v-border-opacity));grid-template-columns:minmax(12rem,1fr) minmax(0,2fr);align-items:start;gap:1.5rem 2rem;padding-block:1.5rem;display:grid}.project-settings__section-copy[data-v-362d4729],.project-settings__content[data-v-362d4729],.project-settings__action[data-v-362d4729]{gap:1rem;min-width:0;display:grid}.project-settings__section-copy[data-v-362d4729]{align-content:start;gap:.5rem}.project-settings__action[data-v-362d4729]{justify-items:start}.project-settings__account-link[data-v-362d4729]{justify-self:start;margin-inline-start:-.75rem}.project-settings__engineering-field[data-v-362d4729],.project-settings__option[data-v-362d4729]{min-width:0}.project-settings .project-settings__option-support[data-v-362d4729]{margin-inline-start:2.5rem}.project-settings__ai-fields[data-v-362d4729]{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.5rem 1rem;min-width:0;display:grid}.project-settings__ai-note[data-v-362d4729]{grid-column:1/-1}@container project-settings (width<=48rem){.project-settings__section[data-v-362d4729]{grid-template-columns:minmax(0,1fr)}}.vibe64-dashboard-page[data-v-d998a641]{gap:.75rem;min-width:0;display:grid}
@@ -1,2 +0,0 @@
1
- var VIBE64_ASSISTANT_ENGINE_IDS=Object.freeze({CLAUDE:`claude`,CODEX:`codex`,OPENCODE:`opencode`});var VIBE64_ASSISTANT_TRANSPORT_IDS=Object.freeze({CLAUDE_STREAM_JSON:`claude_stream_json`,CODEX_APP_SERVER:`codex_app_server`,OPENCODE_SERVER:`opencode_server`});var VIBE64_ASSISTANT_SELECTION_SCHEMA=`vibe64.assistant-selection.v1`;var VIBE64_ASSISTANT_CATALOG_REVISION_PATTERN=/^sha256:[a-f0-9]{64}$/u;var VIBE64_ASSISTANT_ENGINE_ID_SET=new Set(Object.values(VIBE64_ASSISTANT_ENGINE_IDS));var VIBE64_ASSISTANT_SELECTION_ERROR_CODES=Object.freeze({CATALOG_STALE:`vibe64_assistant_catalog_stale`,CONNECTION_REQUIRED:`vibe64_assistant_connection_required`,ENGINE_IMMUTABLE:`vibe64_assistant_engine_immutable`,INVALID:`vibe64_assistant_selection_invalid`,TURN_ACTIVE:`vibe64_assistant_selection_turn_active`,UNAVAILABLE:`vibe64_assistant_selection_unavailable`});function record(value){return value&&typeof value===`object`&&!Array.isArray(value)?value:{}}function text(value=``){return String(value??``).trim()}function selectionError(code,message,details={}){const error=new Error(message);error.code=code;error.details=Object.freeze({...details});error.statusCode=409;return error}function containsControlCharacter(value=``){return Array.from(value).some(character=>{const codePoint=character.codePointAt(0);return codePoint<=31||codePoint===127})}function boundedIdentifier(value,field,{allowEmpty=false,maxLength=512}={}){const normalized=text(value);if(!normalized&&!allowEmpty||normalized.length>maxLength||containsControlCharacter(normalized))throw selectionError(VIBE64_ASSISTANT_SELECTION_ERROR_CODES.INVALID,`Assistant ${field} is invalid.`,{field});return normalized}function catalogRevision(value,field=`catalogRevision`){const revision=text(value);if(!VIBE64_ASSISTANT_CATALOG_REVISION_PATTERN.test(revision))throw selectionError(VIBE64_ASSISTANT_SELECTION_ERROR_CODES.INVALID,`Assistant catalog revision is invalid.`,{field});return revision}function defineVibe64AssistantSelection(value={}){const input=record(value);const engineId=boundedIdentifier(input.engineId,`engineId`,{maxLength:64});if(!VIBE64_ASSISTANT_ENGINE_ID_SET.has(engineId))throw selectionError(VIBE64_ASSISTANT_SELECTION_ERROR_CODES.INVALID,`Unknown assistant engine: ${engineId}.`,{engineId,field:`engineId`});const schema=text(input.schema)||`vibe64.assistant-selection.v1`;if(schema!==`vibe64.assistant-selection.v1`)throw selectionError(VIBE64_ASSISTANT_SELECTION_ERROR_CODES.INVALID,`Assistant selection schema is unsupported.`,{field:`schema`,schema});return Object.freeze({agentId:boundedIdentifier(input.agentId,`agentId`,{maxLength:256}),catalogRevision:catalogRevision(input.catalogRevision),engineId,modelId:boundedIdentifier(input.modelId,`modelId`),modelProviderId:boundedIdentifier(input.modelProviderId,`modelProviderId`,{maxLength:256}),schema,variantId:boundedIdentifier(input.variantId,`variantId`,{allowEmpty:true,maxLength:256})})}var model$1=(id,contextWindow,variants,options={})=>Object.freeze({id,contextWindow,variants:Object.freeze(variants),...options});var NATIVE_AI_PROVIDERS=Object.freeze([Object.freeze({id:`deepseek`,baseUrl:`https://api.deepseek.com/`,claudeBaseUrl:`https://api.deepseek.com/anthropic`,claudeAutoCompactWindow:786432,webSearch:false,models:Object.freeze([model$1(`deepseek-flash`,1048576,[`low`,`high`,`max`],{images:true,freeformPatch:true,codexHistoryRouting:true}),model$1(`deepseek-v4-pro`,1048576,[`low`,`high`,`max`],{freeformPatch:true})])}),Object.freeze({id:`zai-coding-plan`,baseUrl:`https://api.z.ai/api/v1`,claudeBaseUrl:`https://api.z.ai/api/anthropic`,claudeAutoCompactWindow:1e6,webSearch:false,models:Object.freeze([model$1(`glm-5.3`,1048576,[`low`,`high`,`max`],{freeformPatch:true,codexHistoryRouting:true})])}),Object.freeze({id:`zai`,baseUrl:`https://api.z.ai/api/v1`,claudeBaseUrl:`https://api.z.ai/api/anthropic`,claudeAutoCompactWindow:1e6,webSearch:false,models:Object.freeze([model$1(`glm-5.3`,1048576,[`low`,`high`,`max`],{freeformPatch:true,codexHistoryRouting:true})])})]);function nativeAiProvider(id){return NATIVE_AI_PROVIDERS.find(provider=>provider.id===id)||null}function nativeAiModel(id,providerId=``){for(const provider of NATIVE_AI_PROVIDERS){if(providerId&&provider.id!==providerId)continue;const model=provider.models.find(candidate=>candidate.id===id);if(model)return{...model,modelProviderId:provider.id}}return null}var model=(providerId,id,label,defaultThinking)=>{const{modelProviderId:_provider,...definition}=nativeAiModel(id,providerId);return Object.freeze({...definition,label,defaultThinking})};var CURATED_CODEX_PROVIDERS=Object.freeze([Object.freeze({...nativeAiProvider(`deepseek`),label:`DeepSeek`,description:`DeepSeek API key · usage-based billing`,keyUrl:`https://platform.deepseek.com/api_keys`,guideUrl:`https://api-docs.deepseek.com/quick_start/agent_integrations/codex/`,ownerOnly:false,models:Object.freeze([model(`deepseek`,`deepseek-flash`,`DeepSeek V4.1 Flash`,`high`),model(`deepseek`,`deepseek-v4-pro`,`DeepSeek V4 Pro`,`high`)])}),Object.freeze({...nativeAiProvider(`zai-coding-plan`),label:`GLM · Coding Plan`,description:`Z.AI Coding Plan key · uses your subscription quota`,keyUrl:`https://z.ai/manage-apikey/apikey-list`,guideUrl:`https://docs.z.ai/devpack/tool/codex`,ownerOnly:true,models:Object.freeze([model(`zai-coding-plan`,`glm-5.3`,`GLM 5.3`,`max`)])}),Object.freeze({...nativeAiProvider(`zai`),label:`GLM · Pay-as-you-go API`,description:`Z.AI API key · pay-as-you-go account`,keyUrl:`https://z.ai/manage-apikey/apikey-list`,guideUrl:`https://docs.z.ai/guides/overview/quick-start`,setupNote:`Use a key from a Z.AI account without a Coding Plan. Pay-as-you-go access through Codex and Claude Code still needs live verification; a successful check confirms model access, not billing.`,ownerOnly:false,models:Object.freeze([model(`zai`,`glm-5.3`,`GLM 5.3`,`max`)])})]);function curatedCodexProvider(id){return CURATED_CODEX_PROVIDERS.find(provider=>provider.id===id)||null}var VIBE64_AGENT_EXECUTION_PROFILE_IDS=Object.freeze({HELPER:`helper`});var VIBE64_AGENT_EXECUTION_WORKLOAD_IDS=Object.freeze({COMMIT_TITLE:`commit_title`,CONVERSATION_SUMMARY:`conversation_summary`,VOICE_TURN:`voice_turn`,DATABASE_ASSISTANT:`database_assistant`,LESSON_REVIEW:`lesson_review`,PROMPT_HINT:`prompt_hint`,REQUEST_ROUTING:`request_routing`,SESSION_TITLE:`session_title`,SOURCE_EXPLANATION:`source_explanation`});var VIBE64_AGENT_HELPER_WORKLOAD_LIMITS=Object.freeze({[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.COMMIT_TITLE]:Object.freeze({maxInputCharacters:24e3,maxOutputCharacters:512,timeoutMs:12e4}),[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.VOICE_TURN]:Object.freeze({maxInputCharacters:12e3,maxOutputCharacters:512,timeoutMs:1e4}),[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.CONVERSATION_SUMMARY]:Object.freeze({maxInputCharacters:2e5,maxOutputCharacters:16e3,timeoutMs:12e4}),[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.DATABASE_ASSISTANT]:Object.freeze({maxInputCharacters:5e5,maxOutputCharacters:16e3,timeoutMs:18e4}),[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.LESSON_REVIEW]:Object.freeze({maxInputCharacters:16e4,maxOutputCharacters:12e3,timeoutMs:18e4}),[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.PROMPT_HINT]:Object.freeze({maxInputCharacters:24e3,maxOutputCharacters:2500,timeoutMs:12e4}),[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.REQUEST_ROUTING]:Object.freeze({maxInputCharacters:128e3,maxOutputCharacters:8192,timeoutMs:6e4}),[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.SESSION_TITLE]:Object.freeze({maxInputCharacters:24e3,maxOutputCharacters:512,timeoutMs:3e4}),[VIBE64_AGENT_EXECUTION_WORKLOAD_IDS.SOURCE_EXPLANATION]:Object.freeze({maxInputCharacters:1e5,maxOutputCharacters:32e3,timeoutMs:18e4})});var VIBE64_AGENT_EXECUTION_TOOL_POLICIES=Object.freeze({NONE:`none`});var VIBE64_AGENT_EXECUTION_PROFILE_LIMIT_CEILINGS=Object.freeze({MAX_INPUT_CHARACTERS:5e5,MAX_OUTPUT_CHARACTERS:32e3,MAX_TIMEOUT_MS:3e5});var VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES=Object.freeze({INVALID:`vibe64_agent_execution_profile_invalid`,MODEL_UNAVAILABLE:`vibe64_agent_execution_profile_model_unavailable`,POLICY_UNENFORCEABLE:`vibe64_agent_execution_profile_policy_unenforceable`,PROFILE_UNKNOWN:`vibe64_agent_execution_profile_unknown`,REASONING_UNSUPPORTED:`vibe64_agent_execution_profile_reasoning_unsupported`,UNBOUNDED:`vibe64_agent_execution_profile_unbounded`,UNSAFE:`vibe64_agent_execution_profile_unsafe`,WORKLOAD_UNSUPPORTED:`vibe64_agent_execution_profile_workload_unsupported`});var VIBE64_AGENT_EXECUTION_PROFILE_VALUES=new Set(Object.values(VIBE64_AGENT_EXECUTION_PROFILE_IDS));var VIBE64_AGENT_EXECUTION_WORKLOAD_VALUES=new Set(Object.values(VIBE64_AGENT_EXECUTION_WORKLOAD_IDS));var Vibe64AgentExecutionProfileError=class extends Error{constructor(code,message,details={}){super(message);this.name=`Vibe64AgentExecutionProfileError`;this.code=code;this.details=Object.freeze({...details});for(const[name,value]of Object.entries(this.details))if(![`code`,`details`,`message`,`name`].includes(name))this[name]=value}};function executionProfileError(code,message,details={}){return new Vibe64AgentExecutionProfileError(code,message,details)}function isPlainRecord(value){if(!value||typeof value!==`object`||Array.isArray(value))return false;const prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function requiredRecord(value,fieldName){if(!isPlainRecord(value))throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.INVALID,`Execution profile ${fieldName} must be an object.`,{field:fieldName});return value}function requireOnlyFields(value,allowedFields,fieldName){const allowed=new Set(allowedFields);const unexpected=Object.keys(value).find(name=>!allowed.has(name));if(unexpected)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.INVALID,`Execution profile ${fieldName} contains an unsupported field: ${unexpected}.`,{field:`${fieldName}.${unexpected}`})}function requiredText(value,fieldName,maximumLength=256){if(typeof value!==`string`)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.INVALID,`Execution profile ${fieldName} must be text.`,{field:fieldName});const normalized=value.trim();if(!normalized||normalized.length>maximumLength)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.INVALID,`Execution profile ${fieldName} is invalid.`,{field:fieldName});return normalized}function requiredBoolean(value,fieldName){if(typeof value!==`boolean`)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.INVALID,`Execution profile ${fieldName} must be a boolean.`,{field:fieldName});return value}function requireSafeFalse(value,fieldName){if(requiredBoolean(value,fieldName)!==false)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.UNSAFE,`Execution profile ${fieldName} must be disabled.`,{field:fieldName});return false}function boundedPositiveInteger(value,fieldName,maximum){if(!Number.isSafeInteger(value)||value<=0||value>maximum)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.UNBOUNDED,`Execution profile ${fieldName} must be a positive integer no greater than ${maximum}.`,{field:fieldName,maximum});return value}function requiredLimits(value){if(!isPlainRecord(value))throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.UNBOUNDED,`Execution profile limits are required.`,{field:`limits`});return value}function normalizeProfileId(value){const profileId=requiredText(value,`profileId`,64);if(!VIBE64_AGENT_EXECUTION_PROFILE_VALUES.has(profileId))throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.PROFILE_UNKNOWN,`Unknown execution profile: ${profileId}.`,{profileId});return profileId}function normalizeWorkloadId(value){const workloadId=requiredText(value,`workloadId`,64);if(!VIBE64_AGENT_EXECUTION_WORKLOAD_VALUES.has(workloadId))throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.WORKLOAD_UNSUPPORTED,`Unsupported execution profile workload: ${workloadId}.`,{workloadId});return workloadId}function normalizedExecutionProfileRequest(input){return Object.freeze({profileId:normalizeProfileId(input.profileId),workloadId:normalizeWorkloadId(input.workloadId)})}function defineVibe64AgentExecutionProfileResolution(value){const input=requiredRecord(value,`resolution`);const executionProfile=normalizedExecutionProfileRequest(input);const request=requiredRecord(input.request,`request policy`);const policy=requiredRecord(input.policy,`tool policy`);const limits=requiredLimits(input.limits);requireOnlyFields(request,[`allowProviderModelFallback`,`reasoning`,`summary`],`request`);requireOnlyFields(policy,[`environmentAccess`,`networkAccess`,`repositoryWrite`,`tools`],`policy`);requireOnlyFields(limits,[`maxInputCharacters`,`maxOutputCharacters`,`timeoutMs`],`limits`);const reasoning=requiredBoolean(request.reasoning,`request.reasoning`);if(typeof input.thinking!==`string`)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.INVALID,`Execution profile thinking must be text.`,{field:`thinking`});const thinking=input.thinking.trim();if(reasoning&&!thinking||!reasoning&&thinking)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.UNSAFE,`Execution profile thinking must agree with its reasoning request.`,{field:`thinking`});if(thinking.length>64)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.INVALID,`Execution profile thinking is invalid.`,{field:`thinking`});if(policy.tools!==VIBE64_AGENT_EXECUTION_TOOL_POLICIES.NONE)throw executionProfileError(VIBE64_AGENT_EXECUTION_PROFILE_ERROR_CODES.UNSAFE,`Execution profile tools must be disabled.`,{field:`policy.tools`});return Object.freeze({limits:Object.freeze({maxInputCharacters:boundedPositiveInteger(limits.maxInputCharacters,`limits.maxInputCharacters`,VIBE64_AGENT_EXECUTION_PROFILE_LIMIT_CEILINGS.MAX_INPUT_CHARACTERS),maxOutputCharacters:boundedPositiveInteger(limits.maxOutputCharacters,`limits.maxOutputCharacters`,VIBE64_AGENT_EXECUTION_PROFILE_LIMIT_CEILINGS.MAX_OUTPUT_CHARACTERS),timeoutMs:boundedPositiveInteger(limits.timeoutMs,`limits.timeoutMs`,VIBE64_AGENT_EXECUTION_PROFILE_LIMIT_CEILINGS.MAX_TIMEOUT_MS)}),model:requiredText(input.model,`model`),policy:Object.freeze({environmentAccess:requireSafeFalse(policy.environmentAccess,`policy.environmentAccess`),networkAccess:requireSafeFalse(policy.networkAccess,`policy.networkAccess`),repositoryWrite:requireSafeFalse(policy.repositoryWrite,`policy.repositoryWrite`),tools:VIBE64_AGENT_EXECUTION_TOOL_POLICIES.NONE}),profileId:executionProfile.profileId,providerId:requiredText(input.providerId,`providerId`,64),request:Object.freeze({allowProviderModelFallback:requireSafeFalse(request.allowProviderModelFallback,`request.allowProviderModelFallback`),reasoning,summary:requireSafeFalse(request.summary,`request.summary`)}),revision:requiredText(input.revision,`revision`,128),thinking,workloadId:executionProfile.workloadId})}function vibe64AgentExecutionProfileAuditSnapshot(value){return defineVibe64AgentExecutionProfileResolution(value)}var VIBE64_ASSISTANT_ACCESS_ERROR_CODES=Object.freeze({RESTRICTED:`vibe64_assistant_owner_required`,UNAVAILABLE:`vibe64_assistant_connection_unavailable`});var VIBE64_AGENT_PROVIDER_IDS=Object.freeze({CLAUDE:`claude`,CODEX:`codex`,OPENCODE:`opencode`});var VIBE64_AGENT_PROVIDER_UNKNOWN_CODE=`vibe64_agent_provider_unknown`;var VIBE64_AGENT_PARAMETER_IDS=Object.freeze({MODEL:`model`,THINKING:`thinking`});var VIBE64_DEFAULT_AGENT_PROVIDER_ID=VIBE64_AGENT_PROVIDER_IDS.CODEX;var VIBE64_CODEX_SOL_MODEL=`gpt-5.6-sol`;var VIBE64_CODEX_GPT_5_5_MODEL=`gpt-5.5`;var VIBE64_CODEX_DEFAULT_MODEL=VIBE64_CODEX_SOL_MODEL;var VIBE64_CODEX_DEFAULT_THINKING=`xhigh`;var VIBE64_CODEX_SPARK_MODEL=`gpt-5.3-codex-spark`;var VIBE64_CODEX_STANDARD_THINKING_VALUES=Object.freeze([`low`,`medium`,`high`,`xhigh`]);var VIBE64_CODEX_SOL_THINKING_VALUES=Object.freeze([...VIBE64_CODEX_STANDARD_THINKING_VALUES,`max`]);var VIBE64_AGENT_PROVIDERS=Object.freeze([Object.freeze({executionProfiles:Object.freeze([VIBE64_AGENT_EXECUTION_PROFILE_IDS.HELPER]),id:VIBE64_AGENT_PROVIDER_IDS.CODEX,implemented:true,label:`Codex`,parameters:Object.freeze([Object.freeze({id:VIBE64_AGENT_PARAMETER_IDS.MODEL,defaultValue:VIBE64_CODEX_DEFAULT_MODEL,label:`Model`,options:Object.freeze([Object.freeze({label:`Automatic (GPT-5.6 Sol)`,value:``}),Object.freeze({label:`GPT-5.6 Sol`,supportedThinking:VIBE64_CODEX_SOL_THINKING_VALUES,value:VIBE64_CODEX_DEFAULT_MODEL}),Object.freeze({label:`GPT-5.5`,supportedThinking:VIBE64_CODEX_STANDARD_THINKING_VALUES,value:VIBE64_CODEX_GPT_5_5_MODEL}),Object.freeze({label:`Codex Spark`,request:Object.freeze({summary:false}),supportedThinking:VIBE64_CODEX_STANDARD_THINKING_VALUES,value:VIBE64_CODEX_SPARK_MODEL})])}),Object.freeze({id:VIBE64_AGENT_PARAMETER_IDS.THINKING,defaultValue:VIBE64_CODEX_DEFAULT_THINKING,label:`Thinking`,options:Object.freeze([Object.freeze({label:`Automatic`,value:``}),Object.freeze({label:`Low`,value:`low`}),Object.freeze({label:`Medium`,value:`medium`}),Object.freeze({label:`High`,value:`high`}),Object.freeze({label:`X High`,value:`xhigh`}),Object.freeze({label:`Max`,value:`max`})])})])}),Object.freeze({executionProfiles:Object.freeze([VIBE64_AGENT_EXECUTION_PROFILE_IDS.HELPER]),id:VIBE64_AGENT_PROVIDER_IDS.CLAUDE,implemented:true,label:`Claude Code`,parameters:Object.freeze([])}),Object.freeze({executionProfiles:Object.freeze([]),id:VIBE64_AGENT_PROVIDER_IDS.OPENCODE,implemented:false,label:`OpenCode`,parameters:Object.freeze([])})]);function agentProviderDefinition(providerId=``){const normalizedProviderId=normalizeAgentSettingText(providerId)||VIBE64_DEFAULT_AGENT_PROVIDER_ID;const provider=VIBE64_AGENT_PROVIDERS.find(candidate=>candidate.id===normalizedProviderId);if(provider)return provider;const error=new Error(`Unknown assistant provider: ${normalizedProviderId}.`);error.code=VIBE64_AGENT_PROVIDER_UNKNOWN_CODE;error.providerId=normalizedProviderId;throw error}function agentProviderParameter(provider={},parameterId=``){const normalizedParameterId=normalizeAgentSettingText(parameterId);return(Array.isArray(provider.parameters)?provider.parameters:[]).find(parameter=>parameter.id===normalizedParameterId)||null}function normalizeAgentSettingText(value=``){return String(value||``).trim()}function normalizeVibe64AgentSettings(value={}){const input=value&&typeof value===`object`&&!Array.isArray(value)?value:{};const provider=agentProviderDefinition(input.providerId||input.provider);const model=normalizeAgentSettingText(input.model);return{model,providerId:provider.id,thinking:normalizedAgentThinkingValue(provider,model,input.thinking)}}function defaultVibe64AgentSettings(providerId=VIBE64_DEFAULT_AGENT_PROVIDER_ID){return normalizeVibe64AgentSettings({providerId})}function effectiveAgentParameterValue(provider={},parameterId=``,value=``){const parameter=agentProviderParameter(provider,parameterId);return normalizeAgentSettingText(value)||normalizeAgentSettingText(parameter?.defaultValue)}function effectiveAgentParameterOption(provider={},parameterId=``,value=``){const parameter=agentProviderParameter(provider,parameterId);const effectiveValue=effectiveAgentParameterValue(provider,parameterId,value);return(Array.isArray(parameter?.options)?parameter.options:[]).find(option=>normalizeAgentSettingText(option.value)===effectiveValue)||null}function supportedAgentThinkingValues(provider={},model=``){const modelOption=effectiveAgentParameterOption(provider,VIBE64_AGENT_PARAMETER_IDS.MODEL,model);return Array.isArray(modelOption?.supportedThinking)?new Set(modelOption.supportedThinking.map(value=>normalizeAgentSettingText(value))):null}function normalizedAgentThinkingValue(provider={},model=``,value=``){const normalized=normalizeAgentSettingText(value);if(provider.id===VIBE64_AGENT_PROVIDER_IDS.CODEX)return normalized;const supported=supportedAgentThinkingValues(provider,model);if(!supported||!normalized||supported.has(normalized))return normalized;const fallback=normalizeAgentSettingText(agentProviderParameter(provider,VIBE64_AGENT_PARAMETER_IDS.THINKING)?.defaultValue);return supported.has(fallback)?fallback:``}function vibe64AssistantSelectionLabel(selection,{includeThinking=true}={}){const engine=VIBE64_AGENT_PROVIDERS.find(({id})=>id===selection.engineId)?.label||selection.engineId;if(!includeThinking)return`${engine} (${selection.modelId})`;const thinking=selection.variantId===``?`default`:selection.variantId||`not recorded`;return`${engine} (${selection.modelId} ${thinking})`}var VIBE64_AGENT_TASK_STATES=Object.freeze({COMPLETED:`completed`,RUNNING:`running`,STARTING:`starting`,STOPPED:`stopped`,STOPPING:`stopping`,WAITING:`waiting`});var VIBE64_AGENT_TASK_ACTIVE_STATES=new Set([VIBE64_AGENT_TASK_STATES.RUNNING,VIBE64_AGENT_TASK_STATES.STARTING,VIBE64_AGENT_TASK_STATES.STOPPING,VIBE64_AGENT_TASK_STATES.WAITING]);var VIBE64_AGENT_TASK_RESULT_KINDS=Object.freeze({COMPLETE:`complete`,CONTINUE:`continue`});var VIBE64_AGENT_TASK_RESULT_SCHEMA=Object.freeze({additionalProperties:false,properties:{kind:{enum:Object.values(VIBE64_AGENT_TASK_RESULT_KINDS),type:`string`},message:{description:`Normal Markdown shown to the user for this task turn.`,type:`string`},report:{description:`A concise factual handoff for the main conversation when the task is complete; otherwise an empty string.`,type:`string`}},required:[`kind`,`message`,`report`],type:`object`});var VIBE64_CONVERSATION_ATTACHMENT_MAX_ITEMS=10;var VIBE64_CONVERSATION_ATTACHMENT_FILE_NAME_MAX_CHARACTERS=160;var ATTACHMENT_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu;var IMAGE_TYPES=Object.freeze({avif:`image/avif`,bmp:`image/bmp`,gif:`image/gif`,jpeg:`image/jpeg`,jpg:`image/jpeg`,png:`image/png`,webp:`image/webp`});function conversationAttachmentContentType(fileName=``){const extension=String(fileName).split(`.`).at(-1).toLowerCase();return Object.hasOwn(IMAGE_TYPES,extension)?IMAGE_TYPES[extension]:`application/octet-stream`}function conversationAttachmentReference(attachment={},number=1){return`[${conversationAttachmentContentType(attachment.fileName).startsWith(`image/`)?`Image`:`File`} #${number}]`}function conversationAttachmentFileName(value=``){const normalized=Array.from(String(value??``),character=>{const codePoint=character.codePointAt(0);return codePoint<=31||codePoint===127?` `:character}).join(``).trim();return Array.from(normalized).slice(0,VIBE64_CONVERSATION_ATTACHMENT_FILE_NAME_MAX_CHARACTERS).join(``)}function normalizeVibe64ConversationAttachments(value=[]){return(Array.isArray(value)?value:[]).slice(0,VIBE64_CONVERSATION_ATTACHMENT_MAX_ITEMS).map(candidate=>{if(!candidate||typeof candidate!==`object`||Array.isArray(candidate)||typeof candidate.fileName!==`string`)return null;const fileName=conversationAttachmentFileName(candidate.fileName);if(!fileName)return null;return{...ATTACHMENT_ID_PATTERN.test(String(candidate.attachmentId||``))?{attachmentId:candidate.attachmentId}:{},.../^\[(?:Image|File) #[1-9][0-9]{0,3}\]$/u.test(candidate.reference||``)?{reference:candidate.reference}:{},fileName,...Number.isSafeInteger(candidate.size)&&candidate.size>=0?{size:candidate.size}:{}}}).filter(Boolean)}var VIBE64_PROMPT_HINT_LABEL_MAX_CHARACTERS=24;var VIBE64_PROMPT_HINT_PROMPT_MAX_CHARACTERS=108;function normalizedPromptHintDraft(value=``){return Array.from(String(value??``).replace(/\r\n?/gu,`
2
- `).trim()).slice(-4e3).join(``)}var VIBE64_PROMPT_HINT_OUTPUT_SCHEMA=Object.freeze({additionalProperties:false,properties:Object.freeze({suggestions:Object.freeze({items:Object.freeze({additionalProperties:false,properties:Object.freeze({label:Object.freeze({maxLength:24,minLength:1,type:`string`}),prompt:Object.freeze({maxLength:108,minLength:1,type:`string`})}),required:Object.freeze([`label`,`prompt`]),type:`object`}),maxItems:3,minItems:3,type:`array`})}),required:Object.freeze([`suggestions`]),type:`object`});var VIBE64_PROMPT_HINT_STATIC_STARTERS=Object.freeze({existingProject:Object.freeze([Object.freeze({label:`Tour this project`,prompt:`Give me a quick tour of this project`}),Object.freeze({label:`Find first improvement`,prompt:`What should I improve first?`}),Object.freeze({label:`Plan safe change`,prompt:`Help me plan a small safe change`})]),greenfield:Object.freeze([Object.freeze({label:`Shape app idea`,prompt:`Help me shape my app idea`}),Object.freeze({label:`Plan first version`,prompt:`Show me the simplest useful first version`}),Object.freeze({label:`Decide first steps`,prompt:`What should we decide first?`})])});function normalizedPromptHintSuggestion(suggestion={}){if(!suggestion||typeof suggestion!==`object`||Array.isArray(suggestion)||Object.keys(suggestion).length!==2||!Object.hasOwn(suggestion,`label`)||!Object.hasOwn(suggestion,`prompt`)||typeof suggestion.label!==`string`||typeof suggestion.prompt!==`string`||[suggestion.label,suggestion.prompt].some(text=>Array.from(text).some(character=>{const codePoint=character.codePointAt(0);return codePoint<=31||codePoint===127})))return null;const label=suggestion.label.trim().replace(/[\t ]+/gu,` `);const prompt=suggestion.prompt.trim().replace(/[\t ]+/gu,` `);const labelWordCount=label?label.split(/\s+/u).length:0;return label&&prompt&&Array.from(label).length<=24&&Array.from(prompt).length<=108&&labelWordCount>=2&&labelWordCount<=4?{label,prompt}:null}function normalizedPromptHintSuggestions(value=[]){if(!Array.isArray(value)||value.length!==3)return[];const suggestions=value.map(normalizedPromptHintSuggestion).filter(Boolean);return suggestions.length===3&&new Set(suggestions.map(({label})=>label.toLocaleLowerCase())).size===3&&new Set(suggestions.map(({prompt})=>prompt.toLocaleLowerCase())).size===3?suggestions:[]}export{curatedCodexProvider as _,conversationAttachmentReference as a,vibe64AssistantSelectionLabel as c,defaultVibe64AgentSettings as d,normalizeVibe64AgentSettings as f,CURATED_CODEX_PROVIDERS as g,vibe64AgentExecutionProfileAuditSnapshot as h,conversationAttachmentContentType as i,VIBE64_AGENT_PROVIDERS as l,VIBE64_AGENT_EXECUTION_WORKLOAD_IDS as m,normalizedPromptHintSuggestion as n,normalizeVibe64ConversationAttachments as o,VIBE64_ASSISTANT_ACCESS_ERROR_CODES as p,normalizedPromptHintSuggestions as r,VIBE64_AGENT_TASK_RESULT_SCHEMA as s,normalizedPromptHintDraft as t,VIBE64_DEFAULT_AGENT_PROVIDER_ID as u,VIBE64_ASSISTANT_ENGINE_IDS as v,defineVibe64AssistantSelection as y};
@@ -1 +0,0 @@
1
- import{l as vibe64ProjectQueryScope}from"./useRealtimeEvent-Bwapstla.js";import{i as studioApiPath}from"./studioUrls-DmMMIScP.js";var VIBE64_PROJECT_CREATE_API_SUFFIX=`/vibe64/projects`;var VIBE64_ENV_SECRET_REVEAL_API_SUFFIX=`/vibe64/env/reveal`;var VIBE64_DEVELOPMENT_DATABASE_API_SUFFIX=`/vibe64/settings/development-database`;var VIBE64_ENGINEERING_API_SUFFIX=`/vibe64/settings/engineering`;var VIBE64_COLLABORATION_API_SUFFIX=`/vibe64/settings/collaboration`;var VIBE64_PROMPT_HINTS_SETTINGS_API_SUFFIX=`/vibe64/settings/prompt-hints`;var VIBE64_ENV_USER_VALUES_API_SUFFIX=`/vibe64/env/user-values`;var VIBE64_PREVIEW_IDENTITIES_API_SUFFIX=`/vibe64/preview-identities`;var VIBE64_PROJECT_SELECT_API_SUFFIX=`/vibe64/projects/select`;var VIBE64_CONNECTIONS_CHANGED_EVENT=`vibe64.connections.changed`;var VIBE64_PROJECT_CHANGED_EVENT=`vibe64.project.changed`;var TARGET_PROJECT_ENDPOINT=studioApiPath(`studio/current-app`);var STUDIO_HEALTH_ENDPOINT=studioApiPath(`studio/health`);var VIBE64_ENDPOINT=studioApiPath(`vibe64`);var PROJECT_SELECTION_ENDPOINT=`${VIBE64_ENDPOINT}/projects`;var ENV_ENDPOINT=`${VIBE64_ENDPOINT}/env`;var ENV_SECRET_REVEAL_ENDPOINT=`${ENV_ENDPOINT}/reveal`;var PROJECT_SETTINGS_ENDPOINT=`${VIBE64_ENDPOINT}/settings`;var DEVELOPMENT_DATABASE_ENDPOINT=`${PROJECT_SETTINGS_ENDPOINT}/development-database`;var ENGINEERING_ENDPOINT=`${PROJECT_SETTINGS_ENDPOINT}/engineering`;var COLLABORATION_ENDPOINT=`${PROJECT_SETTINGS_ENDPOINT}/collaboration`;var PROMPT_HINTS_SETTINGS_ENDPOINT=`${PROJECT_SETTINGS_ENDPOINT}/prompt-hints`;var ENV_USER_VALUES_ENDPOINT=`${ENV_ENDPOINT}/user-values`;var PREVIEW_IDENTITIES_ENDPOINT=`${VIBE64_ENDPOINT}/preview-identities`;function projectSelectionQueryKey(surfaceId,ownershipFilter,projectSlug){return[`vibe64`,...vibe64ProjectQueryScope(projectSlug),surfaceId,ownershipFilter,`projects`]}function envQueryKey(surfaceId,ownershipFilter,projectSlug){return[`vibe64`,...vibe64ProjectQueryScope(projectSlug),surfaceId,ownershipFilter,`env`]}function projectSettingsQueryKey(surfaceId,ownershipFilter,projectSlug,sessionId=``){return[`vibe64`,...vibe64ProjectQueryScope(projectSlug),surfaceId,ownershipFilter,`settings`,String(sessionId||``).trim()||`selected-source`]}function engineeringSettingsQueryKey(surfaceId,ownershipFilter,projectSlug,sessionId=``){return[`vibe64`,...vibe64ProjectQueryScope(projectSlug),surfaceId,ownershipFilter,`engineering`,String(sessionId||``).trim()||`selected-source`]}function previewIdentitiesQueryKey(surfaceId,ownershipFilter,projectSlug){return[`vibe64`,...vibe64ProjectQueryScope(projectSlug),surfaceId,ownershipFilter,`preview-identities`]}function studioHealthQueryKey(surfaceId,ownershipFilter){return[`vibe64`,surfaceId,ownershipFilter,`studio-health`]}export{engineeringSettingsQueryKey as C,projectSettingsQueryKey as D,projectSelectionQueryKey as E,studioHealthQueryKey as O,VIBE64_PROMPT_HINTS_SETTINGS_API_SUFFIX as S,previewIdentitiesQueryKey as T,VIBE64_ENV_USER_VALUES_API_SUFFIX as _,ENV_SECRET_REVEAL_ENDPOINT as a,VIBE64_PROJECT_CREATE_API_SUFFIX as b,PROJECT_SELECTION_ENDPOINT as c,STUDIO_HEALTH_ENDPOINT as d,VIBE64_COLLABORATION_API_SUFFIX as f,VIBE64_ENV_SECRET_REVEAL_API_SUFFIX as g,VIBE64_ENGINEERING_API_SUFFIX as h,ENV_ENDPOINT as i,PROJECT_SETTINGS_ENDPOINT as l,VIBE64_DEVELOPMENT_DATABASE_API_SUFFIX as m,DEVELOPMENT_DATABASE_ENDPOINT as n,ENV_USER_VALUES_ENDPOINT as o,VIBE64_CONNECTIONS_CHANGED_EVENT as p,ENGINEERING_ENDPOINT as r,PREVIEW_IDENTITIES_ENDPOINT as s,COLLABORATION_ENDPOINT as t,PROMPT_HINTS_SETTINGS_ENDPOINT as u,VIBE64_PREVIEW_IDENTITIES_API_SUFFIX as v,envQueryKey as w,VIBE64_PROJECT_SELECT_API_SUFFIX as x,VIBE64_PROJECT_CHANGED_EVENT as y};
@@ -1 +0,0 @@
1
- import{t as resolveScopedApiBasePath}from"./surface-DY1u73tB.js";import{i as currentProjectSlugFromLocation}from"./useRealtimeEvent-Bwapstla.js";function studioApiPath(relativePath){return resolveScopedApiBasePath({routeBase:`/`,relativePath,strictParams:false})}function resolveStudioRequestUrl(url){return scopedDevelopmentApiUrl(url,currentProjectSlugFromLocation())}function scopedDevelopmentApiUrl(url,slug=currentProjectSlugFromLocation(),{scopeGlobalPaths=false}={}){const projectSlug=String(slug||``).trim();if(!projectSlug)return url;const source=String(url||``).trim();if(!source)return url;const absolute=/^[a-z][a-z0-9+.-]*:\/\//iu.test(source);const base=typeof window===`undefined`?`http://vibe64.local`:window.location.origin;const parsed=new URL(source,base);const pathname=scopedDevelopmentApiPathname(parsed.pathname,projectSlug,{scopeGlobalPaths});if(pathname===parsed.pathname)return url;parsed.pathname=pathname;return absolute?parsed.toString():`${parsed.pathname}${parsed.search}${parsed.hash}`}function scopedDevelopmentApiPathname(pathname=``,slug=``,{scopeGlobalPaths=false}={}){const normalizedPathname=String(pathname||``).trim();if(!slug||normalizedPathname.startsWith(`/api/app/`)||!scopeGlobalPaths&&isGlobalApiPathname(normalizedPathname)||!isDevelopmentApiPathname(normalizedPathname))return normalizedPathname;return`/api/app/${encodeURIComponent(slug)}${normalizedPathname.slice(4)}`}function isGlobalApiPathname(pathname=``){return pathname===`/api/studio/health`||pathname===`/api/studio/browser-lifecycle/ws`||pathname===`/api/vibe64/projects`||pathname.startsWith(`/api/vibe64/projects/`)||pathname===`/api/vibe64/colleague`||pathname.startsWith(`/api/vibe64/colleague/`)||pathname===`/api/vibe64/training`||pathname.startsWith(`/api/vibe64/training/`)||pathname===`/api/vibe64/voice`||pathname.startsWith(`/api/vibe64/voice/`)||pathname===`/api/vibe64/launcher`||pathname.startsWith(`/api/vibe64/launcher/`)||pathname===`/api/vibe64/github`||pathname.startsWith(`/api/vibe64/github/`)}function isDevelopmentApiPathname(pathname=``){return pathname===`/api/studio`||pathname.startsWith(`/api/studio/`)||pathname===`/api/vibe64`||pathname.startsWith(`/api/vibe64/`)}function resolveWebSocketUrl(pathname,browserWindow=window){const protocol=browserWindow.location.protocol===`https:`?`wss:`:`ws:`;const scopedPathname=scopedDevelopmentApiUrl(pathname,currentProjectSlugFromLocation());return`${protocol}//${browserWindow.location.host}${scopedPathname}`}export{studioApiPath as i,resolveWebSocketUrl as n,scopedDevelopmentApiUrl as r,resolveStudioRequestUrl as t};
@@ -1 +0,0 @@
1
- import{Ht as watch,g as computed,hn as proxyRefs}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{T as ROUTE_VISIBILITY_PUBLIC,t as useEndpointResource}from"./useEndpointResource-DWoQ2keu.js";import{g as useRoute}from"./useApi-BPuI6ZR9-CFWU1m37.js";import{o as projectAppPath}from"./useRealtimeEvent-Bwapstla.js";import{$n as mdiSourceBranch,Tt as mdiFileDocumentOutline,Vn as mdiRefresh,h as mdiArchiveOutline,tr as mdiSourceCommit,yt as mdiEyeOutline}from"./mdi-CG9pWOSj.js";import{t as usePaths}from"./usePaths-Db88-HOm.js";import{t as useVibe64ProjectSlug}from"./useVibe64ProjectScope-Bp1ImZlz.js";import{$ as vibe64SessionPath,E as VIBE64_SESSIONS_API_SUFFIX,it as vibe64SessionsQueryKey,rt as vibe64SessionQueryKey,w as VIBE64_ARCHIVED_SESSIONS_API_SUFFIX}from"./index-dNxr4Lg9.js";import{n as enrichVibe64SessionForDisplay}from"./vibe64SessionPanelModel-DDorOuiL.js";import{c as vibe64SessionStatusLabel,r as shortVibe64SessionId,s as vibe64SessionStatusColor}from"./vibe64SessionViewModel-DR4tOlGM.js";import{t as useVibe64ConversationLog}from"./useVibe64ConversationLog-BqUI0S5n.js";var archivedVibe64SessionsEmits=[`loading-changed`];var archivedAtFormatter=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`});var archivedVibe64SessionsProps={description:{default:``,type:String},emptyText:{default:``,type:String},emptyTitle:{default:`No sessions`,type:String},showRefresh:{default:true,type:Boolean},title:{default:``,type:String}};function useArchivedVibe64Sessions(emit){const paths=usePaths();const projectSlug=useVibe64ProjectSlug();const sessionsApiPath=computed(()=>paths.api(VIBE64_ARCHIVED_SESSIONS_API_SUFFIX,{surface:`app`}));const sessionListResource=useEndpointResource({fallbackLoadError:`Archived sessions could not be loaded.`,path:sessionsApiPath,queryKey:computed(()=>[...vibe64SessionsQueryKey(`app`,ROUTE_VISIBILITY_PUBLIC,projectSlug.value),`archived`]),requestRecoveryLabel:`Archived sessions`});const loading=computed(()=>Boolean(sessionListResource.isLoading.value));const error=computed(()=>String(sessionListResource.loadError.value||``));const sessions=computed(()=>{const payload=sessionListResource.data.value;return(Array.isArray(payload?.sessions)?payload.sessions:[]).map(enrichVibe64SessionForDisplay).filter(sessionIsInArchive)});watch(loading,isLoading=>{emit(`loading-changed`,isLoading)},{immediate:true});return{archiveIcon:mdiArchiveOutline,unavailableSessions:computed(()=>sessionListResource.data.value?.unavailableSessions||[]),error,loadSessions,loading,formatArchivedAt,mdiEyeOutline,mdiRefresh,mdiSourceBranch,sessionRoute,sessions,shortSessionId,statusColor,statusLabel};function sessionIsInArchive(session={}){return String(session.status||``)===`archived`}async function loadSessions(){await sessionListResource.reload()}function sessionRoute(session={}){return archivedSessionDetailRoute({projectSlug:projectSlug.value,sessionId:session.sessionId})}}function useArchivedVibe64SessionDetail(){const route=useRoute();const paths=usePaths();const projectSlug=useVibe64ProjectSlug(route);const sessionId=computed(()=>firstRouteParam(route.params.sessionId));const sessionsApiPath=computed(()=>paths.api(VIBE64_SESSIONS_API_SUFFIX,{surface:`app`}));const sessionPath=computed(()=>sessionId.value?vibe64SessionPath(sessionsApiPath.value,sessionId.value):``);const sessionResource=useEndpointResource({enabled:computed(()=>Boolean(sessionId.value)),fallbackLoadError:`Archived session could not be loaded.`,path:sessionPath,queryKey:computed(()=>[...vibe64SessionQueryKey(`app`,ROUTE_VISIBILITY_PUBLIC,projectSlug.value),`archive-detail`,sessionId.value]),readQuery:computed(()=>projectSlug.value?{projectSlug:projectSlug.value}:null),requestRecoveryLabel:`Archived session`});const session=computed(()=>{const payload=sessionResource.data.value;if(!payload||typeof payload!==`object`||Array.isArray(payload))return null;if(String(payload.sessionId||``).trim()!==sessionId.value)return null;const enrichedSession=enrichVibe64SessionForDisplay(payload);return String(enrichedSession.status||``)===`archived`?enrichedSession:null});return{backTo:computed(()=>({path:`${projectAppPath(projectSlug.value)}/dashboard/history`})),conversationLog:proxyRefs(useVibe64ConversationLog({active:computed(()=>Boolean(session.value)),session})),error:computed(()=>String(sessionResource.loadError.value||``)),loading:computed(()=>Boolean(sessionResource.isLoading.value||sessionResource.isInitialLoading?.value)),mdiRefresh,reload:sessionResource.reload,session,sessionId,sessionsApiPath,projectSlug}}function shortSessionId(sessionId){return shortVibe64SessionId(sessionId)}function statusLabel(status){return vibe64SessionStatusLabel(status)}function statusColor(status){return vibe64SessionStatusColor(status)}function formatArchivedAt(value=``){const date=new Date(String(value||``));return Number.isNaN(date.getTime())?`time unavailable`:archivedAtFormatter.format(date)}function archivedSessionDetailRoute({projectSlug=``,sessionId=``}={}){return{path:`${projectAppPath(projectSlug)}/dashboard/history/${encodeURIComponent(String(sessionId||``).trim())}`}}function firstRouteParam(value){return String(Array.isArray(value)?value[0]:value||``).trim()}function metadataValue(session={},name=``){return String(session.metadata?.[name]||``).trim()}function archiveFactRows(session={}){return[{icon:mdiSourceBranch,label:`Branch`,value:session.branch||metadataValue(session,`source_recovery_branch`)},{icon:mdiSourceCommit,label:`Head`,value:metadataValue(session,`source_recovery_head`)||metadataValue(session,`base_commit`)},{icon:mdiFileDocumentOutline,label:`Saved patch`,value:metadataValue(session,`source_recovery_patch_artifact`)||`No saved patch`},{icon:mdiFileDocumentOutline,label:`Untracked files`,value:metadataValue(session,`source_recovery_untracked_artifact`)||`No saved untracked archive`}].filter(row=>row.value)}export{useArchivedVibe64SessionDetail as a,shortSessionId as i,archivedVibe64SessionsEmits as n,useArchivedVibe64Sessions as o,archivedVibe64SessionsProps as r,archiveFactRows as t};
@@ -1 +0,0 @@
1
- import{Ht as watch,On as unref,g as computed,gn as reactive,hn as proxyRefs}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{n as useShellWebErrorRuntime}from"./error-Dug56can.js";import{J as useQueryClient,S as resolveTextRef,_ as resolvePermissionAccess,b as ROUTE_VISIBILITY_WORKSPACE,d as normalizeAccessMode,f as normalizeOwnershipFilter,g as resolveEnabled,h as resolveApiSuffix,l as asPlainObject,m as resolveAccessModeEnabled,p as normalizePermissions,r as useOperationRealtime,t as useEndpointResource,u as ensureAccessModeCompatibility,v as resolveQueryKey,x as resolveEnabledRef}from"./useEndpointResource-DWoQ2keu.js";import{a as normalizeSurfaceId,n as resolveScopedRouteBase}from"./surface-DY1u73tB.js";import{r as resolveSurfaceDefinitionFromPlacementContext,s as useWebPlacementContext}from"./placement-CwTqWLQH.js";import{C as hasPermission,D as validateSchemaPayload,M as resolveFieldErrors,p as getHttpWebClient,w as normalizePermissionList,y as createValidationFailure}from"./useRealtimeEvent-Bwapstla.js";import{d as normalizeText}from"./normalize-CO2KHj_d.js";import{r as useSurfaceRouteContext,t as usePaths}from"./usePaths-Db88-HOm.js";import{t as useUiFeedback}from"./useUiFeedback-BPBF_0bp.js";function validateOperationInput({input,rawPayload={},fieldBag=null,feedback=null,validationMessage=`Validation failed.`}={}){if(!input)return{ok:true,parsedInput:rawPayload};try{return{ok:true,parsedInput:validateSchemaPayload(input,rawPayload,{phase:`input`,context:`operation input`})}}catch(error){if(!error?.fieldErrors||typeof error.fieldErrors!==`object`)throw error;const failure=createValidationFailure({error:String(validationMessage||`Validation failed.`),code:`validation_failed`,fieldErrors:error?.fieldErrors});fieldBag?.apply?.(resolveFieldErrors(failure));feedback?.error?.(failure,failure.error);return{ok:false,failure,parsedInput:null}}}function useCommandCore({model,resource,writeMethod=`POST`,canRun,fieldBag,feedback,input,buildRawPayload,buildCommandPayload,buildCommandOptions,onRunSuccess,onRunError,suppressSuccessMessage=false,messages={}}={}){const queryClient=useQueryClient();const normalizedWriteMethod=String(writeMethod||`POST`).trim().toUpperCase();const running=resource?.isSaving;const fieldErrors=fieldBag?.errors;const message=feedback?.message;const messageType=feedback?.messageType;async function run(context={}){if(!canRun?.value||running?.value)return null;feedback?.clear?.();fieldBag?.clear?.();const rawPayload=typeof buildRawPayload===`function`?buildRawPayload(model,{queryClient,resource,context}):{};const validationResult=validateOperationInput({input,rawPayload,fieldBag,feedback,validationMessage:String(messages.validation||`Validation failed.`)});if(!validationResult.ok)return null;const{parsedInput}=validationResult;const payload=typeof buildCommandPayload===`function`?buildCommandPayload(parsedInput,{rawPayload,queryClient,resource,context}):normalizedWriteMethod===`DELETE`?void 0:parsedInput;const options=typeof buildCommandOptions===`function`?buildCommandOptions(parsedInput,{rawPayload,queryClient,resource,context}):{};try{const response=await resource.save(payload,options);if(typeof onRunSuccess===`function`)await onRunSuccess(response,{parsed:parsedInput,rawPayload,payload,options,queryClient,resource,context});if(!suppressSuccessMessage)feedback?.success?.(String(messages.success||`Completed.`));return response}catch(error){fieldBag?.apply?.(resolveFieldErrors(error));if(typeof onRunError===`function`)await onRunError(error,{parsed:parsedInput,rawPayload,payload,options,queryClient,resource,context});feedback?.error?.(error,String(messages.error||`Unable to complete action.`));throw error}}return Object.freeze({running,fieldErrors,message,messageType,run})}function asPermissionList(value){if(Array.isArray(value))return value;if(value===void 0||value===null||value===``)return[];return[value]}function useAccess({scopeParamValue=``,enabled=true,access=`always`,hasPermissionRequirements=false}={}){const normalizedAccessMode=normalizeAccessMode(access);const accessRequired=resolveAccessModeEnabled(normalizedAccessMode,{hasPermissionRequirements:hasPermissionRequirements===true});const{context:placementContext}=useWebPlacementContext();const normalizedScopeParamValue=computed(()=>resolveTextRef(scopeParamValue));const queryEnabled=computed(()=>resolveEnabledRef(enabled)&&accessRequired);const hasPlacementBootstrapPermissions=computed(()=>{const source=placementContext.value;if(!source||typeof source!==`object`)return false;return Object.hasOwn(source,`permissions`)});const placementPermissions=computed(()=>normalizePermissionList(placementContext.value?.permissions));const permissions=computed(()=>{if(!queryEnabled.value||!hasPlacementBootstrapPermissions.value)return[];return placementPermissions.value});const bootstrapError=computed(()=>{if(!queryEnabled.value||hasPlacementBootstrapPermissions.value)return``;return`Permissions are unavailable in placement context.`});const isBootstrapping=computed(()=>queryEnabled.value&&!hasPlacementBootstrapPermissions.value);function can(permission){return hasPermission(permissions.value,permission)}function canAny(requiredPermissions){const list=asPermissionList(requiredPermissions);if(list.length<1)return true;for(const entry of list)if(can(entry))return true;return false}function canAll(requiredPermissions){const list=asPermissionList(requiredPermissions);if(list.length<1)return true;for(const entry of list)if(!can(entry))return false;return true}async function refreshBootstrap(){return null}return Object.freeze({accessMode:normalizedAccessMode,accessRequired,scopeParamValue:normalizedScopeParamValue,permissions,bootstrapError,isBootstrapping,can,canAny,canAll,refreshBootstrap})}var ROUTE_PARAM_NAME_PATTERN=/^[A-Za-z][A-Za-z0-9_]*$/;function normalizeRouteParamName(value=``,{context=`http-web route param`}={}){const normalizedValue=String(value||``).trim();if(!normalizedValue)throw new TypeError(`${context} must be a non-empty route parameter name.`);if(!ROUTE_PARAM_NAME_PATTERN.test(normalizedValue))throw new TypeError(`${context} "${normalizedValue}" is invalid. Use letters, numbers, and underscores only.`);return normalizedValue}function toRouteParamValue(value){if(Array.isArray(value))return toRouteParamValue(value[0]);if(value==null)return``;return String(value).trim()}function resolveRouteSourceValue(source=null){if(typeof source===`function`)return source();return unref(source)}function resolveRouteParamsSource(source=null){return asPlainObject(resolveRouteSourceValue(source))}function normalizeRouteParamNameList(value=[]){return(Array.isArray(value)?value:[]).map(entry=>String(entry||``).trim()).filter(Boolean)}function resolveRouteParamNamesSource(source=[]){return normalizeRouteParamNameList(resolveRouteSourceValue(source))}function normalizeRoutePathname(value=``){const sanitizedPathname=String(value||``).trim().split(/[?#]/u,1)[0]||``;if(!sanitizedPathname)return`/`;return sanitizedPathname.startsWith(`/`)?sanitizedPathname:`/${sanitizedPathname}`}function resolveRoutePathnameSource(source=``){return normalizeRoutePathname(resolveRouteSourceValue(source))}function segmentMatchesParamValue(segment=``,paramValue=``){const normalizedSegment=String(segment||``).trim();const normalizedParamValue=toRouteParamValue(paramValue);if(!normalizedSegment||!normalizedParamValue)return false;if(normalizedSegment===encodeURIComponent(normalizedParamValue))return true;try{return decodeURIComponent(normalizedSegment)===normalizedParamValue}catch{return false}}function findRouteParamSegmentIndex(segments=[],paramValue=``,fromIndex=0){const source=Array.isArray(segments)?segments:[];const cursor=Number.isInteger(fromIndex)&&fromIndex>0?fromIndex:0;for(let index=cursor;index<source.length;index+=1)if(segmentMatchesParamValue(source[index],paramValue))return index;return-1}function normalizePathPrefix(segments=[],endIndex=-1){const source=Array.isArray(segments)?segments:[];if(!Number.isInteger(endIndex)||endIndex<0)return`/`;return`/${source.slice(0,endIndex+1).join(`/`)}`}function resolveAnchorEndIndex(segmentIndex=-1,totalSegments=0,anchorMode=`at`){const normalizedSegmentIndex=Number.isInteger(segmentIndex)?segmentIndex:-1;if(normalizedSegmentIndex<0)return-1;const normalizedTotalSegments=Number.isInteger(totalSegments)&&totalSegments>0?totalSegments:0;const normalizedMode=String(anchorMode||`at`).trim().toLowerCase();if(normalizedMode===`before`)return normalizedSegmentIndex-1;if(normalizedMode===`after`)return normalizedTotalSegments>0?Math.min(normalizedSegmentIndex+1,normalizedTotalSegments-1):normalizedSegmentIndex+1;return normalizedSegmentIndex}function resolveScopedRoutePathname({currentPathname=`/`,params={},orderedParamNames=[],anchorParamName=``,anchorParamValue=``,anchorMode=`at`}={}){const normalizedCurrentPathname=resolveRoutePathnameSource(currentPathname);const normalizedAnchorParamName=String(anchorParamName||``).trim();if(!normalizedAnchorParamName)return normalizedCurrentPathname;const sourceParams=asPlainObject(params);const segments=normalizedCurrentPathname.split(`/`).filter(Boolean);if(segments.length<1)return normalizedCurrentPathname;const paramNames=resolveRouteParamNamesSource(orderedParamNames);let cursor=0;for(const paramName of paramNames){const segmentIndex=findRouteParamSegmentIndex(segments,sourceParams[paramName],cursor);if(segmentIndex<0)continue;if(paramName===normalizedAnchorParamName)return normalizePathPrefix(segments,resolveAnchorEndIndex(segmentIndex,segments.length,anchorMode));cursor=segmentIndex+1}const fallbackAnchorValue=toRouteParamValue(anchorParamValue)||toRouteParamValue(sourceParams[normalizedAnchorParamName]);if(!fallbackAnchorValue)return normalizedCurrentPathname;const fallbackSegmentIndex=findRouteParamSegmentIndex(segments,fallbackAnchorValue,0);if(fallbackSegmentIndex<0)return normalizedCurrentPathname;return normalizePathPrefix(segments,resolveAnchorEndIndex(fallbackSegmentIndex,segments.length,anchorMode))}function resolveRouteTemplatePath(routeTemplate=``,params={}){const normalizedTemplate=String(routeTemplate||``).trim();if(!normalizedTemplate)return``;const source=asPlainObject(params);const missingParams=[];const resolvedPath=normalizedTemplate.replace(/:([A-Za-z][A-Za-z0-9_]*)/g,(_,key)=>{const value=toRouteParamValue(source[key]);if(!value){missingParams.push(key);return`:${key}`}return encodeURIComponent(value)});if(missingParams.length>0)return``;return resolvedPath}function resolveRouteTemplateLocation(routeTemplate=``,{params={},currentPathname=`/`}={}){const resolvedTemplatePath=resolveRouteTemplatePath(routeTemplate,params);if(!resolvedTemplatePath)return``;if(resolvedTemplatePath.startsWith(`/`))return resolvedTemplatePath;const normalizedCurrentPathname=resolveRoutePathnameSource(currentPathname);const basePathname=normalizedCurrentPathname.endsWith(`/`)?normalizedCurrentPathname:`${normalizedCurrentPathname}/`;const resolvedPathname=new URL(resolvedTemplatePath,`https://jskit.local${basePathname}`).pathname;if(resolvedPathname.length>1&&resolvedPathname.endsWith(`/`))return resolvedPathname.slice(0,-1);return resolvedPathname}function extractRouteParamNames(pathTemplate=``){const normalizedTemplate=String(pathTemplate||``).trim();if(!normalizedTemplate)return[];const names=[];const seen=new Set;const pattern=/:([A-Za-z][A-Za-z0-9_]*)/g;let match=null;while((match=pattern.exec(normalizedTemplate))!=null){const name=String(match[1]||``).trim();if(!name||seen.has(name))continue;seen.add(name);names.push(name)}return names}function resolveRouteParamNamesInOrder(route=null){const sourceRoute=route&&typeof route===`object`?route:{};const matched=Array.isArray(sourceRoute.matched)?sourceRoute.matched:[];const names=[];const seen=new Set;for(const entry of matched){const entryPath=String(entry?.path||``).trim();if(!entryPath)continue;for(const name of extractRouteParamNames(entryPath)){if(seen.has(name))continue;seen.add(name);names.push(name)}}if(names.length>0)return names;return Object.keys(asPlainObject(sourceRoute.params)).map(entry=>String(entry||``).trim()).filter(Boolean)}function resolveScopedRouteParamNames(placementContext=null,surfaceId=``){const routeBase=resolveSurfaceDefinitionFromPlacementContext(placementContext,surfaceId)?.routeBase||`/`;return extractRouteParamNames(resolveScopedRouteBase(routeBase))}function useScopeRuntime({ownershipFilter=ROUTE_VISIBILITY_WORKSPACE,surfaceId=``,accessMode=`auto`,hasPermissionRequirements=false,placementSource=`http-web.scope-runtime`}={}){const normalizedOwnershipFilter=normalizeOwnershipFilter(ownershipFilter);const normalizedAccessMode=ensureAccessModeCompatibility({accessMode,hasPermissionRequirements,caller:`useScopeRuntime`});const accessRequired=resolveAccessModeEnabled(normalizedAccessMode,{hasPermissionRequirements});const routeContext=useSurfaceRouteContext();const paths=usePaths({routeContext});const resolvedSurfaceId=computed(()=>{const explicitSurfaceId=normalizeSurfaceId(surfaceId);if(explicitSurfaceId)return explicitSurfaceId;return normalizeSurfaceId(routeContext.currentSurfaceId.value)});const scopedRouteParamNames=computed(()=>resolveScopedRouteParamNames(routeContext.placementContext.value,resolvedSurfaceId.value));const routeScopeParams=computed(()=>{const source=paths.routeParams.value;const next={};for(const paramName of scopedRouteParamNames.value){const paramValue=toRouteParamValue(source[paramName]);if(paramValue)next[paramName]=paramValue}return Object.freeze(next)});const missingScopedRouteParamNames=computed(()=>scopedRouteParamNames.value.filter(paramName=>!routeScopeParams.value[paramName]));const requiresScopedRouteParams=computed(()=>scopedRouteParamNames.value.length>0);const hasRequiredRouteScope=computed(()=>missingScopedRouteParamNames.value.length<1);const scopeParamValue=computed(()=>{const[primaryScopeParamName=``]=scopedRouteParamNames.value;return primaryScopeParamName?routeScopeParams.value[primaryScopeParamName]||``:``});const routeScopeError=computed(()=>{if(!requiresScopedRouteParams.value||hasRequiredRouteScope.value)return``;return`Route parameters ${missingScopedRouteParamNames.value.join(`, `)} are required for surface "${resolvedSurfaceId.value||`<unknown>`}".`});const accessRuntime=useAccess({scopeParamValue,enabled:computed(()=>accessRequired&&hasRequiredRouteScope.value),access:normalizedAccessMode,hasPermissionRequirements,placementSource:String(placementSource||`http-web.scope-runtime`)});function resolveApiPath(apiSuffix=``,context={}){if(routeScopeError.value)return``;const suffix=resolveApiSuffix(apiSuffix,{surfaceId:routeContext.currentSurfaceId.value,scopeParamValue:scopeParamValue.value,ownershipFilter:normalizedOwnershipFilter,...asPlainObject(context)});return paths.api(suffix,{surface:resolvedSurfaceId.value,params:routeScopeParams.value})}function requireRouteScope(caller=`useScopeRuntime`){if(routeScopeError.value)throw new Error(`${caller}: ${routeScopeError.value}`)}return Object.freeze({normalizedOwnershipFilter,requiresScopedRouteParams:requiresScopedRouteParams.value,resolvedSurfaceId,accessMode:normalizedAccessMode,accessRequired,routeContext,scopedRouteParamNames,routeScopeParams,scopeParamValue,hasRequiredRouteScope,routeScopeError,access:accessRuntime,resolveApiPath,requireRouteScope})}function normalizePermissionSets(permissionSets={}){const source=permissionSets&&typeof permissionSets===`object`&&!Array.isArray(permissionSets)?permissionSets:{};const normalized={};for(const[key,value]of Object.entries(source))normalized[key]=normalizePermissions(value);return normalized}function hasAnyPermissions(permissionSets={}){for(const list of Object.values(permissionSets))if(Array.isArray(list)&&list.length>0)return true;return false}function useOperationScope({ownershipFilter=ROUTE_VISIBILITY_WORKSPACE,surfaceId=``,access=`auto`,placementSource=`http-web.operation`,apiSuffix=``,model,readEnabled=true,queryKeyFactory=null,permissionSets={},realtime=null}={}){const normalizedPermissionSets=normalizePermissionSets(permissionSets);const scopeRuntime=useScopeRuntime({ownershipFilter,surfaceId,accessMode:access,hasPermissionRequirements:hasAnyPermissions(normalizedPermissionSets),placementSource});const normalizedOwnershipFilter=scopeRuntime.normalizedOwnershipFilter;const routeContext=scopeRuntime.routeContext;const scopeParamValue=scopeRuntime.scopeParamValue;const hasRequiredRouteScope=scopeRuntime.hasRequiredRouteScope;const accessRuntime=scopeRuntime.access;const apiPath=computed(()=>scopeRuntime.resolveApiPath(apiSuffix,{model}));const queryEnabled=computed(()=>resolveEnabled(readEnabled,{surfaceId:routeContext.currentSurfaceId.value,scopeParamValue:scopeParamValue.value,ownershipFilter:normalizedOwnershipFilter,model}));const queryKey=computed(()=>resolveQueryKey(queryKeyFactory,{surfaceId:routeContext.currentSurfaceId.value,scopeParamValue:scopeParamValue.value,ownershipFilter:normalizedOwnershipFilter}));const realtimeBinding=useOperationRealtime({realtime,queryKey:typeof queryKeyFactory===`function`?queryKey:null,enabled:computed(()=>hasRequiredRouteScope.value&&Boolean(apiPath.value))});function queryCanRun(accessGate=true){return computed(()=>queryEnabled.value&&hasRequiredRouteScope.value&&Boolean(apiPath.value)&&Boolean(unref(accessGate)))}function permissionGate(key=``){const list=normalizedPermissionSets[String(key||``)]||[];return computed(()=>resolvePermissionAccess(accessRuntime,list))}function loadError(baseError=``){return computed(()=>{if(scopeRuntime.routeScopeError.value)return scopeRuntime.routeScopeError.value;const bootstrapError=String(accessRuntime.bootstrapError.value||``).trim();if(bootstrapError)return bootstrapError;if(baseError===void 0||baseError===null||baseError===``)return``;return String(unref(baseError)||``).trim()})}function isLoading(baseLoading=false){return computed(()=>Boolean(unref(baseLoading))||accessRuntime.isBootstrapping.value)}return Object.freeze({scopeRuntime,routeContext,normalizedOwnershipFilter,scopeParamValue,hasRequiredRouteScope,access:accessRuntime,apiPath,queryEnabled,queryKey,queryCanRun,realtime:realtimeBinding,permissionGate,loadError,isLoading})}function normalizeKeys(keys){return Array.isArray(keys)?keys.map(entry=>String(entry||``).trim()).filter(Boolean):[]}function useFieldErrorBag(keys=[]){const normalizedKeys=normalizeKeys(keys);const hasFixedKeys=normalizedKeys.length>0;const errors=reactive(Object.fromEntries(normalizedKeys.map(key=>[key,``])));function clear(){const keysToClear=hasFixedKeys?normalizedKeys:Object.keys(errors);for(const key of keysToClear)errors[key]=``}function apply(source={}){const fieldErrorMap=source&&typeof source===`object`?source:{};if(hasFixedKeys){for(const key of normalizedKeys)errors[key]=String(fieldErrorMap[key]||``);return}clear();for(const[field,message]of Object.entries(fieldErrorMap)){const key=String(field||``).trim();if(!key)continue;errors[key]=String(message||``)}}function set(field,message){const key=String(field||``).trim();if(!key)return;if(hasFixedKeys&&!(key in errors))return;errors[key]=String(message||``)}return Object.freeze({errors,clear,apply,set})}function normalizeMessage(value){return String(value||``).trim()}function setupOperationErrorReporting({enabled=true,source=`http-web.operation`,loadError=null,notFoundError=null,loadActionFactory=null,notFoundActionFactory=null,loadChannel=``,notFoundChannel=``,loadSeverity=`error`,notFoundSeverity=`warning`,dedupeWindowMs=2e3}={}){if(!enabled)return;const runtime=useShellWebErrorRuntime();const normalizedSource=normalizeMessage(source)||`http-web.operation`;function watchMessage(value,{kind=`load`,channel=``,intent=`resource-load`,severity=`error`,actionFactory=null}={}){let lastMessage=``;let lastPresentationId=``;watch(()=>normalizeMessage(value?.value),nextMessage=>{if(!nextMessage){lastMessage=``;if(lastPresentationId){runtime.dismiss(lastPresentationId);lastPresentationId=``}return}if(nextMessage===lastMessage)return;lastMessage=nextMessage;const action=typeof actionFactory===`function`?actionFactory({message:nextMessage,kind}):null;const reportResult=runtime.report({source:normalizedSource,message:nextMessage,intent,severity,channel,action,dedupeKey:`${normalizedSource}:${kind}:${nextMessage}`,dedupeWindowMs});const nextPresentationId=String(reportResult?.presentationId||``).trim();if(nextPresentationId){if(lastPresentationId&&lastPresentationId!==nextPresentationId)runtime.dismiss(lastPresentationId);lastPresentationId=nextPresentationId}},{immediate:true})}if(loadError)watchMessage(loadError,{kind:`load`,channel:loadChannel,intent:`resource-load`,severity:loadSeverity,actionFactory:loadActionFactory});if(notFoundError)watchMessage(notFoundError,{kind:`not-found`,channel:notFoundChannel,intent:`resource-load`,severity:notFoundSeverity,actionFactory:notFoundActionFactory})}function setupRouteChangeCleanup({enabled=true,route=null,feedback=null,fieldBag=null,onClear=null}={}){if(!enabled)return;watch(()=>route?.fullPath,()=>{feedback?.clear?.();fieldBag?.clear?.();onClear?.()})}var CRUD_API_ACCESS_AUTHENTICATED=`authenticated`;var CRUD_API_ACCESS_PUBLIC=`public`;var CRUD_API_ACCESS_VALUES=Object.freeze([CRUD_API_ACCESS_AUTHENTICATED,CRUD_API_ACCESS_PUBLIC]);var publicCrudClients=new WeakSet;function normalizeCrudApiAccess(value=``){const normalized=normalizeText(value).toLowerCase()||`authenticated`;if(CRUD_API_ACCESS_VALUES.includes(normalized))return normalized;throw new TypeError(`CRUD resource apiAccess must be one of: ${CRUD_API_ACCESS_VALUES.join(`, `)}. Received: ${String(value||``)||`(empty)`}`)}function resolveCrudHttpClient(resource=null,{client=null}={}){const activeClient=client||getHttpWebClient();if(!activeClient||typeof activeClient.request!==`function`)throw new TypeError(`resolveCrudHttpClient requires a client with request().`);if(normalizeCrudApiAccess(resource?.apiAccess)!==`public`)return activeClient;if(publicCrudClients.has(activeClient))return activeClient;const publicClient=Object.freeze({request(url,options={}){const requestOptions=options&&typeof options===`object`&&!Array.isArray(options)?options:{};return activeClient.request(url,{...requestOptions,csrf:false})}});publicCrudClients.add(publicClient);return publicClient}function useCommand({ownershipFilter=ROUTE_VISIBILITY_WORKSPACE,surfaceId=``,access=`auto`,apiSuffix=``,runPermissions=[],writeMethod=`POST`,client=null,resource:commandResource=null,transport=null,placementSource=`http-web.command`,fallbackRunError=`Unable to complete action.`,fieldErrorKeys=[],clearOnRouteChange=true,model,input,buildRawPayload,buildCommandPayload,buildCommandOptions,onRunSuccess,onRunError,suppressSuccessMessage=false,messages={},realtime=null}={}){const operationScope=useOperationScope({ownershipFilter,surfaceId,access,placementSource,apiSuffix,model,readEnabled:false,permissionSets:{run:runPermissions},realtime});const routeContext=operationScope.routeContext;const canRun=operationScope.permissionGate(`run`);const endpointResource=useEndpointResource({path:operationScope.apiPath,enabled:false,client:resolveCrudHttpClient(commandResource,{client}),writeMethod,transport,fallbackSaveError:fallbackRunError});const feedback=useUiFeedback({source:`${placementSource}.feedback`});const fieldBag=useFieldErrorBag(fieldErrorKeys);const command=useCommandCore({model,resource:endpointResource,writeMethod,canRun,fieldBag,feedback,input,buildRawPayload,buildCommandPayload,buildCommandOptions,onRunSuccess,onRunError,suppressSuccessMessage:Boolean(suppressSuccessMessage),messages:{validation:`Fix invalid values and try again.`,success:`Completed.`,error:String(fallbackRunError||`Unable to complete action.`),...messages&&typeof messages===`object`?messages:{}}});setupRouteChangeCleanup({enabled:clearOnRouteChange,route:routeContext.route,feedback,fieldBag});const loadError=operationScope.loadError();const isLoading=operationScope.isLoading();setupOperationErrorReporting({source:`${placementSource}.load`,loadError});return proxyRefs({canRun,isLoading,loadError,isRunning:command.running,fieldErrors:command.fieldErrors,message:command.message,messageType:command.messageType,run:command.run,resource:endpointResource})}export{useOperationScope as a,resolveRouteParamsSource as c,toRouteParamValue as d,useAccess as f,useFieldErrorBag as i,resolveRouteTemplateLocation as l,setupOperationErrorReporting as n,normalizeRouteParamName as o,validateOperationInput as p,setupRouteChangeCleanup as r,resolveRouteParamNamesInOrder as s,useCommand as t,resolveScopedRoutePathname as u};