@nifrajs/web 5.2.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/dist/build.d.ts +11 -2
  3. package/dist/build.d.ts.map +1 -1
  4. package/dist/build.js +265 -15
  5. package/dist/build.js.map +1 -1
  6. package/dist/csp.d.ts +2 -0
  7. package/dist/csp.d.ts.map +1 -1
  8. package/dist/csp.js +2 -0
  9. package/dist/csp.js.map +1 -1
  10. package/dist/deferred.d.ts.map +1 -1
  11. package/dist/deferred.js +23 -3
  12. package/dist/deferred.js.map +1 -1
  13. package/dist/index.d.ts +2 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/internal/deferred-free.d.ts +3 -0
  18. package/dist/internal/deferred-free.d.ts.map +1 -0
  19. package/dist/internal/deferred-free.js +15 -0
  20. package/dist/internal/deferred-free.js.map +1 -0
  21. package/dist/internal/module-preparation.d.ts +7 -0
  22. package/dist/internal/module-preparation.d.ts.map +1 -0
  23. package/dist/internal/module-preparation.js +24 -0
  24. package/dist/internal/module-preparation.js.map +1 -0
  25. package/dist/internal/node-adapter.d.ts +19 -0
  26. package/dist/internal/node-adapter.d.ts.map +1 -0
  27. package/dist/internal/node-adapter.js +48 -0
  28. package/dist/internal/node-adapter.js.map +1 -0
  29. package/dist/internal/output-guard.d.ts +2 -0
  30. package/dist/internal/output-guard.d.ts.map +1 -1
  31. package/dist/internal/output-guard.js +51 -9
  32. package/dist/internal/output-guard.js.map +1 -1
  33. package/dist/internal/page-execution.d.ts +1 -0
  34. package/dist/internal/page-execution.d.ts.map +1 -1
  35. package/dist/internal/page-execution.js +53 -43
  36. package/dist/internal/page-execution.js.map +1 -1
  37. package/dist/internal/parity.d.ts.map +1 -1
  38. package/dist/internal/parity.js +3 -0
  39. package/dist/internal/parity.js.map +1 -1
  40. package/dist/internal/prerendered-pages.d.ts +42 -0
  41. package/dist/internal/prerendered-pages.d.ts.map +1 -0
  42. package/dist/internal/prerendered-pages.js +92 -0
  43. package/dist/internal/prerendered-pages.js.map +1 -0
  44. package/dist/internal/render-document.d.ts.map +1 -1
  45. package/dist/internal/render-document.js +93 -35
  46. package/dist/internal/render-document.js.map +1 -1
  47. package/dist/internal/request-url.d.ts +4 -0
  48. package/dist/internal/request-url.d.ts.map +1 -1
  49. package/dist/internal/request-url.js +24 -0
  50. package/dist/internal/request-url.js.map +1 -1
  51. package/dist/internal/secret-scan.d.ts +4 -0
  52. package/dist/internal/secret-scan.d.ts.map +1 -1
  53. package/dist/internal/secret-scan.js +8 -1
  54. package/dist/internal/secret-scan.js.map +1 -1
  55. package/dist/internal/web-app.d.ts +11 -0
  56. package/dist/internal/web-app.d.ts.map +1 -1
  57. package/dist/internal/web-app.js +10 -1
  58. package/dist/internal/web-app.js.map +1 -1
  59. package/dist/isr.d.ts +1 -0
  60. package/dist/isr.d.ts.map +1 -1
  61. package/dist/isr.js +7 -4
  62. package/dist/isr.js.map +1 -1
  63. package/dist/prerender.d.ts +4 -0
  64. package/dist/prerender.d.ts.map +1 -1
  65. package/dist/prerender.js +9 -1
  66. package/dist/prerender.js.map +1 -1
  67. package/dist/public-dir.d.ts +19 -7
  68. package/dist/public-dir.d.ts.map +1 -1
  69. package/dist/public-dir.js +130 -99
  70. package/dist/public-dir.js.map +1 -1
  71. package/dist/render-seam.d.ts +5 -2
  72. package/dist/render-seam.d.ts.map +1 -1
  73. package/dist/render-seam.js.map +1 -1
  74. package/dist/search.d.ts.map +1 -1
  75. package/dist/search.js +2 -0
  76. package/dist/search.js.map +1 -1
  77. package/dist/vite.d.ts +6 -0
  78. package/dist/vite.d.ts.map +1 -1
  79. package/dist/vite.js +127 -54
  80. package/dist/vite.js.map +1 -1
  81. package/package.json +3 -3
  82. package/src/build.ts +330 -49
  83. package/src/csp.ts +4 -0
  84. package/src/deferred.ts +20 -3
  85. package/src/index.ts +3 -0
  86. package/src/internal/deferred-free.ts +15 -0
  87. package/src/internal/module-preparation.ts +30 -0
  88. package/src/internal/node-adapter.ts +57 -0
  89. package/src/internal/output-guard.ts +51 -9
  90. package/src/internal/page-execution.ts +55 -47
  91. package/src/internal/parity.ts +2 -0
  92. package/src/internal/prerendered-pages.ts +124 -0
  93. package/src/internal/render-document.ts +116 -52
  94. package/src/internal/request-url.ts +24 -0
  95. package/src/internal/secret-scan.ts +9 -1
  96. package/src/internal/web-app.ts +21 -1
  97. package/src/isr.ts +7 -4
  98. package/src/prerender.ts +13 -1
  99. package/src/public-dir.ts +158 -97
  100. package/src/render-seam.ts +5 -2
  101. package/src/search.ts +1 -0
  102. package/src/vite.ts +130 -54
