mdzilla 0.2.0 → 0.2.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 +20 -0
- package/dist/_chunks/exporter.mjs +48 -4
- package/dist/_chunks/server.mjs +497 -322
- package/dist/index.d.mts +18 -0
- package/package.json +5 -5
package/dist/_chunks/server.mjs
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import { parseMeta, renderToMarkdown, renderToText } from "md4x";
|
|
2
2
|
import { mkdir, readFile, readdir, stat, writeFile } from "node:fs/promises";
|
|
3
|
+
import { existsSync, watch } from "node:fs";
|
|
3
4
|
import { basename, dirname, extname, join } from "node:path";
|
|
4
|
-
import { existsSync } from "node:fs";
|
|
5
5
|
import { tmpdir } from "node:os";
|
|
6
6
|
import { init, renderToHtml, renderToText as renderToText$1 } from "md4x/napi";
|
|
7
7
|
import { highlightText } from "@speed-highlight/core";
|
|
8
8
|
//#region web/.output/server/index.mjs
|
|
9
9
|
globalThis.__nitro_main__ = import.meta.url;
|
|
10
|
-
var
|
|
10
|
+
var y = Object.defineProperty, b = (e, t) => () => (e && (t = e(e = 0)), t), x = (e, t) => {
|
|
11
11
|
let n = {};
|
|
12
|
-
for (var r in e)
|
|
12
|
+
for (var r in e) y(n, r, {
|
|
13
13
|
get: e[r],
|
|
14
14
|
enumerable: !0
|
|
15
15
|
});
|
|
16
|
-
return t ||
|
|
16
|
+
return t || y(n, Symbol.toStringTag, { value: `Module` }), n;
|
|
17
17
|
};
|
|
18
18
|
globalThis.__nitro_vite_envs__ = {};
|
|
19
|
-
var
|
|
20
|
-
|
|
19
|
+
var S, ee = b((() => {
|
|
20
|
+
S = (() => {
|
|
21
21
|
let e = function() {};
|
|
22
22
|
return e.prototype = Object.create(null), Object.freeze(e.prototype), e;
|
|
23
23
|
})();
|
|
24
|
-
})), te,
|
|
25
|
-
te = URL,
|
|
24
|
+
})), te, C, ne = b((() => {
|
|
25
|
+
te = URL, C = Response;
|
|
26
26
|
}));
|
|
27
27
|
function re(e) {
|
|
28
28
|
return decodeURI(e.includes(`%25`) ? e.replace(/%25/g, `%2525`) : e);
|
|
29
29
|
}
|
|
30
30
|
function ie(e = ``) {
|
|
31
|
-
return e.replace(
|
|
31
|
+
return e.replace(Se, ``);
|
|
32
32
|
}
|
|
33
33
|
function ae(e, t = 200) {
|
|
34
34
|
return !e || (typeof e == `string` && (e = +e), e < 100 || e > 599) ? t : e;
|
|
@@ -38,68 +38,68 @@ function oe(e, t) {
|
|
|
38
38
|
if (t !== `object`) return t === `boolean` || t === `number` || t === `string`;
|
|
39
39
|
if (typeof e.toJSON == `function` || Array.isArray(e)) return !0;
|
|
40
40
|
if (typeof e.pipe == `function` || typeof e.pipeTo == `function`) return !1;
|
|
41
|
-
if (e instanceof
|
|
41
|
+
if (e instanceof S) return !0;
|
|
42
42
|
let n = Object.getPrototypeOf(e);
|
|
43
43
|
return n === Object.prototype || n === null;
|
|
44
44
|
}
|
|
45
|
-
function
|
|
46
|
-
if (typeof e?.then == `function`) return (e.catch?.((e) => e) || Promise.resolve(e)).then((e) =>
|
|
45
|
+
function w(e, t, n = {}) {
|
|
46
|
+
if (typeof e?.then == `function`) return (e.catch?.((e) => e) || Promise.resolve(e)).then((e) => w(e, t, n));
|
|
47
47
|
let r = se(e, t, n);
|
|
48
|
-
if (typeof r?.then == `function`) return
|
|
48
|
+
if (typeof r?.then == `function`) return w(r, t, n);
|
|
49
49
|
let { onResponse: i } = n;
|
|
50
50
|
return i ? Promise.resolve(i(r, t)).then(() => r) : r;
|
|
51
51
|
}
|
|
52
52
|
function se(e, t, n, r) {
|
|
53
|
-
if (e ===
|
|
54
|
-
if (e ===
|
|
53
|
+
if (e === Ce) return new C(null);
|
|
54
|
+
if (e === I && (e = new F({
|
|
55
55
|
status: 404,
|
|
56
56
|
message: `Cannot find any route matching [${t.req.method}] ${t.url}`
|
|
57
57
|
})), e && e instanceof Error) {
|
|
58
|
-
let i =
|
|
58
|
+
let i = F.isError(e), a = i ? e : new F(e);
|
|
59
59
|
i || (a.unhandled = !0, e?.stack && (a.stack = e.stack)), a.unhandled && !n.silent && console.error(a);
|
|
60
|
-
let { onError: o } = n, s = t[
|
|
60
|
+
let { onError: o } = n, s = t[N]?.[be];
|
|
61
61
|
return o && !r ? Promise.resolve(o(a, t)).catch((e) => e).then((r) => se(r ?? e, t, n, !0)) : ue(a, n.debug, s);
|
|
62
62
|
}
|
|
63
|
-
let i = t[
|
|
64
|
-
if (t[
|
|
63
|
+
let i = t[N], a = i?.[ye];
|
|
64
|
+
if (t[N] = void 0, !(e instanceof Response)) {
|
|
65
65
|
let r = ce(e, t, n), o = r.status || i?.status;
|
|
66
|
-
return new
|
|
66
|
+
return new C(le(t.req.method, o) ? null : r.body, {
|
|
67
67
|
status: o,
|
|
68
68
|
statusText: r.statusText || i?.statusText,
|
|
69
|
-
headers: r.headers && a ?
|
|
69
|
+
headers: r.headers && a ? T(r.headers, a) : r.headers || a
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
if (!a || r || !e.ok) return e;
|
|
73
73
|
try {
|
|
74
|
-
return
|
|
74
|
+
return T(e.headers, a, e.headers), e;
|
|
75
75
|
} catch {
|
|
76
|
-
return new
|
|
76
|
+
return new C(le(t.req.method, e.status) ? null : e.body, {
|
|
77
77
|
status: e.status,
|
|
78
78
|
statusText: e.statusText,
|
|
79
|
-
headers:
|
|
79
|
+
headers: T(e.headers, a)
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
function
|
|
83
|
+
function T(e, t, n = new Headers(e)) {
|
|
84
84
|
for (let [e, r] of t) e === `set-cookie` ? n.append(e, r) : n.set(e, r);
|
|
85
85
|
return n;
|
|
86
86
|
}
|
|
87
87
|
function ce(e, t, n) {
|
|
88
88
|
if (e == null) return {
|
|
89
89
|
body: ``,
|
|
90
|
-
headers:
|
|
90
|
+
headers: Te
|
|
91
91
|
};
|
|
92
92
|
let r = typeof e;
|
|
93
93
|
if (r === `string`) return { body: e };
|
|
94
94
|
if (e instanceof Uint8Array) return t.res.headers.set(`content-length`, e.byteLength.toString()), { body: e };
|
|
95
|
-
if (e instanceof
|
|
95
|
+
if (e instanceof L || e?.constructor?.name === `HTTPResponse`) return e;
|
|
96
96
|
if (oe(e, r)) return {
|
|
97
97
|
body: JSON.stringify(e, void 0, n.debug ? 2 : void 0),
|
|
98
|
-
headers:
|
|
98
|
+
headers: z
|
|
99
99
|
};
|
|
100
100
|
if (r === `bigint`) return {
|
|
101
101
|
body: e.toString(),
|
|
102
|
-
headers:
|
|
102
|
+
headers: z
|
|
103
103
|
};
|
|
104
104
|
if (e instanceof Blob) {
|
|
105
105
|
let t = new Headers({
|
|
@@ -117,8 +117,8 @@ function le(e, t) {
|
|
|
117
117
|
return e === `HEAD` || t === 100 || t === 101 || t === 102 || t === 204 || t === 205 || t === 304;
|
|
118
118
|
}
|
|
119
119
|
function ue(e, t, n) {
|
|
120
|
-
let r = e.headers ?
|
|
121
|
-
return n && (r =
|
|
120
|
+
let r = e.headers ? T(z, e.headers) : new Headers(z);
|
|
121
|
+
return n && (r = T(r, n)), new C(JSON.stringify({
|
|
122
122
|
...e.toJSON(),
|
|
123
123
|
stack: t && e.stack ? e.stack.split(`
|
|
124
124
|
`).map((e) => e.trim()) : void 0
|
|
@@ -128,25 +128,25 @@ function ue(e, t, n) {
|
|
|
128
128
|
headers: r
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
-
function
|
|
131
|
+
function E(e, t, n, r = 0) {
|
|
132
132
|
if (r === t.length) return n(e);
|
|
133
|
-
let i = t[r], a, o, s = () => a ? o : (a = !0, o =
|
|
134
|
-
return
|
|
133
|
+
let i = t[r], a, o, s = () => a ? o : (a = !0, o = E(e, t, n, r + 1), o), c = i(e, s);
|
|
134
|
+
return de(c) ? s() : typeof c?.then == `function` ? c.then((e) => de(e) ? s() : e) : c;
|
|
135
135
|
}
|
|
136
|
-
function
|
|
137
|
-
return e === void 0 || e ===
|
|
136
|
+
function de(e) {
|
|
137
|
+
return e === void 0 || e === I;
|
|
138
138
|
}
|
|
139
|
-
function
|
|
140
|
-
let t = new
|
|
139
|
+
function fe(e) {
|
|
140
|
+
let t = new S();
|
|
141
141
|
if (!e || e === `?`) return t;
|
|
142
142
|
let n = e.length, r = ``, i = ``, a = -1, o = -1, s = !1, c = !1, l = !1, u = !1, d = !1, f = 0;
|
|
143
143
|
for (let p = 0; p < n + 1; p++) switch (f = p === n ? 38 : e.charCodeAt(p), f) {
|
|
144
144
|
case 38:
|
|
145
145
|
if (d = o > a, d || (o = p), r = e.slice(a + 1, o), d || r.length > 0) {
|
|
146
|
-
if (l && (r = r.replace(
|
|
146
|
+
if (l && (r = r.replace(Ee, ` `)), s) try {
|
|
147
147
|
r = decodeURIComponent(r);
|
|
148
148
|
} catch {}
|
|
149
|
-
if (d && (i = e.slice(o + 1, p), u && (i = i.replace(
|
|
149
|
+
if (d && (i = e.slice(o + 1, p), u && (i = i.replace(Ee, ` `)), c)) try {
|
|
150
150
|
i = decodeURIComponent(i);
|
|
151
151
|
} catch {}
|
|
152
152
|
let n = t[r];
|
|
@@ -166,59 +166,85 @@ function pe(e) {
|
|
|
166
166
|
}
|
|
167
167
|
return t;
|
|
168
168
|
}
|
|
169
|
-
function
|
|
170
|
-
return
|
|
169
|
+
function pe(e) {
|
|
170
|
+
return fe((e.url || new URL(e.req.url)).search.slice(1));
|
|
171
171
|
}
|
|
172
|
-
function
|
|
173
|
-
if (typeof e == `function`) return
|
|
172
|
+
function D(e) {
|
|
173
|
+
if (typeof e == `function`) return me(e);
|
|
174
174
|
let t = e.handler || (e.fetch ? function(t) {
|
|
175
175
|
return e.fetch(t.req);
|
|
176
|
-
} :
|
|
177
|
-
return Object.assign(
|
|
178
|
-
return
|
|
176
|
+
} : De);
|
|
177
|
+
return Object.assign(me(e.middleware?.length ? function(n) {
|
|
178
|
+
return E(n, e.middleware, t);
|
|
179
179
|
} : t), e);
|
|
180
180
|
}
|
|
181
|
-
function
|
|
181
|
+
function me(e) {
|
|
182
182
|
return `fetch` in e ? e : Object.assign(e, { fetch: (t) => {
|
|
183
183
|
typeof t == `string` && (t = new URL(t, `http://_`)), t instanceof URL && (t = new Request(t));
|
|
184
|
-
let n = new
|
|
184
|
+
let n = new P(t);
|
|
185
185
|
try {
|
|
186
|
-
return Promise.resolve(
|
|
186
|
+
return Promise.resolve(w(e(n), n));
|
|
187
187
|
} catch (e) {
|
|
188
|
-
return Promise.resolve(
|
|
188
|
+
return Promise.resolve(w(e, n));
|
|
189
189
|
}
|
|
190
190
|
} });
|
|
191
191
|
}
|
|
192
|
-
function
|
|
192
|
+
function O(e) {
|
|
193
193
|
let t, n;
|
|
194
|
-
return
|
|
194
|
+
return D(function(r) {
|
|
195
195
|
return t ? t(r) : (n ??= Promise.resolve(e()).then(function(e) {
|
|
196
|
-
if (t =
|
|
196
|
+
if (t = k(e) || k(e.default), typeof t != `function`) throw TypeError(`Invalid lazy handler`, { cause: { resolved: e } });
|
|
197
197
|
return t;
|
|
198
198
|
})).then((e) => e(r));
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
|
-
function
|
|
201
|
+
function k(e) {
|
|
202
202
|
if (typeof e == `function`) return e;
|
|
203
203
|
if (typeof e?.handler == `function`) return e.handler;
|
|
204
204
|
if (typeof e?.fetch == `function`) return function(t) {
|
|
205
205
|
return e.fetch(t.req);
|
|
206
206
|
};
|
|
207
207
|
}
|
|
208
|
-
|
|
209
|
-
|
|
208
|
+
function A(e) {
|
|
209
|
+
return e.split(/\r\n|\r|\n/).map((e) => `: ${e}\n`).join(``) + `
|
|
210
|
+
`;
|
|
211
|
+
}
|
|
212
|
+
function j(e) {
|
|
213
|
+
let t = ``;
|
|
214
|
+
e.id && (t += `id: ${he(e.id)}\n`), e.event && (t += `event: ${he(e.event)}\n`), typeof e.retry == `number` && Number.isInteger(e.retry) && (t += `retry: ${e.retry}\n`);
|
|
215
|
+
let n = typeof e.data == `string` ? e.data : ``;
|
|
216
|
+
for (let e of n.split(/\r\n|\r|\n/)) t += `data: ${e}\n`;
|
|
217
|
+
return t += `
|
|
218
|
+
`, t;
|
|
219
|
+
}
|
|
220
|
+
function he(e) {
|
|
221
|
+
return e.replace(/[\n\r]/g, ``);
|
|
222
|
+
}
|
|
223
|
+
function ge(e) {
|
|
224
|
+
let t = ``;
|
|
225
|
+
for (let n of e) t += j(n);
|
|
226
|
+
return t;
|
|
227
|
+
}
|
|
228
|
+
function _e(e) {
|
|
229
|
+
e.res.headers.set(`content-type`, `text/event-stream`), e.res.headers.set(`cache-control`, `private, no-cache, no-store, no-transform, must-revalidate, max-age=0`), e.res.headers.set(`x-accel-buffering`, `no`), e.req.headers.get(`connection`) === `keep-alive` && e.res.headers.set(`connection`, `keep-alive`);
|
|
230
|
+
}
|
|
231
|
+
function ve(e, t) {
|
|
232
|
+
return new Ae(e, t);
|
|
233
|
+
}
|
|
234
|
+
var M, N, ye, be, P, xe, Se, F, I, Ce, L, R, we, Te, z, Ee, De, Oe, ke, Ae, je = b((() => {
|
|
235
|
+
ee(), ne(), M = `h3.internal.event.`, N = Symbol.for(`${M}res`), ye = Symbol.for(`${M}res.headers`), be = Symbol.for(`${M}res.err.headers`), P = class {
|
|
210
236
|
app;
|
|
211
237
|
req;
|
|
212
238
|
url;
|
|
213
239
|
context;
|
|
214
240
|
static __is_event__ = !0;
|
|
215
241
|
constructor(e, t, n) {
|
|
216
|
-
this.context = t || e.context || new
|
|
242
|
+
this.context = t || e.context || new S(), this.req = e, this.app = n;
|
|
217
243
|
let r = e._url, i = r && r instanceof URL ? r : new te(e.url);
|
|
218
244
|
i.pathname.includes(`%`) && (i.pathname = re(i.pathname)), this.url = i;
|
|
219
245
|
}
|
|
220
246
|
get res() {
|
|
221
|
-
return this[
|
|
247
|
+
return this[N] ||= new xe();
|
|
222
248
|
}
|
|
223
249
|
get runtime() {
|
|
224
250
|
return this.req.runtime;
|
|
@@ -244,16 +270,16 @@ var O, k, A, j, M, ge, _e, N, P, ve, F, I, L, ye, R, z, B, be, xe = y((() => {
|
|
|
244
270
|
get method() {
|
|
245
271
|
return this.req.method;
|
|
246
272
|
}
|
|
247
|
-
},
|
|
273
|
+
}, xe = class {
|
|
248
274
|
status;
|
|
249
275
|
statusText;
|
|
250
276
|
get headers() {
|
|
251
|
-
return this[
|
|
277
|
+
return this[ye] ||= new Headers();
|
|
252
278
|
}
|
|
253
279
|
get errHeaders() {
|
|
254
|
-
return this[
|
|
280
|
+
return this[be] ||= new Headers();
|
|
255
281
|
}
|
|
256
|
-
},
|
|
282
|
+
}, Se = /[^\u0009\u0020-\u007E]/g, F = class e extends Error {
|
|
257
283
|
get name() {
|
|
258
284
|
return `HTTPError`;
|
|
259
285
|
}
|
|
@@ -303,7 +329,7 @@ var O, k, A, j, M, ge, _e, N, P, ve, F, I, L, ye, R, z, B, be, xe = y((() => {
|
|
|
303
329
|
...e ? void 0 : this.body
|
|
304
330
|
};
|
|
305
331
|
}
|
|
306
|
-
},
|
|
332
|
+
}, I = Symbol.for(`h3.notFound`), Ce = Symbol.for(`h3.handled`), L = class {
|
|
307
333
|
#e;
|
|
308
334
|
#t;
|
|
309
335
|
body;
|
|
@@ -319,13 +345,13 @@ var O, k, A, j, M, ge, _e, N, P, ve, F, I, L, ye, R, z, B, be, xe = y((() => {
|
|
|
319
345
|
get headers() {
|
|
320
346
|
return this.#e ||= new Headers(this.#t?.headers);
|
|
321
347
|
}
|
|
322
|
-
},
|
|
348
|
+
}, R = (e) => (...t) => {
|
|
323
349
|
throw Error(`Headers are frozen (${e} ${t.join(`, `)})`);
|
|
324
|
-
},
|
|
325
|
-
set =
|
|
326
|
-
append =
|
|
327
|
-
delete =
|
|
328
|
-
},
|
|
350
|
+
}, we = class extends Headers {
|
|
351
|
+
set = R(`set`);
|
|
352
|
+
append = R(`append`);
|
|
353
|
+
delete = R(`delete`);
|
|
354
|
+
}, Te = new we({ "content-length": `0` }), z = new we({ "content-type": `application/json;charset=UTF-8` }), Ee = /\+/g, De = () => I, Oe = class {
|
|
329
355
|
config;
|
|
330
356
|
"~middleware";
|
|
331
357
|
"~routes" = [];
|
|
@@ -338,11 +364,11 @@ var O, k, A, j, M, ge, _e, N, P, ve, F, I, L, ye, R, z, B, be, xe = y((() => {
|
|
|
338
364
|
handler(e) {
|
|
339
365
|
let t = this[`~findRoute`](e);
|
|
340
366
|
t && (e.context.params = t.params, e.context.matchedRoute = t.data);
|
|
341
|
-
let n = t?.data.handler ||
|
|
342
|
-
return r.length > 0 ?
|
|
367
|
+
let n = t?.data.handler || De, r = this[`~getMiddleware`](e, t);
|
|
368
|
+
return r.length > 0 ? E(e, r, n) : n(e);
|
|
343
369
|
}
|
|
344
370
|
"~request"(e, t) {
|
|
345
|
-
let n = new
|
|
371
|
+
let n = new P(e, t, this), r;
|
|
346
372
|
try {
|
|
347
373
|
if (this.config.onRequest) {
|
|
348
374
|
let e = this.config.onRequest(n);
|
|
@@ -351,7 +377,7 @@ var O, k, A, j, M, ge, _e, N, P, ve, F, I, L, ye, R, z, B, be, xe = y((() => {
|
|
|
351
377
|
} catch (e) {
|
|
352
378
|
r = Promise.reject(e);
|
|
353
379
|
}
|
|
354
|
-
return
|
|
380
|
+
return w(r, n, this.config);
|
|
355
381
|
}
|
|
356
382
|
"~findRoute"(e) {}
|
|
357
383
|
"~addRoute"(e) {
|
|
@@ -361,17 +387,123 @@ var O, k, A, j, M, ge, _e, N, P, ve, F, I, L, ye, R, z, B, be, xe = y((() => {
|
|
|
361
387
|
let n = t?.data.middleware, r = this[`~middleware`];
|
|
362
388
|
return n ? [...r, ...n] : r;
|
|
363
389
|
}
|
|
390
|
+
}, ke = () => {}, Ae = class {
|
|
391
|
+
_event;
|
|
392
|
+
_transformStream = new TransformStream();
|
|
393
|
+
_writer;
|
|
394
|
+
_encoder = new TextEncoder();
|
|
395
|
+
_writerIsClosed = !1;
|
|
396
|
+
_paused = !1;
|
|
397
|
+
_unsentData;
|
|
398
|
+
_disposed = !1;
|
|
399
|
+
_handled = !1;
|
|
400
|
+
constructor(e, t = {}) {
|
|
401
|
+
this._event = e, this._writer = this._transformStream.writable.getWriter(), this._writer.closed.then(() => {
|
|
402
|
+
this._writerIsClosed = !0;
|
|
403
|
+
}), t.autoclose !== !1 && this._event.runtime?.node?.res?.once(`close`, () => this.close());
|
|
404
|
+
}
|
|
405
|
+
async push(e) {
|
|
406
|
+
if (typeof e == `string`) {
|
|
407
|
+
await this._sendEvent({ data: e });
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
if (Array.isArray(e)) {
|
|
411
|
+
if (e.length === 0) return;
|
|
412
|
+
if (typeof e[0] == `string`) {
|
|
413
|
+
let t = [];
|
|
414
|
+
for (let n of e) t.push({ data: n });
|
|
415
|
+
await this._sendEvents(t);
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
await this._sendEvents(e);
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
await this._sendEvent(e);
|
|
422
|
+
}
|
|
423
|
+
async pushComment(e) {
|
|
424
|
+
if (!this._writerIsClosed) {
|
|
425
|
+
if (this._paused && !this._unsentData) {
|
|
426
|
+
this._unsentData = A(e);
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
if (this._paused) {
|
|
430
|
+
this._unsentData += A(e);
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
await this._writer.write(this._encoder.encode(A(e))).catch(() => {
|
|
434
|
+
this._writerIsClosed = !0;
|
|
435
|
+
});
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
async _sendEvent(e) {
|
|
439
|
+
if (!this._writerIsClosed) {
|
|
440
|
+
if (this._paused && !this._unsentData) {
|
|
441
|
+
this._unsentData = j(e);
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
if (this._paused) {
|
|
445
|
+
this._unsentData += j(e);
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
await this._writer.write(this._encoder.encode(j(e))).catch(() => {
|
|
449
|
+
this._writerIsClosed = !0;
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
async _sendEvents(e) {
|
|
454
|
+
if (this._writerIsClosed) return;
|
|
455
|
+
let t = ge(e);
|
|
456
|
+
if (this._paused && !this._unsentData) {
|
|
457
|
+
this._unsentData = t;
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
if (this._paused) {
|
|
461
|
+
this._unsentData += t;
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
await this._writer.write(this._encoder.encode(t)).catch(() => {
|
|
465
|
+
this._writerIsClosed = !0;
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
pause() {
|
|
469
|
+
this._paused = !0;
|
|
470
|
+
}
|
|
471
|
+
get isPaused() {
|
|
472
|
+
return this._paused;
|
|
473
|
+
}
|
|
474
|
+
async resume() {
|
|
475
|
+
this._paused = !1, await this.flush();
|
|
476
|
+
}
|
|
477
|
+
async flush() {
|
|
478
|
+
this._writerIsClosed || this._unsentData?.length && (await this._writer.write(this._encoder.encode(this._unsentData)).catch(() => {
|
|
479
|
+
this._writerIsClosed = !0;
|
|
480
|
+
}), this._unsentData = void 0);
|
|
481
|
+
}
|
|
482
|
+
async close() {
|
|
483
|
+
if (!this._disposed) {
|
|
484
|
+
if (!this._writerIsClosed) try {
|
|
485
|
+
await this._writer.close();
|
|
486
|
+
} catch {}
|
|
487
|
+
this._disposed = !0;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
onClosed(e) {
|
|
491
|
+
this._writer.closed.then(e).catch(ke);
|
|
492
|
+
}
|
|
493
|
+
async send() {
|
|
494
|
+
return _e(this._event), this._event.res.status = 200, this._handled = !0, this._transformStream.readable;
|
|
495
|
+
}
|
|
364
496
|
}, new TextEncoder();
|
|
365
|
-
})),
|
|
366
|
-
|
|
497
|
+
})), B = b((() => {
|
|
498
|
+
je();
|
|
367
499
|
}));
|
|
368
|
-
|
|
369
|
-
var
|
|
370
|
-
let n =
|
|
371
|
-
return new
|
|
500
|
+
B(), ne();
|
|
501
|
+
var Ne = (e, t) => {
|
|
502
|
+
let n = Pe(e, t);
|
|
503
|
+
return new C(typeof n.body == `string` ? n.body : JSON.stringify(n.body, null, 2), n);
|
|
372
504
|
};
|
|
373
|
-
function
|
|
374
|
-
let n = e.unhandled ?? !
|
|
505
|
+
function Pe(e, t) {
|
|
506
|
+
let n = e.unhandled ?? !F.isError(e), { status: r = 500, statusText: i = `` } = n ? {} : e;
|
|
375
507
|
if (r === 404) {
|
|
376
508
|
let e = t.url || new URL(t.req.url);
|
|
377
509
|
if (/^\/[^/]/.test(`/`) && !e.pathname.startsWith(`/`)) return {
|
|
@@ -397,131 +529,131 @@ function we(e, t) {
|
|
|
397
529
|
}
|
|
398
530
|
};
|
|
399
531
|
}
|
|
400
|
-
var
|
|
401
|
-
async function
|
|
402
|
-
for (let n of
|
|
403
|
-
let r = await n(e, t, { defaultHandler:
|
|
532
|
+
var Fe = [Ne];
|
|
533
|
+
async function Ie(e, t) {
|
|
534
|
+
for (let n of Fe) try {
|
|
535
|
+
let r = await n(e, t, { defaultHandler: Pe });
|
|
404
536
|
if (r) return r;
|
|
405
537
|
} catch (e) {
|
|
406
538
|
console.error(e);
|
|
407
539
|
}
|
|
408
540
|
}
|
|
409
541
|
String.fromCharCode;
|
|
410
|
-
var
|
|
411
|
-
function
|
|
542
|
+
var Le = /%2f/gi;
|
|
543
|
+
function Re(e = ``) {
|
|
412
544
|
try {
|
|
413
545
|
return decodeURIComponent(`` + e);
|
|
414
546
|
} catch {
|
|
415
547
|
return `` + e;
|
|
416
548
|
}
|
|
417
549
|
}
|
|
418
|
-
function
|
|
419
|
-
return
|
|
550
|
+
function ze(e) {
|
|
551
|
+
return Re(e.replace(Le, `%252F`));
|
|
420
552
|
}
|
|
421
|
-
var
|
|
422
|
-
function
|
|
423
|
-
return t ?
|
|
553
|
+
var Be = /\/$|\/\?|\/#/, Ve = /^\.?\//;
|
|
554
|
+
function V(e = ``, t) {
|
|
555
|
+
return t ? Be.test(e) : e.endsWith(`/`);
|
|
424
556
|
}
|
|
425
|
-
function
|
|
426
|
-
if (!t) return (
|
|
427
|
-
if (!
|
|
557
|
+
function He(e = ``, t) {
|
|
558
|
+
if (!t) return (V(e) ? e.slice(0, -1) : e) || `/`;
|
|
559
|
+
if (!V(e, !0)) return e || `/`;
|
|
428
560
|
let n = e, r = ``, i = e.indexOf(`#`);
|
|
429
561
|
i !== -1 && (n = e.slice(0, i), r = e.slice(i));
|
|
430
562
|
let [a, ...o] = n.split(`?`);
|
|
431
563
|
return ((a.endsWith(`/`) ? a.slice(0, -1) : a) || `/`) + (o.length > 0 ? `?${o.join(`?`)}` : ``) + r;
|
|
432
564
|
}
|
|
433
|
-
function
|
|
565
|
+
function Ue(e = ``, t) {
|
|
434
566
|
if (!t) return e.endsWith(`/`) ? e : e + `/`;
|
|
435
|
-
if (
|
|
567
|
+
if (V(e, !0)) return e || `/`;
|
|
436
568
|
let n = e, r = ``, i = e.indexOf(`#`);
|
|
437
569
|
if (i !== -1 && (n = e.slice(0, i), r = e.slice(i), !n)) return r;
|
|
438
570
|
let [a, ...o] = n.split(`?`);
|
|
439
571
|
return a + `/` + (o.length > 0 ? `?${o.join(`?`)}` : ``) + r;
|
|
440
572
|
}
|
|
441
|
-
function
|
|
573
|
+
function We(e = ``) {
|
|
442
574
|
return e.startsWith(`/`);
|
|
443
575
|
}
|
|
444
|
-
function
|
|
445
|
-
return
|
|
576
|
+
function Ge(e = ``) {
|
|
577
|
+
return We(e) ? e : `/` + e;
|
|
446
578
|
}
|
|
447
|
-
function
|
|
579
|
+
function Ke(e) {
|
|
448
580
|
return e && e !== `/`;
|
|
449
581
|
}
|
|
450
|
-
function
|
|
582
|
+
function qe(e, ...t) {
|
|
451
583
|
let n = e || ``;
|
|
452
|
-
for (let e of t.filter((e) =>
|
|
453
|
-
let t = e.replace(
|
|
454
|
-
n =
|
|
584
|
+
for (let e of t.filter((e) => Ke(e))) if (n) {
|
|
585
|
+
let t = e.replace(Ve, ``);
|
|
586
|
+
n = Ue(n) + t;
|
|
455
587
|
} else n = e;
|
|
456
588
|
return n;
|
|
457
589
|
}
|
|
458
|
-
var
|
|
590
|
+
var Je = ((e) => function(t) {
|
|
459
591
|
for (let [n, r] of Object.entries(e.options || {})) t.res.headers.set(n, r);
|
|
460
|
-
}),
|
|
461
|
-
"/assets/index-
|
|
592
|
+
}), H = {
|
|
593
|
+
"/assets/index-CIhhqrBM.js": {
|
|
462
594
|
type: `text/javascript; charset=utf-8`,
|
|
463
|
-
etag: `"
|
|
464
|
-
mtime: `2026-03-
|
|
465
|
-
size:
|
|
466
|
-
path: `../public/assets/index-
|
|
467
|
-
data: `KGZ1bmN0aW9uKCl7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgbGlua2ApLnJlbExpc3Q7aWYoZSYmZS5zdXBwb3J0cyYmZS5zdXBwb3J0cyhgbW9kdWxlcHJlbG9hZGApKXJldHVybjtmb3IobGV0IGUgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgbGlua1tyZWw9Im1vZHVsZXByZWxvYWQiXWApKW4oZSk7bmV3IE11dGF0aW9uT2JzZXJ2ZXIoZT0+e2ZvcihsZXQgdCBvZiBlKWlmKHQudHlwZT09PWBjaGlsZExpc3RgKWZvcihsZXQgZSBvZiB0LmFkZGVkTm9kZXMpZS50YWdOYW1lPT09YExJTktgJiZlLnJlbD09PWBtb2R1bGVwcmVsb2FkYCYmbihlKX0pLm9ic2VydmUoZG9jdW1lbnQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZnVuY3Rpb24gdChlKXtsZXQgdD17fTtyZXR1cm4gZS5pbnRlZ3JpdHkmJih0LmludGVncml0eT1lLmludGVncml0eSksZS5yZWZlcnJlclBvbGljeSYmKHQucmVmZXJyZXJQb2xpY3k9ZS5yZWZlcnJlclBvbGljeSksZS5jcm9zc09yaWdpbj09PWB1c2UtY3JlZGVudGlhbHNgP3QuY3JlZGVudGlhbHM9YGluY2x1ZGVgOmUuY3Jvc3NPcmlnaW49PT1gYW5vbnltb3VzYD90LmNyZWRlbnRpYWxzPWBvbWl0YDp0LmNyZWRlbnRpYWxzPWBzYW1lLW9yaWdpbmAsdH1mdW5jdGlvbiBuKGUpe2lmKGUuZXApcmV0dXJuO2UuZXA9ITA7bGV0IG49dChlKTtmZXRjaChlLmhyZWYsbil9fSkoKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChgaWNvbi1zdW5gKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBpY29uLW1vb25gKTtmdW5jdGlvbiBuKCl7bGV0IG49bG9jYWxTdG9yYWdlLmdldEl0ZW0oYHRoZW1lYCkscj1uPT09YGRhcmtgfHwhbiYmd2luZG93Lm1hdGNoTWVkaWEoYChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaylgKS5tYXRjaGVzO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKGBkYXJrYCxyKSxlLmNsYXNzTGlzdC50b2dnbGUoYGhpZGRlbmAsIXIpLHQuY2xhc3NMaXN0LnRvZ2dsZShgaGlkZGVuYCxyKX1mdW5jdGlvbiByKCl7bigpLHdpbmRvdy5tYXRjaE1lZGlhKGAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspYCkuYWRkRXZlbnRMaXN0ZW5lcihgY2hhbmdlYCwoKT0+e2xvY2FsU3RvcmFnZS5nZXRJdGVtKGB0aGVtZWApfHxuKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgdGhlbWUtdG9nZ2xlYCkuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLCgpPT57bGV0IGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhgZGFya2ApO2xvY2FsU3RvcmFnZS5zZXRJdGVtKGB0aGVtZWAsZT9gbGlnaHRgOmBkYXJrYCksbigpfSl9ZnVuY3Rpb24gaShlLHQpe3JldHVybiBlLnBhdGg9PT10PyEwOmUuY2hpbGRyZW4/LnNvbWUoZT0+aShlLHQpKT8/ITF9ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlLm1hcChlPT57bGV0IG49ZS5jaGlsZHJlbiYmZS5jaGlsZHJlbi5sZW5ndGg+MCxyPW4/YShlLmNoaWxkcmVuLHQrMSk6YGAsaT0xMit0KjEyO3JldHVybmAKICAgICAgICA8bGk+CiAgICAgICAgICAke2UucGFnZSE9PSExJiYhKG4mJmUuY2hpbGRyZW4/LlswXT8ucGF0aD09PWUucGF0aCk/YDxhIGhyZWY9IiR7ZS5wYXRofSIKICAgICAgICAgICAgY2xhc3M9Im5hdi1saW5rIGJsb2NrIHB5LTEuNSB0ZXh0LXNtICR7bj9gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtZ3JheS0xMDBgOmB0ZXh0LWdyYXktNjAwIGRhcms6dGV4dC1ncmF5LTQwMGB9IGhvdmVyOmJnLWdyYXktMTAwIGhvdmVyOnRleHQtZ3JheS05MDAgZGFyazpob3ZlcjpiZy1ncmF5LTgwMCBkYXJrOmhvdmVyOnRleHQtZ3JheS0xMDAgcm91bmRlZC1tZCB0cmFuc2l0aW9uLWNvbG9ycyIKICAgICAgICAgICAgc3R5bGU9InBhZGRpbmctbGVmdDogJHtpfXB4OyBwYWRkaW5nLXJpZ2h0OiAxMnB4IgogICAgICAgICAgICBkYXRhLXBhdGg9IiR7ZS5wYXRofSI+CiAgICAgICAgICAgICR7ZS50aXRsZX0KICAgICAgICAgIDwvYT5gOmA8c3BhbgogICAgICAgICAgICBjbGFzcz0iYmxvY2sgcHktMS41IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtZ3JheS0xMDAgY3Vyc29yLWRlZmF1bHQiCiAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nLWxlZnQ6ICR7aX1weDsgcGFkZGluZy1yaWdodDogMTJweCI+CiAgICAgICAgICAgICR7ZS50aXRsZX0KICAgICAgICAgIDwvc3Bhbj5gfQogICAgICAgICAgJHtyP2A8dWwgY2xhc3M9Im10LTAuNSI+JHtyfTwvdWw+YDpgYH0KICAgICAgICA8L2xpPmB9KS5qb2luKGBgKX1mdW5jdGlvbiBvKGUsdCl7bGV0IG49ZS5zb21lKGU9PmkoZSx0KSkscj0hMDtyZXR1cm4gZS5tYXAoZT0+e2lmKCEoZS5jaGlsZHJlbiYmZS5jaGlsZHJlbi5sZW5ndGg+MCkpcmV0dXJuYDxsaT4ke2UucGFnZT09PSExP2A8c3BhbiBjbGFzcz0iYmxvY2sgcHktMS41IHB4LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC1ncmF5LTEwMCBjdXJzb3ItZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAke2UudGl0bGV9CiAgICAgICAgICAgICAgPC9zcGFuPmA6YDxhIGhyZWY9IiR7ZS5wYXRofSIKICAgICAgICAgICAgICAgIGNsYXNzPSJuYXYtbGluayBibG9jayBweS0xLjUgcHgtMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LWdyYXktMTAwIGhvdmVyOmJnLWdyYXktMTAwIGRhcms6aG92ZXI6YmctZ3JheS04MDAgcm91bmRlZC1tZCB0cmFuc2l0aW9uLWNvbG9ycyIKICAgICAgICAgICAgICAgIGRhdGEtcGF0aD0iJHtlLnBhdGh9Ij4KICAgICAgICAgICAgICAgICR7ZS50aXRsZX0KICAgICAgICAgICAgICA8L2E+YH08L2xpPmA7bGV0IG89aShlLHQpfHwhbiYmcjtyPSExO2xldCBzPWUucGFnZSE9PSExJiZlLmNoaWxkcmVuPy5bMF0/LnBhdGghPT1lLnBhdGgsYz1gPHN2ZyBjbGFzcz0ibmF2LWNoZXZyb24gdy00IGgtNCB0ZXh0LWdyYXktNDAwIHRyYW5zaXRpb24tdHJhbnNmb3JtICR7bz9gcm90YXRlLTkwYDpgYH0iIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjIxIDE0Ljc3YS43NS43NSAwIDAxLjAyLTEuMDZMMTEuMTY4IDEwIDcuMjMgNi4yOWEuNzUuNzUgMCAxMTEuMDQtMS4wOGw0LjUgNC4yNWEuNzUuNzUgMCAwMTAgMS4wOGwtNC41IDQuMjVhLjc1Ljc1IDAgMDEtMS4wNi0uMDJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz5gLGw9cz9gPGEgaHJlZj0iJHtlLnBhdGh9IgogICAgICAgICAgICBjbGFzcz0ibmF2LWxpbmsgZmxleC0xIHB5LTEuNSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LWdyYXktMTAwIGhvdmVyOnRleHQtZ3JheS02MDAgZGFyazpob3Zlcjp0ZXh0LWdyYXktMzAwIHRyYW5zaXRpb24tY29sb3JzIgogICAgICAgICAgICBkYXRhLXBhdGg9IiR7ZS5wYXRofSI+CiAgICAgICAgICAgICR7ZS50aXRsZX0KICAgICAgICAgIDwvYT5gOmA8c3BhbiBjbGFzcz0iZmxleC0xIHB5LTEuNSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LWdyYXktMTAwIj4KICAgICAgICAgICAgJHtlLnRpdGxlfQogICAgICAgICAgPC9zcGFuPmAsdT1hKGUuY2hpbGRyZW4sMSk7cmV0dXJuYAogICAgICAgIDxsaSBkYXRhLXNlY3Rpb249IiR7ZS5wYXRofSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBweC0zIHJvdW5kZWQtbWQgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpob3ZlcjpiZy1ncmF5LTgwMCB0cmFuc2l0aW9uLWNvbG9ycyBjdXJzb3ItcG9pbnRlciI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi10b2dnbGUgcC0wLjUgLW1sLTEgbXItMSIgZGF0YS1zZWN0aW9uPSIke2UucGF0aH0iIGFyaWEtbGFiZWw9IlRvZ2dsZSBzZWN0aW9uIj4KICAgICAgICAgICAgICAke2N9CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAke2x9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx1bCBjbGFzcz0ibmF2LXNlY3Rpb24gbXQtMC41ICR7bz9gYDpgaGlkZGVuYH0iIGRhdGEtc2VjdGlvbj0iJHtlLnBhdGh9Ij4KICAgICAgICAgICAgJHt1fQogICAgICAgICAgPC91bD4KICAgICAgICA8L2xpPmB9KS5qb2luKGBgKX1mdW5jdGlvbiBzKGUpe2ZvcihsZXQgdCBvZiBlKXtpZih0LnBhZ2UhPT0hMSlyZXR1cm4gdC5wYXRoO2lmKHQuY2hpbGRyZW4pe2xldCBlPXModC5jaGlsZHJlbik7aWYoZSlyZXR1cm4gZX19fXZhciBjPVtdO2Z1bmN0aW9uIGwoZSx0KXtjPXQ7bGV0IG49bG9jYXRpb24ucGF0aG5hbWU7ZS5pbm5lckhUTUw9dC5sZW5ndGg/YDx1bCBjbGFzcz0ic3BhY2UteS0wLjUiPiR7byh0LG4pfTwvdWw+YDpgPHAgY2xhc3M9InB4LTMgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS00MDAiPk5vIHBhZ2VzIGxvYWRlZDwvcD5gLGUuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHQ9PntsZXQgbj10LnRhcmdldCxyPW4uY2xvc2VzdChgLm5hdi10b2dnbGVgKTtpZihyKXt1KGUsci5kYXRhc2V0LnNlY3Rpb24pO3JldHVybn1sZXQgaT1uLmNsb3Nlc3QoYGxpW2RhdGEtc2VjdGlvbl1gKTtpJiYhbi5jbG9zZXN0KGAubmF2LWxpbmtgKSYmdShlLGkuZGF0YXNldC5zZWN0aW9uKX0pfWZ1bmN0aW9uIHUoZSx0KXtsZXQgbj1lLnF1ZXJ5U2VsZWN0b3IoYHVsLm5hdi1zZWN0aW9uW2RhdGEtc2VjdGlvbj0iJHt0fSJdYCk7biYmKG4uY2xhc3NMaXN0LmNvbnRhaW5zKGBoaWRkZW5gKT8oZS5xdWVyeVNlbGVjdG9yQWxsKGB1bC5uYXYtc2VjdGlvbmApLmZvckVhY2goZT0+e2UuY2xhc3NMaXN0LmFkZChgaGlkZGVuYCl9KSxlLnF1ZXJ5U2VsZWN0b3JBbGwoYC5uYXYtY2hldnJvbmApLmZvckVhY2goZT0+e2UuY2xhc3NMaXN0LnJlbW92ZShgcm90YXRlLTkwYCl9KSxuLmNsYXNzTGlzdC5yZW1vdmUoYGhpZGRlbmApLGUucXVlcnlTZWxlY3RvcihgLm5hdi10b2dnbGVbZGF0YS1zZWN0aW9uPSIke3R9Il0gLm5hdi1jaGV2cm9uYCk/LmNsYXNzTGlzdC5hZGQoYHJvdGF0ZS05MGApKToobi5jbGFzc0xpc3QuYWRkKGBoaWRkZW5gKSxlLnF1ZXJ5U2VsZWN0b3IoYC5uYXYtdG9nZ2xlW2RhdGEtc2VjdGlvbj0iJHt0fSJdIC5uYXYtY2hldnJvbmApPy5jbGFzc0xpc3QucmVtb3ZlKGByb3RhdGUtOTBgKSkpfWZ1bmN0aW9uIGQoZSx0KXtlLnF1ZXJ5U2VsZWN0b3JBbGwoYC5uYXYtbGlua2ApLmZvckVhY2goZT0+e2xldCBuPWUuZ2V0QXR0cmlidXRlKGBkYXRhLXBhdGhgKT09PXQ7ZS5jbGFzc0xpc3QudG9nZ2xlKGBuYXYtYWN0aXZlYCxuKSxlLmNsYXNzTGlzdC50b2dnbGUoYGZvbnQtbWVkaXVtYCxuKX0pO2xldCBuPWMuZmluZChlPT5pKGUsdCkpO24/LmNoaWxkcmVuPy5sZW5ndGgmJihlLnF1ZXJ5U2VsZWN0b3JBbGwoYHVsLm5hdi1zZWN0aW9uYCkuZm9yRWFjaChlPT57ZS5jbGFzc0xpc3QuYWRkKGBoaWRkZW5gKX0pLGUucXVlcnlTZWxlY3RvckFsbChgLm5hdi1jaGV2cm9uYCkuZm9yRWFjaChlPT57ZS5jbGFzc0xpc3QucmVtb3ZlKGByb3RhdGUtOTBgKX0pLGUucXVlcnlTZWxlY3RvcihgdWwubmF2LXNlY3Rpb25bZGF0YS1zZWN0aW9uPSIke24ucGF0aH0iXWApPy5jbGFzc0xpc3QucmVtb3ZlKGBoaWRkZW5gKSxlLnF1ZXJ5U2VsZWN0b3IoYC5uYXYtdG9nZ2xlW2RhdGEtc2VjdGlvbj0iJHtuLnBhdGh9Il0gLm5hdi1jaGV2cm9uYCk/LmNsYXNzTGlzdC5hZGQoYHJvdGF0ZS05MGApKX1mdW5jdGlvbiBmKGUsdCl7ZS5pbm5lckhUTUw9YDxhcnRpY2xlIGNsYXNzPSJwcm9zZSBwcm9zZS1ncmF5IG1heC13LW5vbmUiPiR7dH08L2FydGljbGU+YDtmb3IobGV0IHQgb2YgZS5xdWVyeVNlbGVjdG9yQWxsKGBhW2hyZWZdYCkpe2xldCBuPXQuZ2V0QXR0cmlidXRlKGBocmVmYCk7bi5zdGFydHNXaXRoKGAvYCk/dC5hZGRFdmVudExpc3RlbmVyKGBjbGlja2AsZT0+e2UucHJldmVudERlZmF1bHQoKSxoaXN0b3J5LnB1c2hTdGF0ZShudWxsLGBgLG4pLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBQb3BTdGF0ZUV2ZW50KGBwb3BzdGF0ZWApKX0pOm4uc3RhcnRzV2l0aChgI2ApP3QuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHQ9Pnt0LnByZXZlbnREZWZhdWx0KCk7bGV0IHI9bi5zbGljZSgxKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHIpfHxlLnF1ZXJ5U2VsZWN0b3IoYFtpZD0iJHtDU1MuZXNjYXBlKHIpfSJdYCk7aSYmKGkuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOmBzbW9vdGhgfSksaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxgYCxuKSl9KTovXmh0dHBzPzpcL1wvLy50ZXN0KG4pJiYodC50YXJnZXQ9YF9ibGFua2AsdC5yZWw9YG5vb3BlbmVyIG5vcmVmZXJyZXJgKX19YXN5bmMgZnVuY3Rpb24gcChlLHQpe2YoZSxgPHAgY2xhc3M9InRleHQtZ3JheS00MDAiPkxvYWRpbmcuLi48L3A+YCk7bGV0IG49YXdhaXQoYXdhaXQgZmV0Y2goYC9hcGkvcGFnZT9wYXRoPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHQpfWApKS5qc29uKCk7aWYobi5lcnJvcilmKGUsYDxwIGNsYXNzPSJ0ZXh0LXJlZC01MDAiPiR7bi5lcnJvcn08L3A+YCk7ZWxzZXtmKGUsbi5odG1sKTtsZXQgdD1sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO2lmKHQpe2xldCBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHQpfHxlLnF1ZXJ5U2VsZWN0b3IoYFtpZD0iJHtDU1MuZXNjYXBlKHQpfSJdYCk7biYmbi5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6YHNtb290aGB9KX19fXZhciBtPVtdO2Z1bmN0aW9uIGgoZSl7bT1lfWZ1bmN0aW9uIGcoKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChgc2VhcmNoLXRyaWdnZXJgKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzZWFyY2gtbW9kYWxgKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzZWFyY2gtYmFja2Ryb3BgKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzZWFyY2gtaW5wdXRgKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzZWFyY2gtcmVzdWx0c2ApLGEsbz0tMSxzPVtdO2UuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLGMpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYGtleWRvd25gLGU9PnsoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleT09PWBrYCYmKGUucHJldmVudERlZmF1bHQoKSxjKCkpfSksbi5hZGRFdmVudExpc3RlbmVyKGBjbGlja2AsbCksci5hZGRFdmVudExpc3RlbmVyKGBpbnB1dGAsKCk9PntjbGVhclRpbWVvdXQoYSk7bGV0IGU9ci52YWx1ZS50cmltKCk7aWYoZS5sZW5ndGg8Mil7bz0tMSxzPVtdLHAoKTtyZXR1cm59YT1zZXRUaW1lb3V0KCgpPT51KGUpLDIwMCl9KSxyLmFkZEV2ZW50TGlzdGVuZXIoYGtleWRvd25gLGU9PntlLmtleT09PWBBcnJvd0Rvd25gPyhlLnByZXZlbnREZWZhdWx0KCksZihvKzEpKTplLmtleT09PWBBcnJvd1VwYD8oZS5wcmV2ZW50RGVmYXVsdCgpLGYoby0xKSk6ZS5rZXk9PT1gRW50ZXJgJiZvPj0wPyhlLnByZXZlbnREZWZhdWx0KCksaChzW29dLnBhdGgpKTplLmtleT09PWBFc2NhcGVgJiZsKCl9KTtmdW5jdGlvbiBjKCl7dC5jbGFzc0xpc3QucmVtb3ZlKGBoaWRkZW5gKSxyLnZhbHVlPWBgLG89LTEscz1bXSxwKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5yLmZvY3VzKCkpfWZ1bmN0aW9uIGwoKXt0LmNsYXNzTGlzdC5hZGQoYGhpZGRlbmApLHIudmFsdWU9YGAscz1bXSxvPS0xfWFzeW5jIGZ1bmN0aW9uIHUoZSl7cz0oYXdhaXQoYXdhaXQgZmV0Y2goYC9hcGkvc2VhcmNoP3E9JHtlbmNvZGVVUklDb21wb25lbnQoZSl9YCkpLmpzb24oKSkucmVzdWx0cyxvPXMubGVuZ3RoPjA/MDotMSxkKCl9ZnVuY3Rpb24gZCgpe2lmKHMubGVuZ3RoPT09MCl7aS5pbm5lckhUTUw9YDxwIGNsYXNzPSJweC00IHB5LTggdGV4dC1zbSB0ZXh0LWdyYXktNDAwIHRleHQtY2VudGVyIj5ObyByZXN1bHRzIGZvdW5kPC9wPmA7cmV0dXJufWkuaW5uZXJIVE1MPXMubWFwKChlLHQpPT5gCiAgICAgIDxhIGhyZWY9IiR7ZS5wYXRofSIgY2xhc3M9InNlYXJjaC1pdGVtIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTMgcHgtNCBweS0zIGJvcmRlci1iIGJvcmRlci1ncmF5LTEwMCBkYXJrOmJvcmRlci1ncmF5LTgwMCBob3ZlcjpiZy1ncmF5LTUwIGRhcms6aG92ZXI6YmctZ3JheS04MDAgdHJhbnNpdGlvbi1jb2xvcnMgJHt0PT09bz9gYmctZ3JheS01MCBkYXJrOmJnLWdyYXktODAwYDpgYH0iIGRhdGEtaW5kZXg9IiR7dH0iPgogICAgICAgIDxzdmcgY2xhc3M9InNpemUtNCBtdC0wLjUgc2hyaW5rLTAgdGV4dC1ncmF5LTQwMCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMTkuNSAxNC4yNXYtMi42MjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVoLTEuNUExLjEyNSAxLjEyNSAwIDAgMSAxMy41IDcuMTI1di0xLjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVIOC4yNW0yLjI1IDBINS42MjVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2MTcuMjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWgxMi43NWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNVYxMS4yNWE5IDkgMCAwIDAtOS05WiIgLz4KICAgICAgICA8L3N2Zz4KICAgICAgICA8ZGl2IGNsYXNzPSJtaW4tdy0wIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtZ3JheS0xMDAiPiR7dihlLnRpdGxlKX08L2Rpdj4KICAgICAgICAgICR7ZS5zbmlwcGV0c1swXT9gPGRpdiBjbGFzcz0idGV4dC14cyB0ZXh0LWdyYXktNTAwIGRhcms6dGV4dC1ncmF5LTQwMCBtdC0wLjUgbGluZS1jbGFtcC0yIj4ke3YoZS5zbmlwcGV0c1swXSl9PC9kaXY+YDpgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9hPmApLmpvaW4oYGApLGkucXVlcnlTZWxlY3RvckFsbChgLnNlYXJjaC1pdGVtYCkuZm9yRWFjaChlPT57ZS5hZGRFdmVudExpc3RlbmVyKGBjbGlja2AsKCk9PmwoKSl9KX1mdW5jdGlvbiBmKGUpe3MubGVuZ3RoIT09MCYmKG89TWF0aC5tYXgoMCxNYXRoLm1pbihlLHMubGVuZ3RoLTEpKSxkKCksaS5xdWVyeVNlbGVjdG9yKGBbZGF0YS1pbmRleD0iJHtvfSJdYCk/LnNjcm9sbEludG9WaWV3KHtibG9jazpgbmVhcmVzdGB9KSl9ZnVuY3Rpb24gcCgpe2xldCBlPV8obSk7aWYoZS5sZW5ndGg9PT0wKXtpLmlubmVySFRNTD1gPHAgY2xhc3M9InB4LTQgcHktOCB0ZXh0LXNtIHRleHQtZ3JheS00MDAgdGV4dC1jZW50ZXIiPlR5cGUgdG8gc2VhcmNo4oCmPC9wPmA7cmV0dXJufXM9ZS5tYXAoZT0+KHtwYXRoOmUucGF0aCx0aXRsZTplLnRpdGxlLHNuaXBwZXRzOltdfSkpLG89LTEsaS5pbm5lckhUTUw9cy5tYXAoKGUsdCk9PmAKICAgICAgPGEgaHJlZj0iJHtlLnBhdGh9IiBjbGFzcz0ic2VhcmNoLWl0ZW0gZmxleCBpdGVtcy1zdGFydCBnYXAtMyBweC00IHB5LTMgYm9yZGVyLWIgYm9yZGVyLWdyYXktMTAwIGRhcms6Ym9yZGVyLWdyYXktODAwIGhvdmVyOmJnLWdyYXktNTAgZGFyazpob3ZlcjpiZy1ncmF5LTgwMCB0cmFuc2l0aW9uLWNvbG9ycyIgZGF0YS1pbmRleD0iJHt0fSI+CiAgICAgICAgPHN2ZyBjbGFzcz0ic2l6ZS00IG10LTAuNSBzaHJpbmstMCB0ZXh0LWdyYXktNDAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Ik0xOS41IDE0LjI1di0yLjYyNWEzLjM3NSAzLjM3NSAwIDAgMC0zLjM3NS0zLjM3NWgtMS41QTEuMTI1IDEuMTI1IDAgMCAxIDEzLjUgNy4xMjV2LTEuNWEzLjM3NSAzLjM3NSAwIDAgMC0zLjM3NS0zLjM3NUg4LjI1bTIuMjUgMEg1LjYyNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxNy4yNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDEyLjc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1VjExLjI1YTkgOSAwIDAgMC05LTlaIiAvPgogICAgICAgIDwvc3ZnPgogICAgICAgIDxkaXYgY2xhc3M9Im1pbi13LTAiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC1ncmF5LTEwMCI+JHt2KGUudGl0bGUpfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2E+YCkuam9pbihgYCksaS5xdWVyeVNlbGVjdG9yQWxsKGAuc2VhcmNoLWl0ZW1gKS5mb3JFYWNoKGU9PntlLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCx0PT57dC5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPU51bWJlcihlLmRhdGFzZXQuaW5kZXgpO2goc1tuXS5wYXRoKX0pfSl9ZnVuY3Rpb24gaChlKXtsb2NhdGlvbi5oYXNoPWUsbCgpfX1mdW5jdGlvbiBfKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlKW4ucGFnZSE9PSExJiZ0LnB1c2goe3BhdGg6bi5wYXRoLHRpdGxlOm4udGl0bGV9KSxuLmNoaWxkcmVuJiZ0LnB1c2goLi4uXyhuLmNoaWxkcmVuKSk7cmV0dXJuIHR9ZnVuY3Rpb24gdihlKXtyZXR1cm4gZS5yZXBsYWNlKC8mL2csYCZhbXA7YCkucmVwbGFjZSgvPC9nLGAmbHQ7YCkucmVwbGFjZSgvPi9nLGAmZ3Q7YCkucmVwbGFjZSgvIi9nLGAmcXVvdDtgKX12YXIgeT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChgc2lkZWJhcmApLGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGNvbnRlbnRgKTtyKCksZygpO2Z1bmN0aW9uIHgoZSl7aGlzdG9yeS5wdXNoU3RhdGUobnVsbCxgYCxlKSxTKCl9YXN5bmMgZnVuY3Rpb24gUygpe2xldCBlPWxvY2F0aW9uLnBhdGhuYW1lO2lmKGU9PT1gL2Ape2YoYixgPHAgY2xhc3M9InRleHQtZ3JheS00MDAiPlNlbGVjdCBhIHBhZ2UgZnJvbSB0aGUgc2lkZWJhci48L3A+YCk7cmV0dXJufWQoeSxlKSxhd2FpdCBwKGIsZSl9YXN5bmMgZnVuY3Rpb24gQygpe2YoYixgPHAgY2xhc3M9InRleHQtZ3JheS00MDAiPkxvYWRpbmcuLi48L3A+YCk7bGV0IGU9KGF3YWl0KGF3YWl0IGZldGNoKGAvYXBpL21ldGFgKSkuanNvbigpKS50b2M7aWYobCh5LGUpLGgoZSkseS5hZGRFdmVudExpc3RlbmVyKGBjbGlja2AsZT0+e2xldCB0PWUudGFyZ2V0LmNsb3Nlc3QoYGEubmF2LWxpbmtgKTt0JiYoZS5wcmV2ZW50RGVmYXVsdCgpLHgodC5nZXRBdHRyaWJ1dGUoYGRhdGEtcGF0aGApKSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihgcG9wc3RhdGVgLFMpLGxvY2F0aW9uLnBhdGhuYW1lPT09YC9gKXtsZXQgdD1zKGUpO2lmKHQpe3godCk7cmV0dXJufX1TKCl9QygpOw==`
|
|
595
|
+
etag: `"2d2f-pscmo5HNdcDiWLYskz489hC/rWg"`,
|
|
596
|
+
mtime: `2026-03-27T14:37:40.339Z`,
|
|
597
|
+
size: 11567,
|
|
598
|
+
path: `../public/assets/index-CIhhqrBM.js`,
|
|
599
|
+
data: `KGZ1bmN0aW9uKCl7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgbGlua2ApLnJlbExpc3Q7aWYoZSYmZS5zdXBwb3J0cyYmZS5zdXBwb3J0cyhgbW9kdWxlcHJlbG9hZGApKXJldHVybjtmb3IobGV0IGUgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgbGlua1tyZWw9Im1vZHVsZXByZWxvYWQiXWApKW4oZSk7bmV3IE11dGF0aW9uT2JzZXJ2ZXIoZT0+e2ZvcihsZXQgdCBvZiBlKWlmKHQudHlwZT09PWBjaGlsZExpc3RgKWZvcihsZXQgZSBvZiB0LmFkZGVkTm9kZXMpZS50YWdOYW1lPT09YExJTktgJiZlLnJlbD09PWBtb2R1bGVwcmVsb2FkYCYmbihlKX0pLm9ic2VydmUoZG9jdW1lbnQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZnVuY3Rpb24gdChlKXtsZXQgdD17fTtyZXR1cm4gZS5pbnRlZ3JpdHkmJih0LmludGVncml0eT1lLmludGVncml0eSksZS5yZWZlcnJlclBvbGljeSYmKHQucmVmZXJyZXJQb2xpY3k9ZS5yZWZlcnJlclBvbGljeSksZS5jcm9zc09yaWdpbj09PWB1c2UtY3JlZGVudGlhbHNgP3QuY3JlZGVudGlhbHM9YGluY2x1ZGVgOmUuY3Jvc3NPcmlnaW49PT1gYW5vbnltb3VzYD90LmNyZWRlbnRpYWxzPWBvbWl0YDp0LmNyZWRlbnRpYWxzPWBzYW1lLW9yaWdpbmAsdH1mdW5jdGlvbiBuKGUpe2lmKGUuZXApcmV0dXJuO2UuZXA9ITA7bGV0IG49dChlKTtmZXRjaChlLmhyZWYsbil9fSkoKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChgaWNvbi1zdW5gKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBpY29uLW1vb25gKTtmdW5jdGlvbiBuKCl7bGV0IG49bG9jYWxTdG9yYWdlLmdldEl0ZW0oYHRoZW1lYCkscj1uPT09YGRhcmtgfHwhbiYmd2luZG93Lm1hdGNoTWVkaWEoYChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaylgKS5tYXRjaGVzO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKGBkYXJrYCxyKSxlLmNsYXNzTGlzdC50b2dnbGUoYGhpZGRlbmAsIXIpLHQuY2xhc3NMaXN0LnRvZ2dsZShgaGlkZGVuYCxyKX1mdW5jdGlvbiByKCl7bigpLHdpbmRvdy5tYXRjaE1lZGlhKGAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspYCkuYWRkRXZlbnRMaXN0ZW5lcihgY2hhbmdlYCwoKT0+e2xvY2FsU3RvcmFnZS5nZXRJdGVtKGB0aGVtZWApfHxuKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgdGhlbWUtdG9nZ2xlYCkuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLCgpPT57bGV0IGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhgZGFya2ApO2xvY2FsU3RvcmFnZS5zZXRJdGVtKGB0aGVtZWAsZT9gbGlnaHRgOmBkYXJrYCksbigpfSl9ZnVuY3Rpb24gaShlLHQpe3JldHVybiBlLnBhdGg9PT10PyEwOmUuY2hpbGRyZW4/LnNvbWUoZT0+aShlLHQpKT8/ITF9ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlLm1hcChlPT57bGV0IG49ZS5jaGlsZHJlbiYmZS5jaGlsZHJlbi5sZW5ndGg+MCxyPW4/YShlLmNoaWxkcmVuLHQrMSk6YGAsaT0xMit0KjEyO3JldHVybmAKICAgICAgICA8bGk+CiAgICAgICAgICAke2UucGFnZSE9PSExJiYhKG4mJmUuY2hpbGRyZW4/LlswXT8ucGF0aD09PWUucGF0aCk/YDxhIGhyZWY9IiR7ZS5wYXRofSIKICAgICAgICAgICAgY2xhc3M9Im5hdi1saW5rIGJsb2NrIHB5LTEuNSB0ZXh0LXNtICR7bj9gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtZ3JheS0xMDBgOmB0ZXh0LWdyYXktNjAwIGRhcms6dGV4dC1ncmF5LTQwMGB9IGhvdmVyOmJnLWdyYXktMTAwIGhvdmVyOnRleHQtZ3JheS05MDAgZGFyazpob3ZlcjpiZy1ncmF5LTgwMCBkYXJrOmhvdmVyOnRleHQtZ3JheS0xMDAgcm91bmRlZC1tZCB0cmFuc2l0aW9uLWNvbG9ycyIKICAgICAgICAgICAgc3R5bGU9InBhZGRpbmctbGVmdDogJHtpfXB4OyBwYWRkaW5nLXJpZ2h0OiAxMnB4IgogICAgICAgICAgICBkYXRhLXBhdGg9IiR7ZS5wYXRofSI+CiAgICAgICAgICAgICR7ZS50aXRsZX0KICAgICAgICAgIDwvYT5gOmA8c3BhbgogICAgICAgICAgICBjbGFzcz0iYmxvY2sgcHktMS41IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtZ3JheS0xMDAgY3Vyc29yLWRlZmF1bHQiCiAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nLWxlZnQ6ICR7aX1weDsgcGFkZGluZy1yaWdodDogMTJweCI+CiAgICAgICAgICAgICR7ZS50aXRsZX0KICAgICAgICAgIDwvc3Bhbj5gfQogICAgICAgICAgJHtyP2A8dWwgY2xhc3M9Im10LTAuNSI+JHtyfTwvdWw+YDpgYH0KICAgICAgICA8L2xpPmB9KS5qb2luKGBgKX1mdW5jdGlvbiBvKGUsdCl7bGV0IG49ZS5zb21lKGU9PmkoZSx0KSkscj0hMDtyZXR1cm4gZS5tYXAoZT0+e2lmKCEoZS5jaGlsZHJlbiYmZS5jaGlsZHJlbi5sZW5ndGg+MCkpcmV0dXJuYDxsaT4ke2UucGFnZT09PSExP2A8c3BhbiBjbGFzcz0iYmxvY2sgcHktMS41IHB4LTMgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC1ncmF5LTEwMCBjdXJzb3ItZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAke2UudGl0bGV9CiAgICAgICAgICAgICAgPC9zcGFuPmA6YDxhIGhyZWY9IiR7ZS5wYXRofSIKICAgICAgICAgICAgICAgIGNsYXNzPSJuYXYtbGluayBibG9jayBweS0xLjUgcHgtMyB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LWdyYXktMTAwIGhvdmVyOmJnLWdyYXktMTAwIGRhcms6aG92ZXI6YmctZ3JheS04MDAgcm91bmRlZC1tZCB0cmFuc2l0aW9uLWNvbG9ycyIKICAgICAgICAgICAgICAgIGRhdGEtcGF0aD0iJHtlLnBhdGh9Ij4KICAgICAgICAgICAgICAgICR7ZS50aXRsZX0KICAgICAgICAgICAgICA8L2E+YH08L2xpPmA7bGV0IG89aShlLHQpfHwhbiYmcjtyPSExO2xldCBzPWUucGFnZSE9PSExJiZlLmNoaWxkcmVuPy5bMF0/LnBhdGghPT1lLnBhdGgsYz1gPHN2ZyBjbGFzcz0ibmF2LWNoZXZyb24gdy00IGgtNCB0ZXh0LWdyYXktNDAwIHRyYW5zaXRpb24tdHJhbnNmb3JtICR7bz9gcm90YXRlLTkwYDpgYH0iIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjIxIDE0Ljc3YS43NS43NSAwIDAxLjAyLTEuMDZMMTEuMTY4IDEwIDcuMjMgNi4yOWEuNzUuNzUgMCAxMTEuMDQtMS4wOGw0LjUgNC4yNWEuNzUuNzUgMCAwMTAgMS4wOGwtNC41IDQuMjVhLjc1Ljc1IDAgMDEtMS4wNi0uMDJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz5gLGw9cz9gPGEgaHJlZj0iJHtlLnBhdGh9IgogICAgICAgICAgICBjbGFzcz0ibmF2LWxpbmsgZmxleC0xIHB5LTEuNSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LWdyYXktMTAwIGhvdmVyOnRleHQtZ3JheS02MDAgZGFyazpob3Zlcjp0ZXh0LWdyYXktMzAwIHRyYW5zaXRpb24tY29sb3JzIgogICAgICAgICAgICBkYXRhLXBhdGg9IiR7ZS5wYXRofSI+CiAgICAgICAgICAgICR7ZS50aXRsZX0KICAgICAgICAgIDwvYT5gOmA8c3BhbiBjbGFzcz0iZmxleC0xIHB5LTEuNSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LWdyYXktMTAwIj4KICAgICAgICAgICAgJHtlLnRpdGxlfQogICAgICAgICAgPC9zcGFuPmAsdT1hKGUuY2hpbGRyZW4sMSk7cmV0dXJuYAogICAgICAgIDxsaSBkYXRhLXNlY3Rpb249IiR7ZS5wYXRofSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBweC0zIHJvdW5kZWQtbWQgaG92ZXI6YmctZ3JheS0xMDAgZGFyazpob3ZlcjpiZy1ncmF5LTgwMCB0cmFuc2l0aW9uLWNvbG9ycyBjdXJzb3ItcG9pbnRlciI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi10b2dnbGUgcC0wLjUgLW1sLTEgbXItMSIgZGF0YS1zZWN0aW9uPSIke2UucGF0aH0iIGFyaWEtbGFiZWw9IlRvZ2dsZSBzZWN0aW9uIj4KICAgICAgICAgICAgICAke2N9CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAke2x9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx1bCBjbGFzcz0ibmF2LXNlY3Rpb24gbXQtMC41ICR7bz9gYDpgaGlkZGVuYH0iIGRhdGEtc2VjdGlvbj0iJHtlLnBhdGh9Ij4KICAgICAgICAgICAgJHt1fQogICAgICAgICAgPC91bD4KICAgICAgICA8L2xpPmB9KS5qb2luKGBgKX1mdW5jdGlvbiBzKGUpe2ZvcihsZXQgdCBvZiBlKXtpZih0LnBhZ2UhPT0hMSlyZXR1cm4gdC5wYXRoO2lmKHQuY2hpbGRyZW4pe2xldCBlPXModC5jaGlsZHJlbik7aWYoZSlyZXR1cm4gZX19fXZhciBjPVtdO2Z1bmN0aW9uIGwoZSx0KXtjPXQ7bGV0IG49bG9jYXRpb24ucGF0aG5hbWU7ZS5pbm5lckhUTUw9dC5sZW5ndGg/YDx1bCBjbGFzcz0ic3BhY2UteS0wLjUiPiR7byh0LG4pfTwvdWw+YDpgPHAgY2xhc3M9InB4LTMgcHktMiB0ZXh0LXNtIHRleHQtZ3JheS00MDAiPk5vIHBhZ2VzIGxvYWRlZDwvcD5gLGUuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHQ9PntsZXQgbj10LnRhcmdldCxyPW4uY2xvc2VzdChgLm5hdi10b2dnbGVgKTtpZihyKXt1KGUsci5kYXRhc2V0LnNlY3Rpb24pO3JldHVybn1sZXQgaT1uLmNsb3Nlc3QoYGxpW2RhdGEtc2VjdGlvbl1gKTtpJiYhbi5jbG9zZXN0KGAubmF2LWxpbmtgKSYmdShlLGkuZGF0YXNldC5zZWN0aW9uKX0pfWZ1bmN0aW9uIHUoZSx0KXtsZXQgbj1lLnF1ZXJ5U2VsZWN0b3IoYHVsLm5hdi1zZWN0aW9uW2RhdGEtc2VjdGlvbj0iJHt0fSJdYCk7biYmKG4uY2xhc3NMaXN0LmNvbnRhaW5zKGBoaWRkZW5gKT8oZS5xdWVyeVNlbGVjdG9yQWxsKGB1bC5uYXYtc2VjdGlvbmApLmZvckVhY2goZT0+e2UuY2xhc3NMaXN0LmFkZChgaGlkZGVuYCl9KSxlLnF1ZXJ5U2VsZWN0b3JBbGwoYC5uYXYtY2hldnJvbmApLmZvckVhY2goZT0+e2UuY2xhc3NMaXN0LnJlbW92ZShgcm90YXRlLTkwYCl9KSxuLmNsYXNzTGlzdC5yZW1vdmUoYGhpZGRlbmApLGUucXVlcnlTZWxlY3RvcihgLm5hdi10b2dnbGVbZGF0YS1zZWN0aW9uPSIke3R9Il0gLm5hdi1jaGV2cm9uYCk/LmNsYXNzTGlzdC5hZGQoYHJvdGF0ZS05MGApKToobi5jbGFzc0xpc3QuYWRkKGBoaWRkZW5gKSxlLnF1ZXJ5U2VsZWN0b3IoYC5uYXYtdG9nZ2xlW2RhdGEtc2VjdGlvbj0iJHt0fSJdIC5uYXYtY2hldnJvbmApPy5jbGFzc0xpc3QucmVtb3ZlKGByb3RhdGUtOTBgKSkpfWZ1bmN0aW9uIGQoZSx0KXtlLnF1ZXJ5U2VsZWN0b3JBbGwoYC5uYXYtbGlua2ApLmZvckVhY2goZT0+e2xldCBuPWUuZ2V0QXR0cmlidXRlKGBkYXRhLXBhdGhgKT09PXQ7ZS5jbGFzc0xpc3QudG9nZ2xlKGBuYXYtYWN0aXZlYCxuKSxlLmNsYXNzTGlzdC50b2dnbGUoYGZvbnQtbWVkaXVtYCxuKX0pO2xldCBuPWMuZmluZChlPT5pKGUsdCkpO24/LmNoaWxkcmVuPy5sZW5ndGgmJihlLnF1ZXJ5U2VsZWN0b3JBbGwoYHVsLm5hdi1zZWN0aW9uYCkuZm9yRWFjaChlPT57ZS5jbGFzc0xpc3QuYWRkKGBoaWRkZW5gKX0pLGUucXVlcnlTZWxlY3RvckFsbChgLm5hdi1jaGV2cm9uYCkuZm9yRWFjaChlPT57ZS5jbGFzc0xpc3QucmVtb3ZlKGByb3RhdGUtOTBgKX0pLGUucXVlcnlTZWxlY3RvcihgdWwubmF2LXNlY3Rpb25bZGF0YS1zZWN0aW9uPSIke24ucGF0aH0iXWApPy5jbGFzc0xpc3QucmVtb3ZlKGBoaWRkZW5gKSxlLnF1ZXJ5U2VsZWN0b3IoYC5uYXYtdG9nZ2xlW2RhdGEtc2VjdGlvbj0iJHtuLnBhdGh9Il0gLm5hdi1jaGV2cm9uYCk/LmNsYXNzTGlzdC5hZGQoYHJvdGF0ZS05MGApKX1mdW5jdGlvbiBmKGUsdCl7ZS5pbm5lckhUTUw9YDxhcnRpY2xlIGNsYXNzPSJwcm9zZSBwcm9zZS1ncmF5IG1heC13LW5vbmUiPiR7dH08L2FydGljbGU+YDtmb3IobGV0IHQgb2YgZS5xdWVyeVNlbGVjdG9yQWxsKGBhW2hyZWZdYCkpe2xldCBuPXQuZ2V0QXR0cmlidXRlKGBocmVmYCk7bi5zdGFydHNXaXRoKGAvYCk/dC5hZGRFdmVudExpc3RlbmVyKGBjbGlja2AsZT0+e2UucHJldmVudERlZmF1bHQoKSxoaXN0b3J5LnB1c2hTdGF0ZShudWxsLGBgLG4pLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBQb3BTdGF0ZUV2ZW50KGBwb3BzdGF0ZWApKX0pOm4uc3RhcnRzV2l0aChgI2ApP3QuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHQ9Pnt0LnByZXZlbnREZWZhdWx0KCk7bGV0IHI9bi5zbGljZSgxKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHIpfHxlLnF1ZXJ5U2VsZWN0b3IoYFtpZD0iJHtDU1MuZXNjYXBlKHIpfSJdYCk7aSYmKGkuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOmBzbW9vdGhgfSksaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxgYCxuKSl9KTovXmh0dHBzPzpcL1wvLy50ZXN0KG4pJiYodC50YXJnZXQ9YF9ibGFua2AsdC5yZWw9YG5vb3BlbmVyIG5vcmVmZXJyZXJgKX19YXN5bmMgZnVuY3Rpb24gcChlLHQpe2YoZSxgPHAgY2xhc3M9InRleHQtZ3JheS00MDAiPkxvYWRpbmcuLi48L3A+YCk7bGV0IG49YXdhaXQoYXdhaXQgZmV0Y2goYC9hcGkvcGFnZT9wYXRoPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHQpfWApKS5qc29uKCk7aWYobi5lcnJvcilmKGUsYDxwIGNsYXNzPSJ0ZXh0LXJlZC01MDAiPiR7bi5lcnJvcn08L3A+YCk7ZWxzZXtmKGUsbi5odG1sKTtsZXQgdD1sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO2lmKHQpe2xldCBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHQpfHxlLnF1ZXJ5U2VsZWN0b3IoYFtpZD0iJHtDU1MuZXNjYXBlKHQpfSJdYCk7biYmbi5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6YHNtb290aGB9KX19fXZhciBtPVtdO2Z1bmN0aW9uIGgoZSl7bT1lfWZ1bmN0aW9uIGcoKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChgc2VhcmNoLXRyaWdnZXJgKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzZWFyY2gtbW9kYWxgKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzZWFyY2gtYmFja2Ryb3BgKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzZWFyY2gtaW5wdXRgKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzZWFyY2gtcmVzdWx0c2ApLGEsbz0tMSxzPVtdO2UuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLGMpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYGtleWRvd25gLGU9PnsoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleT09PWBrYCYmKGUucHJldmVudERlZmF1bHQoKSxjKCkpfSksbi5hZGRFdmVudExpc3RlbmVyKGBjbGlja2AsbCksci5hZGRFdmVudExpc3RlbmVyKGBpbnB1dGAsKCk9PntjbGVhclRpbWVvdXQoYSk7bGV0IGU9ci52YWx1ZS50cmltKCk7aWYoZS5sZW5ndGg8Mil7bz0tMSxzPVtdLHAoKTtyZXR1cm59YT1zZXRUaW1lb3V0KCgpPT51KGUpLDIwMCl9KSxyLmFkZEV2ZW50TGlzdGVuZXIoYGtleWRvd25gLGU9PntlLmtleT09PWBBcnJvd0Rvd25gPyhlLnByZXZlbnREZWZhdWx0KCksZihvKzEpKTplLmtleT09PWBBcnJvd1VwYD8oZS5wcmV2ZW50RGVmYXVsdCgpLGYoby0xKSk6ZS5rZXk9PT1gRW50ZXJgJiZvPj0wPyhlLnByZXZlbnREZWZhdWx0KCksaChzW29dLnBhdGgpKTplLmtleT09PWBFc2NhcGVgJiZsKCl9KTtmdW5jdGlvbiBjKCl7dC5jbGFzc0xpc3QucmVtb3ZlKGBoaWRkZW5gKSxyLnZhbHVlPWBgLG89LTEscz1bXSxwKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5yLmZvY3VzKCkpfWZ1bmN0aW9uIGwoKXt0LmNsYXNzTGlzdC5hZGQoYGhpZGRlbmApLHIudmFsdWU9YGAscz1bXSxvPS0xfWFzeW5jIGZ1bmN0aW9uIHUoZSl7cz0oYXdhaXQoYXdhaXQgZmV0Y2goYC9hcGkvc2VhcmNoP3E9JHtlbmNvZGVVUklDb21wb25lbnQoZSl9YCkpLmpzb24oKSkucmVzdWx0cyxvPXMubGVuZ3RoPjA/MDotMSxkKCl9ZnVuY3Rpb24gZCgpe2lmKHMubGVuZ3RoPT09MCl7aS5pbm5lckhUTUw9YDxwIGNsYXNzPSJweC00IHB5LTggdGV4dC1zbSB0ZXh0LWdyYXktNDAwIHRleHQtY2VudGVyIj5ObyByZXN1bHRzIGZvdW5kPC9wPmA7cmV0dXJufWkuaW5uZXJIVE1MPXMubWFwKChlLHQpPT5gCiAgICAgIDxhIGhyZWY9IiR7ZS5wYXRofSIgY2xhc3M9InNlYXJjaC1pdGVtIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTMgcHgtNCBweS0zIGJvcmRlci1iIGJvcmRlci1ncmF5LTEwMCBkYXJrOmJvcmRlci1ncmF5LTgwMCBob3ZlcjpiZy1ncmF5LTUwIGRhcms6aG92ZXI6YmctZ3JheS04MDAgdHJhbnNpdGlvbi1jb2xvcnMgJHt0PT09bz9gYmctZ3JheS01MCBkYXJrOmJnLWdyYXktODAwYDpgYH0iIGRhdGEtaW5kZXg9IiR7dH0iPgogICAgICAgIDxzdmcgY2xhc3M9InNpemUtNCBtdC0wLjUgc2hyaW5rLTAgdGV4dC1ncmF5LTQwMCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMTkuNSAxNC4yNXYtMi42MjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVoLTEuNUExLjEyNSAxLjEyNSAwIDAgMSAxMy41IDcuMTI1di0xLjVhMy4zNzUgMy4zNzUgMCAwIDAtMy4zNzUtMy4zNzVIOC4yNW0yLjI1IDBINS42MjVjLS42MjEgMC0xLjEyNS41MDQtMS4xMjUgMS4xMjV2MTcuMjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWgxMi43NWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNVYxMS4yNWE5IDkgMCAwIDAtOS05WiIgLz4KICAgICAgICA8L3N2Zz4KICAgICAgICA8ZGl2IGNsYXNzPSJtaW4tdy0wIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtZ3JheS0xMDAiPiR7dihlLnRpdGxlKX08L2Rpdj4KICAgICAgICAgICR7ZS5zbmlwcGV0c1swXT9gPGRpdiBjbGFzcz0idGV4dC14cyB0ZXh0LWdyYXktNTAwIGRhcms6dGV4dC1ncmF5LTQwMCBtdC0wLjUgbGluZS1jbGFtcC0yIj4ke3YoZS5zbmlwcGV0c1swXSl9PC9kaXY+YDpgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9hPmApLmpvaW4oYGApLGkucXVlcnlTZWxlY3RvckFsbChgLnNlYXJjaC1pdGVtYCkuZm9yRWFjaChlPT57ZS5hZGRFdmVudExpc3RlbmVyKGBjbGlja2AsKCk9PmwoKSl9KX1mdW5jdGlvbiBmKGUpe3MubGVuZ3RoIT09MCYmKG89TWF0aC5tYXgoMCxNYXRoLm1pbihlLHMubGVuZ3RoLTEpKSxkKCksaS5xdWVyeVNlbGVjdG9yKGBbZGF0YS1pbmRleD0iJHtvfSJdYCk/LnNjcm9sbEludG9WaWV3KHtibG9jazpgbmVhcmVzdGB9KSl9ZnVuY3Rpb24gcCgpe2xldCBlPV8obSk7aWYoZS5sZW5ndGg9PT0wKXtpLmlubmVySFRNTD1gPHAgY2xhc3M9InB4LTQgcHktOCB0ZXh0LXNtIHRleHQtZ3JheS00MDAgdGV4dC1jZW50ZXIiPlR5cGUgdG8gc2VhcmNo4oCmPC9wPmA7cmV0dXJufXM9ZS5tYXAoZT0+KHtwYXRoOmUucGF0aCx0aXRsZTplLnRpdGxlLHNuaXBwZXRzOltdfSkpLG89LTEsaS5pbm5lckhUTUw9cy5tYXAoKGUsdCk9PmAKICAgICAgPGEgaHJlZj0iJHtlLnBhdGh9IiBjbGFzcz0ic2VhcmNoLWl0ZW0gZmxleCBpdGVtcy1zdGFydCBnYXAtMyBweC00IHB5LTMgYm9yZGVyLWIgYm9yZGVyLWdyYXktMTAwIGRhcms6Ym9yZGVyLWdyYXktODAwIGhvdmVyOmJnLWdyYXktNTAgZGFyazpob3ZlcjpiZy1ncmF5LTgwMCB0cmFuc2l0aW9uLWNvbG9ycyIgZGF0YS1pbmRleD0iJHt0fSI+CiAgICAgICAgPHN2ZyBjbGFzcz0ic2l6ZS00IG10LTAuNSBzaHJpbmstMCB0ZXh0LWdyYXktNDAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Ik0xOS41IDE0LjI1di0yLjYyNWEzLjM3NSAzLjM3NSAwIDAgMC0zLjM3NS0zLjM3NWgtMS41QTEuMTI1IDEuMTI1IDAgMCAxIDEzLjUgNy4xMjV2LTEuNWEzLjM3NSAzLjM3NSAwIDAgMC0zLjM3NS0zLjM3NUg4LjI1bTIuMjUgMEg1LjYyNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxNy4yNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDEyLjc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1VjExLjI1YTkgOSAwIDAgMC05LTlaIiAvPgogICAgICAgIDwvc3ZnPgogICAgICAgIDxkaXYgY2xhc3M9Im1pbi13LTAiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC1ncmF5LTEwMCI+JHt2KGUudGl0bGUpfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2E+YCkuam9pbihgYCksaS5xdWVyeVNlbGVjdG9yQWxsKGAuc2VhcmNoLWl0ZW1gKS5mb3JFYWNoKGU9PntlLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCx0PT57dC5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPU51bWJlcihlLmRhdGFzZXQuaW5kZXgpO2goc1tuXS5wYXRoKX0pfSl9ZnVuY3Rpb24gaChlKXtsb2NhdGlvbi5oYXNoPWUsbCgpfX1mdW5jdGlvbiBfKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlKW4ucGFnZSE9PSExJiZ0LnB1c2goe3BhdGg6bi5wYXRoLHRpdGxlOm4udGl0bGV9KSxuLmNoaWxkcmVuJiZ0LnB1c2goLi4uXyhuLmNoaWxkcmVuKSk7cmV0dXJuIHR9ZnVuY3Rpb24gdihlKXtyZXR1cm4gZS5yZXBsYWNlKC8mL2csYCZhbXA7YCkucmVwbGFjZSgvPC9nLGAmbHQ7YCkucmVwbGFjZSgvPi9nLGAmZ3Q7YCkucmVwbGFjZSgvIi9nLGAmcXVvdDtgKX12YXIgeT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChgc2lkZWJhcmApLGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGNvbnRlbnRgKTtyKCksZygpO2Z1bmN0aW9uIHgoZSl7aGlzdG9yeS5wdXNoU3RhdGUobnVsbCxgYCxlKSxTKCl9YXN5bmMgZnVuY3Rpb24gUygpe2xldCBlPWxvY2F0aW9uLnBhdGhuYW1lO2lmKGU9PT1gL2Ape2YoYixgPHAgY2xhc3M9InRleHQtZ3JheS00MDAiPlNlbGVjdCBhIHBhZ2UgZnJvbSB0aGUgc2lkZWJhci48L3A+YCk7cmV0dXJufWQoeSxlKSxhd2FpdCBwKGIsZSl9YXN5bmMgZnVuY3Rpb24gQygpe2xldCBlPShhd2FpdChhd2FpdCBmZXRjaChgL2FwaS9tZXRhYCkpLmpzb24oKSkudG9jO3JldHVybiBsKHksZSksaChlKSxkKHksbG9jYXRpb24ucGF0aG5hbWUpLGV9YXN5bmMgZnVuY3Rpb24gdygpe2YoYixgPHAgY2xhc3M9InRleHQtZ3JheS00MDAiPkxvYWRpbmcuLi48L3A+YCk7bGV0IGU9YXdhaXQgQygpO2lmKHkuYWRkRXZlbnRMaXN0ZW5lcihgY2xpY2tgLGU9PntsZXQgdD1lLnRhcmdldC5jbG9zZXN0KGBhLm5hdi1saW5rYCk7dCYmKGUucHJldmVudERlZmF1bHQoKSx4KHQuZ2V0QXR0cmlidXRlKGBkYXRhLXBhdGhgKSkpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCxTKSxsb2NhdGlvbi5wYXRobmFtZT09PWAvYCl7bGV0IHQ9cyhlKTtpZih0KXt4KHQpO3JldHVybn19UygpLFQoKX1mdW5jdGlvbiBUKCl7bGV0IGU9bmV3IEV2ZW50U291cmNlKGAvYXBpL3dhdGNoYCk7ZS5vbm1lc3NhZ2U9YXN5bmMoKT0+e2F3YWl0IEMoKTtsZXQgZT1sb2NhdGlvbi5wYXRobmFtZTtlIT09YC9gJiZhd2FpdCBwKGIsZSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGBiZWZvcmV1bmxvYWRgLCgpPT5lLmNsb3NlKCkpfXcoKTs=`
|
|
468
600
|
},
|
|
469
601
|
"/assets/logo-BLkVGWak.svg": {
|
|
470
602
|
type: `image/svg+xml`,
|
|
471
603
|
etag: `"557-HYXN/qI1kFu3DGsCSw4J8HIDoeU"`,
|
|
472
|
-
mtime: `2026-03-
|
|
604
|
+
mtime: `2026-03-27T14:37:40.339Z`,
|
|
473
605
|
size: 1367,
|
|
474
606
|
path: `../public/assets/logo-BLkVGWak.svg`,
|
|
475
607
|
data: `PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMjAwIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CiAgPCEtLSBCb2R5OiByb3VuZGVkIHJlY3RhbmdsZSAoZG9jdW1lbnQgc2hhcGUpIC0tPgogIDxyZWN0IHg9IjQwIiB5PSIzMCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxNTAiIHJ4PSIxOCIgcnk9IjE4IiBmaWxsPSIjMkIyRDQyIi8+CgogIDwhLS0gRG9jdW1lbnQgbGluZXMgKG1hcmtkb3duIGZlZWwpIC0tPgogIDxyZWN0IHg9IjYyIiB5PSI3MCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjYiIHJ4PSIzIiBmaWxsPSIjOEQ5OUFFIi8+CiAgPHJlY3QgeD0iNjIiIHk9Ijg2IiB3aWR0aD0iNzYiIGhlaWdodD0iNiIgcng9IjMiIGZpbGw9IiM4RDk5QUUiLz4KICA8cmVjdCB4PSI2MiIgeT0iMTAyIiB3aWR0aD0iNjIiIGhlaWdodD0iNiIgcng9IjMiIGZpbGw9IiM4RDk5QUUiLz4KICA8cmVjdCB4PSI2MiIgeT0iMTE4IiB3aWR0aD0iNzAiIGhlaWdodD0iNiIgcng9IjMiIGZpbGw9IiM4RDk5QUUiLz4KICA8cmVjdCB4PSI2MiIgeT0iMTM0IiB3aWR0aD0iNDAiIGhlaWdodD0iNiIgcng9IjMiIGZpbGw9IiM4RDk5QUUiLz4KCiAgPCEtLSBIZWFkaW5nIGhhc2ggbWFyayAobWFya2Rvd24gIykgLS0+CiAgPHRleHQgeD0iNjIiIHk9IjYwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXdlaWdodD0iYm9sZCIgZm9udC1zaXplPSIxOCIgZmlsbD0iI0VERjJGNCI+IzwvdGV4dD4KCiAgPCEtLSBFeWVzIC0tPgogIDxjaXJjbGUgY3g9Ijc4IiBjeT0iMTcyIiByPSI1IiBmaWxsPSIjRUYyMzNDIi8+CiAgPGNpcmNsZSBjeD0iMTIyIiBjeT0iMTcyIiByPSI1IiBmaWxsPSIjRUYyMzNDIi8+CgogIDwhLS0gVGVldGggKHppbGxhIGJpdGUgb24gYm90dG9tKSAtLT4KICA8cG9seWdvbiBwb2ludHM9IjY4LDE4MCA3NCwxOTIgODAsMTgwIiBmaWxsPSIjRURGMkY0Ii8+CiAgPHBvbHlnb24gcG9pbnRzPSI4OCwxODAgOTQsMTkyIDEwMCwxODAiIGZpbGw9IiNFREYyRjQiLz4KICA8cG9seWdvbiBwb2ludHM9IjEwOCwxODAgMTE0LDE5MiAxMjAsMTgwIiBmaWxsPSIjRURGMkY0Ii8+CiAgPHBvbHlnb24gcG9pbnRzPSIxMjgsMTgwIDEzNCwxOTIgMTQwLDE4MCIgZmlsbD0iI0VERjJGNCIvPgoKICA8IS0tIFNwaWtlcyBvbiB0b3AgKHppbGxhIGhvcm5zKSAtLT4KICA8cG9seWdvbiBwb2ludHM9IjcwLDMwIDc4LDEwIDg2LDMwIiBmaWxsPSIjMkIyRDQyIi8+CiAgPHBvbHlnb24gcG9pbnRzPSI5MiwzMCAxMDAsNiAxMDgsMzAiIGZpbGw9IiMyQjJENDIiLz4KICA8cG9seWdvbiBwb2ludHM9IjExNCwzMCAxMjIsMTAgMTMwLDMwIiBmaWxsPSIjMkIyRDQyIi8+Cjwvc3ZnPgo=`
|
|
476
608
|
}
|
|
477
609
|
};
|
|
478
|
-
function
|
|
479
|
-
if (
|
|
610
|
+
function Ye(e) {
|
|
611
|
+
if (H[e]) return H[e]._data ? H[e]._data : H[e].data ? (H[e]._data = Uint8Array.from(atob(H[e].data), (e) => e.charCodeAt(0)), H[e]._data) : H[e].data;
|
|
480
612
|
}
|
|
481
|
-
var
|
|
482
|
-
function
|
|
483
|
-
if (
|
|
484
|
-
for (let t in
|
|
613
|
+
var Xe = {};
|
|
614
|
+
function Ze(e = ``) {
|
|
615
|
+
if (H[e]) return !0;
|
|
616
|
+
for (let t in Xe) if (e.startsWith(t)) return !0;
|
|
485
617
|
return !1;
|
|
486
618
|
}
|
|
487
|
-
function
|
|
488
|
-
return
|
|
619
|
+
function Qe(e) {
|
|
620
|
+
return H[e];
|
|
489
621
|
}
|
|
490
|
-
|
|
491
|
-
var
|
|
622
|
+
B();
|
|
623
|
+
var $e = new Set([`HEAD`, `GET`]), et = {
|
|
492
624
|
gzip: `.gz`,
|
|
493
625
|
br: `.br`,
|
|
494
626
|
zstd: `.zst`
|
|
495
|
-
},
|
|
496
|
-
if (e.req.method &&
|
|
497
|
-
let t =
|
|
498
|
-
for (let e of r) for (let r of [t + e,
|
|
499
|
-
let e =
|
|
627
|
+
}, tt = D((e) => {
|
|
628
|
+
if (e.req.method && !$e.has(e.req.method)) return;
|
|
629
|
+
let t = ze(Ge(He(e.url.pathname))), n, r = [...(e.req.headers.get(`accept-encoding`) || ``).split(`,`).map((e) => et[e.trim()]).filter(Boolean).sort(), ``];
|
|
630
|
+
for (let e of r) for (let r of [t + e, qe(t, `index.html` + e)]) {
|
|
631
|
+
let e = Qe(r);
|
|
500
632
|
if (e) {
|
|
501
633
|
n = e, t = r;
|
|
502
634
|
break;
|
|
503
635
|
}
|
|
504
636
|
}
|
|
505
637
|
if (!n) {
|
|
506
|
-
if (
|
|
638
|
+
if (Ze(t)) throw e.res.headers.delete(`Cache-Control`), new F({ status: 404 });
|
|
507
639
|
return;
|
|
508
640
|
}
|
|
509
641
|
if (r.length > 1 && e.res.headers.append(`Vary`, `Accept-Encoding`), e.req.headers.get(`if-none-match`) === n.etag) return e.res.status = 304, e.res.statusText = `Not Modified`, ``;
|
|
510
642
|
let i = e.req.headers.get(`if-modified-since`), a = new Date(n.mtime);
|
|
511
|
-
return i && n.mtime && new Date(i) >= a ? (e.res.status = 304, e.res.statusText = `Not Modified`, ``) : (n.type && e.res.headers.set(`Content-Type`, n.type), n.etag && !e.res.headers.has(`ETag`) && e.res.headers.set(`ETag`, n.etag), n.mtime && !e.res.headers.has(`Last-Modified`) && e.res.headers.set(`Last-Modified`, a.toUTCString()), n.encoding && !e.res.headers.has(`Content-Encoding`) && e.res.headers.set(`Content-Encoding`, n.encoding), n.size > 0 && !e.res.headers.has(`Content-Length`) && e.res.headers.set(`Content-Length`, n.size.toString()),
|
|
512
|
-
}),
|
|
513
|
-
|
|
643
|
+
return i && n.mtime && new Date(i) >= a ? (e.res.status = 304, e.res.statusText = `Not Modified`, ``) : (n.type && e.res.headers.set(`Content-Type`, n.type), n.etag && !e.res.headers.has(`ETag`) && e.res.headers.set(`ETag`, n.etag), n.mtime && !e.res.headers.has(`Last-Modified`) && e.res.headers.set(`Last-Modified`, a.toUTCString()), n.encoding && !e.res.headers.has(`Content-Encoding`) && e.res.headers.set(`Content-Encoding`, n.encoding), n.size > 0 && !e.res.headers.has(`Content-Length`) && e.res.headers.set(`Content-Length`, n.size.toString()), Ye(t));
|
|
644
|
+
}), U = b((() => {
|
|
645
|
+
B();
|
|
514
646
|
}));
|
|
515
|
-
function
|
|
647
|
+
function nt(e, t, n) {
|
|
516
648
|
let r = [];
|
|
517
649
|
for (let i of e) r.push({
|
|
518
650
|
entry: i,
|
|
519
651
|
depth: t,
|
|
520
652
|
filePath: n.get(i.path)
|
|
521
|
-
}), i.children && r.push(...
|
|
653
|
+
}), i.children && r.push(...nt(i.children, t + 1, n));
|
|
522
654
|
return r;
|
|
523
655
|
}
|
|
524
|
-
function
|
|
656
|
+
function rt(e, t) {
|
|
525
657
|
let n = e.toLowerCase(), r = t.toLowerCase();
|
|
526
658
|
if (n.length === 0) return 0;
|
|
527
659
|
if (n.length > r.length) return -1;
|
|
@@ -529,13 +661,13 @@ function qe(e, t) {
|
|
|
529
661
|
for (let e = 0; e < r.length && a < n.length; e++) r[e] === n[a] && (o === e - 1 && (i -= 5), (e === 0 || `/\\-_. `.includes(r[e - 1])) && (i -= 10), o >= 0 && (i += e - o - 1), o = e, a++);
|
|
530
662
|
return a < n.length ? -1 : (i += r.length * .1, i);
|
|
531
663
|
}
|
|
532
|
-
function
|
|
664
|
+
function it(e, t, n) {
|
|
533
665
|
if (!t) return e;
|
|
534
666
|
let r = [];
|
|
535
667
|
for (let i of e) {
|
|
536
668
|
let e = Infinity;
|
|
537
669
|
for (let r of n(i)) {
|
|
538
|
-
let n =
|
|
670
|
+
let n = rt(t, r);
|
|
539
671
|
n !== -1 && n < e && (e = n);
|
|
540
672
|
}
|
|
541
673
|
e < Infinity && r.push({
|
|
@@ -545,7 +677,7 @@ function Je(e, t, n) {
|
|
|
545
677
|
}
|
|
546
678
|
return r.sort((e, t) => e.score - t.score), r.map((e) => e.item);
|
|
547
679
|
}
|
|
548
|
-
function
|
|
680
|
+
function at(e, t, n = 1) {
|
|
549
681
|
let r = [], i = e.split(`
|
|
550
682
|
`);
|
|
551
683
|
for (let e = 0; e < i.length; e++) if (i[e].toLowerCase().includes(t)) {
|
|
@@ -559,23 +691,40 @@ function Ye(e, t, n = 1) {
|
|
|
559
691
|
}
|
|
560
692
|
return r;
|
|
561
693
|
}
|
|
562
|
-
var
|
|
563
|
-
|
|
694
|
+
var W, ot = b((() => {
|
|
695
|
+
W = class {
|
|
564
696
|
source;
|
|
565
697
|
tree = [];
|
|
566
698
|
flat = [];
|
|
567
699
|
_fileMap = /* @__PURE__ */ new Map();
|
|
568
700
|
_contentCache = /* @__PURE__ */ new Map();
|
|
701
|
+
_changeListeners = /* @__PURE__ */ new Set();
|
|
702
|
+
_reloadTimer;
|
|
569
703
|
constructor(e) {
|
|
570
704
|
this.source = e;
|
|
571
705
|
}
|
|
572
706
|
async load() {
|
|
573
707
|
let { tree: e, fileMap: t } = await this.source.load();
|
|
574
|
-
this.tree = e, this._fileMap = t, this.flat =
|
|
708
|
+
this.tree = e, this._fileMap = t, this.flat = nt(this.tree, 0, this._fileMap), this._contentCache.clear();
|
|
575
709
|
}
|
|
576
710
|
async reload() {
|
|
577
711
|
return this.load();
|
|
578
712
|
}
|
|
713
|
+
watch() {
|
|
714
|
+
this.source.watch(({ path: e }) => {
|
|
715
|
+
clearTimeout(this._reloadTimer), this._reloadTimer = setTimeout(() => {
|
|
716
|
+
this.reload().then(() => {
|
|
717
|
+
for (let t of this._changeListeners) t(e);
|
|
718
|
+
});
|
|
719
|
+
}, 100);
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
unwatch() {
|
|
723
|
+
clearTimeout(this._reloadTimer), this.source.unwatch(), this._changeListeners.clear();
|
|
724
|
+
}
|
|
725
|
+
onChange(e) {
|
|
726
|
+
return this._changeListeners.add(e), () => this._changeListeners.delete(e);
|
|
727
|
+
}
|
|
579
728
|
async getContent(e) {
|
|
580
729
|
if (!e.filePath || e.entry.page === !1) return;
|
|
581
730
|
let t = this._contentCache.get(e.filePath);
|
|
@@ -587,7 +736,7 @@ var G, Xe = y((() => {
|
|
|
587
736
|
this._contentCache.delete(e);
|
|
588
737
|
}
|
|
589
738
|
filter(e) {
|
|
590
|
-
return
|
|
739
|
+
return it(this.flat, e, ({ entry: e }) => [e.title, e.path]);
|
|
591
740
|
}
|
|
592
741
|
async *search(t) {
|
|
593
742
|
if (!t) return;
|
|
@@ -609,7 +758,7 @@ var G, Xe = y((() => {
|
|
|
609
758
|
}
|
|
610
759
|
}
|
|
611
760
|
}
|
|
612
|
-
let f = s ?
|
|
761
|
+
let f = s ? at(s, n) : [];
|
|
613
762
|
yield {
|
|
614
763
|
flat: t,
|
|
615
764
|
score: u,
|
|
@@ -658,7 +807,7 @@ var G, Xe = y((() => {
|
|
|
658
807
|
}
|
|
659
808
|
};
|
|
660
809
|
}));
|
|
661
|
-
function
|
|
810
|
+
function st(e, t, n = {}) {
|
|
662
811
|
let { maxSnippets: r = 3, radius: i = 80 } = n, a = e.toLowerCase(), o = [];
|
|
663
812
|
for (let e of t) {
|
|
664
813
|
let t = a.indexOf(e);
|
|
@@ -676,8 +825,8 @@ function Ze(e, t, n = {}) {
|
|
|
676
825
|
}
|
|
677
826
|
return s;
|
|
678
827
|
}
|
|
679
|
-
var
|
|
680
|
-
function
|
|
828
|
+
var ct = b((() => {}));
|
|
829
|
+
function lt(e) {
|
|
681
830
|
let t = e.endsWith(`.md`) ? e.slice(0, -3) : e, n = t.endsWith(`.draft`);
|
|
682
831
|
n && (t = t.slice(0, -6));
|
|
683
832
|
let r = t.match(/^(\d+)\.(.+)$/);
|
|
@@ -691,10 +840,10 @@ function $e(e) {
|
|
|
691
840
|
draft: n
|
|
692
841
|
};
|
|
693
842
|
}
|
|
694
|
-
function
|
|
843
|
+
function ut(e) {
|
|
695
844
|
return e.split(`-`).map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(` `);
|
|
696
845
|
}
|
|
697
|
-
async function
|
|
846
|
+
async function dt(t) {
|
|
698
847
|
try {
|
|
699
848
|
let { headings: n, ...r } = parseMeta(`---\n${await readFile(join(t, `.navigation.yml`), `utf8`)}\n---\n`);
|
|
700
849
|
return r;
|
|
@@ -702,7 +851,7 @@ async function tt(t) {
|
|
|
702
851
|
return {};
|
|
703
852
|
}
|
|
704
853
|
}
|
|
705
|
-
function
|
|
854
|
+
function ft(e) {
|
|
706
855
|
let t = e.navigation;
|
|
707
856
|
if (t === !1) return {
|
|
708
857
|
...e,
|
|
@@ -717,60 +866,61 @@ function nt(e) {
|
|
|
717
866
|
}
|
|
718
867
|
return e;
|
|
719
868
|
}
|
|
720
|
-
function
|
|
869
|
+
function pt(e) {
|
|
721
870
|
let t = {}, n = !1;
|
|
722
|
-
for (let [r, i] of Object.entries(e)) !
|
|
871
|
+
for (let [r, i] of Object.entries(e)) !gt.has(r) && r !== `navigation` && (t[r] = i, n = !0);
|
|
723
872
|
return n ? t : void 0;
|
|
724
873
|
}
|
|
725
|
-
async function
|
|
726
|
-
return
|
|
874
|
+
async function mt(e, t) {
|
|
875
|
+
return ht(e, `/`, t || {});
|
|
727
876
|
}
|
|
728
|
-
async function
|
|
729
|
-
let s = await readdir(t),
|
|
877
|
+
async function ht(t, n, r) {
|
|
878
|
+
let s = await readdir(t), c = [];
|
|
730
879
|
for (let a of s) {
|
|
731
880
|
if (a.startsWith(`.`) || a.startsWith(`_`) || a === `node_modules` || a === `dist` || a === `package.json` || a === `pnpm-lock.yaml` || a === `pnpm-workspace.yaml`) continue;
|
|
732
|
-
let s = join(t, a),
|
|
881
|
+
let s = join(t, a), l;
|
|
733
882
|
try {
|
|
734
|
-
|
|
883
|
+
l = await stat(s);
|
|
735
884
|
} catch {
|
|
736
885
|
continue;
|
|
737
886
|
}
|
|
738
|
-
if (
|
|
739
|
-
let { order: e, slug: t } =
|
|
887
|
+
if (l.isDirectory()) {
|
|
888
|
+
let { order: e, slug: t } = lt(a), i = await dt(s);
|
|
740
889
|
if (i.navigation === !1) continue;
|
|
741
|
-
let o = await
|
|
890
|
+
let o = await ht(s, n === `/` ? `/${t}` : `${n}/${t}`, r), l = o.some((e) => e.slug === ``), u = {
|
|
742
891
|
slug: t,
|
|
743
892
|
path: n === `/` ? `/${t}` : `${n}/${t}`,
|
|
744
|
-
title: i.title ||
|
|
893
|
+
title: i.title || ut(t),
|
|
745
894
|
order: e,
|
|
746
895
|
...i.icon ? { icon: i.icon } : {},
|
|
747
896
|
...i.description ? { description: i.description } : {},
|
|
748
|
-
...
|
|
897
|
+
...l ? {} : { page: !1 },
|
|
749
898
|
...o.length > 0 ? { children: o } : {}
|
|
750
899
|
};
|
|
751
|
-
|
|
900
|
+
c.push(u);
|
|
752
901
|
} else if (extname(a) === `.md`) {
|
|
753
|
-
let { order: t, slug: o, draft:
|
|
754
|
-
if (
|
|
755
|
-
let d =
|
|
756
|
-
if (
|
|
757
|
-
let
|
|
758
|
-
slug:
|
|
759
|
-
path:
|
|
760
|
-
title:
|
|
761
|
-
order:
|
|
762
|
-
...
|
|
763
|
-
...
|
|
764
|
-
...
|
|
765
|
-
...
|
|
902
|
+
let { order: t, slug: o, draft: l } = lt(basename(a));
|
|
903
|
+
if (l && !r.drafts) continue;
|
|
904
|
+
let d = parseMeta(await readFile(s, `utf8`)), f = ft(d);
|
|
905
|
+
if (f.navigation === !1) continue;
|
|
906
|
+
let p = typeof f.order == `number` ? f.order : t, m = o === `index` ? `` : o, h = d.headings?.find((e) => e.level === 1)?.text, g = f.title || h || ut(o) || `index`, _ = m === `` ? n === `/` ? `/` : n : n === `/` ? `/${m}` : `${n}/${m}`, v = pt(f), y = {
|
|
907
|
+
slug: m,
|
|
908
|
+
path: _,
|
|
909
|
+
title: g,
|
|
910
|
+
order: p,
|
|
911
|
+
...h && h !== g ? { heading: h } : {},
|
|
912
|
+
...f.icon ? { icon: f.icon } : {},
|
|
913
|
+
...f.description ? { description: f.description } : {},
|
|
914
|
+
...l ? { draft: !0 } : {},
|
|
915
|
+
...v
|
|
766
916
|
};
|
|
767
|
-
|
|
917
|
+
c.push(y);
|
|
768
918
|
}
|
|
769
919
|
}
|
|
770
|
-
return
|
|
920
|
+
return c.sort((e, t) => e.order - t.order || e.slug.localeCompare(t.slug)), c;
|
|
771
921
|
}
|
|
772
|
-
var
|
|
773
|
-
|
|
922
|
+
var gt, _t = b((() => {
|
|
923
|
+
gt = new Set([
|
|
774
924
|
`slug`,
|
|
775
925
|
`path`,
|
|
776
926
|
`title`,
|
|
@@ -781,64 +931,76 @@ var ot, st = y((() => {
|
|
|
781
931
|
`children`,
|
|
782
932
|
`headings`
|
|
783
933
|
]);
|
|
784
|
-
})),
|
|
785
|
-
|
|
934
|
+
})), G, K = b((() => {
|
|
935
|
+
G = class {
|
|
936
|
+
watch(e) {}
|
|
937
|
+
unwatch() {}
|
|
938
|
+
};
|
|
786
939
|
}));
|
|
787
|
-
function
|
|
940
|
+
function vt(e) {
|
|
788
941
|
let t = e.endsWith(`.draft`) ? e.slice(0, -6) : e, n = t.match(/^(\d+)\.(.+)$/);
|
|
789
942
|
return n ? n[2] : t;
|
|
790
943
|
}
|
|
791
|
-
async function
|
|
944
|
+
async function yt(e, t) {
|
|
792
945
|
let n = /* @__PURE__ */ new Map(), r = await readdir(t, { withFileTypes: !0 });
|
|
793
946
|
for (let i of r) {
|
|
794
947
|
if (i.name.startsWith(`.`) || i.name.startsWith(`_`) || i.name === `node_modules` || i.name === `dist`) continue;
|
|
795
948
|
let r = join(t, i.name);
|
|
796
949
|
if (i.isDirectory()) {
|
|
797
|
-
let t =
|
|
950
|
+
let t = vt(i.name), a = await yt(e === `/` ? `/${t}` : `${e}/${t}`, r);
|
|
798
951
|
for (let [e, t] of a) n.set(e, t);
|
|
799
952
|
} else if (extname(i.name) === `.md`) {
|
|
800
|
-
let t =
|
|
953
|
+
let t = vt(i.name.replace(/\.md$/, ``)), a = t === `index` ? `` : t, o = a === `` ? e === `/` ? `/` : e : e === `/` ? `/${a}` : `${e}/${a}`;
|
|
801
954
|
n.set(o, r);
|
|
802
955
|
}
|
|
803
956
|
}
|
|
804
957
|
return n;
|
|
805
958
|
}
|
|
806
|
-
async function
|
|
959
|
+
async function bt(e, t) {
|
|
807
960
|
let n;
|
|
808
961
|
try {
|
|
809
962
|
n = JSON.parse(await readFile(join(t, `_navigation.json`), `utf8`));
|
|
810
963
|
} catch {
|
|
811
964
|
return;
|
|
812
965
|
}
|
|
813
|
-
|
|
966
|
+
xt(e, n);
|
|
814
967
|
}
|
|
815
|
-
function
|
|
968
|
+
function xt(e, t) {
|
|
816
969
|
let n = new Map(t.map((e, t) => [e.path, t]));
|
|
817
970
|
e.sort((e, t) => (n.get(e.path) ?? Infinity) - (n.get(t.path) ?? Infinity));
|
|
818
971
|
for (let n of e) if (n.children?.length) {
|
|
819
972
|
let e = t.find((e) => e.path === n.path);
|
|
820
|
-
e?.children &&
|
|
973
|
+
e?.children && xt(n.children, e.children);
|
|
821
974
|
}
|
|
822
975
|
}
|
|
823
|
-
var
|
|
824
|
-
|
|
976
|
+
var q, J = b((() => {
|
|
977
|
+
_t(), K(), q = class extends G {
|
|
825
978
|
dir;
|
|
979
|
+
_watcher;
|
|
826
980
|
constructor(e) {
|
|
827
981
|
super(), this.dir = e;
|
|
828
982
|
}
|
|
829
983
|
async load() {
|
|
830
|
-
let e = await
|
|
831
|
-
return await
|
|
984
|
+
let e = await mt(this.dir);
|
|
985
|
+
return await bt(e, this.dir), {
|
|
832
986
|
tree: e,
|
|
833
|
-
fileMap: await
|
|
987
|
+
fileMap: await yt(`/`, this.dir)
|
|
834
988
|
};
|
|
835
989
|
}
|
|
836
990
|
async readContent(e) {
|
|
837
991
|
return readFile(e, `utf8`);
|
|
838
992
|
}
|
|
993
|
+
watch(e) {
|
|
994
|
+
this.unwatch(), this._watcher = watch(this.dir, { recursive: !0 }, (t, n) => {
|
|
995
|
+
!n || n.startsWith(`.`) || n.startsWith(`_`) || e({ path: `/` + n });
|
|
996
|
+
});
|
|
997
|
+
}
|
|
998
|
+
unwatch() {
|
|
999
|
+
this._watcher?.close(), this._watcher = void 0;
|
|
1000
|
+
}
|
|
839
1001
|
};
|
|
840
|
-
})),
|
|
841
|
-
|
|
1002
|
+
})), Y, St = b((() => {
|
|
1003
|
+
K(), J(), Y = class extends G {
|
|
842
1004
|
src;
|
|
843
1005
|
options;
|
|
844
1006
|
_fs;
|
|
@@ -861,7 +1023,7 @@ var J, Y = y((() => {
|
|
|
861
1023
|
break;
|
|
862
1024
|
}
|
|
863
1025
|
}
|
|
864
|
-
return this._fs = new
|
|
1026
|
+
return this._fs = new q(i), this._fs.load();
|
|
865
1027
|
}
|
|
866
1028
|
async readContent(e) {
|
|
867
1029
|
if (!this._fs) throw Error(`GitSource: call load() before readContent()`);
|
|
@@ -869,7 +1031,7 @@ var J, Y = y((() => {
|
|
|
869
1031
|
}
|
|
870
1032
|
};
|
|
871
1033
|
}));
|
|
872
|
-
function
|
|
1034
|
+
function Ct(e) {
|
|
873
1035
|
let t = e, n = ``;
|
|
874
1036
|
if (t.startsWith(`@`)) {
|
|
875
1037
|
let e = t.indexOf(`/`, t.indexOf(`/`) + 1);
|
|
@@ -885,12 +1047,12 @@ function pt(e) {
|
|
|
885
1047
|
subdir: n
|
|
886
1048
|
};
|
|
887
1049
|
}
|
|
888
|
-
async function
|
|
1050
|
+
async function wt(e, t) {
|
|
889
1051
|
let n = t ? `https://registry.npmjs.org/${e}/${t}` : `https://registry.npmjs.org/${e}`, r = await fetch(n);
|
|
890
1052
|
if (!r.ok) throw Error(`Failed to fetch package info for ${e}${t ? `@${t}` : ``}: ${r.status} ${r.statusText}`);
|
|
891
1053
|
return r.json();
|
|
892
1054
|
}
|
|
893
|
-
function
|
|
1055
|
+
function Tt(e) {
|
|
894
1056
|
let t;
|
|
895
1057
|
try {
|
|
896
1058
|
t = new URL(e);
|
|
@@ -903,15 +1065,15 @@ function ht(e) {
|
|
|
903
1065
|
let r = t.pathname.match(/^\/((?:@[^/]+\/)?[^/]+)\/?$/);
|
|
904
1066
|
if (r && !/^(package|settings|signup|login|org|search)$/.test(r[1])) return r[1];
|
|
905
1067
|
}
|
|
906
|
-
var
|
|
907
|
-
function
|
|
1068
|
+
var Et = b((() => {}));
|
|
1069
|
+
function Dt(e) {
|
|
908
1070
|
try {
|
|
909
1071
|
return new URL(e).hostname;
|
|
910
1072
|
} catch {
|
|
911
1073
|
return e;
|
|
912
1074
|
}
|
|
913
1075
|
}
|
|
914
|
-
function
|
|
1076
|
+
function Ot(e, t, n, r) {
|
|
915
1077
|
let i = e.split(`
|
|
916
1078
|
`), a = [], o = ``, s = ``, c, l = 0, u = 0;
|
|
917
1079
|
for (let e of i) {
|
|
@@ -926,7 +1088,7 @@ function vt(e, t, n, r) {
|
|
|
926
1088
|
}
|
|
927
1089
|
if (r.startsWith(`## `)) {
|
|
928
1090
|
c = {
|
|
929
|
-
slug:
|
|
1091
|
+
slug: kt(r.slice(3).trim()),
|
|
930
1092
|
path: `/_section/${l}`,
|
|
931
1093
|
title: r.slice(3).trim(),
|
|
932
1094
|
order: l++,
|
|
@@ -958,20 +1120,20 @@ function vt(e, t, n, r) {
|
|
|
958
1120
|
let d = {
|
|
959
1121
|
slug: ``,
|
|
960
1122
|
path: `/`,
|
|
961
|
-
title: o ||
|
|
1123
|
+
title: o || Dt(t),
|
|
962
1124
|
order: 0,
|
|
963
1125
|
...s ? { description: s } : {},
|
|
964
1126
|
...a.length > 0 ? { children: a } : {}
|
|
965
1127
|
};
|
|
966
1128
|
return n.set(`/`, `/`), r.set(`/`, e), [d];
|
|
967
1129
|
}
|
|
968
|
-
function
|
|
1130
|
+
function kt(e) {
|
|
969
1131
|
return e.toLowerCase().replace(/[^a-z\d]+/g, `-`).replace(/^-|-$/g, ``);
|
|
970
1132
|
}
|
|
971
|
-
function
|
|
1133
|
+
function At(e, t) {
|
|
972
1134
|
let n = /* @__PURE__ */ new Set(), r = [], i = /* @__PURE__ */ new Set(), a = 0, o = /\[([^\]]+)]\(([^)]+)\)/g, s;
|
|
973
1135
|
for (; (s = o.exec(e)) !== null;) {
|
|
974
|
-
let e = s[1], o = s[2], c =
|
|
1136
|
+
let e = s[1], o = s[2], c = jt(o, t);
|
|
975
1137
|
if (!c) continue;
|
|
976
1138
|
let l = c.pathname.replace(/\/+$/, ``) || `/`, u = /\/index\.md$/i.test(l) || l.endsWith(`/index`);
|
|
977
1139
|
if (l = l.replace(/\/index\.md$/i, ``).replace(/\/index$/, ``).replace(/\.md$/i, ``), l ||= `/`, l === `/` || n.has(l)) continue;
|
|
@@ -989,7 +1151,7 @@ function bt(e, t) {
|
|
|
989
1151
|
tocPaths: i
|
|
990
1152
|
};
|
|
991
1153
|
}
|
|
992
|
-
function
|
|
1154
|
+
function jt(e, t) {
|
|
993
1155
|
try {
|
|
994
1156
|
let n = new URL(t), r = new URL(e, t);
|
|
995
1157
|
return r.origin !== n.origin || e.startsWith(`#`) || /\.(png|jpg|jpeg|gif|svg|css|js|ico|woff2?)$/i.test(r.pathname) ? void 0 : r;
|
|
@@ -997,8 +1159,8 @@ function xt(e, t) {
|
|
|
997
1159
|
return;
|
|
998
1160
|
}
|
|
999
1161
|
}
|
|
1000
|
-
var
|
|
1001
|
-
|
|
1162
|
+
var Mt, Nt = b((() => {
|
|
1163
|
+
K(), Et(), Mt = class extends G {
|
|
1002
1164
|
url;
|
|
1003
1165
|
options;
|
|
1004
1166
|
_contentCache = /* @__PURE__ */ new Map();
|
|
@@ -1006,7 +1168,7 @@ var St, Ct = y((() => {
|
|
|
1006
1168
|
_fileMap = /* @__PURE__ */ new Map();
|
|
1007
1169
|
_npmPackage;
|
|
1008
1170
|
constructor(e, t = {}) {
|
|
1009
|
-
super(), this.url = e.replace(/\/+$/, ``), this._npmPackage =
|
|
1171
|
+
super(), this.url = e.replace(/\/+$/, ``), this._npmPackage = Tt(this.url), this.options = t;
|
|
1010
1172
|
}
|
|
1011
1173
|
async load() {
|
|
1012
1174
|
if (this._npmPackage) return this._loadNpm(this._npmPackage);
|
|
@@ -1020,9 +1182,9 @@ var St, Ct = y((() => {
|
|
|
1020
1182
|
let r = {
|
|
1021
1183
|
slug: ``,
|
|
1022
1184
|
path: `/`,
|
|
1023
|
-
title: parseMeta(n).title ||
|
|
1185
|
+
title: parseMeta(n).title || Dt(this.url),
|
|
1024
1186
|
order: 0
|
|
1025
|
-
}, { entries: i, tocPaths: a } =
|
|
1187
|
+
}, { entries: i, tocPaths: a } = At(n, this.url);
|
|
1026
1188
|
if (i.length > 0) {
|
|
1027
1189
|
r.children = i;
|
|
1028
1190
|
for (let e of i) this._fileMap.set(e.path, e.path);
|
|
@@ -1050,7 +1212,7 @@ var St, Ct = y((() => {
|
|
|
1050
1212
|
} catch {
|
|
1051
1213
|
return;
|
|
1052
1214
|
}
|
|
1053
|
-
if (t.trimStart().startsWith(`#`)) return
|
|
1215
|
+
if (t.trimStart().startsWith(`#`)) return Ot(t, e, this._fileMap, this._contentCache);
|
|
1054
1216
|
}
|
|
1055
1217
|
async readContent(e) {
|
|
1056
1218
|
let t = this._contentCache.get(e);
|
|
@@ -1065,7 +1227,7 @@ var St, Ct = y((() => {
|
|
|
1065
1227
|
if (!t.has(e.path)) return;
|
|
1066
1228
|
let i = `${r}${e.path}`, a = await this._fetch(i);
|
|
1067
1229
|
this._contentCache.set(e.path, a);
|
|
1068
|
-
let { entries: o, tocPaths: s } =
|
|
1230
|
+
let { entries: o, tocPaths: s } = At(a, i);
|
|
1069
1231
|
if (o.length > 0) {
|
|
1070
1232
|
e.children = o;
|
|
1071
1233
|
for (let e of o) this._fileMap.set(e.path, e.path);
|
|
@@ -1076,7 +1238,7 @@ var St, Ct = y((() => {
|
|
|
1076
1238
|
async _loadNpm(t) {
|
|
1077
1239
|
let n;
|
|
1078
1240
|
try {
|
|
1079
|
-
let e = await
|
|
1241
|
+
let e = await wt(t);
|
|
1080
1242
|
n = e.readme || `# ${e.name || t}\n\n${e.description || `No README available.`}`;
|
|
1081
1243
|
} catch (e) {
|
|
1082
1244
|
n = `# Fetch Error\n\nFailed to fetch package \`${t}\`\n\n> ${e instanceof Error ? e.message : String(e)}`;
|
|
@@ -1105,8 +1267,8 @@ var St, Ct = y((() => {
|
|
|
1105
1267
|
}
|
|
1106
1268
|
};
|
|
1107
1269
|
}));
|
|
1108
|
-
async function
|
|
1109
|
-
let { name: t, version: n, subdir: r } =
|
|
1270
|
+
async function Pt(e) {
|
|
1271
|
+
let { name: t, version: n, subdir: r } = Ct(e), i = await wt(t, n);
|
|
1110
1272
|
return {
|
|
1111
1273
|
name: i.name,
|
|
1112
1274
|
version: i.version,
|
|
@@ -1114,8 +1276,8 @@ async function wt(e) {
|
|
|
1114
1276
|
tar: i.dist.tarball
|
|
1115
1277
|
};
|
|
1116
1278
|
}
|
|
1117
|
-
var
|
|
1118
|
-
|
|
1279
|
+
var X, Ft = b((() => {
|
|
1280
|
+
K(), J(), Et(), X = class extends G {
|
|
1119
1281
|
src;
|
|
1120
1282
|
options;
|
|
1121
1283
|
_fs;
|
|
@@ -1128,7 +1290,7 @@ var Tt, Et = y((() => {
|
|
|
1128
1290
|
dir: r,
|
|
1129
1291
|
force: !0,
|
|
1130
1292
|
install: !1,
|
|
1131
|
-
providers: { npm:
|
|
1293
|
+
providers: { npm: Pt },
|
|
1132
1294
|
registry: !1
|
|
1133
1295
|
});
|
|
1134
1296
|
let a = r;
|
|
@@ -1139,7 +1301,7 @@ var Tt, Et = y((() => {
|
|
|
1139
1301
|
break;
|
|
1140
1302
|
}
|
|
1141
1303
|
}
|
|
1142
|
-
return this._fs = new
|
|
1304
|
+
return this._fs = new q(a), this._fs.load();
|
|
1143
1305
|
}
|
|
1144
1306
|
async readContent(e) {
|
|
1145
1307
|
if (!this._fs) throw Error(`NpmSource: call load() before readContent()`);
|
|
@@ -1147,78 +1309,78 @@ var Tt, Et = y((() => {
|
|
|
1147
1309
|
}
|
|
1148
1310
|
};
|
|
1149
1311
|
}));
|
|
1150
|
-
function
|
|
1151
|
-
return e.startsWith(`http://`) || e.startsWith(`https://`) ? new
|
|
1312
|
+
function It(e) {
|
|
1313
|
+
return e.startsWith(`http://`) || e.startsWith(`https://`) ? new Mt(e) : e.startsWith(`gh:`) ? new Y(e) : e.startsWith(`npm:`) ? new X(e) : new q(e);
|
|
1152
1314
|
}
|
|
1153
|
-
var
|
|
1154
|
-
|
|
1315
|
+
var Lt = b((() => {
|
|
1316
|
+
J(), St(), Nt(), Ft(), K();
|
|
1155
1317
|
}));
|
|
1156
|
-
async function
|
|
1157
|
-
let i = new
|
|
1158
|
-
return await i.load(), await mkdir(t, { recursive: !0 }), await
|
|
1159
|
-
}
|
|
1160
|
-
async function
|
|
1161
|
-
let o = e.flat.find((e) => e.entry.path === `/`), c = [`# ${a.title ?? o?.entry.title ?? `Table of Contents`}`, ``],
|
|
1162
|
-
|
|
1163
|
-
let
|
|
1164
|
-
|
|
1318
|
+
async function Rt(e, t, n = {}) {
|
|
1319
|
+
let i = new W(typeof e == `string` ? It(e) : e);
|
|
1320
|
+
return await i.load(), await mkdir(t, { recursive: !0 }), await zt(i, t, n), i;
|
|
1321
|
+
}
|
|
1322
|
+
async function zt(e, i, a = {}) {
|
|
1323
|
+
let o = e.flat.find((e) => e.entry.path === `/`), c = [`# ${a.title ?? o?.entry.title ?? `Table of Contents`}`, ``], l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Map();
|
|
1324
|
+
Vt(e.tree, ``, u);
|
|
1325
|
+
let f = /* @__PURE__ */ new Set();
|
|
1326
|
+
Bt(e.tree, f);
|
|
1165
1327
|
for (let o of e.flat) {
|
|
1166
|
-
if ((a.filter ? !a.filter(o) : o.entry.page === !1) ||
|
|
1328
|
+
if ((a.filter ? !a.filter(o) : o.entry.page === !1) || Ht.has(o.entry.path)) continue;
|
|
1167
1329
|
let m = await e.getContent(o);
|
|
1168
1330
|
if (m === void 0) continue;
|
|
1169
|
-
let h = a.plainText ? renderToText(m) : renderToMarkdown(m), g =
|
|
1170
|
-
await mkdir(dirname(v), { recursive: !0 }), await writeFile(v, h, `utf8`),
|
|
1331
|
+
let h = a.plainText ? renderToText(m) : renderToMarkdown(m), g = u.get(o.entry.path) ?? o.entry.path, _ = o.entry.path === `/` || f.has(o.entry.path) ? o.entry.path === `/` ? `/index.md` : `${g}/index.md` : g.endsWith(`.md`) ? g : `${g}.md`, v = join(i, _);
|
|
1332
|
+
await mkdir(dirname(v), { recursive: !0 }), await writeFile(v, h, `utf8`), l.add(_.slice(1));
|
|
1171
1333
|
let y = ` `.repeat(o.depth), b = o.entry.description ? `: ${o.entry.description}` : ``;
|
|
1172
1334
|
c.push(`${y}- [${o.entry.title}](.${_})${b}`);
|
|
1173
1335
|
}
|
|
1174
1336
|
let m = a.tocFile ?? `README.md`;
|
|
1175
|
-
|
|
1337
|
+
l.has(m) && (m = `_${m}`), await writeFile(join(i, m), c.join(`
|
|
1176
1338
|
`) + `
|
|
1177
1339
|
`, `utf8`);
|
|
1178
1340
|
}
|
|
1179
|
-
function
|
|
1180
|
-
for (let n of e) n.children?.length && (t.add(n.path),
|
|
1341
|
+
function Bt(e, t) {
|
|
1342
|
+
for (let n of e) n.children?.length && (t.add(n.path), Bt(n.children, t));
|
|
1181
1343
|
}
|
|
1182
|
-
function
|
|
1344
|
+
function Vt(e, t, n) {
|
|
1183
1345
|
for (let [r, i] of e.entries()) {
|
|
1184
1346
|
let e = `${t}/${r}.${i.slug || `index`}`;
|
|
1185
|
-
n.set(i.path, e), i.children?.length &&
|
|
1347
|
+
n.set(i.path, e), i.children?.length && Vt(i.children, e, n);
|
|
1186
1348
|
}
|
|
1187
1349
|
}
|
|
1188
|
-
var
|
|
1189
|
-
|
|
1190
|
-
})),
|
|
1191
|
-
Collection: () =>
|
|
1192
|
-
FSSource: () =>
|
|
1193
|
-
GitSource: () =>
|
|
1194
|
-
HTTPSource: () =>
|
|
1195
|
-
NpmSource: () =>
|
|
1196
|
-
Source: () =>
|
|
1197
|
-
exportSource: () =>
|
|
1198
|
-
extractSnippets: () =>
|
|
1199
|
-
resolveSource: () =>
|
|
1200
|
-
writeCollection: () =>
|
|
1201
|
-
}),
|
|
1202
|
-
|
|
1350
|
+
var Ht, Ut = b((() => {
|
|
1351
|
+
ot(), Lt(), Ht = new Set([`/llms.txt`, `/llms-full.txt`]);
|
|
1352
|
+
})), Wt = x({
|
|
1353
|
+
Collection: () => W,
|
|
1354
|
+
FSSource: () => q,
|
|
1355
|
+
GitSource: () => Y,
|
|
1356
|
+
HTTPSource: () => Mt,
|
|
1357
|
+
NpmSource: () => X,
|
|
1358
|
+
Source: () => G,
|
|
1359
|
+
exportSource: () => Rt,
|
|
1360
|
+
extractSnippets: () => st,
|
|
1361
|
+
resolveSource: () => It,
|
|
1362
|
+
writeCollection: () => zt
|
|
1363
|
+
}), Gt = b((() => {
|
|
1364
|
+
ot(), ct(), Lt(), Ut();
|
|
1203
1365
|
}));
|
|
1204
1366
|
async function Z(e) {
|
|
1205
1367
|
if (Q) return Q;
|
|
1206
1368
|
if (!Q) {
|
|
1207
|
-
let { Collection: t,
|
|
1208
|
-
Q = new t(e?.source ||
|
|
1369
|
+
let { Collection: t, resolveSource: n } = await Promise.resolve().then(() => (Gt(), Wt));
|
|
1370
|
+
Q = new t(e?.source || n(process.env.DOCS_SOURCE || `gh:nitrojs/nitro/docs`)), await Q.load(), Q.watch();
|
|
1209
1371
|
}
|
|
1210
1372
|
return Q;
|
|
1211
1373
|
}
|
|
1212
|
-
var Q, $ =
|
|
1213
|
-
|
|
1374
|
+
var Q, $ = b((() => {})), Kt = x({ default: () => qt }), qt, Jt = b((() => {
|
|
1375
|
+
U(), $(), qt = D(async () => ({
|
|
1214
1376
|
title: `Nitro`,
|
|
1215
1377
|
toc: (await Z()).tree
|
|
1216
1378
|
}));
|
|
1217
|
-
})),
|
|
1218
|
-
async function
|
|
1379
|
+
})), Yt = x({ default: () => $t });
|
|
1380
|
+
async function Xt(e) {
|
|
1219
1381
|
let t = /<pre><code class="language-(\w+)">([\s\S]*?)<\/code><\/pre>/g, n = [];
|
|
1220
1382
|
for (let r of e.matchAll(t)) {
|
|
1221
|
-
let [e, t, i] = r, a =
|
|
1383
|
+
let [e, t, i] = r, a = Qt(i);
|
|
1222
1384
|
n.push(highlightText(a, t, !1).then((n) => ({
|
|
1223
1385
|
match: e,
|
|
1224
1386
|
result: `<pre><code class="language-${t}">${n}</code></pre>`
|
|
@@ -1231,35 +1393,35 @@ async function Vt(e) {
|
|
|
1231
1393
|
for (let { match: e, result: t } of await Promise.all(n)) r = r.replace(e, t);
|
|
1232
1394
|
return r;
|
|
1233
1395
|
}
|
|
1234
|
-
function
|
|
1396
|
+
function Zt(e) {
|
|
1235
1397
|
return e.replace(/<(h[1-6])>(.*?)<\/\1>/g, (e, t, n) => {
|
|
1236
1398
|
let r = n.replace(/<[^>]+>/g, ``).trim().toLowerCase().replace(/[^\w\s-]/g, ``).replace(/\s+/g, `-`);
|
|
1237
1399
|
return `<${t} id="${r}"><a href="#${r}">#</a>${n}</${t}>`;
|
|
1238
1400
|
});
|
|
1239
1401
|
}
|
|
1240
|
-
function
|
|
1402
|
+
function Qt(e) {
|
|
1241
1403
|
return e.replace(/&/g, `&`).replace(/</g, `<`).replace(/>/g, `>`).replace(/"/g, `"`).replace(/'/g, `'`);
|
|
1242
1404
|
}
|
|
1243
|
-
var
|
|
1244
|
-
|
|
1245
|
-
let { path: t } =
|
|
1405
|
+
var $t, en = b((async () => {
|
|
1406
|
+
U(), $(), await init(), $t = D(async (e) => {
|
|
1407
|
+
let { path: t } = pe(e);
|
|
1246
1408
|
if (!t) return { error: `Missing ?path= query parameter` };
|
|
1247
1409
|
let n = await (await Z()).resolvePage(t);
|
|
1248
1410
|
return n.raw ? {
|
|
1249
1411
|
path: t,
|
|
1250
|
-
html:
|
|
1412
|
+
html: Zt(await Xt(renderToHtml(n.raw)))
|
|
1251
1413
|
} : {
|
|
1252
1414
|
error: `Page not found`,
|
|
1253
1415
|
path: t
|
|
1254
1416
|
};
|
|
1255
1417
|
});
|
|
1256
|
-
})),
|
|
1257
|
-
|
|
1258
|
-
let { q: t, limit: n } =
|
|
1418
|
+
})), tn = x({ default: () => nn }), nn, rn = b((() => {
|
|
1419
|
+
U(), $(), Gt(), nn = D(async (e) => {
|
|
1420
|
+
let { q: t, limit: n } = pe(e);
|
|
1259
1421
|
if (!t || t.length < 2) return { results: [] };
|
|
1260
1422
|
let r = await Z(), i = Math.min(Number(n) || 20, 50), a = t.toLowerCase().split(/\s+/).filter(Boolean), o = [];
|
|
1261
1423
|
for await (let e of r.search(t)) {
|
|
1262
|
-
let t = await r.getContent(e.flat), n = t ? renderToText$1(t) : ``, i = n ?
|
|
1424
|
+
let t = await r.getContent(e.flat), n = t ? renderToText$1(t) : ``, i = n ? st(n, a) : [];
|
|
1263
1425
|
o.push({
|
|
1264
1426
|
path: e.flat.entry.path,
|
|
1265
1427
|
title: e.flat.entry.title,
|
|
@@ -1270,8 +1432,17 @@ var Wt, Gt = y((async () => {
|
|
|
1270
1432
|
}
|
|
1271
1433
|
return o.sort((e, t) => e.score - t.score), { results: o.slice(0, i).map(({ score: e, ...t }) => t) };
|
|
1272
1434
|
});
|
|
1273
|
-
})),
|
|
1274
|
-
|
|
1435
|
+
})), an = x({ default: () => on }), on, sn = b((() => {
|
|
1436
|
+
U(), $(), on = D(async (e) => {
|
|
1437
|
+
let t = await Z(), n = ve(e), r = t.onChange((e) => {
|
|
1438
|
+
n.push(JSON.stringify({ path: e }));
|
|
1439
|
+
});
|
|
1440
|
+
return n.onClosed(() => {
|
|
1441
|
+
r();
|
|
1442
|
+
}), n.send();
|
|
1443
|
+
});
|
|
1444
|
+
})), cn, ln = b((() => {
|
|
1445
|
+
B(), cn = () => new L(`<!doctype html>
|
|
1275
1446
|
<html lang="en">
|
|
1276
1447
|
<head>
|
|
1277
1448
|
<meta charset="UTF-8" />
|
|
@@ -1280,7 +1451,7 @@ var Wt, Gt = y((async () => {
|
|
|
1280
1451
|
<title></title>
|
|
1281
1452
|
<style>/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
1282
1453
|
@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-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight: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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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-50:oklch(97.1% .013 17.38);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-50:oklch(97% .014 254.604);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:.375rem;--radius-xl:.75rem;--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,ui-sans-serif, system-ui, 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;-webkit-text-decoration: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{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}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.z-50{z-index:50}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-screen{height:100vh}.max-h-80{max-height:calc(var(--spacing) * 80)}.w-4{width:calc(var(--spacing) * 4)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.rotate-90{rotate:90deg}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.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-gray-50{background-color:var(--color-gray-50)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-8{padding:calc(var(--spacing) * 8)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-\\[15vh\\]{padding-top:15vh}.text-center{text-align:center}.text-left{text-align:left}.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))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.text-red-500{color:var(--color-red-500)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:text-gray-500:hover{color:var(--color-gray-500)}.hover\\:text-gray-600:hover{color:var(--color-gray-600)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:40rem){.sm\\:inline{display:inline}}.dark\\:border-gray-700:where(.dark,.dark *){border-color:var(--color-gray-700)}.dark\\:border-gray-800:where(.dark,.dark *){border-color:var(--color-gray-800)}.dark\\:bg-gray-800:where(.dark,.dark *){background-color:var(--color-gray-800)}.dark\\:bg-gray-900:where(.dark,.dark *){background-color:var(--color-gray-900)}.dark\\:bg-gray-950:where(.dark,.dark *){background-color:var(--color-gray-950)}.dark\\:text-gray-100:where(.dark,.dark *){color:var(--color-gray-100)}.dark\\:text-gray-200:where(.dark,.dark *){color:var(--color-gray-200)}.dark\\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\\:text-gray-500:where(.dark,.dark *),.dark\\:placeholder-gray-500:where(.dark,.dark *)::placeholder{color:var(--color-gray-500)}@media (hover:hover){.dark\\:hover\\:border-gray-600:where(.dark,.dark *):hover{border-color:var(--color-gray-600)}.dark\\:hover\\:bg-gray-800:where(.dark,.dark *):hover{background-color:var(--color-gray-800)}.dark\\:hover\\:text-gray-100:where(.dark,.dark *):hover{color:var(--color-gray-100)}.dark\\:hover\\:text-gray-300:where(.dark,.dark *):hover{color:var(--color-gray-300)}.dark\\:hover\\:text-gray-400:where(.dark,.dark *):hover{color:var(--color-gray-400)}}}#search-results::-webkit-scrollbar{width:6px}#search-results::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}.dark #search-results::-webkit-scrollbar-thumb{background:var(--color-gray-600)}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.nav-active{background:var(--color-gray-100)}.dark .nav-active{background:var(--color-gray-800)}.prose{color:var(--color-gray-700);line-height:1.75}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--color-gray-900);margin-top:2em;margin-bottom:.75em;font-weight:700;line-height:1.3;position:relative}:is(.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6)>a[href^=\\#]{color:var(--color-gray-300);opacity:0;padding-right:.25em;font-weight:400;text-decoration:none;transition:opacity .15s;position:absolute;right:100%}:is(.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6):hover>a[href^=\\#]{opacity:1}.prose h1{margin-top:0;font-size:2.25em}.prose h2{border-bottom:1px solid var(--color-gray-200);padding-bottom:.3em;font-size:1.5em}.prose h3{font-size:1.25em}.prose h4{font-size:1.1em}.prose p{margin-top:1.25em;margin-bottom:1.25em}.prose a{color:var(--color-blue-600);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--color-blue-500)}.prose strong{color:var(--color-gray-900);font-weight:600}.prose code{color:var(--color-gray-800);background:var(--color-gray-100);border-radius:.25em;padding:.2em .4em;font-size:.875em}.prose pre{border:1px solid var(--color-gray-200);background:#f6f8fa;border-radius:.5em;margin-top:1.5em;margin-bottom:1.5em;padding:1em;overflow-x:auto}.prose pre code{background:0 0;border-radius:0;padding:0;font-size:.875em}.prose blockquote{border-left:3px solid var(--color-gray-300);color:var(--color-gray-500);margin-top:1.5em;margin-bottom:1.5em;padding-left:1em;font-style:italic}.prose blockquote.alert{border-left-width:4px;border-radius:.5em;padding:.75em 1em;font-style:normal}.prose blockquote.alert>p:first-child{margin-top:0}.prose blockquote.alert>p:last-child{margin-bottom:0}.prose blockquote.alert-tip{border-left-color:var(--color-green-500);background:#f0fdf499}@supports (color:color-mix(in lab, red, red)){.prose blockquote.alert-tip{background:color-mix(in srgb, var(--color-green-50) 60%, transparent)}}.prose blockquote.alert-tip{color:var(--color-green-800)}.prose blockquote.alert-note{border-left-color:var(--color-blue-500);background:#eff6ff99}@supports (color:color-mix(in lab, red, red)){.prose blockquote.alert-note{background:color-mix(in srgb, var(--color-blue-50) 60%, transparent)}}.prose blockquote.alert-note{color:var(--color-blue-800)}.prose blockquote.alert-important{border-left-color:var(--color-purple-500);background:#faf5ff99}@supports (color:color-mix(in lab, red, red)){.prose blockquote.alert-important{background:color-mix(in srgb, var(--color-purple-50) 60%, transparent)}}.prose blockquote.alert-important{color:var(--color-purple-800)}.prose blockquote.alert-warning{border-left-color:var(--color-yellow-500);background:#fefce899}@supports (color:color-mix(in lab, red, red)){.prose blockquote.alert-warning{background:color-mix(in srgb, var(--color-yellow-50) 60%, transparent)}}.prose blockquote.alert-warning{color:var(--color-yellow-800)}.prose blockquote.alert-caution{border-left-color:var(--color-red-500);background:#fef2f299}@supports (color:color-mix(in lab, red, red)){.prose blockquote.alert-caution{background:color-mix(in srgb, var(--color-red-50) 60%, transparent)}}.prose blockquote.alert-caution{color:var(--color-red-800)}.prose ul{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.5em;list-style:outside}.prose ol{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.5em;list-style:decimal}.prose li{margin-top:.5em;margin-bottom:.5em}.prose li>ul,.prose li>ol{margin-top:.25em;margin-bottom:.25em}.prose hr{border:none;border-top:1px solid var(--color-gray-200);margin-top:2em;margin-bottom:2em}.prose table{border-collapse:collapse;width:100%;margin-top:1.5em;margin-bottom:1.5em;font-size:.875em}.prose th,.prose td{border:1px solid var(--color-gray-200);text-align:left;padding:.5em .75em}.prose th{background:var(--color-gray-50);color:var(--color-gray-900);font-weight:600}.prose img,.prose video{border-radius:.5em;max-width:100%;margin-top:1.5em;margin-bottom:1.5em}.dark .prose{color:var(--color-gray-200)}.dark .prose h1,.dark .prose h2,.dark .prose h3,.dark .prose h4,.dark .prose h5,.dark .prose h6{color:var(--color-gray-50)}:is(.dark .prose h1,.dark .prose h2,.dark .prose h3,.dark .prose h4,.dark .prose h5,.dark .prose h6)>a[href^=\\#]{color:var(--color-gray-600)}.dark .prose h2{border-bottom-color:var(--color-gray-700)}.dark .prose a{color:var(--color-blue-400)}.dark .prose a:hover{color:var(--color-blue-300)}.dark .prose strong{color:var(--color-gray-50)}.dark .prose code{color:var(--color-gray-100);background:var(--color-gray-800)}.dark .prose pre{border-color:var(--color-gray-700);background:#161b22}.dark .prose pre code{color:var(--color-gray-100);background:0 0}.dark .prose blockquote{border-left-color:var(--color-gray-600);color:var(--color-gray-400)}.dark .prose blockquote.alert-tip{background:#0d542b4d}@supports (color:color-mix(in lab, red, red)){.dark .prose blockquote.alert-tip{background:color-mix(in srgb, var(--color-green-900) 30%, transparent)}}.dark .prose blockquote.alert-tip{color:var(--color-green-300);border-left-color:var(--color-green-500)}.dark .prose blockquote.alert-note{background:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.dark .prose blockquote.alert-note{background:color-mix(in srgb, var(--color-blue-900) 30%, transparent)}}.dark .prose blockquote.alert-note{color:var(--color-blue-300);border-left-color:var(--color-blue-500)}.dark .prose blockquote.alert-important{background:#59168b4d}@supports (color:color-mix(in lab, red, red)){.dark .prose blockquote.alert-important{background:color-mix(in srgb, var(--color-purple-900) 30%, transparent)}}.dark .prose blockquote.alert-important{color:var(--color-purple-300);border-left-color:var(--color-purple-500)}.dark .prose blockquote.alert-warning{background:#733e0a4d}@supports (color:color-mix(in lab, red, red)){.dark .prose blockquote.alert-warning{background:color-mix(in srgb, var(--color-yellow-900) 30%, transparent)}}.dark .prose blockquote.alert-warning{color:var(--color-yellow-300);border-left-color:var(--color-yellow-500)}.dark .prose blockquote.alert-caution{background:#82181a4d}@supports (color:color-mix(in lab, red, red)){.dark .prose blockquote.alert-caution{background:color-mix(in srgb, var(--color-red-900) 30%, transparent)}}.dark .prose blockquote.alert-caution{color:var(--color-red-300);border-left-color:var(--color-red-500)}.dark .prose hr{border-top-color:var(--color-gray-700)}.dark .prose th,.dark .prose td{border-color:var(--color-gray-700)}.dark .prose th{background:var(--color-gray-800);color:var(--color-gray-50)}.shj-syn-cmnt{color:#6e7781;font-style:italic}.shj-syn-err,.shj-syn-kwd{color:#cf222e}.shj-syn-class{color:#953800}.shj-syn-type,.shj-syn-oper,.shj-syn-num,.shj-syn-section,.shj-syn-var,.shj-syn-bool{color:#0550ae}.shj-syn-str{color:#0a3069}.shj-syn-func{color:#8250df}.shj-syn-insert{color:#116329}.shj-syn-deleted{color:#cf222e}.shj-syn-esc{color:#0550ae}.dark .shj-syn-cmnt{color:#8b949e}.dark .shj-syn-err,.dark .shj-syn-kwd{color:#ff7b72}.dark .shj-syn-class{color:#ffa657}.dark .shj-syn-type,.dark .shj-syn-oper,.dark .shj-syn-num,.dark .shj-syn-section,.dark .shj-syn-var,.dark .shj-syn-bool{color:#79c0ff}.dark .shj-syn-str{color:#a5d6ff}.dark .shj-syn-func{color:#d2a8ff}.dark .shj-syn-insert{color:#98c379}.dark .shj-syn-deleted{color:#ff7b72}.dark .shj-syn-esc{color:#79c0ff}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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}</style>
|
|
1283
|
-
<script type="module" crossorigin src="/assets/index-
|
|
1454
|
+
<script type="module" crossorigin src="/assets/index-CIhhqrBM.js"><\/script>
|
|
1284
1455
|
</head>
|
|
1285
1456
|
<body class="h-screen flex flex-col bg-white text-gray-900 dark:bg-gray-950 dark:text-gray-200">
|
|
1286
1457
|
<!-- Header -->
|
|
@@ -1407,19 +1578,19 @@ var Wt, Gt = y((async () => {
|
|
|
1407
1578
|
</body>
|
|
1408
1579
|
</html>
|
|
1409
1580
|
`, { headers: { "content-type": `text/html; charset=utf-8` } });
|
|
1410
|
-
})),
|
|
1411
|
-
function
|
|
1412
|
-
return
|
|
1581
|
+
})), un = x({ default: () => dn });
|
|
1582
|
+
function dn(e) {
|
|
1583
|
+
return cn(e.req);
|
|
1413
1584
|
}
|
|
1414
|
-
var
|
|
1415
|
-
|
|
1585
|
+
var fn = b((() => {
|
|
1586
|
+
ln();
|
|
1416
1587
|
}));
|
|
1417
|
-
|
|
1418
|
-
var
|
|
1588
|
+
B();
|
|
1589
|
+
var pn = (() => {
|
|
1419
1590
|
let e = [{
|
|
1420
1591
|
name: `headers`,
|
|
1421
1592
|
route: `/assets/**`,
|
|
1422
|
-
handler:
|
|
1593
|
+
handler: Je,
|
|
1423
1594
|
options: { "cache-control": `public, max-age=31536000, immutable` }
|
|
1424
1595
|
}];
|
|
1425
1596
|
return (t, n) => {
|
|
@@ -1431,38 +1602,42 @@ var en = (() => {
|
|
|
1431
1602
|
params: { _: i.slice(2).join(`/`) }
|
|
1432
1603
|
}), r;
|
|
1433
1604
|
};
|
|
1434
|
-
})(),
|
|
1605
|
+
})(), mn = O(() => Promise.resolve().then(() => (Jt(), Kt))), hn = O(() => en().then(() => Yt)), gn = O(() => Promise.resolve().then(() => (rn(), tn))), _n = O(() => Promise.resolve().then(() => (sn(), an))), vn = O(() => Promise.resolve().then(() => (fn(), un))), yn = (() => {
|
|
1435
1606
|
let e = {
|
|
1436
1607
|
route: `/api/meta`,
|
|
1437
|
-
handler:
|
|
1608
|
+
handler: mn
|
|
1438
1609
|
}, t = {
|
|
1439
1610
|
route: `/api/page`,
|
|
1440
|
-
handler:
|
|
1611
|
+
handler: hn
|
|
1441
1612
|
}, n = {
|
|
1442
1613
|
route: `/api/search`,
|
|
1443
|
-
handler:
|
|
1614
|
+
handler: gn
|
|
1444
1615
|
}, r = {
|
|
1616
|
+
route: `/api/watch`,
|
|
1617
|
+
handler: _n
|
|
1618
|
+
}, i = {
|
|
1445
1619
|
route: `/**`,
|
|
1446
|
-
handler:
|
|
1620
|
+
handler: vn
|
|
1447
1621
|
};
|
|
1448
|
-
return (
|
|
1449
|
-
if (
|
|
1450
|
-
if (
|
|
1451
|
-
if (
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1622
|
+
return (a, o) => {
|
|
1623
|
+
if (o.charCodeAt(o.length - 1) === 47 && (o = o.slice(0, -1) || `/`), o === `/api/meta`) return { data: e };
|
|
1624
|
+
if (o === `/api/page`) return { data: t };
|
|
1625
|
+
if (o === `/api/search`) return { data: n };
|
|
1626
|
+
if (o === `/api/watch`) return { data: r };
|
|
1627
|
+
let s = o.split(`/`);
|
|
1628
|
+
return s.length, {
|
|
1629
|
+
data: i,
|
|
1630
|
+
params: { _: s.slice(1).join(`/`) }
|
|
1456
1631
|
};
|
|
1457
1632
|
};
|
|
1458
|
-
})(),
|
|
1459
|
-
|
|
1460
|
-
var
|
|
1461
|
-
function
|
|
1462
|
-
let e =
|
|
1463
|
-
return e || (e =
|
|
1464
|
-
}
|
|
1465
|
-
function
|
|
1633
|
+
})(), bn = [k(tt)].filter(Boolean);
|
|
1634
|
+
B();
|
|
1635
|
+
var xn = `default`;
|
|
1636
|
+
function Sn() {
|
|
1637
|
+
let e = Sn._instance;
|
|
1638
|
+
return e || (e = Sn._instance = Cn(), globalThis.__nitro__ = globalThis.__nitro__ || {}, globalThis.__nitro__[xn] = e, e);
|
|
1639
|
+
}
|
|
1640
|
+
function Cn() {
|
|
1466
1641
|
let e = (e, t) => {
|
|
1467
1642
|
if (t?.event) {
|
|
1468
1643
|
let n = t.event.req.context?.nitro?.errors;
|
|
@@ -1471,8 +1646,8 @@ function un() {
|
|
|
1471
1646
|
context: t
|
|
1472
1647
|
});
|
|
1473
1648
|
}
|
|
1474
|
-
}, t =
|
|
1475
|
-
return
|
|
1649
|
+
}, t = wn({ onError(e, t) {
|
|
1650
|
+
return Ie(e, t);
|
|
1476
1651
|
} });
|
|
1477
1652
|
return {
|
|
1478
1653
|
fetch: (e) => (e.context ||= {}, e.context.nitro = e.context.nitro || { errors: [] }, t.fetch(e)),
|
|
@@ -1481,19 +1656,19 @@ function un() {
|
|
|
1481
1656
|
captureError: e
|
|
1482
1657
|
};
|
|
1483
1658
|
}
|
|
1484
|
-
function
|
|
1485
|
-
let t = new
|
|
1486
|
-
return t[`~findRoute`] = (e) =>
|
|
1659
|
+
function wn(e) {
|
|
1660
|
+
let t = new Oe(e);
|
|
1661
|
+
return t[`~findRoute`] = (e) => yn(e.req.method, e.url.pathname), t[`~middleware`].push(...bn), t[`~getMiddleware`] = (e, n) => {
|
|
1487
1662
|
let r = e.url.pathname, i = e.req.method, a = [];
|
|
1488
1663
|
{
|
|
1489
|
-
let t =
|
|
1664
|
+
let t = Tn(i, r);
|
|
1490
1665
|
e.context.routeRules = t?.routeRules, t?.routeRuleMiddleware.length && a.push(...t.routeRuleMiddleware);
|
|
1491
1666
|
}
|
|
1492
1667
|
return a.push(...t[`~middleware`]), n?.data?.middleware?.length && a.push(...n.data.middleware), a;
|
|
1493
1668
|
}, t;
|
|
1494
1669
|
}
|
|
1495
|
-
function
|
|
1496
|
-
let n =
|
|
1670
|
+
function Tn(e, t) {
|
|
1671
|
+
let n = pn(e, t);
|
|
1497
1672
|
if (!n?.length) return { routeRuleMiddleware: [] };
|
|
1498
1673
|
let r = {};
|
|
1499
1674
|
for (let e of n) for (let t of e.data) {
|
|
@@ -1523,12 +1698,12 @@ function fn(e, t) {
|
|
|
1523
1698
|
};
|
|
1524
1699
|
}
|
|
1525
1700
|
$();
|
|
1526
|
-
async function
|
|
1527
|
-
let t =
|
|
1701
|
+
async function En(e) {
|
|
1702
|
+
let t = Sn(), n = await Z(e);
|
|
1528
1703
|
return {
|
|
1529
1704
|
fetch: t.fetch,
|
|
1530
1705
|
docs: n
|
|
1531
1706
|
};
|
|
1532
1707
|
}
|
|
1533
1708
|
//#endregion
|
|
1534
|
-
export {
|
|
1709
|
+
export { En as createDocsServer };
|