claude-mux 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/new-session.d.ts.map +1 -1
- package/dist/commands/new-session.js +4 -0
- package/dist/commands/new-session.js.map +1 -1
- package/dist/commands/service.d.ts.map +1 -1
- package/dist/commands/service.js +4 -0
- package/dist/commands/service.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +25 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/utils/version.d.ts +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/web/client/_app/immutable/assets/0.aDTyEi-A.css +1 -0
- package/{web/.svelte-kit/output/server/_app/immutable/assets/_page.C-mmGOc7.css → dist/web/client/_app/immutable/assets/3.DPTTcBMa.css} +1 -1
- package/{web/.svelte-kit/output/client/_app/immutable/chunks/B-uNUC1g.js → dist/web/client/_app/immutable/chunks/7ADimNmV.js} +2 -2
- package/dist/web/client/_app/immutable/chunks/ClrLAMfQ.js +1 -0
- package/dist/web/client/_app/immutable/chunks/D-kKo5iY.js +69 -0
- package/dist/web/client/_app/immutable/chunks/{C75YkvRA.js → DOiaEBZA.js} +1 -1
- package/dist/web/client/_app/immutable/chunks/{CrbnT13E.js → DbqekSDD.js} +1 -1
- package/dist/web/client/_app/immutable/chunks/{BMXiuv0v.js → DdHfbBhd.js} +1 -1
- package/dist/web/client/_app/immutable/chunks/DpEHOKRz.js +2 -0
- package/{web/.svelte-kit/output/client/_app/immutable/chunks/BcLVN_yA.js → dist/web/client/_app/immutable/chunks/Ek7c27UX.js} +1 -1
- package/dist/web/client/_app/immutable/entry/{app.BPxQgXOL.js → app.Ct0stpCt.js} +2 -2
- package/dist/web/client/_app/immutable/entry/start.mzobG36R.js +1 -0
- package/dist/web/client/_app/immutable/nodes/{0.CWdPHOZW.js → 0.8NCimN_g.js} +1 -1
- package/dist/web/client/_app/immutable/nodes/{1.CBrHLWCB.js → 1.D-blM8qy.js} +1 -1
- package/dist/web/client/_app/immutable/nodes/{2.Concd-Od.js → 2.DJGyUEUr.js} +1 -1
- package/dist/web/client/_app/immutable/nodes/3.CmJ4i3mu.js +101 -0
- package/dist/web/client/_app/version.json +1 -1
- package/dist/web/server/chunks/{0-DdxdcbPU.js → 0-Dlm7_QwE.js} +12 -12
- package/dist/web/server/chunks/{0-DdxdcbPU.js.map → 0-Dlm7_QwE.js.map} +1 -1
- package/dist/web/server/chunks/{1-CvSoa3QJ.js → 1-BhSGUlrY.js} +6 -6
- package/dist/web/server/chunks/{1-CvSoa3QJ.js.map → 1-BhSGUlrY.js.map} +1 -1
- package/dist/web/server/chunks/2-Ciwohpnz.js +20 -0
- package/dist/web/server/chunks/{2-BrM2VX61.js.map → 2-Ciwohpnz.js.map} +1 -1
- package/dist/web/server/chunks/3-4UHNTi9S.js +23 -0
- package/dist/web/server/chunks/3-4UHNTi9S.js.map +1 -0
- package/dist/web/server/chunks/{_layout.svelte-DQzPx1fa.js → _layout.svelte-BbuJ8UIk.js} +21 -7
- package/dist/web/server/chunks/_layout.svelte-BbuJ8UIk.js.map +1 -0
- package/dist/web/server/chunks/{_page.svelte-BlOLzyrl.js → _page.svelte-B5CMPqzH.js} +4 -4
- package/dist/web/server/chunks/{_page.svelte-BlOLzyrl.js.map → _page.svelte-B5CMPqzH.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-CrRQ-1IB.js → _server.ts-3uFl86jk.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-CrRQ-1IB.js.map → _server.ts-3uFl86jk.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-S3P3Wga8.js → _server.ts-B8NDaVEA.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-S3P3Wga8.js.map → _server.ts-B8NDaVEA.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-CJ0nhTTh.js → _server.ts-BGtAdYen.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-CJ0nhTTh.js.map → _server.ts-BGtAdYen.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-C0ur_l7h.js → _server.ts-BPbH7LJV.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-C0ur_l7h.js.map → _server.ts-BPbH7LJV.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-CgG8pj06.js → _server.ts-BUOlFdaJ.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-CgG8pj06.js.map → _server.ts-BUOlFdaJ.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-BYBeCdq2.js → _server.ts-BsGtMuMO.js} +3 -3
- package/dist/web/server/chunks/{_server.ts-BYBeCdq2.js.map → _server.ts-BsGtMuMO.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-DQhRNIQX.js → _server.ts-C1S5J1JW.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-DQhRNIQX.js.map → _server.ts-C1S5J1JW.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-UE7vj5nG.js → _server.ts-C3Xb7hw7.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-UE7vj5nG.js.map → _server.ts-C3Xb7hw7.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-Bm14TVxq.js → _server.ts-C8flg7gn.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-Bm14TVxq.js.map → _server.ts-C8flg7gn.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-12NE7UeG.js → _server.ts-CQg_PKuW.js} +3 -3
- package/dist/web/server/chunks/{_server.ts-12NE7UeG.js.map → _server.ts-CQg_PKuW.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-mGAUzFSv.js → _server.ts-CfHxUttU.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-mGAUzFSv.js.map → _server.ts-CfHxUttU.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-BXt5Kowc.js → _server.ts-Cjfk0Yzh.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-BXt5Kowc.js.map → _server.ts-Cjfk0Yzh.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-BOo-YmUp.js → _server.ts-D-Qq_95j.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-BOo-YmUp.js.map → _server.ts-D-Qq_95j.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-BFLtnMcp.js → _server.ts-DEnt7lqN.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-BFLtnMcp.js.map → _server.ts-DEnt7lqN.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-qEqBc4dH.js → _server.ts-DaYCm_Wf.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-qEqBc4dH.js.map → _server.ts-DaYCm_Wf.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-DJhqVvwC.js → _server.ts-Dz7FGOq7.js} +3 -3
- package/dist/web/server/chunks/{_server.ts-DJhqVvwC.js.map → _server.ts-Dz7FGOq7.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-BDmSWnC6.js → _server.ts-RAo3umhR.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-BDmSWnC6.js.map → _server.ts-RAo3umhR.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-CzgDUjKe.js → _server.ts-TnlTbrO5.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-CzgDUjKe.js.map → _server.ts-TnlTbrO5.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-D8hEf52k.js → _server.ts-_3z0l88z.js} +2 -2
- package/dist/web/server/chunks/{_server.ts-D8hEf52k.js.map → _server.ts-_3z0l88z.js.map} +1 -1
- package/dist/web/server/chunks/{_server.ts-DtVo0TCf.js → _server.ts-kYTTGLST.js} +3 -3
- package/dist/web/server/chunks/{_server.ts-DtVo0TCf.js.map → _server.ts-kYTTGLST.js.map} +1 -1
- package/dist/web/server/chunks/{button-DG6I4Dia.js → button-BuEaW0rr.js} +2 -2
- package/dist/web/server/chunks/{button-DG6I4Dia.js.map → button-BuEaW0rr.js.map} +1 -1
- package/dist/web/server/chunks/{error.svelte-r19Dfgak.js → error.svelte-CXQ9gCXB.js} +3 -3
- package/dist/web/server/chunks/{error.svelte-r19Dfgak.js.map → error.svelte-CXQ9gCXB.js.map} +1 -1
- package/dist/web/server/chunks/{exports-BqJxdkkd.js → exports-BXZSJVru.js} +4 -4
- package/dist/web/server/chunks/{exports-BqJxdkkd.js.map → exports-BXZSJVru.js.map} +1 -1
- package/dist/web/server/chunks/{exports-zB_G8R4F.js → exports-CgjAZLna.js} +62 -50
- package/dist/web/server/chunks/exports-CgjAZLna.js.map +1 -0
- package/dist/web/server/chunks/{hooks.server-IAZrpw3O.js → hooks.server-BAo0gocv.js} +4 -4
- package/dist/web/server/chunks/{hooks.server-IAZrpw3O.js.map → hooks.server-BAo0gocv.js.map} +1 -1
- package/dist/web/server/chunks/{state.svelte-Bb67lT4B.js → state.svelte---tAYL1H.js} +2 -2
- package/dist/web/server/chunks/{state.svelte-Bb67lT4B.js.map → state.svelte---tAYL1H.js.map} +1 -1
- package/dist/web/server/chunks/{ws-handlers-KQ7tQLV2.js → ws-handlers-W0LYrYVz.js} +2 -2
- package/dist/web/server/chunks/{ws-handlers-KQ7tQLV2.js.map → ws-handlers-W0LYrYVz.js.map} +1 -1
- package/dist/web/server/chunks/{ws-managers-Bk8Kzixf.js → ws-managers-KqavlLIH.js} +2 -2
- package/dist/web/server/chunks/{ws-managers-Bk8Kzixf.js.map → ws-managers-KqavlLIH.js.map} +1 -1
- package/dist/web/server/index.js +4 -4
- package/dist/web/server/index.js.map +1 -1
- package/dist/web/server/manifest.js +34 -34
- package/dist/web/server/manifest.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/new-session.ts +5 -1
- package/src/commands/service.ts +4 -0
- package/src/commands/update.ts +25 -1
- package/src/utils/version.ts +1 -1
- package/web/.svelte-kit/adapter-bun/.vite/manifest.json +8 -8
- package/web/.svelte-kit/adapter-bun/_app/immutable/assets/_layout.BJW2cBhn.css +1 -0
- package/{dist/web/client/_app/immutable/assets/3.C-mmGOc7.css → web/.svelte-kit/adapter-bun/_app/immutable/assets/_page.DPTTcBMa.css} +1 -1
- package/web/.svelte-kit/adapter-bun/chunks/internal2.js +1 -1
- package/web/.svelte-kit/adapter-bun/chunks/popover-trigger.js +15 -2
- package/web/.svelte-kit/adapter-bun/chunks/root.js +58 -48
- package/web/.svelte-kit/adapter-bun/chunks/uneval.js +12 -4
- package/web/.svelte-kit/adapter-bun/entries/pages/_layout.svelte.js +3 -0
- package/web/.svelte-kit/adapter-bun/entries/pages/session/_target_/_page.svelte.js +151 -36
- package/web/.svelte-kit/adapter-bun/manifest-full.js +1 -1
- package/web/.svelte-kit/adapter-bun/manifest.js +1 -1
- package/web/.svelte-kit/adapter-bun/nodes/0.js +2 -2
- package/web/.svelte-kit/adapter-bun/nodes/1.js +1 -1
- package/web/.svelte-kit/adapter-bun/nodes/2.js +1 -1
- package/web/.svelte-kit/adapter-bun/nodes/3.js +2 -2
- package/web/.svelte-kit/generated/client/nodes/1.js +1 -1
- package/web/.svelte-kit/generated/client-optimized/nodes/1.js +1 -1
- package/web/.svelte-kit/generated/server/internal.js +2 -2
- package/web/.svelte-kit/output/client/.vite/manifest.json +80 -80
- package/web/.svelte-kit/output/client/_app/immutable/assets/0.aDTyEi-A.css +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/assets/{3.C-mmGOc7.css → 3.DPTTcBMa.css} +1 -1
- package/{dist/web/client/_app/immutable/chunks/B-uNUC1g.js → web/.svelte-kit/output/client/_app/immutable/chunks/7ADimNmV.js} +2 -2
- package/web/.svelte-kit/output/client/_app/immutable/chunks/ClrLAMfQ.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/D-kKo5iY.js +69 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/{C75YkvRA.js → DOiaEBZA.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/{CrbnT13E.js → DbqekSDD.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/{BMXiuv0v.js → DdHfbBhd.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DpEHOKRz.js +2 -0
- package/{dist/web/client/_app/immutable/chunks/BcLVN_yA.js → web/.svelte-kit/output/client/_app/immutable/chunks/Ek7c27UX.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/entry/{app.BPxQgXOL.js → app.Ct0stpCt.js} +2 -2
- package/web/.svelte-kit/output/client/_app/immutable/entry/start.mzobG36R.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/{0.CWdPHOZW.js → 0.8NCimN_g.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.CBrHLWCB.js → 1.D-blM8qy.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.Concd-Od.js → 2.DJGyUEUr.js} +1 -1
- package/web/.svelte-kit/output/client/_app/immutable/nodes/3.CmJ4i3mu.js +101 -0
- package/web/.svelte-kit/output/client/_app/version.json +1 -1
- package/web/.svelte-kit/output/server/.vite/manifest.json +8 -8
- package/web/.svelte-kit/output/server/_app/immutable/assets/_layout.BJW2cBhn.css +1 -0
- package/web/.svelte-kit/{adapter-bun/_app/immutable/assets/_page.C-mmGOc7.css → output/server/_app/immutable/assets/_page.DPTTcBMa.css} +1 -1
- package/web/.svelte-kit/output/server/chunks/internal2.js +1 -1
- package/web/.svelte-kit/output/server/chunks/popover-trigger.js +15 -2
- package/web/.svelte-kit/output/server/chunks/root.js +58 -48
- package/web/.svelte-kit/output/server/chunks/uneval.js +12 -4
- package/web/.svelte-kit/output/server/entries/pages/_layout.svelte.js +3 -0
- package/web/.svelte-kit/output/server/entries/pages/session/_target_/_page.svelte.js +151 -36
- package/web/.svelte-kit/output/server/manifest-full.js +1 -1
- package/web/.svelte-kit/output/server/manifest.js +1 -1
- package/web/.svelte-kit/output/server/nodes/0.js +2 -2
- package/web/.svelte-kit/output/server/nodes/1.js +1 -1
- package/web/.svelte-kit/output/server/nodes/2.js +1 -1
- package/web/.svelte-kit/output/server/nodes/3.js +2 -2
- package/web/src/lib/components/CommandList.svelte +214 -0
- package/web/src/lib/components/CommandPalette.svelte +7 -171
- package/web/src/routes/session/[target]/+page.svelte +130 -4
- package/dist/web/client/_app/immutable/assets/0.BHMH03xN.css +0 -1
- package/dist/web/client/_app/immutable/chunks/BC4YnY_W.js +0 -1
- package/dist/web/client/_app/immutable/chunks/DuapVKBU.js +0 -2
- package/dist/web/client/_app/immutable/chunks/jsJxHQ3D.js +0 -69
- package/dist/web/client/_app/immutable/entry/start.CFsMAOx8.js +0 -1
- package/dist/web/client/_app/immutable/nodes/3.Bxw2z5gl.js +0 -101
- package/dist/web/server/chunks/2-BrM2VX61.js +0 -20
- package/dist/web/server/chunks/3-DPGMF1DL.js +0 -23
- package/dist/web/server/chunks/3-DPGMF1DL.js.map +0 -1
- package/dist/web/server/chunks/_layout.svelte-DQzPx1fa.js.map +0 -1
- package/dist/web/server/chunks/exports-zB_G8R4F.js.map +0 -1
- package/web/.svelte-kit/adapter-bun/_app/immutable/assets/_layout.C_Esdb-g.css +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/assets/0.BHMH03xN.css +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/BC4YnY_W.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DuapVKBU.js +0 -2
- package/web/.svelte-kit/output/client/_app/immutable/chunks/jsJxHQ3D.js +0 -69
- package/web/.svelte-kit/output/client/_app/immutable/entry/start.CFsMAOx8.js +0 -1
- package/web/.svelte-kit/output/client/_app/immutable/nodes/3.Bxw2z5gl.js +0 -101
- package/web/.svelte-kit/output/server/_app/immutable/assets/_layout.C_Esdb-g.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-session.d.ts","sourceRoot":"","sources":["../../src/commands/new-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,wBAAgB,uBAAuB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"new-session.d.ts","sourceRoot":"","sources":["../../src/commands/new-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,wBAAgB,uBAAuB,IAAI,OAAO,CAwFjD"}
|
|
@@ -33,6 +33,7 @@ export function createNewSessionCommand() {
|
|
|
33
33
|
.option("--name <name>", "Custom session name (default: <project>-<timestamp>)")
|
|
34
34
|
.option("--no-skip-permissions", "Don't add --dangerously-skip-permissions")
|
|
35
35
|
.option("--linked-to <target>", "Link to an existing session (ID or tmux target)")
|
|
36
|
+
.option("--resume <sessionId>", "Resume an existing Claude Code session (passes --resume to claude)")
|
|
36
37
|
.action((options) => {
|
|
37
38
|
const cwd = options.cwd;
|
|
38
39
|
if (!existsSync(cwd)) {
|
|
@@ -49,6 +50,9 @@ export function createNewSessionCommand() {
|
|
|
49
50
|
if (options.skipPermissions) {
|
|
50
51
|
claudeArgs.push("--dangerously-skip-permissions");
|
|
51
52
|
}
|
|
53
|
+
if (options.resume) {
|
|
54
|
+
claudeArgs.push("--resume", options.resume);
|
|
55
|
+
}
|
|
52
56
|
try {
|
|
53
57
|
// Pre-trust the workspace so Claude skips the trust dialog
|
|
54
58
|
ensureWorkspaceTrusted(cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-session.js","sourceRoot":"","sources":["../../src/commands/new-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,yFAAyF;AACzF,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC,cAAc,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACjD,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;SAC9B,WAAW,CAAC,4DAA4D,CAAC;SACzE,cAAc,CAAC,cAAc,EAAE,uCAAuC,CAAC;SACvE,MAAM,CAAC,eAAe,EAAE,sDAAsD,CAAC;SAC/E,MAAM,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;SAC3E,MAAM,CAAC,sBAAsB,EAAE,iDAAiD,CAAC;SACjF,MAAM,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"new-session.js","sourceRoot":"","sources":["../../src/commands/new-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6KpC,wBAAgB,oBAAoB,IAAI,OAAO,CAgC9C"}
|
package/dist/commands/service.js
CHANGED
|
@@ -66,6 +66,10 @@ EnvironmentFile=-%h/.config/claude-mux/env
|
|
|
66
66
|
ExecStart=${claudeMuxBin} serve --port ${port} --host ${host}
|
|
67
67
|
Restart=on-failure
|
|
68
68
|
RestartSec=3
|
|
69
|
+
# tmux sessions started from the dashboard (New Session) spawn the tmux server
|
|
70
|
+
# as a child of this service. Only kill the server process on stop/restart, so
|
|
71
|
+
# \`claude-mux update\` / \`systemctl restart\` never take the Claude sessions down.
|
|
72
|
+
KillMode=process
|
|
69
73
|
StandardOutput=journal
|
|
70
74
|
StandardError=journal
|
|
71
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACpE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAEpD,SAAS,KAAK,CAAC,GAAW;IACxB,yEAAyE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,gDAAgD;IAChD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE;gBACnF,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,wEAAwE;IACxE,4EAA4E;IAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE7C,OAAO;;;;;;;mBAOU,SAAS;;;YAGhB,YAAY,iBAAiB,IAAI,WAAW,IAAI;;;;;;;;;;;;CAY3D,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CAAC,GAAG,IAAc;IACtC,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,MAAM,GAAG,GAAG,QAAQ,CAAC,sBAAsB,IAAI,wCAAwC,EAAE;YACvF,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,KAAK,KAAK,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,UAAU,CAAC,IAAoB;IAC5C,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;IAEtC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;IAElC,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,aAAa,CAAC,GAAG,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAElE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAMD,KAAK,UAAU,YAAY,CAAC,IAAsB;IAChD,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;YACpC,aAAa,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,uBAAuB,SAAS,2BAA2B,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,yBAAyB,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAE9F,GAAG;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;SACrE,MAAM,CAAC,kBAAkB,EAAE,aAAa,EAAE,WAAW,CAAC;SACtD,MAAM,CAAC,YAAY,EAAE,sCAAsC,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,IAAoB,EAAE,EAAE;QACrC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,IAAsB,EAAE,EAAE;QACvC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,SAAS,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqIpC,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDlE;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAS7C"}
|
package/dist/commands/update.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { execSync, spawnSync } from "child_process";
|
|
3
3
|
import { setTimeout as delay } from "timers/promises";
|
|
4
|
-
import { existsSync } from "fs";
|
|
4
|
+
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
6
6
|
import { homedir } from "os";
|
|
7
7
|
import { VERSION } from "../utils/version.js";
|
|
@@ -43,6 +43,29 @@ function isSystemdManaged() {
|
|
|
43
43
|
});
|
|
44
44
|
return r.status === 0;
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Older unit files lack KillMode=process, so stopping the service also killed
|
|
48
|
+
* the tmux server (and every Claude session) spawned from the dashboard.
|
|
49
|
+
* Patch the unit in place and daemon-reload BEFORE we stop it.
|
|
50
|
+
*/
|
|
51
|
+
function ensureUnitKillMode() {
|
|
52
|
+
if (!existsSync(UNIT_PATH))
|
|
53
|
+
return;
|
|
54
|
+
try {
|
|
55
|
+
const unit = readFileSync(UNIT_PATH, "utf-8");
|
|
56
|
+
if (/^KillMode=/m.test(unit))
|
|
57
|
+
return;
|
|
58
|
+
const patched = unit.replace(/^(RestartSec=.*)$/m, "$1\n# Only kill the server on stop/restart; tmux sessions started from the dashboard live on.\nKillMode=process");
|
|
59
|
+
if (patched === unit)
|
|
60
|
+
return;
|
|
61
|
+
writeFileSync(UNIT_PATH, patched, "utf-8");
|
|
62
|
+
console.log("Patched systemd unit: KillMode=process (keeps tmux sessions alive across restarts)");
|
|
63
|
+
systemctlUser("daemon-reload");
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
console.warn(`Could not patch unit file: ${String(err)}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
46
69
|
function systemctlUser(...args) {
|
|
47
70
|
ensureXdgRuntime();
|
|
48
71
|
const r = spawnSync("systemctl", ["--user", ...args], { stdio: "inherit" });
|
|
@@ -121,6 +144,7 @@ export async function runUpdate(opts) {
|
|
|
121
144
|
const systemdActive = !skipRestart && isSystemdManaged();
|
|
122
145
|
const nohupPid = !skipRestart && !systemdActive ? findProdPid() : null;
|
|
123
146
|
if (systemdActive) {
|
|
147
|
+
ensureUnitKillMode();
|
|
124
148
|
console.log(`Stopping ${SYSTEMD_UNIT} (systemd)...`);
|
|
125
149
|
systemctlUser("stop", SYSTEMD_UNIT);
|
|
126
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/version.d.ts
CHANGED
package/dist/utils/version.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-900:oklch(37.8% .077 168.94);--color-sky-400:oklch(74.6% .16 232.661);--color-fuchsia-400:oklch(74% .238 322.16);--color-stone-100:oklch(97% .001 106.424);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}html{height:100%}body{overscroll-behavior:none;background-color:var(--background);min-height:100%;color:var(--foreground)}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.end-4{inset-inline-end:calc(var(--spacing) * 4)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.left-\[50\%\]{left:50%}.z-50{z-index:50}.z-\[70\]{z-index:70}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-64{height:calc(var(--spacing) * 64)}.h-\[85dvh\]{height:85dvh}.h-auto{height:auto}.h-full{height:100%}.max-h-\[85dvh\]{max-height:85dvh}.min-h-0{min-height:0}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[40px\]{min-height:40px}.min-h-\[48px\]{min-height:48px}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-72{width:calc(var(--spacing) * 72)}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[280px\]{max-width:280px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-14{min-width:calc(var(--spacing) * 14)}.min-w-\[52px\]{min-width:52px}.min-w-\[140px\]{min-width:140px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--bits-popover-content-transform-origin\){transform-origin:var(--bits-popover-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#333\]{border-color:#333}.border-\[\#262626\]{border-color:#262626}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-s-transparent{border-inline-start-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#1a1a1a\]{background-color:#1a1a1a}.bg-\[\#2a2a2a\]{background-color:#2a2a2a}.bg-\[\#222\]{background-color:#222}.bg-amber-700{background-color:var(--color-amber-700)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-900{background-color:var(--color-emerald-900)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-900{background-color:var(--color-red-900)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-px{padding:1px}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-amber-100{color:var(--color-amber-100)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--foreground)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sky-400{color:var(--color-sky-400)}.text-stone-100{color:var(--color-stone-100)}.text-stone-400{color:var(--color-stone-400)}.text-stone-500{color:var(--color-stone-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-ring\/10{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.ring-ring\/10{--tw-ring-color:color-mix(in oklab, var(--ring) 10%, transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-ring\/50{outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.outline-ring\/50{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.placeholder\:text-stone-500::placeholder{color:var(--color-stone-500)}@media(hover:hover){.hover\:bg-\[\#222\]:hover{background-color:#222}.hover\:bg-\[\#333\]:hover{background-color:#333}.hover\:bg-\[\#262626\]:hover{background-color:#262626}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-emerald-500:hover{background-color:var(--color-emerald-500)}.hover\:bg-emerald-900:hover{background-color:var(--color-emerald-900)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-red-800:hover{background-color:var(--color-red-800)}.hover\:bg-red-950\/40:hover{background-color:#46080966}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-950\/40:hover{background-color:color-mix(in oklab,var(--color-red-950) 40%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-stone-100:hover{color:var(--color-stone-100)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.active\:bg-emerald-700:active{background-color:var(--color-emerald-700)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-end-2[data-side=left]:where(:dir(ltr),[dir=ltr]){--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:slide-in-from-end-2[data-side=left]:where(:dir(rtl),[dir=rtl]),.data-\[side\=right\]\:slide-in-from-start-2[data-side=right]:where(:dir(ltr),[dir=ltr]){--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=right\]\:slide-in-from-start-2[data-side=right]:where(:dir(rtl),[dir=rtl]){--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-start{text-align:start}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-destructive\/70:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/70:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 70%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:ring-ring\/20:is(.dark *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.dark\:ring-ring\/20:is(.dark *){--tw-ring-color:color-mix(in oklab, var(--ring) 20%, transparent)}}.dark\:outline-ring\/40:is(.dark *){outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.dark\:outline-ring\/40:is(.dark *){outline-color:color-mix(in oklab,var(--ring) 40%,transparent)}}@media(hover:hover){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-\[18px\] svg{width:18px;height:18px}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.7% .004 49.25);--card:oklch(100% 0 0);--card-foreground:oklch(14.7% .004 49.25);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.7% .004 49.25);--primary:oklch(21.6% .006 56.043);--primary-foreground:oklch(98.5% .001 106.423);--secondary:oklch(97% .001 106.424);--secondary-foreground:oklch(21.6% .006 56.043);--muted:oklch(97% .001 106.424);--muted-foreground:oklch(55.3% .013 58.071);--accent:oklch(97% .001 106.424);--accent-foreground:oklch(21.6% .006 56.043);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.3% .003 48.717);--input:oklch(92.3% .003 48.717);--ring:oklch(70.9% .01 56.259);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% .001 106.423);--sidebar-foreground:oklch(14.7% .004 49.25);--sidebar-primary:oklch(21.6% .006 56.043);--sidebar-primary-foreground:oklch(98.5% .001 106.423);--sidebar-accent:oklch(97% .001 106.424);--sidebar-accent-foreground:oklch(21.6% .006 56.043);--sidebar-border:oklch(92.3% .003 48.717);--sidebar-ring:oklch(70.9% .01 56.259)}.dark{--background:oklch(14.7% .004 49.25);--foreground:oklch(98.5% .001 106.423);--card:oklch(21.6% .006 56.043);--card-foreground:oklch(98.5% .001 106.423);--popover:oklch(21.6% .006 56.043);--popover-foreground:oklch(98.5% .001 106.423);--primary:oklch(92.3% .003 48.717);--primary-foreground:oklch(21.6% .006 56.043);--secondary:oklch(26.8% .007 34.298);--secondary-foreground:oklch(98.5% .001 106.423);--muted:oklch(26.8% .007 34.298);--muted-foreground:oklch(70.9% .01 56.259);--accent:oklch(26.8% .007 34.298);--accent-foreground:oklch(98.5% .001 106.423);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.3% .013 58.071);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(21.6% .006 56.043);--sidebar-foreground:oklch(98.5% .001 106.423);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% .001 106.423);--sidebar-accent:oklch(26.8% .007 34.298);--sidebar-accent-foreground:oklch(98.5% .001 106.423);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.3% .013 58.071)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.accordion.svelte-18mom4e{border-top:1px solid hsl(var(--border) / .5)}.accordion-header.svelte-18mom4e{display:flex;align-items:center;gap:6px;width:100%;padding:5px 10px;border:none;background:hsl(var(--muted) / .3);color:hsl(var(--muted-foreground));font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;text-align:left;text-transform:uppercase;letter-spacing:.03em}.accordion-header.svelte-18mom4e:hover{background:hsl(var(--muted) / .6);color:hsl(var(--foreground))}.accordion.expanded.svelte-18mom4e .accordion-header:where(.svelte-18mom4e){color:hsl(var(--foreground))}.header-icon.svelte-18mom4e{font-size:13px;opacity:.7}.count.svelte-18mom4e{margin-left:auto;font-size:10px;font-weight:600;color:hsl(var(--muted-foreground));min-width:14px;text-align:center}.accordion-title.svelte-18mom4e{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron.svelte-18mom4e{font-size:14px;opacity:.5}.accordion-content.svelte-18mom4e{padding:6px 10px 8px 14px;border-left:2px solid hsl(var(--border) / .3);margin-left:10px}.screenshots-grid.svelte-i8iwb7{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.screenshot-item.svelte-i8iwb7{position:relative;aspect-ratio:16 / 10;border-radius:4px;overflow:hidden;background:hsl(var(--muted))}.thumbnail.svelte-i8iwb7{display:block;width:100%;height:100%;padding:0;border:none;background:transparent;cursor:pointer}.thumbnail.svelte-i8iwb7 img:where(.svelte-i8iwb7){width:100%;height:100%;object-fit:cover}.thumbnail.svelte-i8iwb7:hover{opacity:.9}.screenshot-item.svelte-i8iwb7 .dismiss-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;background:hsl(var(--background) / .8);border-radius:4px;opacity:0;transition:opacity .15s}.screenshot-item.svelte-i8iwb7:hover .dismiss-btn{opacity:1}.screenshot-item.svelte-i8iwb7 .dismiss-btn:hover{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.empty.svelte-i8iwb7{color:hsl(var(--muted-foreground));font-size:11px;margin:0}.modal-overlay.svelte-i8iwb7{position:fixed;inset:0;z-index:1000;background:#000000e6;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content.svelte-i8iwb7{position:relative;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:16px;transition:transform .1s ease-out}.modal-image.svelte-i8iwb7{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:8px;box-shadow:0 4px 24px #00000080}.modal-actions.svelte-i8iwb7{display:flex;gap:12px}.modal-actions.svelte-i8iwb7 .modal-btn{display:flex;align-items:center;gap:6px}.swipe-hint.svelte-i8iwb7{display:none;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12px}@media(max-width:768px){.swipe-hint.svelte-i8iwb7{display:flex}}.empty-text.svelte-p8s4ss{color:hsl(var(--muted-foreground));font-size:11px;margin:0}.queue-list.svelte-p8s4ss{display:flex;flex-direction:column;gap:3px}.queue-item.svelte-p8s4ss{display:flex;align-items:flex-start;gap:3px;padding:4px 6px;background:#1a1a1a;border-radius:4px;border:1px solid #2a2a2a}.queue-item-content.svelte-p8s4ss{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.queue-text.svelte-p8s4ss{font-size:11px;color:#ccc;word-break:break-word;line-height:1.3}.queue-time.svelte-p8s4ss{font-size:9px;color:#666}.queue-item-actions.svelte-p8s4ss{display:flex;gap:1px;flex-shrink:0}.queue-btn.svelte-p8s4ss{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:3px;background:transparent;color:#888;cursor:pointer;padding:0}.queue-btn.svelte-p8s4ss:hover:not(:disabled){background:#333;color:#ccc}.queue-btn.svelte-p8s4ss:disabled{opacity:.3;cursor:default}.queue-btn-delete.svelte-p8s4ss:hover:not(:disabled){background:#3a1a1a;color:#e74c3c}.clear-all.svelte-p8s4ss{display:block;width:100%;margin-top:4px;padding:3px;border:none;border-radius:3px;background:transparent;color:#888;font-size:10px;cursor:pointer;text-align:center}.clear-all.svelte-p8s4ss:hover{background:#3a1a1a;color:#e74c3c}.system-stats.svelte-1v9u7ys{display:flex;flex-direction:column;gap:4px;padding:8px 12px;border-top:1px solid hsl(var(--border));background:hsl(var(--background))}.stat-row.svelte-1v9u7ys{display:flex;align-items:center;gap:6px}.stat-label.svelte-1v9u7ys{font-size:10px;font-weight:600;color:hsl(var(--muted-foreground));width:26px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.stat-bar.svelte-1v9u7ys{flex:1;height:6px;background:hsl(var(--muted));border-radius:3px;overflow:hidden}.stat-fill.svelte-1v9u7ys{height:100%;border-radius:3px;transition:width 1s ease}.stat-value.svelte-1v9u7ys{font-size:10px;color:hsl(var(--muted-foreground));width:28px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.awake-row.svelte-1v9u7ys{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;color:hsl(var(--muted-foreground));cursor:pointer;user-select:none}.awake-row.svelte-1v9u7ys input:where(.svelte-1v9u7ys){margin:0;cursor:pointer}body{margin:0;min-height:100dvh;background:#111}iconify-icon{font-size:18px}iconify-icon.spin{animation:svelte-12qhfyh-spin 1s linear infinite}@keyframes svelte-12qhfyh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-shell.svelte-12qhfyh{display:flex;height:100dvh;overflow:hidden;box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-shell.resizing-any.svelte-12qhfyh{cursor:col-resize;user-select:none}.sidebar.svelte-12qhfyh{width:var(--sidebar-width, 300px);flex-shrink:0;background:hsl(var(--background));border-right:1px solid hsl(var(--border));overflow:hidden;position:relative;display:flex;flex-direction:column}.sidebar.resizing.svelte-12qhfyh{user-select:none}.sidebar-content.svelte-12qhfyh{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar-panel.svelte-12qhfyh{flex-shrink:0}.resize-handle.svelte-12qhfyh{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;transition:background .15s}.resize-handle.svelte-12qhfyh:hover,.sidebar.resizing.svelte-12qhfyh .resize-handle:where(.svelte-12qhfyh){background:color-mix(in oklch,var(--primary),transparent 50%)}.content.svelte-12qhfyh{flex:1;overflow:hidden;position:relative}.hamburger.svelte-12qhfyh,.backdrop.svelte-12qhfyh{display:none}@media(max-width:768px){.sidebar.svelte-12qhfyh{position:fixed;left:0;top:0;bottom:0;width:100%!important;box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);z-index:60;transform:translate(-100%);transition:transform .2s ease;background:hsl(var(--background) / .85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sidebar.open.svelte-12qhfyh{transform:translate(0)}.resize-handle.svelte-12qhfyh{display:none}.hamburger.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;position:absolute;top:4px;left:6px;z-index:50;width:32px;height:32px;padding:0;background:hsl(var(--secondary));border:none;border-radius:6px;color:hsl(var(--foreground));cursor:pointer;font-size:20px}.hamburger.svelte-12qhfyh:hover{background:hsl(var(--accent))}.backdrop.svelte-12qhfyh{display:block;position:fixed;inset:0;background:#0006;z-index:55;border:none;cursor:pointer}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.terminal-view.svelte-aboi4j{margin:0;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word;background:#000;color:#fff}.terminal-view.svelte-aboi4j .ansi-black-fg{color:#555}.terminal-view.svelte-aboi4j .ansi-red-fg{color:#f87171}.terminal-view.svelte-aboi4j .ansi-green-fg{color:#4ade80}.terminal-view.svelte-aboi4j .ansi-yellow-fg{color:#fbbf24}.terminal-view.svelte-aboi4j .ansi-blue-fg{color:#60a5fa}.terminal-view.svelte-aboi4j .ansi-magenta-fg{color:#c084fc}.terminal-view.svelte-aboi4j .ansi-cyan-fg{color:#22d3ee}.terminal-view.svelte-aboi4j .ansi-white-fg{color:#e5e7eb}.terminal-view.svelte-aboi4j .ansi-bright-black-fg{color:#6b7280}.terminal-view.svelte-aboi4j .ansi-bright-red-fg{color:#fca5a5}.terminal-view.svelte-aboi4j .ansi-bright-green-fg{color:#86efac}.terminal-view.svelte-aboi4j .ansi-bright-yellow-fg{color:#fde68a}.terminal-view.svelte-aboi4j .ansi-bright-blue-fg{color:#93c5fd}.terminal-view.svelte-aboi4j .ansi-bright-magenta-fg{color:#d8b4fe}.terminal-view.svelte-aboi4j .ansi-bright-cyan-fg{color:#67e8f9}.terminal-view.svelte-aboi4j .ansi-bright-white-fg{color:#fff}.terminal-view.svelte-aboi4j .ansi-black-bg{background-color:#000}.terminal-view.svelte-aboi4j .ansi-red-bg{background-color:#b91c1c}.terminal-view.svelte-aboi4j .ansi-green-bg{background-color:#15803d}.terminal-view.svelte-aboi4j .ansi-yellow-bg{background-color:#a16207}.terminal-view.svelte-aboi4j .ansi-blue-bg{background-color:#1d4ed8}.terminal-view.svelte-aboi4j .ansi-magenta-bg{background-color:#7e22ce}.terminal-view.svelte-aboi4j .ansi-cyan-bg{background-color:#0e7490}.terminal-view.svelte-aboi4j .ansi-white-bg{background-color:#e5e7eb}.terminal-view.svelte-aboi4j .ansi-bold{font-weight:700}.terminal-view.svelte-aboi4j .ansi-dim{opacity:.7}.terminal-view.svelte-aboi4j .ansi-italic{font-style:italic}.terminal-view.svelte-aboi4j .ansi-underline{text-decoration:underline}.terminal-view.svelte-aboi4j .ansi-strikethrough{text-decoration:line-through}.terminal-view.svelte-aboi4j a{color:inherit;text-decoration:underline;text-decoration-style:dotted}.terminal-view.svelte-aboi4j a:hover{text-decoration-style:solid}.voice-btn-wrapper.svelte-1ubt6i6{position:relative;display:flex;flex:1}.voice-btn{touch-action:none;user-select:none;width:100%}.voice-btn.recording{animation:svelte-1ubt6i6-voice-pulse 1.2s ease-in-out infinite}@keyframes svelte-1ubt6i6-voice-pulse{0%,to{box-shadow:0 0 #dc262699}50%{box-shadow:0 0 0 6px #dc262600}}.spin.svelte-1ubt6i6{animation:svelte-1ubt6i6-voice-spin 1s linear infinite;display:inline-block}@keyframes svelte-1ubt6i6-voice-spin{to{transform:rotate(360deg)}}.voice-menu.svelte-1ubt6i6{position:absolute;bottom:calc(100% + 6px);right:0;width:18rem;display:flex;flex-direction:column;gap:.85rem;padding:.8rem;background:#1a1a1a;border:1px solid #333;border-radius:6px;box-shadow:0 6px 18px #0006;z-index:50}.voice-meter.svelte-1ubt6i6{position:absolute;left:6px;right:26px;bottom:3px;height:4px;background:#ffffff1f;border-radius:2px;overflow:hidden;pointer-events:none}.voice-meter-fill.svelte-1ubt6i6{height:100%;background:linear-gradient(90deg,#16a34a,#84cc16 60%,#facc15 85%,#dc2626);transition:width 60ms linear}.voice-meter.too-soft.svelte-1ubt6i6 .voice-meter-fill:where(.svelte-1ubt6i6){background:#6b7280}.voice-meter.clipping.svelte-1ubt6i6{background:#dc262666;animation:svelte-1ubt6i6-voice-meter-clip .4s ease-in-out infinite}@keyframes svelte-1ubt6i6-voice-meter-clip{0%,to{box-shadow:0 0 #dc262699}50%{box-shadow:0 0 0 2px #dc262600}}.voice-cancel.svelte-1ubt6i6{position:absolute;bottom:calc(100% + 10px);right:0;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;background:#1a1a1a;color:#fca5a5;border:1px solid rgba(220,38,38,.55);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(220,38,38,.3);box-shadow:0 6px 18px #0006,0 0 0 1px #dc262626;z-index:20;white-space:nowrap;animation:svelte-1ubt6i6-voice-cancel-rise .18s cubic-bezier(.2,.9,.2,1)}.voice-cancel.svelte-1ubt6i6 iconify-icon:where(.svelte-1ubt6i6){font-size:1.05rem}.voice-cancel.svelte-1ubt6i6:after{content:"";position:absolute;top:100%;right:18px;width:8px;height:8px;background:#1a1a1a;border-right:1px solid rgba(220,38,38,.55);border-bottom:1px solid rgba(220,38,38,.55);transform:translateY(-5px) rotate(45deg)}.voice-cancel.svelte-1ubt6i6:hover,.voice-cancel.svelte-1ubt6i6:active,.voice-cancel.svelte-1ubt6i6:focus-visible{background:#dc2626;color:#fff;border-color:#dc2626;outline:none}.voice-cancel.svelte-1ubt6i6:hover:after,.voice-cancel.svelte-1ubt6i6:active:after,.voice-cancel.svelte-1ubt6i6:focus-visible:after{background:#dc2626;border-color:#dc2626}@keyframes svelte-1ubt6i6-voice-cancel-rise{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.voice-menu-close.svelte-1ubt6i6{position:absolute;top:.3rem;right:.3rem;width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:4px;color:#aaa;font-size:1rem;cursor:pointer;padding:0}.voice-menu-close.svelte-1ubt6i6:hover{background:#2a2a2a;color:#eee}.setting-row.svelte-1ubt6i6{display:flex;flex-direction:column;gap:.4rem}.setting-row.inline.svelte-1ubt6i6{flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.setting-label.svelte-1ubt6i6{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#aaa}.setting-label.inline.svelte-1ubt6i6{text-transform:none;letter-spacing:normal;color:#ddd;font-size:.85rem}.lang-row.svelte-1ubt6i6{display:flex;gap:.35rem}.gain-slider.svelte-1ubt6i6{width:100%;accent-color:#84cc16}.device-select.svelte-1ubt6i6{width:100%;padding:.4rem .5rem;background:#222;color:#eee;border:1px solid #444;border-radius:4px;font-size:.85rem}.setting-hint.svelte-1ubt6i6{font-size:.7rem;color:#888;margin:0}.chord-overlay.svelte-15bjeev{position:fixed;inset:0;display:grid;place-items:center;z-index:1000;pointer-events:none;background:radial-gradient(ellipse at center,#000000a6,#000000eb);font-family:JetBrains Mono,ui-monospace,monospace;animation:svelte-15bjeev-chord-fade-in .12s ease-out}@keyframes svelte-15bjeev-chord-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.chord-panel.svelte-15bjeev{position:relative;padding:1.25rem 1.5rem 1rem;background:linear-gradient(180deg,#14141a,#0a0a0d);border:1px solid rgba(226,160,82,.22);border-radius:14px;box-shadow:0 0 0 1px #e2a0520f,0 24px 60px #000000b3,inset 0 1px #ffffff0a}.chord-title.svelte-15bjeev{color:#e2a052;font-size:.65rem;letter-spacing:.32em;text-transform:uppercase;text-align:center;opacity:.7;margin-bottom:.85rem}.chord-stage.svelte-15bjeev{position:relative;isolation:isolate;width:30rem;height:30rem}.chord-ring.svelte-15bjeev{position:absolute;inset:0}.chord-item.svelte-15bjeev{position:absolute;top:50%;left:50%;width:4.5rem;min-height:4.5rem;transform:translate(calc(-50% + var(--x, 0px)),calc(-50% + var(--y, 0px)));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.4rem .3rem;background:#16161ca6;border:1px solid rgba(255,255,255,.05);border-radius:50%;color:#ffffff80;font-size:.55rem;letter-spacing:.03em;text-align:center;transition:border-color .14s,background .14s,color .14s,box-shadow .14s,scale .14s cubic-bezier(.2,.9,.2,1)}.chord-item.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:26px}.chord-item.armed.svelte-15bjeev{background:linear-gradient(180deg,#e2a05238,#e2a0520a);border-color:#e2a052d9;color:#fff;scale:1.15;box-shadow:0 0 28px #e2a05259,inset 0 1px #ffffff14}.chord-item.danger.armed.svelte-15bjeev{border-color:#ef4444e6;background:linear-gradient(180deg,#ef444438,#ef44440a);color:#fecaca;box-shadow:0 0 28px #ef444459}.chord-deadzone.svelte-15bjeev{position:absolute;top:50%;left:50%;width:6.5rem;height:6.5rem;transform:translate(-50%,-50%);border-radius:50%;border:1.5px dashed rgba(255,255,255,.18);display:grid;place-items:center;pointer-events:none;z-index:2;transition:border-color .18s,background .18s}.chord-deadzone.svelte-15bjeev span:where(.svelte-15bjeev){font-size:.6rem;letter-spacing:.25em;color:#ffffff40;opacity:0;transition:opacity .16s,color .16s;text-transform:uppercase}.chord-deadzone.inactive.svelte-15bjeev{border-color:#ef44448c;background:radial-gradient(circle,rgba(239,68,68,.1) 0%,transparent 70%)}.chord-deadzone.inactive.svelte-15bjeev span:where(.svelte-15bjeev){opacity:1;color:#fca5a5d9}.chord-cursor.svelte-15bjeev{position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;transform:translate(calc(-50% + var(--cx, 0px)),calc(-50% + var(--cy, 0px)));background:#ef4444e6;box-shadow:0 0 10px #ef444480,0 0 20px #ef444440;pointer-events:none;z-index:3;will-change:transform;transition:background .1s,box-shadow .1s}.chord-cursor.armed.svelte-15bjeev{background:#e2a052;box-shadow:0 0 12px #e2a052e6,0 0 28px #e2a05273}.chord-cursor.svelte-15bjeev:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid currentColor;opacity:.25}.chord-status.svelte-15bjeev{margin-top:1rem;text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffffbf;min-height:1rem}.chord-status.danger.svelte-15bjeev{color:#fca5a5}.session-container.svelte-15bjeev{height:100%;display:flex;flex-direction:column;background:#000;overflow:hidden;overscroll-behavior:none;touch-action:pan-y}.header.svelte-15bjeev{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#111;border-bottom:1px solid #222}@media(max-width:768px){.header.svelte-15bjeev{min-height:40px;padding:4px 6px 4px 44px;gap:6px}.header-actions.svelte-15bjeev{gap:4px}.toolbar.svelte-15bjeev button{border-radius:3px}}.title-row.svelte-15bjeev{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.state.svelte-15bjeev{width:12px;height:12px;border-radius:50%;flex-shrink:0}.state-symbol.svelte-15bjeev{font-size:18px;line-height:1;flex-shrink:0;font-variant-emoji:text}.state-symbol.braille.svelte-15bjeev{font-size:22px}.title-info.svelte-15bjeev{display:flex;flex-direction:row;align-items:baseline;gap:6px;min-width:0;flex:1;overflow:hidden}.target-btn.svelte-15bjeev{background:none;border:none;color:inherit;font:inherit;font-weight:600;font-size:16px;padding:4px 6px;margin:-4px -6px;cursor:pointer;border-radius:6px;text-align:left;display:inline-flex;align-items:center;max-width:100%;min-width:0;overflow:hidden}.target-btn.svelte-15bjeev .name-text:where(.svelte-15bjeev){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.target-btn.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:14px;opacity:.5;margin-left:6px;vertical-align:middle;flex-shrink:0}.target-btn.svelte-15bjeev:hover,.target-btn.svelte-15bjeev:focus-visible{background:#ffffff0f}.target-btn.svelte-15bjeev:disabled{cursor:default}.target-btn.svelte-15bjeev:disabled:hover,.target-btn.svelte-15bjeev:disabled:focus-visible{background:none}.status.svelte-15bjeev{font-size:13px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}.header-actions.svelte-15bjeev{display:flex;gap:6px;flex-shrink:0}.output-wrap.svelte-15bjeev{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.jump-bottom.svelte-15bjeev{position:absolute;right:18px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #3a3a3a;background:#1e1e1eeb;color:#e5e5e5;font-size:12px;cursor:pointer;box-shadow:0 2px 8px #00000080;z-index:5}.jump-bottom.svelte-15bjeev:hover{background:#2a2a2a}.jump-bottom.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:16px}.output.svelte-15bjeev{flex:1;overflow-y:auto;overscroll-behavior:none;touch-action:pan-y;padding:16px;margin:0;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word;background:#000;color:#fff}.toolbar.svelte-15bjeev{display:flex;gap:6px;padding:8px 12px;background:#111;border-top:1px solid #222}.input-row.svelte-15bjeev{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;background:#111;border-top:1px solid #222}.mod-chip.svelte-15bjeev{display:inline-flex;align-items:center;gap:4px;height:48px;padding:0 10px;background:#1e5b3a;color:#d7f5e4;border:1px solid #27ae60;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.03em;cursor:pointer;flex-shrink:0}.mod-chip.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:16px}.mod-chip.svelte-15bjeev:hover{background:#257048}.attach-chip.svelte-15bjeev{display:inline-flex;align-items:center;gap:6px;height:48px;padding:0 6px;background:#1f2c44;color:#d4e3ff;border:1px solid #3a6ad4;border-radius:8px;font-size:12px;max-width:220px;flex-shrink:0}.attach-chip-uploading.svelte-15bjeev{opacity:.75}.attach-chip-failed.svelte-15bjeev{background:#4a1d22;color:#ffd4d4;border-color:#d44d4d}.attach-chip.svelte-15bjeev .attach-thumb:where(.svelte-15bjeev){width:36px;height:36px;object-fit:cover;border-radius:4px;display:block}.attach-chip.svelte-15bjeev>iconify-icon:where(.svelte-15bjeev){font-size:22px}.attach-chip.svelte-15bjeev .attach-name:where(.svelte-15bjeev){max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-action.svelte-15bjeev{background:transparent;border:0;color:inherit;cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.attach-action.svelte-15bjeev:hover{background:#ffffff1f}.attach-spin.svelte-15bjeev{font-size:16px;animation:svelte-15bjeev-attach-spin 1s linear infinite}@keyframes svelte-15bjeev-attach-spin{to{transform:rotate(360deg)}}.attach-input-hidden.svelte-15bjeev{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.drop-overlay.svelte-15bjeev{position:fixed;inset:0;background:#1428508c;backdrop-filter:blur(2px);z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none;border:3px dashed #4f8df7;color:#d4e3ff;font-size:20px;font-weight:600;gap:12px}.drop-overlay.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:48px}.input-row.svelte-15bjeev textarea:where(.svelte-15bjeev){flex:1;min-width:0;height:48px;background:#222;color:#fff;border:1px solid #333;padding:12px 16px;border-radius:8px;font-size:14px;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,monospace;line-height:1.5;resize:none;overflow-y:auto;overflow-x:hidden;max-height:150px;word-wrap:break-word;box-sizing:border-box;scrollbar-width:none}.popover-grid.svelte-15bjeev{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.input-row.svelte-15bjeev textarea:where(.svelte-15bjeev)::-webkit-scrollbar{display:none}.input-row.svelte-15bjeev textarea:where(.svelte-15bjeev):focus{outline:none;border-color:#27ae60}.input-row.svelte-15bjeev textarea:where(.svelte-15bjeev)::placeholder{color:#666}.send-btn-wrapper.svelte-15bjeev{position:relative;display:inline-flex}.queue-dropdown.svelte-15bjeev{position:absolute;bottom:100%;right:0;margin-bottom:6px;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:4px;z-index:10;box-shadow:0 -4px 12px #0006;display:flex;flex-direction:column;gap:4px;max-width:calc(100vw - 16px)}.queue-dropdown.svelte-15bjeev button{width:100%;justify-content:flex-start;white-space:nowrap}.queue-kbd.svelte-15bjeev{font-size:9px;color:#888;background:#2a2a2a;padding:1px 4px;border-radius:3px;margin-left:4px;font-family:inherit}.queue-badge.svelte-15bjeev{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;border-radius:50%;min-width:18px;height:18px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}
|
|
1
|
+
.terminal-view.svelte-aboi4j{margin:0;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word;background:#000;color:#fff}.terminal-view.svelte-aboi4j .ansi-black-fg{color:#555}.terminal-view.svelte-aboi4j .ansi-red-fg{color:#f87171}.terminal-view.svelte-aboi4j .ansi-green-fg{color:#4ade80}.terminal-view.svelte-aboi4j .ansi-yellow-fg{color:#fbbf24}.terminal-view.svelte-aboi4j .ansi-blue-fg{color:#60a5fa}.terminal-view.svelte-aboi4j .ansi-magenta-fg{color:#c084fc}.terminal-view.svelte-aboi4j .ansi-cyan-fg{color:#22d3ee}.terminal-view.svelte-aboi4j .ansi-white-fg{color:#e5e7eb}.terminal-view.svelte-aboi4j .ansi-bright-black-fg{color:#6b7280}.terminal-view.svelte-aboi4j .ansi-bright-red-fg{color:#fca5a5}.terminal-view.svelte-aboi4j .ansi-bright-green-fg{color:#86efac}.terminal-view.svelte-aboi4j .ansi-bright-yellow-fg{color:#fde68a}.terminal-view.svelte-aboi4j .ansi-bright-blue-fg{color:#93c5fd}.terminal-view.svelte-aboi4j .ansi-bright-magenta-fg{color:#d8b4fe}.terminal-view.svelte-aboi4j .ansi-bright-cyan-fg{color:#67e8f9}.terminal-view.svelte-aboi4j .ansi-bright-white-fg{color:#fff}.terminal-view.svelte-aboi4j .ansi-black-bg{background-color:#000}.terminal-view.svelte-aboi4j .ansi-red-bg{background-color:#b91c1c}.terminal-view.svelte-aboi4j .ansi-green-bg{background-color:#15803d}.terminal-view.svelte-aboi4j .ansi-yellow-bg{background-color:#a16207}.terminal-view.svelte-aboi4j .ansi-blue-bg{background-color:#1d4ed8}.terminal-view.svelte-aboi4j .ansi-magenta-bg{background-color:#7e22ce}.terminal-view.svelte-aboi4j .ansi-cyan-bg{background-color:#0e7490}.terminal-view.svelte-aboi4j .ansi-white-bg{background-color:#e5e7eb}.terminal-view.svelte-aboi4j .ansi-bold{font-weight:700}.terminal-view.svelte-aboi4j .ansi-dim{opacity:.7}.terminal-view.svelte-aboi4j .ansi-italic{font-style:italic}.terminal-view.svelte-aboi4j .ansi-underline{text-decoration:underline}.terminal-view.svelte-aboi4j .ansi-strikethrough{text-decoration:line-through}.terminal-view.svelte-aboi4j a{color:inherit;text-decoration:underline;text-decoration-style:dotted}.terminal-view.svelte-aboi4j a:hover{text-decoration-style:solid}.voice-btn-wrapper.svelte-1ubt6i6{position:relative;display:flex;flex:1}.voice-btn{touch-action:none;user-select:none;width:100%}.voice-btn.recording{animation:svelte-1ubt6i6-voice-pulse 1.2s ease-in-out infinite}@keyframes svelte-1ubt6i6-voice-pulse{0%,to{box-shadow:0 0 #dc262699}50%{box-shadow:0 0 0 6px #dc262600}}.spin.svelte-1ubt6i6{animation:svelte-1ubt6i6-voice-spin 1s linear infinite;display:inline-block}@keyframes svelte-1ubt6i6-voice-spin{to{transform:rotate(360deg)}}.voice-menu.svelte-1ubt6i6{position:absolute;bottom:calc(100% + 6px);right:0;width:18rem;display:flex;flex-direction:column;gap:.85rem;padding:.8rem;background:#1a1a1a;border:1px solid #333;border-radius:6px;box-shadow:0 6px 18px #0006;z-index:50}.voice-meter.svelte-1ubt6i6{position:absolute;left:6px;right:26px;bottom:3px;height:4px;background:#ffffff1f;border-radius:2px;overflow:hidden;pointer-events:none}.voice-meter-fill.svelte-1ubt6i6{height:100%;background:linear-gradient(90deg,#16a34a,#84cc16 60%,#facc15 85%,#dc2626);transition:width 60ms linear}.voice-meter.too-soft.svelte-1ubt6i6 .voice-meter-fill:where(.svelte-1ubt6i6){background:#6b7280}.voice-meter.clipping.svelte-1ubt6i6{background:#dc262666;animation:svelte-1ubt6i6-voice-meter-clip .4s ease-in-out infinite}@keyframes svelte-1ubt6i6-voice-meter-clip{0%,to{box-shadow:0 0 #dc262699}50%{box-shadow:0 0 0 2px #dc262600}}.voice-cancel.svelte-1ubt6i6{position:absolute;bottom:calc(100% + 10px);right:0;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;background:#1a1a1a;color:#fca5a5;border:1px solid rgba(220,38,38,.55);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(220,38,38,.3);box-shadow:0 6px 18px #0006,0 0 0 1px #dc262626;z-index:20;white-space:nowrap;animation:svelte-1ubt6i6-voice-cancel-rise .18s cubic-bezier(.2,.9,.2,1)}.voice-cancel.svelte-1ubt6i6 iconify-icon:where(.svelte-1ubt6i6){font-size:1.05rem}.voice-cancel.svelte-1ubt6i6:after{content:"";position:absolute;top:100%;right:18px;width:8px;height:8px;background:#1a1a1a;border-right:1px solid rgba(220,38,38,.55);border-bottom:1px solid rgba(220,38,38,.55);transform:translateY(-5px) rotate(45deg)}.voice-cancel.svelte-1ubt6i6:hover,.voice-cancel.svelte-1ubt6i6:active,.voice-cancel.svelte-1ubt6i6:focus-visible{background:#dc2626;color:#fff;border-color:#dc2626;outline:none}.voice-cancel.svelte-1ubt6i6:hover:after,.voice-cancel.svelte-1ubt6i6:active:after,.voice-cancel.svelte-1ubt6i6:focus-visible:after{background:#dc2626;border-color:#dc2626}@keyframes svelte-1ubt6i6-voice-cancel-rise{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.voice-menu-close.svelte-1ubt6i6{position:absolute;top:.3rem;right:.3rem;width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:4px;color:#aaa;font-size:1rem;cursor:pointer;padding:0}.voice-menu-close.svelte-1ubt6i6:hover{background:#2a2a2a;color:#eee}.setting-row.svelte-1ubt6i6{display:flex;flex-direction:column;gap:.4rem}.setting-row.inline.svelte-1ubt6i6{flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.setting-label.svelte-1ubt6i6{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#aaa}.setting-label.inline.svelte-1ubt6i6{text-transform:none;letter-spacing:normal;color:#ddd;font-size:.85rem}.lang-row.svelte-1ubt6i6{display:flex;gap:.35rem}.gain-slider.svelte-1ubt6i6{width:100%;accent-color:#84cc16}.device-select.svelte-1ubt6i6{width:100%;padding:.4rem .5rem;background:#222;color:#eee;border:1px solid #444;border-radius:4px;font-size:.85rem}.setting-hint.svelte-1ubt6i6{font-size:.7rem;color:#888;margin:0}.chord-overlay.svelte-15bjeev{position:fixed;inset:0;display:grid;place-items:center;z-index:1000;pointer-events:none;background:radial-gradient(ellipse at center,#000000a6,#000000eb);font-family:JetBrains Mono,ui-monospace,monospace;animation:svelte-15bjeev-chord-fade-in .12s ease-out}@keyframes svelte-15bjeev-chord-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.chord-panel.svelte-15bjeev{position:relative;padding:1.25rem 1.5rem 1rem;background:linear-gradient(180deg,#14141a,#0a0a0d);border:1px solid rgba(226,160,82,.22);border-radius:14px;box-shadow:0 0 0 1px #e2a0520f,0 24px 60px #000000b3,inset 0 1px #ffffff0a}.chord-title.svelte-15bjeev{color:#e2a052;font-size:.65rem;letter-spacing:.32em;text-transform:uppercase;text-align:center;opacity:.7;margin-bottom:.85rem}.chord-stage.svelte-15bjeev{position:relative;isolation:isolate;width:30rem;height:30rem}.chord-ring.svelte-15bjeev{position:absolute;inset:0}.chord-item.svelte-15bjeev{position:absolute;top:50%;left:50%;width:4.5rem;min-height:4.5rem;transform:translate(calc(-50% + var(--x, 0px)),calc(-50% + var(--y, 0px)));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.4rem .3rem;background:#16161ca6;border:1px solid rgba(255,255,255,.05);border-radius:50%;color:#ffffff80;font-size:.55rem;letter-spacing:.03em;text-align:center;transition:border-color .14s,background .14s,color .14s,box-shadow .14s,scale .14s cubic-bezier(.2,.9,.2,1)}.chord-item.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:26px}.chord-item.armed.svelte-15bjeev{background:linear-gradient(180deg,#e2a05238,#e2a0520a);border-color:#e2a052d9;color:#fff;scale:1.15;box-shadow:0 0 28px #e2a05259,inset 0 1px #ffffff14}.chord-item.danger.armed.svelte-15bjeev{border-color:#ef4444e6;background:linear-gradient(180deg,#ef444438,#ef44440a);color:#fecaca;box-shadow:0 0 28px #ef444459}.chord-deadzone.svelte-15bjeev{position:absolute;top:50%;left:50%;width:6.5rem;height:6.5rem;transform:translate(-50%,-50%);border-radius:50%;border:1.5px dashed rgba(255,255,255,.18);display:grid;place-items:center;pointer-events:none;z-index:2;transition:border-color .18s,background .18s}.chord-deadzone.svelte-15bjeev span:where(.svelte-15bjeev){font-size:.6rem;letter-spacing:.25em;color:#ffffff40;opacity:0;transition:opacity .16s,color .16s;text-transform:uppercase}.chord-deadzone.inactive.svelte-15bjeev{border-color:#ef44448c;background:radial-gradient(circle,rgba(239,68,68,.1) 0%,transparent 70%)}.chord-deadzone.inactive.svelte-15bjeev span:where(.svelte-15bjeev){opacity:1;color:#fca5a5d9}.chord-cursor.svelte-15bjeev{position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;transform:translate(calc(-50% + var(--cx, 0px)),calc(-50% + var(--cy, 0px)));background:#ef4444e6;box-shadow:0 0 10px #ef444480,0 0 20px #ef444440;pointer-events:none;z-index:3;will-change:transform;transition:background .1s,box-shadow .1s}.chord-cursor.armed.svelte-15bjeev{background:#e2a052;box-shadow:0 0 12px #e2a052e6,0 0 28px #e2a05273}.chord-cursor.svelte-15bjeev:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid currentColor;opacity:.25}.chord-status.svelte-15bjeev{margin-top:1rem;text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffffbf;min-height:1rem}.chord-status.danger.svelte-15bjeev{color:#fca5a5}.session-container.svelte-15bjeev{height:100%;display:flex;flex-direction:column;background:#000;overflow:hidden;overscroll-behavior:none;touch-action:pan-y}.header.svelte-15bjeev{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#111;border-bottom:1px solid #222}@media(max-width:768px){.header.svelte-15bjeev{min-height:40px;padding:4px 6px 4px 44px;gap:6px}.header-actions.svelte-15bjeev{gap:4px}.toolbar.svelte-15bjeev button{border-radius:3px}}.title-row.svelte-15bjeev{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.state.svelte-15bjeev{width:12px;height:12px;border-radius:50%;flex-shrink:0}.state-symbol.svelte-15bjeev{font-size:18px;line-height:1;flex-shrink:0;font-variant-emoji:text}.state-symbol.braille.svelte-15bjeev{font-size:22px}.title-info.svelte-15bjeev{display:flex;flex-direction:row;align-items:baseline;gap:6px;min-width:0;flex:1;overflow:hidden}.target-btn.svelte-15bjeev{background:none;border:none;color:inherit;font:inherit;font-weight:600;font-size:16px;padding:4px 6px;margin:-4px -6px;cursor:pointer;border-radius:6px;text-align:left;display:inline-flex;align-items:center;max-width:100%;min-width:0;overflow:hidden}.target-btn.svelte-15bjeev .name-text:where(.svelte-15bjeev){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.target-btn.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:14px;opacity:.5;margin-left:6px;vertical-align:middle;flex-shrink:0}.target-btn.svelte-15bjeev:hover,.target-btn.svelte-15bjeev:focus-visible{background:#ffffff0f}.target-btn.svelte-15bjeev:disabled{cursor:default}.target-btn.svelte-15bjeev:disabled:hover,.target-btn.svelte-15bjeev:disabled:focus-visible{background:none}.status.svelte-15bjeev{font-size:13px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}.header-actions.svelte-15bjeev{display:flex;gap:6px;flex-shrink:0}.output-wrap.svelte-15bjeev{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.jump-bottom.svelte-15bjeev{position:absolute;right:18px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #3a3a3a;background:#1e1e1eeb;color:#e5e5e5;font-size:12px;cursor:pointer;box-shadow:0 2px 8px #00000080;z-index:5}.jump-bottom.svelte-15bjeev:hover{background:#2a2a2a}.jump-bottom.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:16px}.output.svelte-15bjeev{flex:1;overflow-y:auto;overscroll-behavior:none;touch-action:pan-y;padding:16px;margin:0;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word;background:#000;color:#fff}.toolbar.svelte-15bjeev{display:flex;gap:6px;padding:8px 12px;background:#111;border-top:1px solid #222}.input-row.svelte-15bjeev{position:relative;display:flex;align-items:flex-end;gap:8px;padding:12px 16px;background:#111;border-top:1px solid #222}.slash-popup.svelte-15bjeev{position:absolute;left:8px;right:8px;bottom:100%;margin-bottom:6px;max-height:min(50dvh,420px);display:flex;flex-direction:column;background:#1a1a1a;border:1px solid #333;border-radius:8px;overflow:hidden;z-index:10;box-shadow:0 -4px 12px #0006;color:#f5f5f4}.mod-chip.svelte-15bjeev{display:inline-flex;align-items:center;gap:4px;height:48px;padding:0 10px;background:#1e5b3a;color:#d7f5e4;border:1px solid #27ae60;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.03em;cursor:pointer;flex-shrink:0}.mod-chip.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:16px}.mod-chip.svelte-15bjeev:hover{background:#257048}.attach-chip.svelte-15bjeev{display:inline-flex;align-items:center;gap:6px;height:48px;padding:0 6px;background:#1f2c44;color:#d4e3ff;border:1px solid #3a6ad4;border-radius:8px;font-size:12px;max-width:220px;flex-shrink:0}.attach-chip-uploading.svelte-15bjeev{opacity:.75}.attach-chip-failed.svelte-15bjeev{background:#4a1d22;color:#ffd4d4;border-color:#d44d4d}.attach-chip.svelte-15bjeev .attach-thumb:where(.svelte-15bjeev){width:36px;height:36px;object-fit:cover;border-radius:4px;display:block}.attach-chip.svelte-15bjeev>iconify-icon:where(.svelte-15bjeev){font-size:22px}.attach-chip.svelte-15bjeev .attach-name:where(.svelte-15bjeev){max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-action.svelte-15bjeev{background:transparent;border:0;color:inherit;cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.attach-action.svelte-15bjeev:hover{background:#ffffff1f}.attach-spin.svelte-15bjeev{font-size:16px;animation:svelte-15bjeev-attach-spin 1s linear infinite}@keyframes svelte-15bjeev-attach-spin{to{transform:rotate(360deg)}}.attach-input-hidden.svelte-15bjeev{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.drop-overlay.svelte-15bjeev{position:fixed;inset:0;background:#1428508c;backdrop-filter:blur(2px);z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none;border:3px dashed #4f8df7;color:#d4e3ff;font-size:20px;font-weight:600;gap:12px}.drop-overlay.svelte-15bjeev iconify-icon:where(.svelte-15bjeev){font-size:48px}.input-row.svelte-15bjeev textarea:where(.svelte-15bjeev){flex:1;min-width:0;height:48px;background:#222;color:#fff;border:1px solid #333;padding:12px 16px;border-radius:8px;font-size:14px;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,monospace;line-height:1.5;resize:none;overflow-y:auto;overflow-x:hidden;max-height:150px;word-wrap:break-word;box-sizing:border-box;scrollbar-width:none}.popover-grid.svelte-15bjeev{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.input-row.svelte-15bjeev textarea:where(.svelte-15bjeev)::-webkit-scrollbar{display:none}.input-row.svelte-15bjeev textarea:where(.svelte-15bjeev):focus{outline:none;border-color:#27ae60}.input-row.svelte-15bjeev textarea:where(.svelte-15bjeev)::placeholder{color:#666}.send-btn-wrapper.svelte-15bjeev{position:relative;display:inline-flex}.queue-dropdown.svelte-15bjeev{position:absolute;bottom:100%;right:0;margin-bottom:6px;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:4px;z-index:10;box-shadow:0 -4px 12px #0006;display:flex;flex-direction:column;gap:4px;max-width:calc(100vw - 16px)}.queue-dropdown.svelte-15bjeev button{width:100%;justify-content:flex-start;white-space:nowrap}.queue-kbd.svelte-15bjeev{font-size:9px;color:#888;background:#2a2a2a;padding:1px 4px;border-radius:3px;margin-left:4px;font-family:inherit}.queue-badge.svelte-15bjeev{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;border-radius:50%;min-width:18px;height:18px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{l as re,aP as pt,bB as mt}from"./
|
|
2
|
-
`)){const r=t.trim();r&&(yield JSON.parse(r))}}const sr=new Set(["icon","shortcut icon","apple-touch-icon"]);let K=null;const D=Je(We)??{},J=Je(ze)??{},x={url:Ce({}),page:Ce({}),navigating:pt(null),updated:vt()};function Le(e){D[e]=M()}function ir(e,t){let r=e+1;for(;D[r];)delete D[r],r+=1;for(r=t+1;J[r];)delete J[r],r+=1}function q(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(N)}async function Qe(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}let Te,be,oe,U,Ee,E;const se=[],ie=[];let R=null;function ce(){R?.fork?.then(e=>e?.discard()),R=null,F={element:void 0,href:void 0}}const te=new Map,et=new Set,cr=new Set,X=new Set;let w={branch:[],error:null,url:null},Ue=!1,le=!1,Fe=!0,Z=!1,G=!1,tt=!1,je=!1,rt,S,P,O;const z=new Set,$e=new Map,Ve=new Map;async function Ar(e,t,r){if(globalThis.__sveltekit_k7tj1b.data){const{q:n={},p:s={},l:i={},f:c={}}=globalThis.__sveltekit_k7tj1b.data;for(const f in n)n[f];for(const f in i)i[f];for(const f in c)c[f];for(const f in s)s[f]}document.URL!==location.href&&(location.href=location.href),E=e,await e.hooks.init?.(),Te=Tt(e),U=document.documentElement,Ee=t,be=e.nodes[0],oe=e.nodes[1],be(),oe(),S=history.state?.[$],P=history.state?.[W],S||(S=P=Date.now(),history.replaceState({...history.state,[$]:S,[W]:P},""));const a=D[S];function o(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}r?(o(),await yr(Ee,r)):(await V({type:"enter",url:Ae(E.hash?br(new URL(location.href)):location.href),replace_state:!0}),o()),gr()}function lr(){se.length=0,je=!1}function at(e){ie.some(t=>t?.snapshot)&&(J[e]=ie.map(t=>t?.snapshot?.capture()))}function nt(e){J[e]?.forEach((t,r)=>{ie[r]?.snapshot?.restore(t)})}function qe(){Le(S),Be(We,D),at(P),Be(ze,J)}async function ot(e,t,r,a){let o,n;t.invalidateAll&&ce(),await V({type:"goto",url:Ae(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:r,nav_token:a,accept:()=>{if(t.invalidateAll){je=!0,o=new Set;for(const[s,i]of $e)for(const[c,f]of i)f.resource?.reset(),o.add(ee(s,c));n=new Set;for(const[s,i]of Ve)for(const c of i.keys())n.add(ee(s,c))}t.invalidate&&t.invalidate.forEach(_r)}}),t.invalidateAll&&re().then(re).then(()=>{for(const[s,i]of $e)for(const[c,{resource:f}]of i)o?.has(ee(s,c))&&f.start();for(const[s,i]of Ve)for(const[c,{resource:f}]of i)n?.has(ee(s,c))&&f.reconnect()})}async function fr(e){if(e.id!==R?.id){ce();const t={};z.add(t),R={id:e.id,token:t,promise:ct({...e,preload:t}).then(r=>(z.delete(t),r.type==="loaded"&&r.state.error&&ce(),r)),fork:null}}return R.promise}async function ge(e){const t=(await he(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(r=>r[1]()))}async function st(e,t,r){const a={params:w.params,route:{id:w.route?.id??null},url:new URL(location.href)};if(w={...e.state,nav:a},Xe(e.props.page),rt=new E.root({target:t,props:{...e.props,stores:x,components:ie},hydrate:r,sync:!1,transformError:void 0}),await Promise.resolve(),r){const o={from:null,to:{...a,scroll:D[S]??M()},willUnload:!1,type:"enter",complete:Promise.resolve()};X.forEach(n=>n(o))}nt(P),le=!0}async function fe({url:e,params:t,branch:r,errors:a,status:o,error:n,route:s,form:i}){let c="never";if(L&&(e.pathname===L||e.pathname===L+"/"))c="always";else for(const p of r)p?.slash!==void 0&&(c=p.slash);e.pathname=wt(e.pathname,c),e.search=e.search;const f={type:"loaded",state:{url:e,params:t,branch:r,error:n,route:s},props:{constructors:Wt(r).map(p=>p.node.component),page:De(j)}};i!==void 0&&(f.props.form=i);let l={},h=!j,d=0;for(let p=0;p<Math.max(r.length,w.branch.length);p+=1){const g=r[p],m=w.branch[p];g?.data!==m?.data&&(h=!0),g&&(l={...l,...g.data},h&&(f.props[`data_${d}`]=l),d+=1)}return(!w.url||e.href!==w.url.href||w.error!==n||i!==void 0&&i!==j.form||h)&&(f.props.page={error:n,params:t,route:{id:s?.id??null},state:{},status:o,url:new URL(e),form:i??null,data:h?l:j.data}),f}async function Oe({loader:e,parent:t,url:r,params:a,route:o,server_data_node:n}){let s=null,i=!0;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},f=await e();if(f.universal?.load){let l=function(...d){for(const u of d){const{href:p}=new URL(u,r);c.dependencies.add(p)}};const h={tracing:{enabled:!1,root:Me,current:Me},route:new Proxy(o,{get:(d,u)=>(i&&(c.route=!0),d[u])}),params:new Proxy(a,{get:(d,u)=>(i&&c.params.add(u),d[u])}),data:n?.data??null,url:yt(r,()=>{i&&(c.url=!0)},d=>{i&&c.search_params.add(d)},E.hash),async fetch(d,u){d instanceof Request&&(u={body:d.method==="GET"||d.method==="HEAD"?void 0:await d.blob(),cache:d.cache,credentials:d.credentials,headers:[...d.headers].length>0?d?.headers:void 0,integrity:d.integrity,keepalive:d.keepalive,method:d.method,mode:d.mode,redirect:d.redirect,referrer:d.referrer,referrerPolicy:d.referrerPolicy,signal:d.signal,...u});const{resolved:p,promise:g}=it(d,u,r);return i&&l(p.href),g},setHeaders:N,depends:l,parent(){return i&&(c.parent=!0),t()},untrack(d){i=!1;try{return d()}finally{i=!0}}};s=await f.universal.load.call(null,h)??null}return{node:f,loader:e,server:n,universal:f.universal?.load?{type:"data",data:s,uses:c}:null,data:s??n?.data??null,slash:f.universal?.trailingSlash??n?.slash}}function it(e,t,r){let a=e instanceof Request?e.url:e;const o=new URL(a,r);o.origin===r.origin&&(a=o.href.slice(r.origin.length));const n=le?Et(a,o.href,t):kt(a,t);return{resolved:o,promise:n}}function He(e,t,r,a,o,n){if(je)return!0;if(!o)return!1;if(o.parent&&e||o.route&&t||o.url&&r)return!0;for(const s of o.search_params)if(a.has(s))return!0;for(const s of o.params)if(n[s]!==w.params[s])return!0;for(const s of o.dependencies)if(se.some(i=>i(new URL(s))))return!0;return!1}function Ne(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function ur(e,t){if(!e)return new Set(t.searchParams.keys());const r=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of r){const o=e.searchParams.getAll(a),n=t.searchParams.getAll(a);o.every(s=>n.includes(s))&&n.every(s=>o.includes(s))&&r.delete(a)}return r}function Ye({error:e,url:t,route:r,params:a}){return{type:"loaded",state:{error:e,url:t,route:r,params:a,branch:[]},props:{page:De(j),constructors:[]}}}async function ct({id:e,invalidating:t,url:r,params:a,route:o,preload:n}){if(R?.id===e)return z.delete(R.token),R.promise;const{errors:s,layouts:i,leaf:c}=o,f=[...i,c];s.forEach(y=>y?.().catch(N)),f.forEach(y=>y?.[1]().catch(N));let l=null;const h=w.url?e!==ue(w.url):!1,d=w.route?o.id!==w.route.id:!1,u=ur(w.url,r);let p=!1;{const y=f.map((v,k)=>{const A=w.branch[k],b=!!v?.[0]&&(A?.loader!==v[1]||He(p,d,h,u,A.server?.uses,a));return b&&(p=!0),b});if(y.some(Boolean)){try{l=await ut(r,y)}catch(v){const k=await B(v,{url:r,params:a,route:{id:e}});return n&&z.has(n)?Ye({error:k,url:r,params:a,route:o}):de({status:ne(v),error:k,url:r,route:o})}if(l.type==="redirect")return l}}const g=l?.nodes;let m=!1;const _=f.map(async(y,v)=>{if(!y)return;const k=w.branch[v],A=g?.[v];if((!A||A.type==="skip")&&y[1]===k?.loader&&!He(m,d,h,u,k.universal?.uses,a))return k;if(m=!0,A?.type==="error")throw A;return Oe({loader:y[1],url:r,params:a,route:o,parent:async()=>{const T={};for(let C=0;C<v;C+=1)Object.assign(T,(await _[C])?.data);return T},server_data_node:Ne(A===void 0&&y[0]?{type:"skip"}:A??null,y[0]?k?.server:void 0)})});for(const y of _)y.catch(N);const I=[];for(let y=0;y<f.length;y+=1)if(f[y])try{I.push(await _[y])}catch(v){if(v instanceof Re)return{type:"redirect",location:v.location};if(n&&z.has(n))return Ye({error:await B(v,{params:a,url:r,route:{id:o.id}}),url:r,params:a,route:o});let k=ne(v),A;if(g?.includes(v))k=v.status??k,A=v.error;else if(v instanceof Q)A=v.body;else{if(await x.updated.check())return await Qe(),await q(r);A=await B(v,{params:a,url:r,route:{id:o.id}})}const b=await dr(y,I,s);return b?fe({url:r,params:a,branch:I.slice(0,b.idx).concat(b.node),errors:s,status:k,error:A,route:o}):await ft(r,{id:o.id},A,k)}else I.push(void 0);return fe({url:r,params:a,branch:I,errors:s,status:200,error:null,route:o,form:t?void 0:null})}async function dr(e,t,r){for(;e--;)if(r[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await r[e](),loader:r[e],data:{},server:null,universal:null}}}catch{continue}}}async function de({status:e,error:t,url:r,route:a}){const o={};let n=null;if(E.server_loads[0]===0)try{const i=await ut(r,[!0]);if(i.type!=="data"||i.nodes[0]&&i.nodes[0].type!=="data")throw 0;n=i.nodes[0]??null}catch(i){if(!(i instanceof Q&&i.status===404)&&(r.origin!==Ie||r.pathname!==location.pathname||Ue))return await q(r)}try{const s=await Oe({loader:be,url:r,params:o,route:a,parent:()=>Promise.resolve({}),server_data_node:Ne(n)}),i={node:await oe(),loader:oe,universal:null,server:null,data:null};return fe({url:r,params:o,branch:[s,i],status:e,error:t,errors:[],route:null})}catch(s){if(s instanceof Re){await ot(new URL(s.location,location.href),{},0);return}const i=await E.get_error_template(),c=await B(s,{url:r,params:o,route:a}),f=String(c?.message??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),l=i({status:e,message:f}),h=new DOMParser().parseFromString(l,"text/html");throw document.documentElement.replaceChild(document.adoptNode(h.head),document.head),document.documentElement.replaceChild(document.adoptNode(h.body),document.body),s}}async function hr(e){const t=e.href;if(te.has(t))return te.get(t);let r;try{const a=(async()=>{let o=await E.hooks.reroute({url:new URL(e),fetch:async(n,s)=>it(n,s,e).promise})??e;if(typeof o=="string"){const n=new URL(e);E.hash?n.hash=o:n.pathname=o,o=n}return o})();te.set(t,a),r=await a}catch{te.delete(t);return}return r}async function he(e,t){if(e&&!Se(e,L,E.hash)){const r=await hr(e);if(!r)return;const a=pr(r);for(const o of Te){const n=o.exec(a);if(n)return{id:ue(e),invalidating:t,route:o,params:gt(n),url:e}}}}function pr(e){return bt(E.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function ue(e){return(E.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function lt({url:e,type:t,intent:r,delta:a,event:o,scroll:n}){let s=!1;const i=xe(w,r,e,t,n??null);a!==void 0&&(i.navigation.delta=a),o!==void 0&&(i.navigation.event=o);const c={...i.navigation,cancel:()=>{s=!0,i.reject(new Error("navigation cancelled"))}};return Z||et.forEach(f=>f(c)),s?null:i}async function V({type:e,url:t,popped:r,keepfocus:a,noscroll:o,replace_state:n,state:s={},redirect_count:i=0,nav_token:c={},accept:f=N,block:l=N,event:h}){const d=O;O=c;const u=await he(t,!1),p=e==="enter"?xe(w,u,t,e):lt({url:t,type:e,delta:r?.delta,intent:u,scroll:r?.scroll,event:h});if(!p){l(),O===c&&(O=d);return}const g=S,m=P;f(),Z=!0,le&&p.navigation.type!=="enter"&&x.navigating.set(ye.current=p.navigation);let _=u&&await ct(u);if(!_){if(Se(t,L,E.hash))return await q(t,n);_=await ft(t,{id:null},await B(new Pe(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,n)}if(t=u?.url||t,O!==c){p.reject(new Error("navigation aborted"));return}if(!_)return;if(_.type==="redirect"){if(i<20){await V({type:e,url:new URL(_.location,t),popped:r,keepfocus:a,noscroll:o,replace_state:n,state:s,redirect_count:i+1,nav_token:c}),p.fulfil(void 0);return}if(_=await de({status:500,error:await B(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!_)return}else if(_.props.page.status>=400&&await x.updated.check())return await Qe(),await q(t,n);if(lr(),Le(g),at(m),_.props.page.url.pathname!==t.pathname&&(t.pathname=_.props.page.url.pathname),s=r?r.state:s,!r){const b=n?0:1,T={[$]:S+=b,[W]:P+=b,[Ge]:s};(n?history.replaceState:history.pushState).call(history,T,"",t),n||ir(S,P)}const I=u&&R?.id===u.id?R.fork:null;R?.fork&&!I?ce():(R=null,F={element:void 0,href:void 0}),_.props.page.state=s;let y;if(le){const b=(await Promise.all(Array.from(cr,H=>H(p.navigation)))).filter(H=>typeof H=="function");if(b.length>0){let H=function(){b.forEach(pe=>{X.delete(pe)})};b.push(H),b.forEach(pe=>{X.add(pe)})}const T=p.navigation.to;w={..._.state,nav:{params:T.params,route:T.route,url:T.url}},_.props.page&&(_.props.page.url=t),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const C=I&&await I;C?y=C.commit():(K=null,rt.$set(_.props),K&&Object.assign(_.props.page,K),Xe(_.props.page),y=mt?.()),tt=!0}else await st(_,Ee,!1);const{activeElement:v}=document;if(await y,await re(),await re(),O!==c){p.reject(new Error("navigation aborted"));return}_.props.page&&K&&Object.assign(_.props.page,K);let k=null;if(Fe){const b=r?r.scroll:o?M():null;b?scrollTo(b.x,b.y):(k=t.hash&&document.getElementById(ht(t)))?k.scrollIntoView():scrollTo(0,0)}const A=document.activeElement!==v&&document.activeElement!==document.body;!a&&!A&&vr(t,!k),Fe=!0,Z=!1,p.fulfil(void 0),p.navigation.to&&(p.navigation.to.scroll=M()),X.forEach(b=>b(p.navigation)),e==="popstate"&&nt(P),x.navigating.set(ye.current=null)}async function ft(e,t,r,a,o){return e.origin===Ie&&e.pathname===location.pathname&&!Ue?await de({status:a,error:r,url:e,route:t}):await q(e,o)}let F={element:void 0,href:void 0};function mr(){let e,t;U.addEventListener("mousemove",s=>{const i=s.target;clearTimeout(e),e=setTimeout(()=>{o(i,Y.hover)},20)});function r(s){s.defaultPrevented||o(s.composedPath()[0],Y.tap)}U.addEventListener("mousedown",r),U.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(s=>{for(const i of s)i.isIntersecting&&(ge(new URL(i.target.href)),a.unobserve(i.target))},{threshold:0});async function o(s,i){const c=Ke(s,U),f=c===F.element&&c?.href===F.href&&i>=t;if(!c||f)return;const{url:l,external:h,download:d}=we(c,L,E.hash);if(h||d)return;const u=ae(c),p=l&&ue(w.url)===ue(l);if(!(u.reload||p))if(i<=u.preload_data){F={element:c,href:c.href},t=Y.tap;const g=await he(l,!1);if(!g)return;fr(g)}else i<=u.preload_code&&(F={element:c,href:c.href},t=i,ge(l))}function n(){a.disconnect();for(const s of U.querySelectorAll("a")){const{url:i,external:c,download:f}=we(s,L,E.hash);if(c||f)continue;const l=ae(s);l.reload||(l.preload_code===Y.viewport&&a.observe(s),l.preload_code===Y.eager&&ge(i))}}X.add(n),n()}function B(e,t){if(e instanceof Q)return e.body;const r=ne(e),a=Qt(e);return E.hooks.handleError({error:e,event:t,status:r,message:a})??{message:a}}function Sr(e,t={}){return e=new URL(Ae(e)),e.origin!==Ie?Promise.reject(new Error("goto: invalid URL")):ot(e,t,0)}function _r(e){if(typeof e=="function")se.push(e);else{const{href:t}=new URL(e,location.href);se.push(r=>r.href===t)}}function gr(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(qe(),!Z){const a=xe(w,void 0,null,"leave"),o={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};et.forEach(n=>n(o))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&qe()}),navigator.connection?.saveData||mr(),U.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Ke(t.composedPath()[0],U);if(!r)return;const{url:a,external:o,target:n,download:s}=we(r,L,E.hash);if(!a)return;if(n==="_parent"||n==="_top"){if(window.parent!==window)return}else if(n&&n!=="_self")return;const i=ae(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;const[f,l]=(E.hash?a.hash.replace(/^#/,""):a.href).split("#"),h=f===me(location);if(o||i.reload&&(!h||!l)){lt({url:a,type:"link",event:t})?Z=!0:t.preventDefault();return}if(l!==void 0&&h){const[,d]=w.url.href.split("#");if(d===l){if(t.preventDefault(),l===""||l==="top"&&r.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=r.ownerDocument.getElementById(decodeURIComponent(l));u&&(u.scrollIntoView(),u.focus())}return}if(G=!0,Le(S),e(a),!i.replace_state)return;G=!1}t.preventDefault(),await new Promise(d=>{requestAnimationFrame(()=>{setTimeout(d,0)}),setTimeout(d,100)}),await V({type:"link",url:a,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??a.href===location.href,event:t})}),U.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if((a?.formTarget||r.target)==="_blank"||(a?.formMethod||r.method)!=="get")return;const s=new URL(a?.hasAttribute("formaction")&&a?.formAction||r.action);if(Se(s,L,!1))return;const i=t.target,c=ae(i);if(c.reload)return;t.preventDefault(),t.stopPropagation();const f=new FormData(i,a);s.search=new URLSearchParams(f).toString(),V({type:"form",url:s,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!ke){if(t.state?.[$]){const r=t.state[$];if(O={},r===S)return;const a=D[r],o=t.state[Ge]??{},n=new URL(t.state[_t]??location.href),s=t.state[W],i=w.url?me(location)===me(w.url):!1;if(s===P&&(tt||i)){o!==j.state&&(j.state=o),e(n),D[S]=M(),a&&scrollTo(a.x,a.y),S=r;return}const f=r-S;await V({type:"popstate",url:n,popped:{state:o,scroll:a,delta:f},accept:()=>{S=r,P=s},block:()=>{history.go(-f)},nav_token:O,event:t})}else if(!G){const r=new URL(location.href);e(r),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{G&&(G=!1,history.replaceState({...history.state,[$]:++S,[W]:P},"",location.href))});for(const t of document.querySelectorAll("link"))sr.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&x.navigating.set(ye.current=null)});function e(t){w.url=j.url=t,x.page.set(De(j)),x.page.notify()}}async function yr(e,{status:t=200,error:r,node_ids:a,params:o,route:n,server_route:s,data:i,form:c}){Ue=!0;const f=new URL(location.href);let l;({params:o={},route:n={id:null}}=await he(f,!1)||{}),l=Te.find(({id:u})=>u===n.id);let h,d=!0;try{const u=a.map(async(g,m)=>{const _=i[m];return _?.uses&&(_.uses=dt(_.uses)),Oe({loader:E.nodes[g],url:f,params:o,route:n,parent:async()=>{const I={};for(let y=0;y<m;y+=1)Object.assign(I,(await u[y]).data);return I},server_data_node:Ne(_)})}),p=await Promise.all(u);if(l){const g=l.layouts;for(let m=0;m<g.length;m++)g[m]||p.splice(m,0,void 0)}h=await fe({url:f,params:o,branch:p,status:t,error:r,errors:l?.errors,form:c,route:l??null})}catch(u){if(u instanceof Re)return await q(new URL(u.location,location.href));h=await de({status:ne(u),error:await B(u,{url:f,params:o,route:n}),url:f,route:n}),e.textContent="",d=!1}h&&(h.props.page&&(h.props.page.state={}),await st(h,e,d))}async function ut(e,t){const r=new URL(e);r.pathname=rr(e.pathname),e.pathname.endsWith("/")&&r.searchParams.append(Zt,"1"),r.searchParams.append(Jt,t.map(n=>n?"1":"0").join(""));const a=window.fetch,o=await a(r.href,{});if(!o.ok){let n;throw o.headers.get("content-type")?.includes("application/json")?n=await o.json():o.status===404?n="Not Found":o.status===500&&(n="Internal Error"),new Q(o.status,n)}return new Promise((n,s)=>{wr(n,o).catch(s)})}async function wr(e,t){const r=t.body.getReader(),a=new Map;function o(n){return zt(n,{...E.decoders,Promise:s=>new Promise((i,c)=>{a.set(s,{fulfil:i,reject:c})})})}for await(const n of or(r)){if(n.type==="redirect")return e(n);if(n.type==="data")n.nodes?.forEach(s=>{s?.type==="data"&&(s.uses=dt(s.uses),s.data=o(s.data))}),e(n);else if(n.type==="chunk"){const{id:s,data:i,error:c}=n,f=a.get(s);a.delete(s),c?f.reject(o(c)):f.fulfil(o(i))}}}function dt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ke=!1;function vr(e,t=!0){const r=document.querySelector("[autofocus]");if(r)r.focus();else{const a=ht(e);if(a&&document.getElementById(a)){const{x:n,y:s}=M();setTimeout(()=>{const i=history.state;ke=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(i,"",e),t&&scrollTo(n,s),ke=!1})}else{const n=document.body,s=n.getAttribute("tabindex");n.tabIndex=-1,n.focus({preventScroll:!0,focusVisible:!1}),s!==null?n.setAttribute("tabindex",s):n.removeAttribute("tabindex")}const o=getSelection();if(o&&o.type!=="None"){const n=[];for(let s=0;s<o.rangeCount;s+=1)n.push(o.getRangeAt(s));setTimeout(()=>{if(o.rangeCount===n.length){for(let s=0;s<o.rangeCount;s+=1){const i=n[s],c=o.getRangeAt(s);if(i.commonAncestorContainer!==c.commonAncestorContainer||i.startContainer!==c.startContainer||i.endContainer!==c.endContainer||i.startOffset!==c.startOffset||i.endOffset!==c.endOffset)return}o.removeAllRanges()}})}}}function xe(e,t,r,a,o=null){let n,s;const i=new Promise((f,l)=>{n=f,s=l});return i.catch(N),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:M()},to:r&&{params:t?.params??null,route:{id:t?.route?.id??null},url:r,scroll:o},willUnload:!t,type:a,complete:i},fulfil:n,reject:s}}function De(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function br(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function ht(e){let t;if(E.hash){const[,,r]=e.hash.split("#",3);t=r??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Ar as a,Sr as g,x as s};
|
|
1
|
+
import{l as re,aP as pt,bB as mt}from"./ClrLAMfQ.js";import{H as $,N as W,r as ke,n as N,i as Se,b as L,s as M,a as ye,f as Ke,g as we,c as ae,d as me,S as Ge,P as _t,p as j,e as gt,m as yt,h as wt,o as Ie,u as Xe,j as vt,k as Ce,l as Y,q as bt,t as ze,v as Et,w as At,x as We}from"./DdHfbBhd.js";class Q{constructor(t,r){this.status=t,typeof r=="string"?this.body={message:r}:r?this.body=r:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Re{constructor(t,r){try{new Headers({location:r})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(r)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=r}}class Pe extends Error{constructor(t,r,a){super(a),this.status=t,this.text=r}}const kt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,St=/^\/\((?:[^)]+)\)$/;function It(e){const t=[];return{pattern:e==="/"||St.test(e)?/^\/$/:new RegExp(`^${Pt(e).map(a=>{const o=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(o)return t.push({name:o[1],matcher:o[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const n=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(n)return t.push({name:n[1],matcher:n[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((c,f)=>{if(f%2){if(c.startsWith("x+"))return _e(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return _e(String.fromCharCode(...c.slice(2).split("-").map(g=>parseInt(g,16))));const l=kt.exec(c),[,h,d,u,p]=l;return t.push({name:u,matcher:p,optional:!!h,rest:!!d,chained:d?f===1&&s[0]==="":!1}),d?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return _e(c)}).join("")}).join("")}/?$`),params:t}}function Rt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Pt(e){return e.slice(1).split("/").filter(Rt)}function Lt(e,t,r){const a={},o=e.slice(1),n=o.filter(i=>i!==void 0);let s=0;for(let i=0;i<t.length;i+=1){const c=t[i];let f=o[i-s];if(c.chained&&c.rest&&s&&(f=o.slice(i-s,i+1).filter(l=>l).join("/"),s=0),f===void 0)if(c.rest)f="";else continue;if(!c.matcher||r[c.matcher](f)){a[c.name]=f;const l=t[i+1],h=o[i+1];l&&!l.rest&&l.optional&&h&&c.chained&&(s=0),!l&&!h&&Object.keys(a).length===n.length&&(s=0);continue}if(c.optional&&c.chained){s++;continue}return}if(!s)return a}function _e(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Tt({nodes:e,server_loads:t,dictionary:r,matchers:a}){const o=new Set(t);return Object.entries(r).map(([i,[c,f,l]])=>{const{pattern:h,params:d}=It(i),u={id:i,exec:p=>{const g=h.exec(p);if(g)return Lt(g,d,a)},errors:[1,...l||[]].map(p=>e[p]),layouts:[0,...f||[]].map(s),leaf:n(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function n(i){const c=i<0;return c&&(i=~i),[c,e[i]]}function s(i){return i===void 0?i:[o.has(i),e[i]]}}function Je(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Be(e,t,r=JSON.stringify){const a=r(t);try{sessionStorage[e]=a}catch{}}const Ut=-1,jt=-2,Ot=-3,Nt=-4,xt=-5,Dt=-6,Ct=-7,Ze=2**32-1,ve=Ze-1;function Bt(e){return!(!Number.isInteger(e)||e<0||e>ve)}function Mt(e){return!(!Number.isInteger(e)||e<0||e>Ze)}function Ft(e){return Uint8Array.fromBase64(e).buffer}function $t(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function Vt(e){const t=atob(e),r=t.length,a=new Uint8Array(r);for(let o=0;o<r;o++)a[o]=t.charCodeAt(o);return a.buffer}const qt=typeof Uint8Array.fromBase64=="function",Ht=typeof process=="object"&&process.versions?.node!==void 0,Yt=qt?Ft:Ht?$t:Vt;function Kt(e,t){return e}const Gt={fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e==="URL"?new URL(t):e==="URLSearchParams"?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,r,a)=>{const o=globalThis[e];return r!==void 0?new o(t,r,a):new o(t)},box:e=>Object(e),createArray:e=>new Array(e),createSparseArray:e=>{const t=[];return t[ve]=void 0,delete t[ve],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,r)=>{e[t]=r},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,r)=>{e.set(t,r)}},Xt=Object.freeze(Gt);function zt(e,t,r){const a=Kt(Xt);if(typeof e=="number")return i(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const o=e,n=Array(o.length);let s=null;function i(c,f=!1){if(c===Ut)return a.fromPrimitive(void 0);if(c===Ot)return a.fromPrimitive(NaN);if(c===Nt)return a.fromPrimitive(1/0);if(c===xt)return a.fromPrimitive(-1/0);if(c===Dt)return a.fromPrimitive(-0);if(f||typeof c!="number")throw new Error("Invalid input");if(c in n)return n[c];const l=o[c];if(!l||typeof l!="object")n[c]=a.fromPrimitive(l);else if(Array.isArray(l))if(typeof l[0]=="string"){const h=l[0],d=t&&Object.hasOwn(t,h)?t[h]:void 0;if(d){let u=l[1];if(typeof u!="number"&&(u=o.push(l[1])-1),Object.hasOwn(n,u))return n[c]=d(n[u]);if(s??=new Set,s.has(u))throw new Error("Invalid circular reference");return s.add(u),n[c]=d(i(u)),s.delete(u),n[c]}switch(h){case"Date":n[c]=a.fromISOString(l[1]);break;case"Set":const u=a.createSet();n[c]=u;for(let m=1;m<l.length;m+=1)a.addValue(u,i(l[m]));break;case"Map":const p=a.createMap();n[c]=p;for(let m=1;m<l.length;m+=2)a.addEntry(p,i(l[m]),i(l[m+1]));break;case"RegExp":n[c]=a.fromRegExpInfo(l[1],l[2]);break;case"Object":{const m=l[1];if(typeof o[m]=="object"&&o[m][0]!=="BigInt")throw new Error("Invalid input");n[c]=a.box(i(m));break}case"BigInt":n[c]=a.fromPrimitive(BigInt(l[1]));break;case"null":const g=a.createNullPrototypeObject();n[c]=g;for(let m=1;m<l.length;m+=2){if(l[m]==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");a.set(g,l[m],i(l[m+1]))}break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Float16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":case"DataView":{if(o[l[1]][0]!=="ArrayBuffer")throw new Error("Invalid data");const m=i(l[1]);n[c]=a.fromViewInfo(h,m,l[2],l[3]);break}case"ArrayBuffer":{const m=l[1];if(typeof m!="string")throw new Error("Invalid ArrayBuffer encoding");n[c]=a.fromArrayBuffer(Yt(m));break}case"URL":case"URLSearchParams":case"Temporal.Duration":case"Temporal.Instant":case"Temporal.PlainDate":case"Temporal.PlainTime":case"Temporal.PlainDateTime":case"Temporal.PlainMonthDay":case"Temporal.PlainYearMonth":case"Temporal.ZonedDateTime":{n[c]=a.fromStringValue(h,l[1]);break}default:throw new Error(`Unknown type ${h}`)}}else if(l[0]===Ct){const h=l[1];if(!Mt(h))throw new Error("Invalid input");const d=a.createSparseArray(h);n[c]=d;for(let u=2;u<l.length;u+=2){const p=l[u];if(!Bt(p)||p>=h)throw new Error("Invalid input");a.set(d,p,i(l[u+1]))}}else{const h=a.createArray(l.length);n[c]=h;for(let d=0;d<l.length;d+=1){const u=l[d];u!==jt&&a.set(h,d,i(u))}}else{const h=a.createObject();n[c]=h;for(const d of Object.keys(l)){if(d==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");a.set(h,d,i(l[d]))}}return n[c]}return i(0)}function Wt(e){return e.filter(t=>t!=null)}const Jt="x-sveltekit-invalidated",Zt="x-sveltekit-trailing-slash";function ee(e,t){return e+"/"+t}function ne(e){return e instanceof Q||e instanceof Pe?e.status:500}function Qt(e){return e instanceof Pe?e.text:"Internal Error"}const er="/__data.json",tr=".html__data.json";function rr(e){return e.endsWith(".html")?e.replace(/\.html$/,tr):e.replace(/\/$/,"")+er}const Me={spanContext(){return ar},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},ar={traceId:"",spanId:"",traceFlags:0};async function*nr(e,t){let r=!1,a="";const o=new TextDecoder;for(;;){let n=a.indexOf(t);for(;n!==-1;)yield a.slice(0,n),a=a.slice(n+t.length),n=a.indexOf(t);if(r){a&&(yield a);return}const s=await e.read();r=s.done,s.value&&(a+=o.decode(s.value,{stream:!0})),r&&(a+=o.decode())}}async function*or(e){for await(const t of nr(e,`
|
|
2
|
+
`)){const r=t.trim();r&&(yield JSON.parse(r))}}const sr=new Set(["icon","shortcut icon","apple-touch-icon"]);let K=null;const D=Je(We)??{},J=Je(ze)??{},x={url:Ce({}),page:Ce({}),navigating:pt(null),updated:vt()};function Le(e){D[e]=M()}function ir(e,t){let r=e+1;for(;D[r];)delete D[r],r+=1;for(r=t+1;J[r];)delete J[r],r+=1}function q(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(N)}async function Qe(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}let Te,be,oe,U,Ee,E;const se=[],ie=[];let R=null;function ce(){R?.fork?.then(e=>e?.discard()),R=null,F={element:void 0,href:void 0}}const te=new Map,et=new Set,cr=new Set,X=new Set;let w={branch:[],error:null,url:null},Ue=!1,le=!1,Fe=!0,Z=!1,G=!1,tt=!1,je=!1,rt,S,P,O;const z=new Set,$e=new Map,Ve=new Map;async function kr(e,t,r){if(globalThis.__sveltekit_611v4u.data){const{q:n={},p:s={},l:i={},f:c={}}=globalThis.__sveltekit_611v4u.data;for(const f in n)n[f];for(const f in i)i[f];for(const f in c)c[f];for(const f in s)s[f]}document.URL!==location.href&&(location.href=location.href),E=e,await e.hooks.init?.(),Te=Tt(e),U=document.documentElement,Ee=t,be=e.nodes[0],oe=e.nodes[1],be(),oe(),S=history.state?.[$],P=history.state?.[W],S||(S=P=Date.now(),history.replaceState({...history.state,[$]:S,[W]:P},""));const a=D[S];function o(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}r?(o(),await yr(Ee,r)):(await V({type:"enter",url:ke(E.hash?br(new URL(location.href)):location.href),replace_state:!0}),o()),gr()}function lr(){se.length=0,je=!1}function at(e){ie.some(t=>t?.snapshot)&&(J[e]=ie.map(t=>t?.snapshot?.capture()))}function nt(e){J[e]?.forEach((t,r)=>{ie[r]?.snapshot?.restore(t)})}function qe(){Le(S),Be(We,D),at(P),Be(ze,J)}async function ot(e,t,r,a){let o,n;t.invalidateAll&&ce(),await V({type:"goto",url:ke(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:r,nav_token:a,accept:()=>{if(t.invalidateAll){je=!0,o=new Set;for(const[s,i]of $e)for(const[c,f]of i)f.resource?.reset(),o.add(ee(s,c));n=new Set;for(const[s,i]of Ve)for(const c of i.keys())n.add(ee(s,c))}t.invalidate&&t.invalidate.forEach(_r)}}),t.invalidateAll&&re().then(re).then(()=>{for(const[s,i]of $e)for(const[c,{resource:f}]of i)o?.has(ee(s,c))&&f.start();for(const[s,i]of Ve)for(const[c,{resource:f}]of i)n?.has(ee(s,c))&&f.reconnect()})}async function fr(e){if(e.id!==R?.id){ce();const t={};z.add(t),R={id:e.id,token:t,promise:ct({...e,preload:t}).then(r=>(z.delete(t),r.type==="loaded"&&r.state.error&&ce(),r)),fork:null}}return R.promise}async function ge(e){const t=(await he(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(r=>r[1]()))}async function st(e,t,r){const a={params:w.params,route:{id:w.route?.id??null},url:new URL(location.href)};if(w={...e.state,nav:a},Xe(e.props.page),rt=new E.root({target:t,props:{...e.props,stores:x,components:ie},hydrate:r,sync:!1,transformError:void 0}),await Promise.resolve(),r){const o={from:null,to:{...a,scroll:D[S]??M()},willUnload:!1,type:"enter",complete:Promise.resolve()};X.forEach(n=>n(o))}nt(P),le=!0}async function fe({url:e,params:t,branch:r,errors:a,status:o,error:n,route:s,form:i}){let c="never";if(L&&(e.pathname===L||e.pathname===L+"/"))c="always";else for(const p of r)p?.slash!==void 0&&(c=p.slash);e.pathname=wt(e.pathname,c),e.search=e.search;const f={type:"loaded",state:{url:e,params:t,branch:r,error:n,route:s},props:{constructors:Wt(r).map(p=>p.node.component),page:De(j)}};i!==void 0&&(f.props.form=i);let l={},h=!j,d=0;for(let p=0;p<Math.max(r.length,w.branch.length);p+=1){const g=r[p],m=w.branch[p];g?.data!==m?.data&&(h=!0),g&&(l={...l,...g.data},h&&(f.props[`data_${d}`]=l),d+=1)}return(!w.url||e.href!==w.url.href||w.error!==n||i!==void 0&&i!==j.form||h)&&(f.props.page={error:n,params:t,route:{id:s?.id??null},state:{},status:o,url:new URL(e),form:i??null,data:h?l:j.data}),f}async function Oe({loader:e,parent:t,url:r,params:a,route:o,server_data_node:n}){let s=null,i=!0;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},f=await e();if(f.universal?.load){let l=function(...d){for(const u of d){const{href:p}=new URL(u,r);c.dependencies.add(p)}};const h={tracing:{enabled:!1,root:Me,current:Me},route:new Proxy(o,{get:(d,u)=>(i&&(c.route=!0),d[u])}),params:new Proxy(a,{get:(d,u)=>(i&&c.params.add(u),d[u])}),data:n?.data??null,url:yt(r,()=>{i&&(c.url=!0)},d=>{i&&c.search_params.add(d)},E.hash),async fetch(d,u){d instanceof Request&&(u={body:d.method==="GET"||d.method==="HEAD"?void 0:await d.blob(),cache:d.cache,credentials:d.credentials,headers:[...d.headers].length>0?d?.headers:void 0,integrity:d.integrity,keepalive:d.keepalive,method:d.method,mode:d.mode,redirect:d.redirect,referrer:d.referrer,referrerPolicy:d.referrerPolicy,signal:d.signal,...u});const{resolved:p,promise:g}=it(d,u,r);return i&&l(p.href),g},setHeaders:N,depends:l,parent(){return i&&(c.parent=!0),t()},untrack(d){i=!1;try{return d()}finally{i=!0}}};s=await f.universal.load.call(null,h)??null}return{node:f,loader:e,server:n,universal:f.universal?.load?{type:"data",data:s,uses:c}:null,data:s??n?.data??null,slash:f.universal?.trailingSlash??n?.slash}}function it(e,t,r){let a=e instanceof Request?e.url:e;const o=new URL(a,r);o.origin===r.origin&&(a=o.href.slice(r.origin.length));const n=le?Et(a,o.href,t):At(a,t);return{resolved:o,promise:n}}function He(e,t,r,a,o,n){if(je)return!0;if(!o)return!1;if(o.parent&&e||o.route&&t||o.url&&r)return!0;for(const s of o.search_params)if(a.has(s))return!0;for(const s of o.params)if(n[s]!==w.params[s])return!0;for(const s of o.dependencies)if(se.some(i=>i(new URL(s))))return!0;return!1}function Ne(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function ur(e,t){if(!e)return new Set(t.searchParams.keys());const r=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of r){const o=e.searchParams.getAll(a),n=t.searchParams.getAll(a);o.every(s=>n.includes(s))&&n.every(s=>o.includes(s))&&r.delete(a)}return r}function Ye({error:e,url:t,route:r,params:a}){return{type:"loaded",state:{error:e,url:t,route:r,params:a,branch:[]},props:{page:De(j),constructors:[]}}}async function ct({id:e,invalidating:t,url:r,params:a,route:o,preload:n}){if(R?.id===e)return z.delete(R.token),R.promise;const{errors:s,layouts:i,leaf:c}=o,f=[...i,c];s.forEach(y=>y?.().catch(N)),f.forEach(y=>y?.[1]().catch(N));let l=null;const h=w.url?e!==ue(w.url):!1,d=w.route?o.id!==w.route.id:!1,u=ur(w.url,r);let p=!1;{const y=f.map((v,A)=>{const k=w.branch[A],b=!!v?.[0]&&(k?.loader!==v[1]||He(p,d,h,u,k.server?.uses,a));return b&&(p=!0),b});if(y.some(Boolean)){try{l=await ut(r,y)}catch(v){const A=await B(v,{url:r,params:a,route:{id:e}});return n&&z.has(n)?Ye({error:A,url:r,params:a,route:o}):de({status:ne(v),error:A,url:r,route:o})}if(l.type==="redirect")return l}}const g=l?.nodes;let m=!1;const _=f.map(async(y,v)=>{if(!y)return;const A=w.branch[v],k=g?.[v];if((!k||k.type==="skip")&&y[1]===A?.loader&&!He(m,d,h,u,A.universal?.uses,a))return A;if(m=!0,k?.type==="error")throw k;return Oe({loader:y[1],url:r,params:a,route:o,parent:async()=>{const T={};for(let C=0;C<v;C+=1)Object.assign(T,(await _[C])?.data);return T},server_data_node:Ne(k===void 0&&y[0]?{type:"skip"}:k??null,y[0]?A?.server:void 0)})});for(const y of _)y.catch(N);const I=[];for(let y=0;y<f.length;y+=1)if(f[y])try{I.push(await _[y])}catch(v){if(v instanceof Re)return{type:"redirect",location:v.location};if(n&&z.has(n))return Ye({error:await B(v,{params:a,url:r,route:{id:o.id}}),url:r,params:a,route:o});let A=ne(v),k;if(g?.includes(v))A=v.status??A,k=v.error;else if(v instanceof Q)k=v.body;else{if(await x.updated.check())return await Qe(),await q(r);k=await B(v,{params:a,url:r,route:{id:o.id}})}const b=await dr(y,I,s);return b?fe({url:r,params:a,branch:I.slice(0,b.idx).concat(b.node),errors:s,status:A,error:k,route:o}):await ft(r,{id:o.id},k,A)}else I.push(void 0);return fe({url:r,params:a,branch:I,errors:s,status:200,error:null,route:o,form:t?void 0:null})}async function dr(e,t,r){for(;e--;)if(r[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await r[e](),loader:r[e],data:{},server:null,universal:null}}}catch{continue}}}async function de({status:e,error:t,url:r,route:a}){const o={};let n=null;if(E.server_loads[0]===0)try{const i=await ut(r,[!0]);if(i.type!=="data"||i.nodes[0]&&i.nodes[0].type!=="data")throw 0;n=i.nodes[0]??null}catch(i){if(!(i instanceof Q&&i.status===404)&&(r.origin!==Ie||r.pathname!==location.pathname||Ue))return await q(r)}try{const s=await Oe({loader:be,url:r,params:o,route:a,parent:()=>Promise.resolve({}),server_data_node:Ne(n)}),i={node:await oe(),loader:oe,universal:null,server:null,data:null};return fe({url:r,params:o,branch:[s,i],status:e,error:t,errors:[],route:null})}catch(s){if(s instanceof Re){await ot(new URL(s.location,location.href),{},0);return}const i=await E.get_error_template(),c=await B(s,{url:r,params:o,route:a}),f=String(c?.message??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),l=i({status:e,message:f}),h=new DOMParser().parseFromString(l,"text/html");throw document.documentElement.replaceChild(document.adoptNode(h.head),document.head),document.documentElement.replaceChild(document.adoptNode(h.body),document.body),s}}async function hr(e){const t=e.href;if(te.has(t))return te.get(t);let r;try{const a=(async()=>{let o=await E.hooks.reroute({url:new URL(e),fetch:async(n,s)=>it(n,s,e).promise})??e;if(typeof o=="string"){const n=new URL(e);E.hash?n.hash=o:n.pathname=o,o=n}return o})();te.set(t,a),r=await a}catch{te.delete(t);return}return r}async function he(e,t){if(e&&!Se(e,L,E.hash)){const r=await hr(e);if(!r)return;const a=pr(r);for(const o of Te){const n=o.exec(a);if(n)return{id:ue(e),invalidating:t,route:o,params:gt(n),url:e}}}}function pr(e){return bt(E.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function ue(e){return(E.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function lt({url:e,type:t,intent:r,delta:a,event:o,scroll:n}){let s=!1;const i=xe(w,r,e,t,n??null);a!==void 0&&(i.navigation.delta=a),o!==void 0&&(i.navigation.event=o);const c={...i.navigation,cancel:()=>{s=!0,i.reject(new Error("navigation cancelled"))}};return Z||et.forEach(f=>f(c)),s?null:i}async function V({type:e,url:t,popped:r,keepfocus:a,noscroll:o,replace_state:n,state:s={},redirect_count:i=0,nav_token:c={},accept:f=N,block:l=N,event:h}){const d=O;O=c;const u=await he(t,!1),p=e==="enter"?xe(w,u,t,e):lt({url:t,type:e,delta:r?.delta,intent:u,scroll:r?.scroll,event:h});if(!p){l(),O===c&&(O=d);return}const g=S,m=P;f(),Z=!0,le&&p.navigation.type!=="enter"&&x.navigating.set(ye.current=p.navigation);let _=u&&await ct(u);if(!_){if(Se(t,L,E.hash))return await q(t,n);_=await ft(t,{id:null},await B(new Pe(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,n)}if(t=u?.url||t,O!==c){p.reject(new Error("navigation aborted"));return}if(!_)return;if(_.type==="redirect"){if(i<20){await V({type:e,url:new URL(_.location,t),popped:r,keepfocus:a,noscroll:o,replace_state:n,state:s,redirect_count:i+1,nav_token:c}),p.fulfil(void 0);return}if(_=await de({status:500,error:await B(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!_)return}else if(_.props.page.status>=400&&await x.updated.check())return await Qe(),await q(t,n);if(lr(),Le(g),at(m),_.props.page.url.pathname!==t.pathname&&(t.pathname=_.props.page.url.pathname),s=r?r.state:s,!r){const b=n?0:1,T={[$]:S+=b,[W]:P+=b,[Ge]:s};(n?history.replaceState:history.pushState).call(history,T,"",t),n||ir(S,P)}const I=u&&R?.id===u.id?R.fork:null;R?.fork&&!I?ce():(R=null,F={element:void 0,href:void 0}),_.props.page.state=s;let y;if(le){const b=(await Promise.all(Array.from(cr,H=>H(p.navigation)))).filter(H=>typeof H=="function");if(b.length>0){let H=function(){b.forEach(pe=>{X.delete(pe)})};b.push(H),b.forEach(pe=>{X.add(pe)})}const T=p.navigation.to;w={..._.state,nav:{params:T.params,route:T.route,url:T.url}},_.props.page&&(_.props.page.url=t),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const C=I&&await I;C?y=C.commit():(K=null,rt.$set(_.props),K&&Object.assign(_.props.page,K),Xe(_.props.page),y=mt?.()),tt=!0}else await st(_,Ee,!1);const{activeElement:v}=document;if(await y,await re(),await re(),O!==c){p.reject(new Error("navigation aborted"));return}_.props.page&&K&&Object.assign(_.props.page,K);let A=null;if(Fe){const b=r?r.scroll:o?M():null;b?scrollTo(b.x,b.y):(A=t.hash&&document.getElementById(ht(t)))?A.scrollIntoView():scrollTo(0,0)}const k=document.activeElement!==v&&document.activeElement!==document.body;!a&&!k&&vr(t,!A),Fe=!0,Z=!1,p.fulfil(void 0),p.navigation.to&&(p.navigation.to.scroll=M()),X.forEach(b=>b(p.navigation)),e==="popstate"&&nt(P),x.navigating.set(ye.current=null)}async function ft(e,t,r,a,o){return e.origin===Ie&&e.pathname===location.pathname&&!Ue?await de({status:a,error:r,url:e,route:t}):await q(e,o)}let F={element:void 0,href:void 0};function mr(){let e,t;U.addEventListener("mousemove",s=>{const i=s.target;clearTimeout(e),e=setTimeout(()=>{o(i,Y.hover)},20)});function r(s){s.defaultPrevented||o(s.composedPath()[0],Y.tap)}U.addEventListener("mousedown",r),U.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(s=>{for(const i of s)i.isIntersecting&&(ge(new URL(i.target.href)),a.unobserve(i.target))},{threshold:0});async function o(s,i){const c=Ke(s,U),f=c===F.element&&c?.href===F.href&&i>=t;if(!c||f)return;const{url:l,external:h,download:d}=we(c,L,E.hash);if(h||d)return;const u=ae(c),p=l&&ue(w.url)===ue(l);if(!(u.reload||p))if(i<=u.preload_data){F={element:c,href:c.href},t=Y.tap;const g=await he(l,!1);if(!g)return;fr(g)}else i<=u.preload_code&&(F={element:c,href:c.href},t=i,ge(l))}function n(){a.disconnect();for(const s of U.querySelectorAll("a")){const{url:i,external:c,download:f}=we(s,L,E.hash);if(c||f)continue;const l=ae(s);l.reload||(l.preload_code===Y.viewport&&a.observe(s),l.preload_code===Y.eager&&ge(i))}}X.add(n),n()}function B(e,t){if(e instanceof Q)return e.body;const r=ne(e),a=Qt(e);return E.hooks.handleError({error:e,event:t,status:r,message:a})??{message:a}}function Sr(e,t={}){return e=new URL(ke(e)),e.origin!==Ie?Promise.reject(new Error("goto: invalid URL")):ot(e,t,0)}function _r(e){if(typeof e=="function")se.push(e);else{const{href:t}=new URL(e,location.href);se.push(r=>r.href===t)}}function gr(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(qe(),!Z){const a=xe(w,void 0,null,"leave"),o={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};et.forEach(n=>n(o))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&qe()}),navigator.connection?.saveData||mr(),U.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Ke(t.composedPath()[0],U);if(!r)return;const{url:a,external:o,target:n,download:s}=we(r,L,E.hash);if(!a)return;if(n==="_parent"||n==="_top"){if(window.parent!==window)return}else if(n&&n!=="_self")return;const i=ae(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;const[f,l]=(E.hash?a.hash.replace(/^#/,""):a.href).split("#"),h=f===me(location);if(o||i.reload&&(!h||!l)){lt({url:a,type:"link",event:t})?Z=!0:t.preventDefault();return}if(l!==void 0&&h){const[,d]=w.url.href.split("#");if(d===l){if(t.preventDefault(),l===""||l==="top"&&r.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=r.ownerDocument.getElementById(decodeURIComponent(l));u&&(u.scrollIntoView(),u.focus())}return}if(G=!0,Le(S),e(a),!i.replace_state)return;G=!1}t.preventDefault(),await new Promise(d=>{requestAnimationFrame(()=>{setTimeout(d,0)}),setTimeout(d,100)}),await V({type:"link",url:a,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??a.href===location.href,event:t})}),U.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if((a?.formTarget||r.target)==="_blank"||(a?.formMethod||r.method)!=="get")return;const s=new URL(a?.hasAttribute("formaction")&&a?.formAction||r.action);if(Se(s,L,!1))return;const i=t.target,c=ae(i);if(c.reload)return;t.preventDefault(),t.stopPropagation();const f=new FormData(i,a);s.search=new URLSearchParams(f).toString(),V({type:"form",url:s,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!Ae){if(t.state?.[$]){const r=t.state[$];if(O={},r===S)return;const a=D[r],o=t.state[Ge]??{},n=new URL(t.state[_t]??location.href),s=t.state[W],i=w.url?me(location)===me(w.url):!1;if(s===P&&(tt||i)){o!==j.state&&(j.state=o),e(n),D[S]=M(),a&&scrollTo(a.x,a.y),S=r;return}const f=r-S;await V({type:"popstate",url:n,popped:{state:o,scroll:a,delta:f},accept:()=>{S=r,P=s},block:()=>{history.go(-f)},nav_token:O,event:t})}else if(!G){const r=new URL(location.href);e(r),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{G&&(G=!1,history.replaceState({...history.state,[$]:++S,[W]:P},"",location.href))});for(const t of document.querySelectorAll("link"))sr.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&x.navigating.set(ye.current=null)});function e(t){w.url=j.url=t,x.page.set(De(j)),x.page.notify()}}async function yr(e,{status:t=200,error:r,node_ids:a,params:o,route:n,server_route:s,data:i,form:c}){Ue=!0;const f=new URL(location.href);let l;({params:o={},route:n={id:null}}=await he(f,!1)||{}),l=Te.find(({id:u})=>u===n.id);let h,d=!0;try{const u=a.map(async(g,m)=>{const _=i[m];return _?.uses&&(_.uses=dt(_.uses)),Oe({loader:E.nodes[g],url:f,params:o,route:n,parent:async()=>{const I={};for(let y=0;y<m;y+=1)Object.assign(I,(await u[y]).data);return I},server_data_node:Ne(_)})}),p=await Promise.all(u);if(l){const g=l.layouts;for(let m=0;m<g.length;m++)g[m]||p.splice(m,0,void 0)}h=await fe({url:f,params:o,branch:p,status:t,error:r,errors:l?.errors,form:c,route:l??null})}catch(u){if(u instanceof Re)return await q(new URL(u.location,location.href));h=await de({status:ne(u),error:await B(u,{url:f,params:o,route:n}),url:f,route:n}),e.textContent="",d=!1}h&&(h.props.page&&(h.props.page.state={}),await st(h,e,d))}async function ut(e,t){const r=new URL(e);r.pathname=rr(e.pathname),e.pathname.endsWith("/")&&r.searchParams.append(Zt,"1"),r.searchParams.append(Jt,t.map(n=>n?"1":"0").join(""));const a=window.fetch,o=await a(r.href,{});if(!o.ok){let n;throw o.headers.get("content-type")?.includes("application/json")?n=await o.json():o.status===404?n="Not Found":o.status===500&&(n="Internal Error"),new Q(o.status,n)}return new Promise((n,s)=>{wr(n,o).catch(s)})}async function wr(e,t){const r=t.body.getReader(),a=new Map;function o(n){return zt(n,{...E.decoders,Promise:s=>new Promise((i,c)=>{a.set(s,{fulfil:i,reject:c})})})}for await(const n of or(r)){if(n.type==="redirect")return e(n);if(n.type==="data")n.nodes?.forEach(s=>{s?.type==="data"&&(s.uses=dt(s.uses),s.data=o(s.data))}),e(n);else if(n.type==="chunk"){const{id:s,data:i,error:c}=n,f=a.get(s);a.delete(s),c?f.reject(o(c)):f.fulfil(o(i))}}}function dt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let Ae=!1;function vr(e,t=!0){const r=document.querySelector("[autofocus]");if(r)r.focus();else{const a=ht(e);if(a&&document.getElementById(a)){const{x:n,y:s}=M();setTimeout(()=>{const i=history.state;Ae=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(i,"",e),t&&scrollTo(n,s),Ae=!1})}else{const n=document.body,s=n.getAttribute("tabindex");n.tabIndex=-1,n.focus({preventScroll:!0,focusVisible:!1}),s!==null?n.setAttribute("tabindex",s):n.removeAttribute("tabindex")}const o=getSelection();if(o&&o.type!=="None"){const n=[];for(let s=0;s<o.rangeCount;s+=1)n.push(o.getRangeAt(s));setTimeout(()=>{if(o.rangeCount===n.length){for(let s=0;s<o.rangeCount;s+=1){const i=n[s],c=o.getRangeAt(s);if(i.commonAncestorContainer!==c.commonAncestorContainer||i.startContainer!==c.startContainer||i.endContainer!==c.endContainer||i.startOffset!==c.startOffset||i.endOffset!==c.endOffset)return}o.removeAllRanges()}})}}}function xe(e,t,r,a,o=null){let n,s;const i=new Promise((f,l)=>{n=f,s=l});return i.catch(N),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:M()},to:r&&{params:t?.params??null,route:{id:t?.route?.id??null},url:r,scroll:o},willUnload:!t,type:a,complete:i},fulfil:n,reject:s}}function De(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function br(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function ht(e){let t;if(E.hash){const[,,r]=e.hash.split("#",3);t=r??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{kr as a,Sr as g,x as s};
|