@@ -0,0 +1,92 @@
1
+ import { pathnameOf } from "@nifrajs/core/server";
2
+ import { isDraftEnabled } from "../draft.js";
3
+ import { DATA_HEADER } from "../router.js";
4
+ // The document headers a render produces from the route alone, so the build-time value is the value
5
+ // every request would get. Loader headers are left out: a prerendered page is a static file.
6
+ const REPLAYED = [
7
+ "content-language",
8
+ "content-security-policy",
9
+ "content-security-policy-report-only",
10
+ ];
11
+ // Vary values a file still answers correctly: compression is negotiated by the host, and a data request
12
+ // never reaches the file.
13
+ const STATIC_VARY = new Set(["accept-encoding", DATA_HEADER]);
14
+ /**
15
+ * The headers a self-hosted server replays with a prerendered page, or `undefined` when its build-time
16
+ * render was specific to that request and the page must keep rendering on demand: it set a cookie, was
17
+ * marked private or no-store (a nonce page always is), or varied on a request header.
18
+ */
19
+ export function prerenderedDocumentHeaders(status, headers) {
20
+ if (status !== 200 || headers.has("set-cookie"))
21
+ return undefined;
22
+ const cacheControl = (headers.get("cache-control") ?? "").toLowerCase();
23
+ if (/\b(?:private|no-store)\b/.test(cacheControl))
24
+ return undefined;
25
+ for (const name of (headers.get("vary") ?? "").split(",")) {
26
+ const trimmed = name.trim().toLowerCase();
27
+ if (trimmed !== "" && !STATIC_VARY.has(trimmed))
28
+ return undefined;
29
+ }
30
+ const replayed = {};
31
+ for (const name of REPLAYED) {
32
+ const value = headers.get(name);
33
+ if (value !== null)
34
+ replayed[name] = value;
35
+ }
36
+ return replayed;
37
+ }
38
+ /**
39
+ * The prerendered pages a server may answer from their file, keyed by the pathname of the request that
40
+ * rendered them. Left out: a render specific to its request, and two paths written to one file (`/x`
41
+ * and `//x`, or `/A` and `/a` on a case-insensitive disk), where only the last render is on disk.
42
+ */
43
+ export function servablePrerenderedPages(entries) {
44
+ const writes = new Map();
45
+ for (const { file } of entries) {
46
+ writes.set(file.toLowerCase(), (writes.get(file.toLowerCase()) ?? 0) + 1);
47
+ }
48
+ const pages = {};
49
+ for (const { path, file, serveHeaders } of entries) {
50
+ if (serveHeaders === undefined || writes.get(file.toLowerCase()) !== 1)
51
+ continue;
52
+ // Concatenated as prerenderRoutes requested it: `new URL("//x", base)` would read a host.
53
+ pages[new URL(`http://localhost${path}`).pathname] = { file, headers: serveHeaders };
54
+ }
55
+ return pages;
56
+ }
57
+ /**
58
+ * Wrap a page route's GET handler so a plain document request for a prerendered path is answered from
59
+ * its file. Anything a file cannot answer the way a render would renders on demand: a query string, a
60
+ * navigation data or component request, a draft-mode visitor, or a file the reader cannot return.
61
+ */
62
+ export function servePrerenderedPages(prerendered, draftSecret) {
63
+ const pages = new Map(Object.entries(prerendered.pages));
64
+ return (render) => async (c) => {
65
+ const req = c.req;
66
+ const pathname = pathnameOf(req.url);
67
+ const headers = pages.get(pathname);
68
+ if (headers === undefined ||
69
+ req.url.includes("?") ||
70
+ req.headers.has(DATA_HEADER) ||
71
+ req.headers.has("x-nifra-component") ||
72
+ (draftSecret !== undefined && (await isDraftEnabled(req, draftSecret)))) {
73
+ return render(c);
74
+ }
75
+ const html = await prerendered.read(pathname);
76
+ if (html === undefined)
77
+ return render(c);
78
+ if (req.method !== "HEAD") {
79
+ return new Response(html, {
80
+ headers: { ...headers, "content-type": "text/html; charset=utf-8" },
81
+ });
82
+ }
83
+ return new Response(null, {
84
+ headers: {
85
+ ...headers,
86
+ "content-type": "text/html; charset=utf-8",
87
+ "content-length": String(new TextEncoder().encode(html).byteLength),
88
+ },
89
+ });
90
+ };
91
+ }
92
+ //# sourceMappingURL=prerendered-pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerendered-pages.js","sourceRoot":"","sources":["../../src/internal/prerendered-pages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-document.d.ts","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-document.d.ts","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isSameOriginPath, status as statusResult } from "@nifrajs/core/server";
2
- import { cspDocumentNonce, cspHeaderValue, prepareCspPolicy } from "../csp.js";
2
+ import { cspCandidateNonce, cspDocumentNonce, cspHeaderValue, prepareCspPolicy, } from "../csp.js";
3
3
  import { DEFAULT_CSS_LOADING, normalizeCssLoading } from "../css-contract.js";
4
4
  import { DEFERRED_ERROR_CODE, DEFERRED_RUNTIME, prepareDeferred } from "../deferred.js";
5
5
  import { ISR_REVALIDATE_HEADER, ISR_REVALIDATE_TAGS_HEADER, serializeISRTags } from "../isr.js";
@@ -23,6 +23,12 @@ const SCRIPT_ESCAPE_MAP = {
23
23
  [LINE_SEP]: "\\u2028",
24
24
  [PARA_SEP]: "\\u2029",
25
25
  };
26
+ // Pages (the chain's last entry) whose string render suspended, with how many more requests go
27
+ // straight to the stream instead of rendering the whole tree twice. The count runs out so a page
28
+ // that suspended only once (a cold `lazy`) gets its buffered render back.
29
+ const SUSPENDING_PAGES = new WeakMap();
30
+ const SUSPENDED_STREAMS = 32;
31
+ const isWeakKey = (value) => (typeof value === "object" && value !== null) || typeof value === "function";
26
32
  const NODE_RESPONSE_BODY = Symbol.for("nifra.response.body");
