@deepseek-insight/dsi 0.11.0 → 0.11.1
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/README.md +45 -1
- package/bin/dsi-chassis.mjs +371 -0
- package/bin/dsi.mjs +22 -5
- package/build/client/_app/immutable/chunks/CgYTrsc7.js +2 -0
- package/build/client/_app/immutable/chunks/DAVs74W8.js +1 -0
- package/build/client/_app/immutable/chunks/{e-3PBXxJ.js → DxK-AwFF.js} +1 -1
- package/build/client/_app/immutable/chunks/EyZgnsOk.js +1 -0
- package/build/client/_app/immutable/entry/{app.ezxtVZch.js → app.BrbZICAs.js} +2 -2
- package/build/client/_app/immutable/entry/start.D0ra5p5U.js +1 -0
- package/build/client/_app/immutable/nodes/{1.CGppLUrN.js → 1.BpeytF2X.js} +1 -1
- package/build/client/_app/immutable/nodes/{2.9BE7-E5x.js → 2.BeOldRUA.js} +3 -3
- package/build/client/_app/version.json +1 -1
- package/build/handler.js +4 -4
- package/build/index.js +4 -4
- package/build/server/chunks/chunks/{internal2.js-Cu5N8_4R.js → internal2.js-BmeTE2qk.js} +2 -2
- package/build/server/chunks/chunks/{registry.js-Bwc2MNSZ.js → registry.js-Cnmd1vW3.js} +194 -19
- package/build/server/chunks/chunks/{state.js-CRPhnJJH.js → state.js-D-A2xekV.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/activate/{_server.ts.js-BxfB-QXT.js → _server.ts.js-DlbbO3RF.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/close/{_server.ts.js-DT6rU-EU.js → _server.ts.js-B85bLw4w.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/closetab/{_server.ts.js-Cwu4C98Y.js → _server.ts.js-Dt5Bxv2-.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/element/{_server.ts.js-B55tx3-S.js → _server.ts.js-uJ5BnGUA.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/history/{_server.ts.js-D2ft7u0s.js → _server.ts.js-CVCoWk2n.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/input/{_server.ts.js-BO1uO6i3.js → _server.ts.js-CmhQ7zGO.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/mcp/{_server.ts.js-zOccgfJZ.js → _server.ts.js-CFtpmSCd.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/navigate/{_server.ts.js-DgyR0sLf.js → _server.ts.js-BH8MNt9W.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/opentab/{_server.ts.js-CPCIL2MG.js → _server.ts.js-uIrK0T8h.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/page/{_server.ts.js-Cjvr5nEt.js → _server.ts.js-Bg5yHS9F.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/stream/{_server.ts.js-Bb3DkB-H.js → _server.ts.js-DG6xvUsm.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/tabs/{_server.ts.js-DVcq1pYf.js → _server.ts.js-RiXP45mV.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/viewport/{_server.ts.js-D1xgkwTO.js → _server.ts.js-w9MNQddQ.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/_id_/zoom/{_server.ts.js-DFo94fTq.js → _server.ts.js-BoXDoshV.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/browser/{_server.ts.js-0Gye8oLN.js → _server.ts.js-pQmJm_Io.js} +2 -2
- package/build/server/chunks/entries/pages/{_error.svelte.js-CJ9RHd_3.js → _error.svelte.js-CL7qPUQ1.js} +3 -3
- package/build/server/chunks/entries/pages/{_page.svelte.js-DlLAziUY.js → _page.svelte.js-nXReJwZQ.js} +4 -4
- package/build/server/chunks/{handler-BRlzTcii.js → handler-DiVCAgmr.js} +3 -3
- package/build/server/chunks/{index.js-D2umW-Cg.js → index.js-DW6Zd84U.js} +2 -2
- package/build/server/chunks/{manifest.js-CaT4HRXz.js → manifest.js-DXLiUOif.js} +19 -19
- package/build/server/chunks/nodes/1.js-BX_MW_nG.js +9 -0
- package/build/server/chunks/nodes/{2.js-CF_m1q-z.js → 2.js-darOh5z6.js} +3 -3
- package/package.json +1 -1
- package/skills/dsi-host-drive/SKILL.md +96 -0
- package/template/.dsi/prompts.sqlite-shm +0 -0
- package/build/client/_app/immutable/chunks/Dj8AK3pr.js +0 -1
- package/build/client/_app/immutable/chunks/UPlr67N1.js +0 -2
- package/build/client/_app/immutable/chunks/WySTHi46.js +0 -1
- package/build/client/_app/immutable/entry/start.DdPLwPDt.js +0 -1
- package/build/server/chunks/nodes/1.js-cXTCbvze.js +0 -9
|
@@ -10,11 +10,11 @@ return {
|
|
|
10
10
|
assets: new Set(["favicon.svg"]),
|
|
11
11
|
mimeTypes: {".svg":"image/svg+xml"},
|
|
12
12
|
_: {
|
|
13
|
-
client: {start:"_app/immutable/entry/start.
|
|
13
|
+
client: {start:"_app/immutable/entry/start.D0ra5p5U.js",app:"_app/immutable/entry/app.BrbZICAs.js",imports:["_app/immutable/entry/start.D0ra5p5U.js","_app/immutable/chunks/CgYTrsc7.js","_app/immutable/chunks/0Tfhif1V.js","_app/immutable/entry/app.BrbZICAs.js","_app/immutable/chunks/0Tfhif1V.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
14
|
nodes: [
|
|
15
15
|
__memo(() => import('./nodes/0.js-B8ciwPSu.js')),
|
|
16
|
-
__memo(() => import('./nodes/1.js-
|
|
17
|
-
__memo(() => import('./nodes/2.js-
|
|
16
|
+
__memo(() => import('./nodes/1.js-BX_MW_nG.js')),
|
|
17
|
+
__memo(() => import('./nodes/2.js-darOh5z6.js'))
|
|
18
18
|
],
|
|
19
19
|
remotes: {
|
|
20
20
|
|
|
@@ -53,105 +53,105 @@ return {
|
|
|
53
53
|
pattern: /^\/api\/browser\/?$/,
|
|
54
54
|
params: [],
|
|
55
55
|
page: null,
|
|
56
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_server.ts.js-
|
|
56
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_server.ts.js-pQmJm_Io.js'))
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
id: "/api/browser/[id]/activate",
|
|
60
60
|
pattern: /^\/api\/browser\/([^/]+?)\/activate\/?$/,
|
|
61
61
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
62
62
|
page: null,
|
|
63
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/activate/_server.ts.js-
|
|
63
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/activate/_server.ts.js-DlbbO3RF.js'))
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
id: "/api/browser/[id]/closetab",
|
|
67
67
|
pattern: /^\/api\/browser\/([^/]+?)\/closetab\/?$/,
|
|
68
68
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
69
69
|
page: null,
|
|
70
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/closetab/_server.ts.js-
|
|
70
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/closetab/_server.ts.js-Dt5Bxv2-.js'))
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
73
|
id: "/api/browser/[id]/close",
|
|
74
74
|
pattern: /^\/api\/browser\/([^/]+?)\/close\/?$/,
|
|
75
75
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
76
76
|
page: null,
|
|
77
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/close/_server.ts.js-
|
|
77
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/close/_server.ts.js-B85bLw4w.js'))
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
80
|
id: "/api/browser/[id]/element",
|
|
81
81
|
pattern: /^\/api\/browser\/([^/]+?)\/element\/?$/,
|
|
82
82
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
83
83
|
page: null,
|
|
84
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/element/_server.ts.js-
|
|
84
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/element/_server.ts.js-uJ5BnGUA.js'))
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
87
|
id: "/api/browser/[id]/history",
|
|
88
88
|
pattern: /^\/api\/browser\/([^/]+?)\/history\/?$/,
|
|
89
89
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
90
90
|
page: null,
|
|
91
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/history/_server.ts.js-
|
|
91
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/history/_server.ts.js-CVCoWk2n.js'))
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
id: "/api/browser/[id]/input",
|
|
95
95
|
pattern: /^\/api\/browser\/([^/]+?)\/input\/?$/,
|
|
96
96
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
97
97
|
page: null,
|
|
98
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/input/_server.ts.js-
|
|
98
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/input/_server.ts.js-CmhQ7zGO.js'))
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
101
|
id: "/api/browser/[id]/mcp",
|
|
102
102
|
pattern: /^\/api\/browser\/([^/]+?)\/mcp\/?$/,
|
|
103
103
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
104
104
|
page: null,
|
|
105
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/mcp/_server.ts.js-
|
|
105
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/mcp/_server.ts.js-CFtpmSCd.js'))
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
id: "/api/browser/[id]/navigate",
|
|
109
109
|
pattern: /^\/api\/browser\/([^/]+?)\/navigate\/?$/,
|
|
110
110
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
111
111
|
page: null,
|
|
112
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/navigate/_server.ts.js-
|
|
112
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/navigate/_server.ts.js-BH8MNt9W.js'))
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
id: "/api/browser/[id]/opentab",
|
|
116
116
|
pattern: /^\/api\/browser\/([^/]+?)\/opentab\/?$/,
|
|
117
117
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
118
118
|
page: null,
|
|
119
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/opentab/_server.ts.js-
|
|
119
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/opentab/_server.ts.js-uIrK0T8h.js'))
|
|
120
120
|
},
|
|
121
121
|
{
|
|
122
122
|
id: "/api/browser/[id]/page",
|
|
123
123
|
pattern: /^\/api\/browser\/([^/]+?)\/page\/?$/,
|
|
124
124
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
125
125
|
page: null,
|
|
126
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/page/_server.ts.js-
|
|
126
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/page/_server.ts.js-Bg5yHS9F.js'))
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
129
|
id: "/api/browser/[id]/stream",
|
|
130
130
|
pattern: /^\/api\/browser\/([^/]+?)\/stream\/?$/,
|
|
131
131
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
132
132
|
page: null,
|
|
133
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/stream/_server.ts.js-
|
|
133
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/stream/_server.ts.js-DG6xvUsm.js'))
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
id: "/api/browser/[id]/tabs",
|
|
137
137
|
pattern: /^\/api\/browser\/([^/]+?)\/tabs\/?$/,
|
|
138
138
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
139
139
|
page: null,
|
|
140
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/tabs/_server.ts.js-
|
|
140
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/tabs/_server.ts.js-RiXP45mV.js'))
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
id: "/api/browser/[id]/viewport",
|
|
144
144
|
pattern: /^\/api\/browser\/([^/]+?)\/viewport\/?$/,
|
|
145
145
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
146
146
|
page: null,
|
|
147
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/viewport/_server.ts.js-
|
|
147
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/viewport/_server.ts.js-w9MNQddQ.js'))
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
id: "/api/browser/[id]/zoom",
|
|
151
151
|
pattern: /^\/api\/browser\/([^/]+?)\/zoom\/?$/,
|
|
152
152
|
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
153
153
|
page: null,
|
|
154
|
-
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/zoom/_server.ts.js-
|
|
154
|
+
endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/zoom/_server.ts.js-BoXDoshV.js'))
|
|
155
155
|
},
|
|
156
156
|
{
|
|
157
157
|
id: "/api/config",
|
|
@@ -606,4 +606,4 @@ return {
|
|
|
606
606
|
})();
|
|
607
607
|
|
|
608
608
|
export { manifest as m };
|
|
609
|
-
//# sourceMappingURL=manifest.js-
|
|
609
|
+
//# sourceMappingURL=manifest.js-DXLiUOif.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const index = 1;
|
|
2
|
+
let component_cache;
|
|
3
|
+
const component = async () => component_cache ??= (await import('../entries/pages/_error.svelte.js-CL7qPUQ1.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/1.BpeytF2X.js","_app/immutable/chunks/0Tfhif1V.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DxK-AwFF.js","_app/immutable/chunks/CgYTrsc7.js","_app/immutable/chunks/D9jhmf3I.js"];
|
|
5
|
+
const stylesheets = [];
|
|
6
|
+
const fonts = [];
|
|
7
|
+
|
|
8
|
+
export { component, fonts, imports, index, stylesheets };
|
|
9
|
+
//# sourceMappingURL=1.js-BX_MW_nG.js.map
|
|
@@ -19,11 +19,11 @@ import '../chunks/uneval.js-BJ9Qq2SF.js';
|
|
|
19
19
|
|
|
20
20
|
const index = 2;
|
|
21
21
|
let component_cache;
|
|
22
|
-
const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-
|
|
22
|
+
const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-nXReJwZQ.js')).default;
|
|
23
23
|
const server_id = "src/routes/+page.server.ts";
|
|
24
|
-
const imports = ["_app/immutable/nodes/2.
|
|
24
|
+
const imports = ["_app/immutable/nodes/2.BeOldRUA.js","_app/immutable/chunks/0Tfhif1V.js","_app/immutable/chunks/CgYTrsc7.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D9jhmf3I.js","_app/immutable/chunks/CTWtsoJD.js","_app/immutable/chunks/DxK-AwFF.js"];
|
|
25
25
|
const stylesheets = ["_app/immutable/assets/2.glyfXGzi.css"];
|
|
26
26
|
const fonts = [];
|
|
27
27
|
|
|
28
28
|
export { component, fonts, imports, index, server_id, stylesheets };
|
|
29
|
-
//# sourceMappingURL=2.js-
|
|
29
|
+
//# sourceMappingURL=2.js-darOh5z6.js.map
|
package/package.json
CHANGED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "dsi-host-drive"
|
|
3
|
+
description: "Drive the HOST floor's Terminal Desk from inside a VM floor over the OrbStack bridge (host.orb.internal + Host-header pass) — reach a Mac that has no ssh, run install/build/launch anything on the operator's physical machine, same baton law. Reserved keyword"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Drive Host Terminal (VM → Host over the bridge)
|
|
7
|
+
|
|
8
|
+
One goal → run commands on the HOST machine (the operator's Mac) while
|
|
9
|
+
working from a VM floor, by driving the HOST floor's own Terminal Desk over
|
|
10
|
+
its HTTP wire. Same baton law as `dsi-drive-terminal` — load that skill
|
|
11
|
+
first for the etiquette core (heal-on-refusal, echo+marker gates, silent
|
|
12
|
+
eaters, dead sessions); THIS skill carries only what is special about
|
|
13
|
+
crossing the VM→host boundary.
|
|
14
|
+
|
|
15
|
+
## Why this exists (earned 2026-11-08, the Glass Chassis drive)
|
|
16
|
+
|
|
17
|
+
The Mac has no ssh (port 22 refused), its LAN IP drifts on every reboot
|
|
18
|
+
(192.168.1.9 → .1.3 within one day), and its services bind loopback —
|
|
19
|
+
so the ONLY stable path from a VM to the Mac's shell is the Mac's own
|
|
20
|
+
DSI floor, reached through OrbStack's host alias.
|
|
21
|
+
|
|
22
|
+
## The access recipe (all four rules are load-bearing)
|
|
23
|
+
|
|
24
|
+
1. **Alias, not IP.** The Mac's LAN IP (`192.168.1.x`) refuses every port
|
|
25
|
+
from the VM (000). Use `http://host.orb.internal:<port>` — OrbStack
|
|
26
|
+
forwards it to the Mac's loopback.
|
|
27
|
+
2. **Host header pass.** The floor's guard blocks the alias name
|
|
28
|
+
("Blocked request. This host is not allowed"). Send the request with
|
|
29
|
+
`Host: localhost:<port>`:
|
|
30
|
+
```sh
|
|
31
|
+
H=http://host.orb.internal:5175
|
|
32
|
+
HH="Host: localhost:5175"
|
|
33
|
+
curl -s -m5 -H "$HH" "$H/api/terminal"
|
|
34
|
+
```
|
|
35
|
+
3. **curl, never node fetch.** Node's `fetch`/`urllib` silently DROP the
|
|
36
|
+
spoofed Host header and every write comes back 403 blocked — the
|
|
37
|
+
entire drive must run on curl (or curl via subprocess).
|
|
38
|
+
4. **Same shell quirks as home.** The host floor's terminal API is the
|
|
39
|
+
same code — open (`POST /api/terminal`), reattach for the baton,
|
|
40
|
+
paced per-char writes, `?fromByte=` ring reads, exit markers — exactly
|
|
41
|
+
per `dsi-drive-terminal` Steps 1–4.
|
|
42
|
+
|
|
43
|
+
## Host-specific traps (each one bit the 2026-11-08 drive)
|
|
44
|
+
|
|
45
|
+
- **A dead session still answers `written:true`** — after opening a fresh
|
|
46
|
+
desk tab, CHECK `GET /api/terminal`'s `exited` flag and the ECHO before
|
|
47
|
+
trusting receipts. Two full command sequences vanished into an exited
|
|
48
|
+
`t-3` this way.
|
|
49
|
+
- **The operator's focused tab steals the baton** — its watcher
|
|
50
|
+
auto-reattaches, so long paced sequences die mid-way with
|
|
51
|
+
`FOREIGN_SESSION`. Prefer driving the tab the operator just activated
|
|
52
|
+
FOR you, in short healed bursts; or accept the heal loop and retry the
|
|
53
|
+
SAME keystroke after each reattach.
|
|
54
|
+
- **macOS `git` pages on the host** (`(END)` from a plain `git log`) —
|
|
55
|
+
export `GIT_PAGER=cat PAGER=cat` in the first command you send; escape
|
|
56
|
+
a live pager with `q` (and RETURN for less's sub-prompts).
|
|
57
|
+
- **The host shell may carry a proxy env** — in-band
|
|
58
|
+
`curl http://127.0.0.1:<port>/status` on the Mac can fail with exit 6
|
|
59
|
+
(proxy can't resolve) while the companion is perfectly up. Verify
|
|
60
|
+
host-local services from the VM over the alias, or add `--noproxy '*'`.
|
|
61
|
+
- **The host checkout drifts** — always `GIT_PAGER=cat git pull --rebase`
|
|
62
|
+
before running repo code there; the operator commits on the Mac too
|
|
63
|
+
(its local docs commit once refused a `--ff-only` pull).
|
|
64
|
+
|
|
65
|
+
## Companion-grade longevity (things that must outlive the tab)
|
|
66
|
+
|
|
67
|
+
Anything the HOST should keep running (a chassis companion, a dev server)
|
|
68
|
+
must NOT be a background job of the desk session: the session's idle
|
|
69
|
+
teardown kills the process tree, `nohup` notwithstanding — this killed the
|
|
70
|
+
glass chassis three times in one evening. Detach with launchd:
|
|
71
|
+
|
|
72
|
+
```sh
|
|
73
|
+
launchctl remove dsi-chassis 2>/dev/null
|
|
74
|
+
launchctl submit -l dsi-chassis -- <abs-node-path> <abs-repo>/bin/dsi-chassis.mjs --bind 127.0.0.1 --port 9525
|
|
75
|
+
launchctl list | grep dsi-chassis # pid + last exit status
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- `launchctl submit` runs with cwd `/` — absolute paths REQUIRED.
|
|
79
|
+
- Check health from the VM over the alias, never in-band (proxy trap).
|
|
80
|
+
|
|
81
|
+
## Checklist
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
📋 host-drive: {goal} — host floor :<port>
|
|
85
|
+
|
|
86
|
+
[ ] 1.1 Host floor found via host.orb.internal (never the LAN IP)
|
|
87
|
+
[ ] 1.2 Host-header pass on EVERY request (curl only)
|
|
88
|
+
[ ] 1.3 Session id from GET /api/terminal + exited flag (badge law)
|
|
89
|
+
[ ] 2.1 Baton via reattach; FOREIGN_SESSION → heal, retry same write
|
|
90
|
+
[ ] 2.2 GIT_PAGER=cat exported before any git command
|
|
91
|
+
[ ] 2.3 Exit markers gate completion; echoes checked (dead-session law)
|
|
92
|
+
[ ] 3.1 Ring reads from the reattach offset (stale bytes fake markers)
|
|
93
|
+
[ ] 4.1 Long-lived processes detached via launchctl (absolute paths)
|
|
94
|
+
[ ] 4.2 Health verified from the VM over the alias
|
|
95
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
96
|
+
```
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as e}from"../nodes/2.9BE7-E5x.js";export{e as startPanelResize};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{J as e,K as t,Y as n,ft as r,q as i,r as a,t as o,ut as s,vt as c}from"./0Tfhif1V.js";var l=class{constructor(e,t){this.status=e,this.body=typeof t==`string`?{message:t}:t||{message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},u=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},d=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function f(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function p(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function ee(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function g(){}function _(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function te(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var v=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&y.delete(b(e)),v(e,t));var y=new Map;function ne(e,t){let n=b(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=te(e));let i=r.getAttribute(`data-ttl`);return i&&y.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function re(e,t,n){if(y.size>0){let t=b(e,n),r=y.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);y.delete(t)}}return window.fetch(t,n)}function b(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${_(...e)}"]`}return n}var x=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,ie=/^\/\((?:[^)]+)\)$/;function ae(e){let t=[];return{pattern:e===`/`||ie.test(e)?/^\/$/:RegExp(`^${se(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return le(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return le(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=x.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return le(e)}).join(``)}).join(``)}/?$`),params:t}}function oe(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function se(e){return e.slice(1).split(`/`).filter(oe)}function ce(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0){if(s.rest)c=``;else continue}if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function le(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}var ue=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function de(e,t){let n=se(e),r=e!=`/`&&e.endsWith(`/`);return`/`+n.map(n=>n.replace(ue,(n,r,i,a)=>{let o=t[a];if(!o){if(r||i&&o!==void 0)return``;throw Error(`Missing parameter '${a}' in route ${e}`)}if(o.startsWith(`/`)||o.endsWith(`/`))throw Error(`Parameter '${a}' in route ${e} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return o})).filter(Boolean).join(`/`)+(r?`/`:``)}function fe({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ae(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return ce(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function pe(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function me(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var S=globalThis.__sveltekit_qsd02d?.base??``,he=globalThis.__sveltekit_qsd02d?.assets??S??``,ge=``;function _e(...e){if(!e[0].startsWith(`/`))throw Error(`Cannot use \`resolve(...)\` with a non-absolute pathname or route ID (got "${e[0]}"). \`resolve\` is only for internal pathnames and route IDs; external URLs should be used directly.`);return S+ge+de(e[0],e[1])}var ve=`1794132569908`,ye=`sveltekit:snapshot`,be=`sveltekit:scroll`,xe=`sveltekit:states`,Se=`sveltekit:pageurl`,C=`sveltekit:history`,w=`sveltekit:navigation`,T={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},E=location.origin;function Ce(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function D(){return{x:pageXOffset,y:pageYOffset}}function O(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var we={...T,"":T.hover};function Te(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ee(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Te(e)}}function De(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||A(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===E&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function k(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=O(s,`preload-code`)),i===null&&(i=O(s,`preload-data`)),t===null&&(t=O(s,`keepfocus`)),n===null&&(n=O(s,`noscroll`)),a===null&&(a=O(s,`reload`)),o===null&&(o=O(s,`replacestate`)),s=Te(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:we[r??`off`],preload_data:we[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Oe(e){let t=c(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function a(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:a}}var ke={v:g};function Ae(){let{set:e,subscribe:t}=c(!1),n;async function r(){clearTimeout(n);try{let t=await fetch(`${he}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let r=(await t.json()).version!==ve;return r&&(e(!0),ke.v(),clearTimeout(n)),r}catch{return!1}}return{subscribe:t,check:r}}function A(e,t,n){return e.origin!==E||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function je(e){}var Me=2**32-1,Ne=Me-1,Pe=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Fe(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Pe}function Ie(e){return Object.prototype.toString.call(e).slice(8,-1)}function Le(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)}function Re(e){return!(!Number.isInteger(e)||e<0||e>Ne)}function ze(e){return!(!Number.isInteger(e)||e<0||e>Me)}function Be(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return Re(+e)}function Ve(e){for(var t=e.length-1;t>=0&&!Be(e[t]);t--);return t+1}function He(e){let t=Object.keys(e);return t.length=Ve(t),t}function Ue(e){return Uint8Array.fromBase64(e).buffer}function We(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function Ge(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var Ke=typeof Uint8Array.fromBase64==`function`,qe=typeof process==`object`&&process.versions?.node!==void 0,Je=Ke?Ue:qe?We:Ge;function Ye(e,t){if(!t)return e;let n={};for(let r of Object.keys(e))n[r]=t[r]??e[r];return n}var Xe=Object.freeze({kind:`not-plain`}),Ze=Object.freeze({kind:`symbol-keys`});Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>Ie(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>({buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>He(e),shapeOf:e=>Fe(e)?Le(e).length>0?Ze:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:Xe,get:(e,t)=>e[t]});var Qe=Object.freeze({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,n,r)=>{let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[Ne]=void 0,delete t[Ne],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function $e(e,t,n){let r=Ye(Qe,n?.operations);if(typeof e==`number`)return s(e,!0);if(!Array.isArray(e)||e.length===0)throw Error(`Invalid input`);let i=e,a=Array(i.length),o=null;function s(e,n=!1){if(e===-1)return r.fromPrimitive(void 0);if(e===-3)return r.fromPrimitive(NaN);if(e===-4)return r.fromPrimitive(1/0);if(e===-5)return r.fromPrimitive(-1/0);if(e===-6)return r.fromPrimitive(-0);if(n||typeof e!=`number`)throw Error(`Invalid input`);if(e in a)return a[e];let c=i[e];if(!c||typeof c!=`object`)a[e]=r.fromPrimitive(c);else if(Array.isArray(c)){if(typeof c[0]==`string`){let n=c[0],l=t&&Object.hasOwn(t,n)?t[n]:void 0;if(l){let t=c[1];if(typeof t!=`number`&&(t=i.push(c[1])-1),Object.hasOwn(a,t))return a[e]=l(a[t]);if(o??=new Set,o.has(t))throw Error(`Invalid circular reference`);return o.add(t),a[e]=l(s(t)),o.delete(t),a[e]}switch(n){case`Date`:a[e]=r.fromISOString(c[1]);break;case`Set`:let t=r.createSet();a[e]=t;for(let e=1;e<c.length;e+=1)r.addValue(t,s(c[e]));break;case`Map`:let o=r.createMap();a[e]=o;for(let e=1;e<c.length;e+=2)r.addEntry(o,s(c[e]),s(c[e+1]));break;case`RegExp`:a[e]=r.fromRegExpInfo(c[1],c[2]);break;case`Object`:{let t=c[1];if(typeof i[t]==`object`&&i[t][0]!==`BigInt`)throw Error(`Invalid input`);a[e]=r.box(s(t));break}case`BigInt`:a[e]=r.fromPrimitive(BigInt(c[1]));break;case`null`:let l=r.createNullPrototypeObject();a[e]=l;for(let e=1;e<c.length;e+=2){if(c[e]===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");r.set(l,c[e],s(c[e+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(i[c[1]][0]!==`ArrayBuffer`)throw Error(`Invalid data`);let t=s(c[1]);a[e]=r.fromViewInfo(n,t,c[2],c[3]);break}case`ArrayBuffer`:{let t=c[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);a[e]=r.fromArrayBuffer(Je(t));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`:a[e]=r.fromStringValue(n,c[1]);break;default:throw Error(`Unknown type ${n}`)}}else if(c[0]===-7){let t=c[1];if(!ze(t))throw Error(`Invalid input`);let n=r.createSparseArray(t);a[e]=n;for(let e=2;e<c.length;e+=2){let i=c[e];if(!Re(i)||i>=t)throw Error(`Invalid input`);r.set(n,i,s(c[e+1]))}}else{let t=r.createArray(c.length);a[e]=t;for(let e=0;e<c.length;e+=1){let n=c[e];n!==-2&&r.set(t,e,s(n))}}}else{let t=r.createObject();a[e]=t;for(let e of Object.keys(c)){if(e===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");r.set(t,e,s(c[e]))}}return a[e]}return s(0)}var et=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...et],[...new Set([...et])];function tt(e){return e.filter(e=>e!=null)}var nt=`x-sveltekit-invalidated`,rt=`x-sveltekit-trailing-slash`;function j(e,t){return e+`/`+t}function it(e){return e instanceof l||e instanceof d?e.status:500}function at(e){return e instanceof d?e.text:`Internal Error`}var M,N,ot,st=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),ct=`a:`;st?(M={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(ct)},N={current:null},ot={current:!1}):(M=new class{#e=r({});get data(){return t(this.#e)}set data(e){s(this.#e,e)}#t=r(null);get form(){return t(this.#t)}set form(e){s(this.#t,e)}#n=r(null);get error(){return t(this.#n)}set error(e){s(this.#n,e)}#r=r({});get params(){return t(this.#r)}set params(e){s(this.#r,e)}#i=r({id:null});get route(){return t(this.#i)}set route(e){s(this.#i,e)}#a=r({});get state(){return t(this.#a)}set state(e){s(this.#a,e)}#o=r(-1);get status(){return t(this.#o)}set status(e){s(this.#o,e)}#s=r(new URL(ct));get url(){return t(this.#s)}set url(e){s(this.#s,e)}},N=new class{#e=r(null);get current(){return t(this.#e)}set current(e){s(this.#e,e)}},ot=new class{#e=r(!1);get current(){return t(this.#e)}set current(e){s(this.#e,e)}},ke.v=()=>ot.current=!0);function lt(e){Object.assign(M,e)}var ut=`/__data.json`,dt=`.html__data.json`;function ft(e){return e.endsWith(`.html`)?e.replace(/\.html$/,dt):e.replace(/\/$/,``)+ut}var pt={spanContext(){return mt},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}},mt={traceId:``,spanId:``,traceFlags:0};async function*ht(e,t){let n=!1,r=``,i=new TextDecoder;for(;;){let a=r.indexOf(t);for(;a!==-1;)yield r.slice(0,a),r=r.slice(a+t.length),a=r.indexOf(t);if(n){r&&(yield r);return}let o=await e.read();n=o.done,o.value&&(r+=i.decode(o.value,{stream:!0})),n&&(r+=i.decode())}}async function*gt(e){for await(let t of ht(e,`
|
|
2
|
-
`)){let e=t.trim();e&&(yield JSON.parse(e))}}var{onMount:_t,tick:vt}=o,yt=n??(e=>e()),bt=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),P=null,F=pe(`sveltekit:scroll`)??{},I=pe(`sveltekit:snapshot`)??{},L={url:Oe({}),page:Oe({}),navigating:c(null),updated:Ae()};function xt(e){F[e]=D()}function St(e,t){let n=e+1;for(;F[n];)delete F[n],n+=1;for(n=t+1;I[n];)delete I[n],n+=1}function R(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function Ct(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(S||`/`);e&&await e.update()}}var wt,Tt,Et,z,Dt,B,Ot={},kt={},At=[],jt=[],V=null;function Mt(){V?.fork?.then(e=>e?.discard()),V=null,Q={element:void 0,href:void 0}}var Nt=new Map,Pt=new Set,Ft=new Set,H=new Set,U={branch:[],error:null,url:null,nav:null},It=!1,Lt=!1,Rt=!0,W=!1,G=!1,zt=!1,Bt=!1,Vt,K,q,J,Y=new Set,Ht=new Map,Ut=new Map;async function Wt(e,t,n){if(globalThis.__sveltekit_qsd02d.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_qsd02d.data;for(let t in e)Ot[t]=e[t];for(let e in n)Ot[e]=n[e];for(let e in r)Ot[e]=r[e];for(let e in t)kt[e]=t[e]}document.URL!==location.href&&(location.href=location.href),B=e,await e.hooks.init?.(),wt=fe(e),z=document.documentElement,Dt=t,Tt=e.nodes[0],Et=e.nodes[1],Tt(),Et(),K=history.state?.[C],q=history.state?.[w],K||(K=q=Date.now(),history.replaceState({...history.state,[C]:K,[w]:q},``));let r=F[K];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await xn(Dt,n)):(await Z({type:`enter`,url:Ce(B.hash?kn(new URL(location.href)):location.href),replace_state:!0}),i()),bn()}function Gt(){At.length=0,Bt=!1}function Kt(e){jt.some(e=>e?.snapshot)&&(I[e]=jt.map(e=>e?.snapshot?.capture()))}function qt(e){I[e]?.forEach((e,t)=>{jt[t]?.snapshot?.restore(e)})}function Jt(){xt(K),me(be,F),Kt(q),me(ye,I)}async function Yt(t,n,r,i){let a,o;n.invalidateAll&&Mt(),await Z({type:`goto`,url:Ce(t),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{if(n.invalidateAll){Bt=!0,a=new Set;for(let[e,t]of Ht)for(let[n,r]of t)r.resource?.reset(),a.add(j(e,n));o=new Set;for(let[e,t]of Ut)for(let n of t.keys())o.add(j(e,n))}n.invalidate&&n.invalidate.forEach(vn)}}),n.invalidateAll&&e().then(e).then(()=>{for(let[e,t]of Ht)for(let[n,{resource:r}]of t)a?.has(j(e,n))&&r.start();for(let[e,t]of Ut)for(let[n,{resource:r}]of t)o?.has(j(e,n))&&r.reconnect()})}async function Xt(e){if(e.id!==V?.id){Mt();let t={};Y.add(t),V={id:e.id,token:t,promise:sn({...e,preload:t}).then(e=>(Y.delete(t),e.type===`loaded`&&e.state.error&&Mt(),e)),fork:null}}return V.promise}async function Zt(e){let t=(await X(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function Qt(e,t,n){let r={params:U.params,route:{id:U.route?.id??null},url:new URL(location.href)};if(U={...e.state,nav:r},lt(e.props.page),Vt=new B.root({target:t,props:{...e.props,stores:L,components:jt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:F[K]??D()},willUnload:!1,type:`enter`,complete:Promise.resolve()};H.forEach(t=>t(e))}qt(q),Lt=!0}async function $t({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(S&&(e.pathname===S||e.pathname===S+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=f(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:tt(n).map(e=>e.node.component),page:On(M)}};s!==void 0&&(l.props.form=s);let u={},d=!M,p=0;for(let e=0;e<Math.max(n.length,U.branch.length);e+=1){let t=n[e],r=U.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!U.url||e.href!==U.url.href||U.error!==a||s!==void 0&&s!==M.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:M.data}),l}async function en({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:pt,current:pt},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:h(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},B.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=tn(t,r,n);return s&&e(i.href),a},setHeaders:g,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function tn(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:Lt?re(r,i.href,t):ne(r,t)}}function nn(e,t,n,r,i,a){if(Bt)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==U.params[e])return!0;for(let e of i.dependencies)if(At.some(t=>t(new URL(e))))return!0;return!1}function rn(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function an(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function on({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:On(M),constructors:[]}}}async function sn({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(V?.id===e)return Y.delete(V.token),V.promise;let{errors:o,layouts:s,leaf:c}=i,d=[...s,c];o.forEach(e=>e?.().catch(g)),d.forEach(e=>e?.[1]().catch(g));let f=null,p=U.url?e!==fn(U.url):!1,ee=U.route?i.id!==U.route.id:!1,m=an(U.url,n),h=!1;{let t=d.map((e,t)=>{let n=U.branch[t],i=!!e?.[0]&&(n?.loader!==e[1]||nn(h,ee,p,m,n.server?.uses,r));return i&&(h=!0),i});if(t.some(Boolean)){try{f=await Sn(n,t)}catch(t){let o=await $(t,{url:n,params:r,route:{id:e}});return a&&Y.has(a)?on({error:o,url:n,params:r,route:i}):ln({status:it(t),error:o,url:n,route:i})}if(f.type===`redirect`)return f}}let _=f?.nodes,te=!1,v=d.map(async(e,t)=>{if(!e)return;let a=U.branch[t],o=_?.[t];if((!o||o.type===`skip`)&&e[1]===a?.loader&&!nn(te,ee,p,m,a.universal?.uses,r))return a;if(te=!0,o?.type===`error`)throw o;return en({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await v[n])?.data);return e},server_data_node:rn(o===void 0&&e[0]?{type:`skip`}:o??null,e[0]?a?.server:void 0)})});for(let e of v)e.catch(g);let y=[];for(let e=0;e<d.length;e+=1)if(d[e])try{y.push(await v[e])}catch(t){if(t instanceof u)return{type:`redirect`,location:t.location};if(a&&Y.has(a))return on({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=it(t),c;if(_?.includes(t))s=t.status??s,c=t.error;else if(t instanceof l)c=t.body;else{if(await L.updated.check())return await Ct(),await R(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await cn(e,y,o);return d?$t({url:n,params:r,branch:y.slice(0,d.idx).concat(d.node),errors:o,status:s,error:c,route:i}):await mn(n,{id:i.id},c,s)}else y.push(void 0);return $t({url:n,params:r,branch:y,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function cn(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function ln({status:e,error:t,url:n,route:r}){let i={},a=null;if(B.server_loads[0]===0)try{let e=await Sn(n,[!0]);if(e.type!==`data`||e.nodes[0]&&e.nodes[0].type!==`data`)throw 0;a=e.nodes[0]??null}catch(e){if(!(e instanceof l&&e.status===404)&&(n.origin!==E||n.pathname!==location.pathname||It))return await R(n)}try{return $t({url:n,params:i,branch:[await en({loader:Tt,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:rn(a)}),{node:await Et(),loader:Et,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof u){await Yt(new URL(t.location,location.href),{},0);return}let a=await B.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function un(e){let t=e.href;if(Nt.has(t))return Nt.get(t);let n;try{let r=(async()=>{let t=await B.hooks.reroute({url:new URL(e),fetch:async(t,n)=>tn(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);B.hash?n.hash=t:n.pathname=t,t=n}return t})();Nt.set(t,r),n=await r}catch{Nt.delete(t);return}return n}async function X(e,t){if(e&&!A(e,S,B.hash)){let n=await un(e);if(!n)return;let r=dn(n);for(let n of wt){let i=n.exec(r);if(i)return{id:fn(e),invalidating:t,route:n,params:ee(i),url:e}}}}function dn(e){return p(B.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(S.length))||`/`}function fn(e){return(B.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function pn({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Dn(U,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return W||Pt.forEach(e=>e(c)),o?null:s}async function Z({type:t,url:n,popped:r,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:u={},accept:f=g,block:p=g,event:ee}){let m=J;J=u;let h=await X(n,!1),_=t===`enter`?Dn(U,h,n,t):pn({url:n,type:t,delta:r?.delta,intent:h,scroll:r?.scroll,event:ee});if(!_){p(),J===u&&(J=m);return}let te=K,v=q;f(),W=!0,Lt&&_.navigation.type!==`enter`&&L.navigating.set(N.current=_.navigation);let y=h&&await sn(h);if(!y){if(A(n,S,B.hash))return await R(n,s);y=await mn(n,{id:null},await $(new d(404,`Not Found`,`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404,s)}if(n=h?.url||n,J!==u){_.reject(Error(`navigation aborted`));return}if(!y)return;if(y.type===`redirect`){if(l<20){await Z({type:t,url:new URL(y.location,n),popped:r,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:u}),_.fulfil(void 0);return}if(y=await ln({status:500,error:await $(Error(`Redirect loop`),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}}),!y)return}else if(y.props.page.status>=400&&await L.updated.check())return await Ct(),await R(n,s);if(Gt(),xt(te),Kt(v),y.props.page.url.pathname!==n.pathname&&(n.pathname=y.props.page.url.pathname),c=r?r.state:c,!r){let e=+!s,t={[C]:K+=e,[w]:q+=e,[xe]:c};(s?history.replaceState:history.pushState).call(history,t,``,n),s||St(K,q)}let ne=h&&V?.id===h.id?V.fork:null;V?.fork&&!ne?Mt():(V=null,Q={element:void 0,href:void 0}),y.props.page.state=c;let re;if(Lt){let e=(await Promise.all(Array.from(Ft,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{H.delete(e)})}e.push(t),e.forEach(e=>{H.add(e)})}let t=_.navigation.to;U={...y.state,nav:{params:t.params,route:t.route,url:t.url}},y.props.page&&(y.props.page.url=n),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let r=ne&&await ne;r?re=r.commit():(P=null,Vt.$set(y.props),P&&Object.assign(y.props.page,P),lt(y.props.page),re=i?.()),zt=!0}else await Qt(y,Dt,!1);let{activeElement:b}=document;if(await re,await e(),await e(),J!==u){_.reject(Error(`navigation aborted`));return}y.props.page&&P&&Object.assign(y.props.page,P);let x=null;if(Rt){let e=r?r.scroll:o?D():null;e?scrollTo(e.x,e.y):(x=n.hash&&document.getElementById(An(n)))?x.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==b&&document.activeElement!==document.body;!a&&!ie&&En(n,!x),Rt=!0,W=!1,_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=D()),H.forEach(e=>e(_.navigation)),t===`popstate`&&qt(q),L.navigating.set(N.current=null)}async function mn(e,t,n,r,i){return e.origin===E&&e.pathname===location.pathname&&!It?await ln({status:r,error:n,url:e,route:t}):await R(e,i)}var Q={element:void 0,href:void 0};function hn(){let e,t;z.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,T.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],T.tap)}z.addEventListener(`mousedown`,n),z.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(Zt(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Ee(e,z),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=De(r,S,B.hash);if(o||s)return;let c=k(r),l=a&&fn(U.url)===fn(a);if(!(c.reload||l)){if(n<=c.preload_data){Q={element:r,href:r.href},t=T.tap;let e=await X(a,!1);if(!e)return;Xt(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,Zt(a))}}function a(){r.disconnect();for(let e of z.querySelectorAll(`a`)){let{url:t,external:n,download:i}=De(e,S,B.hash);if(n||i)continue;let a=k(e);a.reload||(a.preload_code===T.viewport&&r.observe(e),a.preload_code===T.eager&&Zt(t))}}H.add(a),a()}function $(e,t){if(e instanceof l)return e.body;let n=it(e),r=at(e);return B.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function gn(e,t){_t(()=>(e.add(t),()=>{e.delete(t)}))}function _n(e){gn(H,e)}function vn(e){if(typeof e==`function`)At.push(e);else{let{href:t}=new URL(e,location.href);At.push(e=>e.href===t)}}function yn(e,t){let n={[C]:K,[w]:q,[Se]:M.url.href,[xe]:t};history.replaceState(n,``,Ce(e)),M.state=t,Vt.$set({page:yt(()=>On(M))})}function bn(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(Jt(),!W){let e=Dn(U,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};Pt.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&Jt()}),navigator.connection?.saveData||hn(),z.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ee(t.composedPath()[0],z);if(!n)return;let{url:r,external:i,target:a,download:o}=De(n,S,B.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=k(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&r.protocol!==`https:`&&r.protocol!==`http:`||o)return;let[c,l]=(B.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){pn({url:r,type:`link`,event:t})?W=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=U.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(G=!0,xt(K),e(r),!s.replace_state)return;G=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),z.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(A(r,S,!1))return;let i=e.target,a=k(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Tn){if(t.state?.[`sveltekit:history`]){let n=t.state[C];if(J={},n===K)return;let r=F[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[w],s=U.url?m(location)===m(U.url):!1;if(o===q&&(zt||s)){i!==M.state&&(M.state=i),e(a),F[K]=D(),r&&scrollTo(r.x,r.y),K=n;return}let c=n-K;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{K=n,q=o},block:()=>{history.go(-c)},nav_token:J,event:t})}else G||(e(new URL(location.href)),B.hash&&location.reload())}}),addEventListener(`hashchange`,()=>{G&&(G=!1,history.replaceState({...history.state,[C]:++K,[w]:q},``,location.href))});for(let e of document.querySelectorAll(`link`))bt.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&L.navigating.set(N.current=null)});function e(e){U.url=M.url=e,L.page.set(On(M)),L.page.notify()}}async function xn(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){It=!0;let l=new URL(location.href),d;({params:i={},route:a={id:null}}=await X(l,!1)||{}),d=wt.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=wn(r.uses)),en({loader:B.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:rn(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await $t({url:l,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof u)return await R(new URL(t.location,location.href));f=await ln({status:it(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await Qt(f,e,p))}async function Sn(e,t){let n=new URL(e);n.pathname=ft(e.pathname),e.pathname.endsWith(`/`)&&n.searchParams.append(rt,`1`),n.searchParams.append(nt,t.map(e=>e?`1`:`0`).join(``));let r=await(0,window.fetch)(n.href,{});if(!r.ok){let e;throw r.headers.get(`content-type`)?.includes(`application/json`)?e=await r.json():r.status===404?e=`Not Found`:r.status===500&&(e=`Internal Error`),new l(r.status,e)}return new Promise((e,t)=>{Cn(e,r).catch(t)})}async function Cn(e,t){let n=t.body.getReader(),r=new Map;function i(e){return $e(e,{...B.decoders,Promise:e=>new Promise((t,n)=>{r.set(e,{fulfil:t,reject:n})})})}for await(let t of gt(n)){if(t.type===`redirect`)return e(t);if(t.type===`data`)t.nodes?.forEach(e=>{e?.type===`data`&&(e.uses=wn(e.uses),e.data=i(e.data))}),e(t);else if(t.type===`chunk`){let{id:e,data:n,error:a}=t,o=r.get(e);r.delete(e),a?o.reject(i(a)):o.fulfil(i(n))}}}function wn(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??[])}}var Tn=!1;function En(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=An(e);if(n&&document.getElementById(n)){let{x:r,y:i}=D();setTimeout(()=>{let a=history.state;Tn=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Tn=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Dn(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:D()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function On(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 kn(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function An(e){let t;if(B.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{M as a,N as i,yn as n,je as o,Wt as r,_e as s,_n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"../nodes/2.9BE7-E5x.js";export{e as stringify};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"../chunks/UPlr67N1.js";export{e as load_css,t as start};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
const index = 1;
|
|
2
|
-
let component_cache;
|
|
3
|
-
const component = async () => component_cache ??= (await import('../entries/pages/_error.svelte.js-CJ9RHd_3.js')).default;
|
|
4
|
-
const imports = ["_app/immutable/nodes/1.CGppLUrN.js","_app/immutable/chunks/0Tfhif1V.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/e-3PBXxJ.js","_app/immutable/chunks/UPlr67N1.js","_app/immutable/chunks/D9jhmf3I.js"];
|
|
5
|
-
const stylesheets = [];
|
|
6
|
-
const fonts = [];
|
|
7
|
-
|
|
8
|
-
export { component, fonts, imports, index, stylesheets };
|
|
9
|
-
//# sourceMappingURL=1.js-cXTCbvze.js.map
|