27
33
  const RESPONSE_RESULT = Symbol.for("nifra.response.result");
28
34
  /**
@@ -295,17 +301,58 @@ export function renderPageResult(options) {
295
301
  // streaming renderer are pure overhead vs a single sync render + concat. A buffered string body also
296
302
  // gets an automatic Content-Length. A render throw surfaces here exactly as the streaming path's
297
303
  // shell-readiness `await` does, so the `_error` boundary still maps it to a status.
304
+ const streamed = (streamNonce) => renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, streamNonce, streamNonce === nonce ? nonceAttr : ` nonce="${escapeAttr(streamNonce ?? "")}"`).then((response) => new ResponseRenderedPage(response));
305
+ const last = chain[chain.length - 1];
306
+ const leaf = isWeakKey(last) ? last : undefined;
298
307
  if (allDeferred.length === 0 && adapter.renderToString !== undefined) {
308
+ // Under a CSP a render can still write a script for this request alone (Solid's serialized
309
+ // error boundary, React's streamed Suspense reveal): it is handed a nonce, which the document
310
+ // keeps only when the render used it, so every other document stays nonce-free and cacheable.
311
+ const renderNonce = nonce ?? (csp === undefined ? undefined : cspCandidateNonce(csp, requestedNonce));
312
+ const adoptNonce = () => {
313
+ if (renderNonce === nonce || csp === undefined || renderNonce === undefined)
314
+ return;
315
+ headers["cache-control"] = "private, no-store";
316
+ const policy = cspHeaderValue(csp, adapter, renderNonce);
317
+ if (policy !== undefined)
318
+ headers["content-security-policy"] = policy;
319
+ };
320
+ // A page whose string render suspended before goes straight to the stream: the string pass
321
+ // would render the whole tree only to be thrown away again.
322
+ const skips = leaf === undefined ? undefined : SUSPENDING_PAGES.get(leaf);
323
+ if (leaf !== undefined && skips !== undefined) {
324
+ if (skips > 1)
325
+ SUSPENDING_PAGES.set(leaf, skips - 1);
326
+ else
327
+ SUSPENDING_PAGES.delete(leaf);
328
+ adoptNonce();
329
+ return streamed(renderNonce);
330
+ }
299
331
  const out = parts !== undefined
300
- ? adapter.renderToString(chain, renderProps, nonce === undefined ? { parts } : { nonce, parts })
301
- : nonce === undefined
332
+ ? adapter.renderToString(chain, renderProps, renderNonce === undefined ? { parts } : { nonce: renderNonce, parts })
333
+ : renderNonce === undefined
302
334
  ? adapter.renderToString(chain, renderProps)
303
- : adapter.renderToString(chain, renderProps, { nonce });
304
- return typeof out === "string"
305
- ? new BufferedRenderedPage(shellOf() + out + closeRootHtml + tailHtml, status, headers)
306
- : out.then((bodyHtml) => new BufferedRenderedPage(shellOf() + bodyHtml + closeRootHtml + tailHtml, status, headers));
335
+ : adapter.renderToString(chain, renderProps, { nonce: renderNonce });
336
+ const page = (bodyHtml) => {
337
+ if (bodyHtml === undefined) {
338
+ // The render suspended on something only the streaming renderer waits for (React's `use`
339
+ // in a `<Suspense>`): stream the page, so the boundary resolves on the server.
340
+ if (leaf !== undefined)
341
+ SUSPENDING_PAGES.set(leaf, SUSPENDED_STREAMS);
342
+ if (parts !== undefined) {
343
+ parts.head = "";
344
+ parts.body = "";
345
+ }
346
+ adoptNonce();
347
+ return streamed(renderNonce);
348
+ }
349
+ if (renderNonce !== undefined && bodyHtml.includes(`nonce="${renderNonce}"`))
350
+ adoptNonce();
351
+ return new BufferedRenderedPage(shellOf() + bodyHtml + closeRootHtml + tailHtml, status, headers);
352
+ };
353
+ return out instanceof Promise ? out.then(page) : page(out);
307
354
  }
308
- return renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, nonce, nonceAttr).then((response) => new ResponseRenderedPage(response));
355
+ return streamed(nonce);
309
356
  }
310
357
  async function renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, nonce, nonceAttr) {
311
358
  // Streaming path - required for `defer()` (progressive `<Await>` resolution) and used by any adapter
@@ -366,44 +413,58 @@ function htmlResponse(body, init) {
366
413
  * script per deferred value (emitted once its promise settles - by now the app stream has awaited
367
414
  * the same Suspense boundaries - and placed OUTSIDE `#root`) → `tail`. A mid-stream app error errors
368
415
  * the result (the body breaks) rather than silently truncating a 200.
416
+ *
417
+ * The app stream is read one chunk per pull, so a client that stops reading stops the renderer
418
+ * too: a stalled connection holds a chunk, not the whole rendered body.
369
419
  */
370
420
  function streamDocument(shell, stream, closeRoot, deferred, tail, enc, nonceAttr) {
371
421
  const reader = stream.getReader();
372
422
  // A client that goes away cancels the body: the renderer stops, and nothing more is written.
373
423
  let cancelled = false;
374
424
  let released = false;
425
+ const release = () => {
426
+ if (released)
427
+ return;
428
+ released = true;
429
+ reader.releaseLock();
430
+ };
431
+ // Settled into scripts now, not when the app stream ends: a rejection a stalled client never
432
+ // reads up to is still handled (and logged) rather than left unhandled.
433
+ const scripts = deferred.map((d) => d.promise
434
+ .then((value) =>
435
+ // `serializeData` JSON-serializes the value and escapes `<`, `>`, and Unicode line
436
+ // separators before this framework-owned script is emitted.
437
+ `<script${nonceAttr}>window.__nifraResolve(${d.id},${serializeData(value)})</script>`)
438
+ .catch((err) => {
439
+ // A rejected (or unserializable) deferred streams __nifraReject (the client `<Await>`
440
+ // surfaces it) - it must not break the whole body. Redact: stream a stable opaque code,
441
+ // never the raw error text; log the real reason server-side.
442
+ console.error("[nifra/web] deferred value rejected:", err);
443
+ return `<script${nonceAttr}>window.__nifraReject(${d.id},${serializeData(DEFERRED_ERROR_CODE)})</script>`;
444
+ }));
375
445
  return new ReadableStream({
376
- async start(controller) {
446
+ start(controller) {
447
+ controller.enqueue(shell);
448
+ },
449
+ async pull(controller) {
377
450
  try {
378
- controller.enqueue(shell);
379
- for (;;) {
451
+ if (!released) {
380
452
  const { done, value } = await reader.read();
381
453
  if (cancelled)
382
454
  return;
383
- if (done)
384
- break;
385
- controller.enqueue(value);
455
+ if (!done) {
456
+ controller.enqueue(value);
457
+ return;
458
+ }
459
+ release();
460
+ controller.enqueue(closeRoot);
386
461
  }
387
- controller.enqueue(closeRoot);
388
462
  // Stream each resolution as ITS OWN promise settles - NOT in array order. A slow
389
463
  // defer() must not block a faster one; each script self-addresses by id, so order is irrelevant.
390
- await Promise.all(deferred.map(async (d) => {
391
- let script;
392
- try {
393
- const value = serializeData(await d.promise);
394
- // `serializeData` JSON-serializes the value and escapes `<`, `>`, and Unicode line
395
- // separators before this framework-owned script is emitted.
396
- script = `<script${nonceAttr}>window.__nifraResolve(${d.id},${value})</script>`; // nosemgrep: javascript.lang.security.audit.unknown-value-with-script-tag.unknown-value-with-script-tag
397
- }
398
- catch (err) {
399
- // A rejected deferred streams __nifraReject (the client `<Await>` surfaces it) - it must
400
- // not break the whole body. Redact: stream a stable opaque code, never the raw error
401
- // text; log the real reason server-side.
402
- console.error("[nifra/web] deferred value rejected:", err);
403
- script = `<script${nonceAttr}>window.__nifraReject(${d.id},${serializeData(DEFERRED_ERROR_CODE)})</script>`;
404
- }
464
+ await Promise.all(scripts.map(async (script) => {
465
+ const html = await script;
405
466
  if (!cancelled)
406
- controller.enqueue(enc.encode(script));
467
+ controller.enqueue(enc.encode(html));
407
468
  }));
408
469
  if (cancelled)
409
470
  return;
@@ -411,13 +472,10 @@ function streamDocument(shell, stream, closeRoot, deferred, tail, enc, nonceAttr
411
472
  controller.close();
412
473
  }
413
474
  catch (err) {
475
+ release();
414
476
  if (!cancelled)
415
477
  controller.error(err);
416
478
  }
417
- finally {
418
- released = true;
419
- reader.releaseLock();
420
- }
421
479
  },
422
480
  cancel(reason) {
423
481
  cancelled = true;
@@ -1 +1 @@
1
- {"version":3,"file":"render-document.js","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEpG,OAAO,EAAkB,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC9F,OAAO,EAAuB,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACvF,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAgB/F,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE/E,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAA;AAItC,qFAAqF;AACrF,oGAAoG;AACpG,qGAAqG;AACrG,6DAA6D;AAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAC5C,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAA;AACnE,MAAM,iBAAiB,GAAqC;IAC1D,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,CAAC,QAAQ,CAAC,EAAE,SAAS;IACrB,CAAC,QAAQ,CAAC,EAAE,SAAS;CACtB,CAAA;AACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AAE3D;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA2B,EAAE,CAC1E,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACb,KAAkD,CAAC,eAAe,CAAC,KAAK,IAAI;IAC7E,OAAQ,KAA2C,CAAC,UAAU,KAAK,UAAU,CAAA;AAE/E,gGAAgG;AAChG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAsC,EAAE,CAClF,KAAK,YAAY,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAA;AAuKtD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAwB;IACjD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACtC,OAAO,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAwB;IACvD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IACvB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,+FAA+F;QAC/F,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACpD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7E,CAAC;IACD,MAAM,EACJ,OAAO,EACP,KAAK,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,EAAE,EACX,UAAU,EAAE,mBAAmB,EAC/B,gBAAgB,GAAG,EAAE,EACrB,kBAAkB,EAClB,UAAU,EACV,MAAM,EACN,UAAU,EACV,cAAc,GAAG,EAAE,EACnB,OAAO,EACP,MAAM,GAAG,GAAG,EACZ,KAAK,GAAG,OAAO,EACf,IAAI,EACJ,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,IAAI,EACd,aAAa,GAAG,EAAE,EAClB,KAAK,EAAE,cAAc,EACrB,UAAU,EACV,OAAO,EAAE,YAAY,GACtB,GAAG,OAAO,CAAA;IACX,MAAM,UAAU,GAAG,mBAAmB,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,CAAA;IAClF,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,SAAS,CAAC,8DAA8D,CAAC,CAAA;IACrF,CAAC;IACD,sGAAsG;IACtG,8DAA8D;IAC9D,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,KAAK,aAAa,CAAC,OAAO,CAAC,EAAE,CAAA;IACzF,iGAAiG;IACjG,oGAAoG;IACpG,MAAM,WAAW,GACf,kBAAkB,KAAK,SAAS;QAC9B,CAAC,CAAC,KAAK,kBAAkB,KAAK,aAAa,CAAC,kBAAkB,CAAC,EAAE;QACjE,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAC7B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,KAAK,kBAAkB,KAAK,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAA;IACrE,MAAM,YAAY,GAChB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,kBAAkB,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,CAAA;IACzF,MAAM,eAAe,GACnB,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,cAAc,KAAK,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;IAC/F,+FAA+F;IAC/F,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,IAAI,CAAA;IAC/C,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC7E,gGAAgG;IAChG,kGAAkG;IAClG,gGAAgG;IAChG,sGAAsG;IACtG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACnE,gGAAgG;IAChG,gFAAgF;IAChF,MAAM,YAAY,GAA8C,EAAE,CAAA;IAClE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAC5C,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;YAC/B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACtE,MAAM,WAAW,GACf,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAC1E,MAAM,aAAa,GACjB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,eAAe,CACb,UAAU,EACV,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAC9E,CAAA;IACP,kGAAkG;IAClG,iDAAiD;IACjD,MAAM,WAAW,GACf,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;QACrF,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC;YACE,GAAG,QAAQ;YACX,GAAG,cAAc;YACjB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAA;IACP,oGAAoG;IACpG,mGAAmG;IACnG,sGAAsG;IACtG,kEAAkE;IAClE,MAAM,KAAK,GACT,GAAG,KAAK,SAAS;QACf,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,gBAAgB,CACd,GAAG,EACH,OAAO,EACP,OAAO,EACP,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAC9C,cAAc,CACf,CAAA;IACP,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,KAAK,CAAC,GAAG,CAAA;IAC5E,mGAAmG;IACnG,MAAM,UAAU,GACd,OAAO,CAAC,UAAU,KAAK,SAAS;QAC9B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,KAAK,kBAAkB,KAAK,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;IAE/F,6FAA6F;IAC7F,MAAM,MAAM,GACV,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,aAAa,KAAK,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAA;IAChG,MAAM,YAAY,GAChB,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,KAAK,eAAe,KAAK,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAA;IACvE,MAAM,aAAa,GACjB,OAAO,CAAC,gBAAgB,KAAK,SAAS;QACpC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,2BAA2B,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAA;IAC1E,MAAM,eAAe,GACnB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,SAAS,IAAI,gBAAgB,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IAClF,gGAAgG;IAChG,8FAA8F;IAC9F,oGAAoG;IACpG,gGAAgG;IAChG,kGAAkG;IAClG,+FAA+F;IAC/F,MAAM,IAAI,GACR,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;IACzF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,kGAAkG;QAClG,kGAAkG;QAClG,kCAAkC;QAClC,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,SAAS,CACjB,wIAAwI,CACzI,CAAA;QACH,CAAC;QACD,4FAA4F;QAC5F,8BAA8B;QAC9B,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,GAAG,KAAK,WAAW;gBACrB,YAAY,IAAI,mCAAmC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAA;QAC1E,CAAC;QACD,kGAAkG;QAClG,mGAAmG;QACnG,kGAAkG;QAClG,sDAAsD;QACtD,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,MAAM,WAAW,GAAG,OAAO,IAAI,UAAU,KAAK,UAAU,CAAA;QACxD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QACtC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,UAAU,IAAI,gCAAgC,IAAI,IAAI,CAAA;gBACtD,SAAQ;YACV,CAAC;YACD,gGAAgG;YAChG,6FAA6F;YAC7F,+EAA+E;YAC/E,UAAU;gBACR,gCAAgC,IAAI,4CAA4C;oBAChF,0CAA0C,IAAI,eAAe,CAAA;QACjE,CAAC;QACD,kGAAkG;QAClG,iGAAiG;QACjG,uFAAuF;QACvF,IAAI,cAAc,GAAG,EAAE,CAAA;QACvB,KAAK,MAAM,GAAG,IAAI,aAAa;YAC7B,cAAc,IAAI,mCAAmC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAA;QAC1E,kGAAkG;QAClG,oFAAoF;QACpF,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,SAAS,IAAI,mBAAmB,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3F,iGAAiG;QACjG,6FAA6F;QAC7F,4FAA4F;QAC5F,MAAM,SAAS,GAAG,UAAU,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACtG,+FAA+F;QAC/F,MAAM,UAAU,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAA;QAChE,gGAAgG;QAChG,gGAAgG;QAChG,+FAA+F;QAC/F,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,MAAM,aAAa,GACjB,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,oCAAoC,EAAE,UAAU,SAAS,EAAE,CAAC,CAAA;QAC3F,8FAA8F;QAC9F,8EAA8E;QAC9E,MAAM,aAAa,GAAG,OAAO;YAC3B,CAAC,CAAC,mCAAmC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,KAAK,YAAY,EAAE;YACrF,CAAC,CAAC,EAAE,CAAA;QACN,IAAI,CAAC,QAAQ,GAAG,uBAAuB,SAAS,oGAAoG,cAAc,UAAU,UAAU,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,WAAW,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,UAAU,GAAG,aAAa,EAAE,CAAA;QAC3Q,IAAI,CAAC,SAAS,GAAG,GAAG,cAAc,GAAG,aAAa,eAAe,CAAA;QACjE,IAAI,CAAC,QAAQ,GAAG,YAAY,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,GAAG,CAAA;QAC/D,iGAAiG;QACjG,4EAA4E;QAC5E,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,GAAG,IAAI,aAAa;YAC7B,UAAU,IAAI,8BAA8B,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,YAAY,CAAA;QACtF,IAAI,OAAO,EAAE,CAAC;YACZ,uFAAuF;YACvF,IAAI,CAAC,OAAO,GAAG,uCAAuC,WAAW,OAAO,WAAW,IAAI,CAAA;YACvF,IAAI,CAAC,QAAQ,GAAG,GAAG,KAAK,GAAG,WAAW,GAAG,YAAY,GAAG,eAAe,wCAAwC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,SAAS,aAAa,UAAU,gBAAgB,CAAA;QAClM,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;YACjB,IAAI,CAAC,QAAQ,GAAG,GAAG,UAAU,gBAAgB,CAAA;QAC/C,CAAC;IACH,CAAC;IACD,kGAAkG;IAClG,mFAAmF;IACnF,MAAM,WAAW,GAAG,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5E,2EAA2E;IAC3E,MAAM,YAAY,GAChB,OAAO,IAAI,UAAU,KAAK,SAAS;QACjC,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC;QACxD,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAClG,MAAM,KAAK,GACT,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACrE,MAAM,OAAO,GAAG,GAAW,EAAE,CAC3B,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAChH,iGAAiG;IACjG,4FAA4F;IAC5F,MAAM,aAAa,GAAG,QAAQ,CAAA;IAC9B,iGAAiG;IACjG,mGAAmG;IACnG,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE;QACnH,CAAC,CAAE,IAAI,CAAC,QAAmB,CAAA;IAC7B,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAA;IACtF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;IAC5D,8FAA8F;IAC9F,kGAAkG;IAClG,2FAA2F;IAC3F,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACtD,IAAI,IAAI,KAAK,cAAc;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QACpD,CAAC;IACH,CAAC;IACD,+FAA+F;IAC/F,uGAAuG;IACvG,kCAAkC;IAClC,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IACjF,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAA;IACvD,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,cAAc,CAAA;IACtF,8FAA8F;IAC9F,+FAA+F;IAC/F,+CAA+C;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,mBAAmB,CAAA;IACvE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAClD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAA;IACvE,CAAC;IACD,MAAM,WAAW,GAAgB;QAC/B,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACnD,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,WAAW,EAAE,YAAY;QACrC,oGAAoG;QACpG,kGAAkG;QAClG,2CAA2C;QAC3C,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,oGAAoG;QACpG,yDAAyD;QACzD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,4FAA4F;QAC5F,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACjE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,YAA8B,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5C,CAAA;IAED,kGAAkG;IAClG,iGAAiG;IACjG,mGAAmG;IACnG,qGAAqG;IACrG,iGAAiG;IACjG,oFAAoF;IACpF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrE,MAAM,GAAG,GACP,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,OAAO,CAAC,cAAc,CACpB,KAAK,EACL,WAAW,EACX,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CACnD;YACH,CAAC,CAAC,KAAK,KAAK,SAAS;gBACnB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;gBAC5C,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7D,OAAO,OAAO,GAAG,KAAK,QAAQ;YAC5B,CAAC,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,aAAa,GAAG,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;YACvF,CAAC,CAAC,GAAG,CAAC,IAAI,CACN,CAAC,QAAQ,EAAE,EAAE,CACX,IAAI,oBAAoB,CACtB,OAAO,EAAE,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,EAC/C,MAAM,EACN,OAAO,CACR,CACJ,CAAA;IACP,CAAC;IAED,OAAO,kBAAkB,CACvB,OAAO,EACP,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,CACV,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAsB,EACtB,KAAyB,EACzB,WAAwB,EACxB,OAAqB,EACrB,KAAgC,EAChC,aAAqB,EACrB,WAAuF,EACvF,QAAgB,EAChB,MAAc,EACd,OAA+B,EAC/B,KAAyB,EACzB,SAAiB;IAEjB,qGAAqG;IACrG,iGAAiG;IACjG,qGAAqG;IACrG,wDAAwD;IACxD,MAAM,GAAG,GAAG,YAAY,CAAA;IACxB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,MAAM,SAAS,GACb,KAAK,KAAK,SAAS;QACjB,CAAC,CAAC,MAAM,OAAO,CAAC,cAAc,CAC1B,KAAK,EACL,WAAW,EACX,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CACnD;QACH,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;YAClD,CAAC,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,wFAAwF;IACxF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IAC3F,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,oBAAoB;IACf,CAAC,eAAe,CAAC,GAAG,IAAI,CAAA;IAChB,IAAI,CAAQ;IACZ,MAAM,CAAQ;IACd,OAAO,CAAkC;IAE1D,YAAY,IAAY,EAAE,MAAc,EAAE,OAAyC;QACjF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,UAAU;QACR,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,UAAU;QAKR,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IACxE,CAAC;CACF;AAED,MAAM,oBAAoB;IACf,CAAC,eAAe,CAAC,GAAG,IAAI,CAAA;IAChB,QAAQ,CAAU;IAEnC,YAAY,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;CACF;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,IAAkB;IACpD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACzC,oGAAoG;IACpG,sGAAsG;IACtG,wFAAwF;IACxF,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,KAAiB,EACjB,MAAkC,EAClC,SAAqB,EACrB,QAAoF,EACpF,IAAgB,EAChB,GAAgB,EAChB,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,6FAA6F;IAC7F,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,OAAO,IAAI,cAAc,CAAC;QACxB,KAAK,CAAC,KAAK,CAAC,UAAU;YACpB,IAAI,CAAC;gBACH,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACzB,SAAS,CAAC;oBACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;oBAC3C,IAAI,SAAS;wBAAE,OAAM;oBACrB,IAAI,IAAI;wBAAE,MAAK;oBACf,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC3B,CAAC;gBACD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAC7B,iFAAiF;gBACjF,iGAAiG;gBACjG,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,MAAc,CAAA;oBAClB,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;wBAC5C,mFAAmF;wBACnF,4DAA4D;wBAC5D,MAAM,GAAG,UAAU,SAAS,0BAA0B,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,CAAA,CAAC,wGAAwG;oBAC1L,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,yFAAyF;wBACzF,qFAAqF;wBACrF,yCAAyC;wBACzC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAA;wBAC1D,MAAM,GAAG,UAAU,SAAS,yBAAyB,CAAC,CAAC,EAAE,IAAI,aAAa,CAAC,mBAAmB,CAAC,YAAY,CAAA;oBAC7G,CAAC;oBACD,IAAI,CAAC,SAAS;wBAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;gBACxD,CAAC,CAAC,CACH,CAAA;gBACD,IAAI,SAAS;oBAAE,OAAM;gBACrB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACxB,UAAU,CAAC,KAAK,EAAE,CAAA;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS;oBAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvC,CAAC;oBAAS,CAAC;gBACT,QAAQ,GAAG,IAAI,CAAA;gBACf,MAAM,CAAC,WAAW,EAAE,CAAA;YACtB,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAM;YACX,SAAS,GAAG,IAAI,CAAA;YAChB,0FAA0F;YAC1F,OAAO,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrD,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAeD;;;;yBAIyB;AAEzB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,UAA2B,EAAE;IACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sPAAsP,CACvS,CAAA;IACH,CAAC;IACD,0FAA0F;IAC1F,+FAA+F;IAC/F,sFAAsF;IACtF,8EAA8E;IAC9E,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAA;IACH,CAAC;IACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE;QACpD,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE;KACzF,CAAC,CAAA;AACJ,CAAC;AAoBD;;;;;;;;GAQG;AACH,MAAM,6BAA6B,GAAsB;IACvD,uBAAuB;IACvB,mBAAmB;IACnB,oEAAoE;IACpE,wDAAwD;CACzD,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACvC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,GAAG,CAAA;IACjF,MAAM,SAAS,GAAG,IAAI,KAAK,CACzB,GAAG,GAAG,CAAC,OAAO,2TAA2T,EACzU,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACD,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACzB,mGAAmG;IACnG,yDAAyD;IACzD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;IACxD,OAAO,SAAS,CAAA;AAClB,CAAC;AAmBD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,MAA8B,EAC9B,KAAoC;IAEpC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA,CAAC,8DAA8D;IACrG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAA;IAClD,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC/C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,mBAAmB,GAA2B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAErE,MAAM,CAAC,MAAM,YAAY,GAAwB,IAAI,GAAG,EAAU,CAAA;AAElE;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,QAAgB,EAAW,EAAE;IACxE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAY,EAAsB,EAAE,CAChE,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;IACrC,CAAC,CAAG,GAA+B,CAAC,eAAe,CAAwB;IAC3E,CAAC,CAAC,SAAS,CAAA;AAEf,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAElE;;yFAEyF;AACzF,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,+BAA+B;IACpC,GAAG,EAAE,uBAAuB;CAC7B,CAAA;AAMD,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,QAAQ,IAAI,aAAa,IAAI,KAAK,CAAA;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,OAA0B;IAC9D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0GAA0G,CAC3J,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/C,+FAA+F;IAC/F,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE;QAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACzF,UAAU,EAAE,KAAK;KAClB,CAAC,CAAA;IACF,MAAM,QAAQ,CAAA;AAChB,CAAC;AAeD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,UAA6B,EAAE;IACtD,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,UAA6B,EAAE;IAClD,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,UAA6B,EAAE;IACxE,OAAO,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC;AAWD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAI,KAAwB,EAAE,IAAO;IAC7D,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC/C,4FAA4F;IAC5F,kGAAkG;IAClG,8FAA8F;IAC9F,kGAAkG;IAClG,iGAAiG;IACjG,yFAAyF;IACzF,cAAc;IACd,MAAM,WAAW,GACf,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACrC,OAAO,WAAW;QAChB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACxE,CAAC,CAAC,UAAU,CAAA;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AACvF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,4FAA4F;IAC5F,uFAAuF;IACvF,wEAAwE;IACxE,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AAC1E,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,GAAoB,EAAE,KAAuB;IAC7D,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACjD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,EAAE;YAAE,GAAG,IAAI,GAAG,CAAA;QAC1B,GAAG,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,CAAA;IACjE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,kGAAkG;AAClG,oGAAoG;AACpG,oGAAoG;AACpG,qGAAqG;AACrG,yDAAyD;AACzD,MAAM,aAAa,GAAG,IAAI,OAAO,EAAgB,CAAA;AAEjD,qGAAqG;AACrG,oGAAoG;AACpG,yFAAyF;AACzF,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEzC,SAAS,6BAA6B,CAAC,OAAe;IACpD,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CACjB,qHAAqH,CACtH,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CACjB,gDAAgD,CAAC,GAAG,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC5J,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;+FAM+F;AAC/F,6FAA6F;AAC7F,MAAM,cAAc,GAAG,CAAC,IAAsB,EAAW,EAAE,CACzD,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,CAAA;AAEpG,SAAS,QAAQ,CAAC,IAAsB,EAAE,aAAsB;IAC9D,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACjC,kGAAkG;IAClG,kGAAkG;IAClG,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;IAC9E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;IACzC,CAAC;IACD,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACjC,IAAI,KAAK,KAAK,IAAI;gBAAE,GAAG,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,cAAc,CAAA;QAClF,CAAC;IACH,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACjC,IAAI,KAAK,KAAK,IAAI;gBAAE,GAAG,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,cAAc,CAAA;QAClF,CAAC;IACH,kGAAkG;IAClG,sGAAsG;IACtG,yFAAyF;IACzF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,qBAAqB,CAAA;YAC5C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,SAAS,CACjB,0EAA0E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kEAAkE,CACjK,CAAA;YACH,CAAC;YACD,GAAG,IAAI,iBAAiB,IAAI,gBAAgB,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAA;QACvF,CAAC;IACH,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;QACjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC/C,MAAM,IAAI,SAAS,CAAC,qEAAqE,CAAC,CAAA;YAC5F,CAAC;YACD,4FAA4F;YAC5F,8FAA8F;YAC9F,iGAAiG;YACjG,yFAAyF;YACzF,8FAA8F;YAC9F,iGAAiG;YACjG,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC7D,MAAM,IAAI,SAAS,CACjB,iFAAiF,CAClF,CAAA;YACH,CAAC;YACD,6BAA6B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YACxC,GAAG,IAAI,iBAAiB,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,WAAW,CAAA;QACnG,CAAC;IACH,IAAI,SAAS;QAAE,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC3C,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,OAAiF;IAEjF,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAA;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAA;IACrC,mGAAmG;IACnG,mGAAmG;IACnG,2BAA2B;IAC3B,0BAA0B,CAAC,IAAI,CAAC,CAAA;IAChC,6BAA6B,CAAC,OAAO,CAAC,CAAA;IACtC,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,IAAI;QACJ,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO;KACR,CAAA;AACH,CAAC;AAED;2DAC2D;AAC3D,SAAS,gBAAgB,CACvB,MAAwC,EACxC,IAAY,EACZ,IAAY;IAEZ,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAA;IAC1D,MAAM,WAAW,GAAY,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC9D,IAAI,OAAO,WAAW,KAAK,UAAU;QAAE,OAAO,EAAE,CAAA;IAChD,MAAM,OAAO,GAAY,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GACP,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1F,IAAI,GAAG,KAAK,SAAS;YAAE,KAAK,IAAI,mCAAmC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAA;IACxF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"render-document.js","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import { type UrlParts } from "@nifrajs/core/server";
2
2
  export declare function urlPartsFor(request: Request): UrlParts;
3
+ /** `new URL(request.url).origin`, or `""` for a URL that does not parse. */
4
+ export declare function originFor(request: {
5
+ readonly url: string;
6
+ }): string;
3
7
  //# sourceMappingURL=request-url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-url.d.ts","sourceRoot":"","sources":["../../src/internal/request-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,sBAAsB,CAAA;AAOhE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAMtD"}
1
+ {"version":3,"file":"request-url.d.ts","sourceRoot":"","sources":["../../src/internal/request-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,sBAAsB,CAAA;AAOhE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAMtD;AAOD,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAgBnE"}
@@ -11,4 +11,28 @@ export function urlPartsFor(request) {
11
11
  REQUEST_URL_PARTS.set(request, parts);
12
12
  return parts;
13
13
  }
14
+ // The origin depends only on the text before the path, which repeats across requests, so each
15
+ // distinct prefix is parsed once instead of every request's whole URL. Cleared when full: a client
16
+ // can vary the Host header without bound.
17
+ const ORIGINS = new Map();
18
+ /** `new URL(request.url).origin`, or `""` for a URL that does not parse. */
19
+ export function originFor(request) {
20
+ const url = request.url;
21
+ const schemeEnd = url.indexOf("://");
22
+ const pathStart = schemeEnd === -1 ? -1 : url.indexOf("/", schemeEnd + 3);
23
+ const prefix = pathStart === -1 ? url : url.slice(0, pathStart);
24
+ let origin = ORIGINS.get(prefix);
25
+ if (origin === undefined) {
26
+ try {
27
+ origin = new URL(prefix).origin;
28
+ }
29
+ catch {
30
+ origin = "";
31
+ }
32
+ if (ORIGINS.size >= 64)
33
+ ORIGINS.clear();
34
+ ORIGINS.set(prefix, origin);
35
+ }
36
+ return origin;
37
+ }
14
38
  //# sourceMappingURL=request-url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-url.js","sourceRoot":"","sources":["../../src/internal/request-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEhE,kGAAkG;AAClG,qGAAqG;AACrG,gGAAgG;AAChG,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAqB,CAAA;AAE1D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACrC,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"request-url.js","sourceRoot":"","sources":["../../src/internal/request-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEhE,kGAAkG;AAClG,qGAAqG;AACrG,gGAAgG;AAChG,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAqB,CAAA;AAE1D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACrC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,8FAA8F;AAC9F,mGAAmG;AACnG,0CAA0C;AAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;AAEzC,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,OAAiC;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC/D,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE;YAAE,OAAO,CAAC,KAAK,EAAE,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -81,6 +81,10 @@ export declare function scanForSecrets(input: SecretScanInput): SecretFinding[];
81
81
  export declare function createRedactor(env: Readonly<Record<string, string | undefined>>, publicEnvPrefix?: string): (text: string) => string;
82
82
  /** The build environment: Bun's, else Node's. */
83
83
  export declare const buildEnvironment: () => Readonly<Record<string, string | undefined>>;
84
+ /** A build artifact holds a secret. Its own class so a step that tolerates other failures still stops. */
85
+ export declare class SecretScanError extends Error {
86
+ constructor(message: string);
87
+ }
84
88
  /** Scan and throw the build-failing message on any finding. */
85
89
  export declare function assertNoSecrets(input: SecretScanInput): void;
86
90
  /** The build-failing message for secret findings, or `undefined` when there are none. */
@@ -1 +1 @@
1
- {"version":3,"file":"secret-scan.d.ts","sourceRoot":"","sources":["../../src/internal/secret-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret-scan.d.ts","sourceRoot":"","sources":["../../src/internal/secret-scan.ts"],"names":[],"mappings":"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"}
@@ -565,11 +565,18 @@ export function createRedactor(env, publicEnvPrefix = "PUBLIC_") {
565
565
  }
566
566
  /** The build environment: Bun's, else Node's. */
567
567
  export const buildEnvironment = () => (typeof Bun !== "undefined" ? Bun.env : undefined) ?? process.env;
568
+ /** A build artifact holds a secret. Its own class so a step that tolerates other failures still stops. */
569
+ export class SecretScanError extends Error {
570
+ constructor(message) {
571
+ super(message);
572
+ this.name = "SecretScanError";
573
+ }
574
+ }
568
575
  /** Scan and throw the build-failing message on any finding. */
569
576
  export function assertNoSecrets(input) {
570
577
  const message = formatSecretFindings(scanForSecrets(input));
571
578
  if (message !== undefined)
572
- throw new Error(message);
579
+ throw new SecretScanError(message);
573
580
  }
574
581
  /** The build-failing message for secret findings, or `undefined` when there are none. */
575
582
  export function formatSecretFindings(findings) {