wicked-crew 0.16.12 → 0.16.13

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 (89) hide show
  1. package/README.md +2 -1
  2. package/dist/api/chat-history.d.ts +6 -0
  3. package/dist/api/chat-history.d.ts.map +1 -1
  4. package/dist/api/chat-history.js +21 -0
  5. package/dist/api/chat-history.js.map +1 -1
  6. package/dist/api/chat-proposals.d.ts +61 -6
  7. package/dist/api/chat-proposals.d.ts.map +1 -1
  8. package/dist/api/chat-proposals.js +252 -24
  9. package/dist/api/chat-proposals.js.map +1 -1
  10. package/dist/api/routes.d.ts +14 -2
  11. package/dist/api/routes.d.ts.map +1 -1
  12. package/dist/api/routes.js +119 -9
  13. package/dist/api/routes.js.map +1 -1
  14. package/dist/api/run-timing-index.d.ts +18 -0
  15. package/dist/api/run-timing-index.d.ts.map +1 -1
  16. package/dist/api/run-timing-index.js +34 -0
  17. package/dist/api/run-timing-index.js.map +1 -1
  18. package/dist/api/server.d.ts.map +1 -1
  19. package/dist/api/server.js +100 -1
  20. package/dist/api/server.js.map +1 -1
  21. package/dist/apps/spec.d.ts +3009 -0
  22. package/dist/apps/spec.d.ts.map +1 -0
  23. package/dist/apps/spec.js +870 -0
  24. package/dist/apps/spec.js.map +1 -0
  25. package/dist/cli/index.js +3 -3
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/core/run-boot-resume.d.ts +4 -1
  28. package/dist/core/run-boot-resume.d.ts.map +1 -1
  29. package/dist/core/run-boot-resume.js +6 -1
  30. package/dist/core/run-boot-resume.js.map +1 -1
  31. package/dist/editors/csp.d.ts +24 -4
  32. package/dist/editors/csp.d.ts.map +1 -1
  33. package/dist/editors/csp.js +35 -8
  34. package/dist/editors/csp.js.map +1 -1
  35. package/dist/editors/routes.d.ts +4 -1
  36. package/dist/editors/routes.d.ts.map +1 -1
  37. package/dist/editors/routes.js +30 -3
  38. package/dist/editors/routes.js.map +1 -1
  39. package/dist/editors/webrtc-guard.d.ts +94 -0
  40. package/dist/editors/webrtc-guard.d.ts.map +1 -0
  41. package/dist/editors/webrtc-guard.js +506 -0
  42. package/dist/editors/webrtc-guard.js.map +1 -0
  43. package/dist/interactive/bridge-pool.d.ts +11 -2
  44. package/dist/interactive/bridge-pool.d.ts.map +1 -1
  45. package/dist/interactive/bridge-pool.js +10 -1
  46. package/dist/interactive/bridge-pool.js.map +1 -1
  47. package/dist/interactive/doc-binding.d.ts +156 -0
  48. package/dist/interactive/doc-binding.d.ts.map +1 -0
  49. package/dist/interactive/doc-binding.js +277 -0
  50. package/dist/interactive/doc-binding.js.map +1 -0
  51. package/dist/interactive/doc-delete-routes.d.ts +3 -0
  52. package/dist/interactive/doc-delete-routes.d.ts.map +1 -1
  53. package/dist/interactive/doc-delete-routes.js +4 -0
  54. package/dist/interactive/doc-delete-routes.js.map +1 -1
  55. package/dist/interactive/draft-events.d.ts +89 -3
  56. package/dist/interactive/draft-events.d.ts.map +1 -1
  57. package/dist/interactive/draft-events.js +438 -27
  58. package/dist/interactive/draft-events.js.map +1 -1
  59. package/dist/interactive/edit-events.d.ts +2 -0
  60. package/dist/interactive/edit-events.d.ts.map +1 -1
  61. package/dist/interactive/edit-events.js +11 -0
  62. package/dist/interactive/edit-events.js.map +1 -1
  63. package/dist/interactive/proposal-create.d.ts +143 -0
  64. package/dist/interactive/proposal-create.d.ts.map +1 -0
  65. package/dist/interactive/proposal-create.js +318 -0
  66. package/dist/interactive/proposal-create.js.map +1 -0
  67. package/dist/interactive/proxy-routes.d.ts +60 -3
  68. package/dist/interactive/proxy-routes.d.ts.map +1 -1
  69. package/dist/interactive/proxy-routes.js +209 -3
  70. package/dist/interactive/proxy-routes.js.map +1 -1
  71. package/dist/interactive/source-packet.d.ts +126 -0
  72. package/dist/interactive/source-packet.d.ts.map +1 -0
  73. package/dist/interactive/source-packet.js +482 -0
  74. package/dist/interactive/source-packet.js.map +1 -0
  75. package/dist/studio/assets/{index-C_UIgTiy.js → index-u4O_7N-b.js} +1 -1
  76. package/dist/studio/editors/wicked-deck/editor.json +1 -1
  77. package/dist/studio/editors/wicked-deck/index.html +1 -1
  78. package/dist/studio/editors/wicked-doc/editor.json +1 -1
  79. package/dist/studio/editors/wicked-doc/index.html +1 -1
  80. package/dist/studio/editors/wicked-insights/editor.json +1 -1
  81. package/dist/studio/editors/wicked-insights/index.html +1 -1
  82. package/dist/studio/editors/wicked-page/editor.json +1 -1
  83. package/dist/studio/editors/wicked-page/index.html +1 -1
  84. package/dist/studio/editors/wicked-video/editor.json +1 -1
  85. package/dist/studio/editors/wicked-video/index.html +1 -1
  86. package/dist/studio/index.html +1 -1
  87. package/dist/studio/testid-inventory.json +1 -1
  88. package/endpoint-manifest.json +1 -1
  89. package/package.json +4 -3
@@ -33,6 +33,7 @@
33
33
  * The create response is small JSON, so it is buffered — SSE never rides this route.
34
34
  */
35
35
  import { request as httpRequest } from 'node:http';
36
+ import { requestOrigin } from '../editors/csp.js';
36
37
  import { API_PREFIX } from '../api/api-prefix.js';
37
38
  import { keepFrameGuard } from '../api/frame-guard.js';
38
39
  import { DEFAULT_PROJECT_ID } from '../projects/default-project.js';
@@ -223,7 +224,9 @@ async function readBody(stream, max) {
223
224
  * see, and say what to record once the bridge names the doc. Pure over its inputs — the route
224
225
  * decides what to do with a refusal; exported so the rule is unit-testable without a bridge.
225
226
  */
226
- export async function prepareDocCreate(raw, contentType, adapter, projectId, log) {
227
+ export async function prepareDocCreate(raw, contentType, adapter, projectId, log,
228
+ /** A3: the accepted proposal a `chat_id` + `proposal_id` names, for the caller. Absent = refuse them. */
229
+ grantFor) {
227
230
  const passthrough = { body: raw, contentType: contentType ?? 'application/json' };
228
231
  let parsed;
229
232
  try {
@@ -282,6 +285,39 @@ export async function prepareDocCreate(raw, contentType, adapter, projectId, log
282
285
  if (!refs.ok) {
283
286
  return { ...passthrough, refusal: { error: refs.error, code: 'invalid_repo_ref', requested: refs.requested } };
284
287
  }
288
+ // DES-CHAT-ARTIFACTS-001 §5.2 (A3): a create from a chat's proposal. `chat_id` counts ONLY with `proposal_id`, and only
289
+ // through a matching accepted record of the caller's: its identity names this document in this mount, and its stored
290
+ // resolution lists every repository named. Only then is the Unfiled rule (`unfiled_doc_repo`) lifted, and the
291
+ // repositories resolve against the record (the chat's scope), not the project's members. A bare `chat_id` grants
292
+ // nothing: it is refused, never ignored.
293
+ const chatIdRaw = body['chat_id'];
294
+ const proposalIdRaw = body['proposal_id'];
295
+ let grant = null;
296
+ if (chatIdRaw !== undefined || proposalIdRaw !== undefined) {
297
+ const refuse = (why) => ({
298
+ ...passthrough,
299
+ refusal: { error: `${why} Nothing was created.`, code: 'proposal_grant_refused', requested: refs.refs },
300
+ });
301
+ if (typeof chatIdRaw !== 'string' || typeof proposalIdRaw !== 'string' || chatIdRaw === '' || proposalIdRaw === '') {
302
+ return refuse('a create names a chat only together with the accepted proposal it answers (`chat_id` and `proposal_id`, both strings).');
303
+ }
304
+ grant = grantFor?.(chatIdRaw, proposalIdRaw) ?? null;
305
+ if (grant === null)
306
+ return refuse(`chat ${chatIdRaw.slice(0, 80)} holds no accepted proposal ${proposalIdRaw.slice(0, 160)} of yours.`);
307
+ const name = typeof body['name'] === 'string' ? body['name'] : '';
308
+ if (grant.projectId !== projectId || name !== grant.doc) {
309
+ return refuse(`proposal ${proposalIdRaw.slice(0, 160)} makes ${grant.doc} in ${grant.projectId === DEFAULT_PROJECT_ID ? 'Unfiled' : grant.projectId}, not ${name === '' ? 'an unnamed document' : name.slice(0, 64)} in ${projectId === DEFAULT_PROJECT_ID ? 'Unfiled' : projectId}.`);
310
+ }
311
+ const repoRefs = [];
312
+ for (const ref of refs.refs) {
313
+ const hits = grant.repos.filter((r) => r.id === ref || r.name === ref);
314
+ if (hits.length !== 1)
315
+ return refuse(`repository "${ref.slice(0, 120)}" is not ${hits.length === 0 ? 'one the accepted proposal lists' : 'named uniquely by the accepted proposal (name it by id)'}.`);
316
+ if (!repoRefs.includes(hits[0].id))
317
+ repoRefs.push(hits[0].id);
318
+ }
319
+ return finishPrepare(body, projectId, repoRefs, log, { chatId: chatIdRaw, proposalId: proposalIdRaw });
320
+ }
285
321
  const repoRefs = [];
286
322
  if (refs.refs.length > 0) {
287
323
  if (projectId === DEFAULT_PROJECT_ID) {
@@ -343,6 +379,10 @@ export async function prepareDocCreate(raw, contentType, adapter, projectId, log
343
379
  };
344
380
  }
345
381
  }
382
+ return finishPrepare(body, projectId, repoRefs, log, null);
383
+ }
384
+ /** The rest of a create, once its repositories are settled (shared by the plain path and a proposal's). */
385
+ function finishPrepare(body, projectId, repoRefs, log, proposal) {
346
386
  // Style: pass a valid one through; infer an absent/unknown one from the brief's format words so
347
387
  // a print brief reaches the bridge's print instructions instead of its `web` default.
348
388
  const brief = typeof body['brief'] === 'string' ? body['brief'] : undefined;
@@ -403,11 +443,88 @@ export async function prepareDocCreate(raw, contentType, adapter, projectId, log
403
443
  body: Buffer.from(JSON.stringify(normalized), 'utf8'),
404
444
  contentType: 'application/json',
405
445
  normalized,
406
- ...((repoRefs.length > 0 || clisJson !== undefined || channel !== undefined || actor !== undefined)
446
+ ...((repoRefs.length > 0 || clisJson !== undefined || channel !== undefined || actor !== undefined || proposal !== null)
407
447
  ? { binding: { projectId, repoRefs, style, ...(clisJson !== undefined ? { clisJson } : {}), ...(channel !== undefined ? { channel } : {}), ...(actor !== undefined ? { actor } : {}) } }
408
448
  : {}),
449
+ ...(proposal !== null ? { proposal } : {}),
409
450
  };
410
451
  }
452
+ /** The destinations a browser names for loading a document into a frame (Fetch `Sec-Fetch-Dest`). */
453
+ const FRAME_DESTINATIONS = new Set(['iframe', 'frame', 'embed', 'object', 'fencedframe']);
454
+ /**
455
+ * Whether this request loads a document into a frame for a page of another site. Studio's own frames are same-origin;
456
+ * an editor plugin's frame is sandboxed with an opaque origin, so a navigation it starts is always `cross-site`. A
457
+ * document served here runs with its own policy, not an editor bundle's WebRTC guard (`editors/webrtc-guard.ts`), and
458
+ * studio's shell lets any of its frames point here, so an editor frame could otherwise navigate itself to a document
459
+ * and run that document's scripts in a fresh realm. A browser sends `Sec-Fetch-*` only to a trustworthy origin
460
+ * (localhost, https); without them the request is let through.
461
+ */
462
+ export function isCrossSiteFrameLoad(headers) {
463
+ const one = (name) => {
464
+ const v = headers[name];
465
+ return (Array.isArray(v) ? v[0] : v)?.toLowerCase() ?? '';
466
+ };
467
+ return one('sec-fetch-mode') === 'navigate' && one('sec-fetch-site') === 'cross-site' && FRAME_DESTINATIONS.has(one('sec-fetch-dest'));
468
+ }
469
+ /**
470
+ * Whether a cross-site frame load comes from a page the daemon lets frame it: its clickjacking guard
471
+ * (`api/frame-guard.ts`) has already written `frame-ancestors` (studio's dev server and the operator's allowed origins)
472
+ * on this response. The page's own `Referer` names it; an editor frame sends none, or (if it asks for one) its own URL
473
+ * on the daemon's origin, which never counts.
474
+ */
475
+ export function fromFramingPage(referer, frameGuard, ownOrigin, forwardedHosts = []) {
476
+ const ref = Array.isArray(referer) ? referer[0] : referer;
477
+ if (typeof ref !== 'string' || ref === '')
478
+ return false;
479
+ let url;
480
+ try {
481
+ url = new URL(ref);
482
+ }
483
+ catch {
484
+ return false;
485
+ }
486
+ // A page under the daemon's API (an editor bundle asking for its own URL as Referer) is never a framing page, whatever
487
+ // Host a reverse proxy forwards; and neither is the daemon's own authority.
488
+ // The hosts a reverse proxy says it forwarded for (X-Forwarded-Host, Forwarded host=) count as the daemon's own too:
489
+ // that can only refuse more, never exempt more. (Behind a proxy that rewrites Host and forwards neither, an allowed
490
+ // origin that is the daemon's own public origin cannot be told from a hosted skin: do not allowlist the daemon itself.)
491
+ const own = [ownOrigin, ...forwardedHosts.map((h) => `${url.protocol}//${h}`)];
492
+ if (url.origin === 'null' || url.pathname.startsWith('/api/') || own.some((o) => isOwnAuthority(url, o)))
493
+ return false;
494
+ const origin = url.origin;
495
+ const csp = Array.isArray(frameGuard) ? frameGuard.join(', ') : typeof frameGuard === 'string' ? frameGuard : '';
496
+ const listed = /frame-ancestors([^;,]*)/i.exec(csp)?.[1]?.trim().split(/\s+/) ?? [];
497
+ return listed.includes(origin);
498
+ }
499
+ /**
500
+ * Whether a Referer names the daemon itself, whatever the scheme: behind a TLS-terminating proxy the request arrives as
501
+ * http (and `Host` may carry `:443`) while the browser's Referer says https with the default port left out. Same host
502
+ * name, and the same port once defaults are filled in; a `Host` with no port matches either default.
503
+ */
504
+ function isOwnAuthority(ref, ownOrigin) {
505
+ let own;
506
+ try {
507
+ own = new URL(ownOrigin);
508
+ }
509
+ catch {
510
+ return false;
511
+ }
512
+ if (ref.hostname !== own.hostname)
513
+ return false;
514
+ const refPort = ref.port !== '' ? ref.port : ref.protocol === 'https:' ? '443' : '80';
515
+ const ownPort = /:\d+$/.test(own.host) ? own.host.slice(own.host.lastIndexOf(':') + 1) : own.port;
516
+ return ownPort === '' ? refPort === '80' || refPort === '443' : ownPort === refPort;
517
+ }
518
+ /** The hosts a reverse proxy names for the original request: `X-Forwarded-Host` (each, comma-separated) and every
519
+ * `host=` of `Forwarded`. Only ever used to refuse more. */
520
+ export function forwardedHosts(headers) {
521
+ const all = (v) => (Array.isArray(v) ? v : v === undefined ? [] : [v]);
522
+ const xfh = all(headers['x-forwarded-host']).flatMap((v) => v.split(',')).map((h) => h.trim()).filter((h) => h !== '');
523
+ const fwd = all(headers['forwarded']).flatMap((v) => [...v.matchAll(/host="?([^";,]+)"?/gi)].map((m) => m[1].trim()));
524
+ return [...xfh, ...fwd];
525
+ }
526
+ /** The words a refused frame shows. */
527
+ export const CROSS_SITE_FRAME_REFUSED = 'This document opens only in studio, not from inside another page or an editor plugin.';
411
528
  export function registerInteractiveProxy(app, adapter, deps) {
412
529
  const { settings, pool } = deps;
413
530
  // Strips exactly the mount prefix off the RAW url, leaving the remainder + query untouched.
@@ -426,6 +543,11 @@ export function registerInteractiveProxy(app, adapter, deps) {
426
543
  /** One proxied request — the wildcard and the typed create route share it. */
427
544
  const serve = async (req, reply) => {
428
545
  const { projectId } = req.params;
546
+ // An editor plugin's frame navigating itself here would run a document's scripts outside its WebRTC guard.
547
+ if (isCrossSiteFrameLoad(req.headers) && !fromFramingPage(req.headers.referer, reply.raw.getHeader('content-security-policy'), requestOrigin(req), forwardedHosts(req.headers))) {
548
+ deps.log?.(`interactive ${req.method} ${req.url}: refused, a frame of another site (an editor plugin's or another page's) asked for it`);
549
+ return reply.code(403).type('text/plain; charset=utf-8').send(CROSS_SITE_FRAME_REFUSED);
550
+ }
429
551
  const prefix = `${API_PREFIX}/projects/${encodeURIComponent(projectId)}/interactive`;
430
552
  const root = await rootFor(projectId);
431
553
  if (root === null)
@@ -455,7 +577,8 @@ export function registerInteractiveProxy(app, adapter, deps) {
455
577
  const raw = await readBody(req.raw, DOC_CREATE_BODY_MAX);
456
578
  if (raw === null)
457
579
  return reply.code(413).send({ error: `create body exceeds ${DOC_CREATE_BODY_MAX} bytes` });
458
- create = await prepareDocCreate(raw, req.headers['content-type'], adapter, projectId, deps.log);
580
+ const actorId = deps.actorOf?.(req) ?? 'local';
581
+ create = await prepareDocCreate(raw, req.headers['content-type'], adapter, projectId, deps.log, (chatId, pid) => deps.proposalGrant?.(chatId, pid, actorId) ?? null);
459
582
  if (create.refusal !== undefined)
460
583
  return reply.code(400).send(create.refusal);
461
584
  // crew#631: validate the per-doc seat override against the current roster before the
@@ -646,6 +769,89 @@ function forwardCreate(req, reply, bridge, target, prefix, create, grounding, do
646
769
  upstream.end(create.body);
647
770
  });
648
771
  }
772
+ /**
773
+ * DES-CHAT-ARTIFACTS-001 §4.3 (A3): crew's OWN create of a proposal's document, in process. It runs the same
774
+ * `prepareDocCreate` the proxy route runs (so the `chat_id` grant is checked through the accepted record exactly as for
775
+ * any caller), then posts the prepared body to the project's bridge and records the grounding sidecar. Never replayed:
776
+ * a connection lost after the body was sent answers 502 `create_undetermined`, and the caller looks the document up.
777
+ */
778
+ export async function createDocInProcess(adapter, deps, projectId, body, actorId) {
779
+ const root = await projectDocsRoot(adapter, deps.settings, projectId, deps);
780
+ if (root === null)
781
+ return { status: 404, body: { error: `Project ${projectId} not found` } };
782
+ const create = await prepareDocCreate(Buffer.from(JSON.stringify(body), 'utf8'), 'application/json', adapter, projectId, deps.log, (chatId, pid) => deps.proposalGrant?.(chatId, pid, actorId) ?? null);
783
+ if (create.refusal !== undefined)
784
+ return { status: 400, body: create.refusal };
785
+ if (create.binding?.clisJson !== undefined && deps.roster !== undefined) {
786
+ const seatErr = proxyValidateClisJson(create.binding.clisJson, deps.roster());
787
+ if (seatErr !== null)
788
+ return { status: 400, body: { error: seatErr } };
789
+ }
790
+ const bridge = await deps.pool.ensure(root);
791
+ const token = create.binding !== undefined ? deps.grounding?.beginCreate(projectId) : undefined;
792
+ try {
793
+ const answer = await postToBridge(bridge, DOC_CREATE_PATH, create.body);
794
+ let parsed = null;
795
+ try {
796
+ parsed = JSON.parse(answer.body.toString('utf8'));
797
+ }
798
+ catch {
799
+ parsed = { error: answer.body.toString('utf8').slice(0, 400) };
800
+ }
801
+ const name = parsed?.name;
802
+ if (answer.status >= 200 && answer.status < 300 && create.binding !== undefined && deps.grounding !== undefined && typeof name === 'string' && name !== '') {
803
+ deps.grounding.record(root, name, {
804
+ project_id: create.binding.projectId,
805
+ repo_refs: create.binding.repoRefs,
806
+ ...(create.binding.style !== undefined ? { style: create.binding.style } : {}),
807
+ ...(create.binding.clisJson !== undefined ? { clis_json: create.binding.clisJson } : {}),
808
+ ...(create.binding.channel !== undefined ? { channel: create.binding.channel } : {}),
809
+ ...(create.binding.actor !== undefined ? { actor: create.binding.actor } : {}),
810
+ });
811
+ }
812
+ return { status: answer.status, body: parsed };
813
+ }
814
+ catch (err) {
815
+ if (err.createDispatched === true)
816
+ return { status: 502, body: CREATE_UNDETERMINED };
817
+ throw err;
818
+ }
819
+ finally {
820
+ if (token !== undefined)
821
+ deps.grounding?.settleCreate(token);
822
+ }
823
+ }
824
+ /** POST a small JSON body to the bridge and buffer its answer. A failure after the body was flushed is marked
825
+ * `createDispatched` (the bridge may have acted on it). */
826
+ function postToBridge(bridge, target, body) {
827
+ return new Promise((resolvePromise, rejectPromise) => {
828
+ let dispatched = false;
829
+ const upstream = httpRequest({
830
+ host: bridge.host,
831
+ port: bridge.port,
832
+ method: 'POST',
833
+ path: target,
834
+ headers: { host: `${bridge.host}:${bridge.port}`, 'content-type': 'application/json', 'content-length': String(body.length) },
835
+ }, (res) => {
836
+ dispatched = true;
837
+ const chunks = [];
838
+ res.on('data', (c) => chunks.push(c));
839
+ res.on('error', (err) => {
840
+ err.createDispatched = true;
841
+ rejectPromise(err);
842
+ });
843
+ res.on('end', () => resolvePromise({ status: res.statusCode ?? 502, body: Buffer.concat(chunks) }));
844
+ });
845
+ upstream.on('finish', () => {
846
+ dispatched = true;
847
+ });
848
+ upstream.on('error', (err) => {
849
+ err.createDispatched = dispatched;
850
+ rejectPromise(err);
851
+ });
852
+ upstream.end(body);
853
+ });
854
+ }
649
855
  function isConnectionRefused(err) {
650
856
  const code = err?.code;
651
857
  return code === 'ECONNREFUSED' || code === 'ECONNRESET' || code === 'EHOSTUNREACH';
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-routes.js","sourceRoot":"","sources":["../../src/interactive/proxy-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-routes.js","sourceRoot":"","sources":["../../src/interactive/proxy-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAkD,MAAM,WAAW,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAA0C,MAAM,kBAAkB,CAAC;AAClG,OAAO,EACL,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,WAAW,GAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpK,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,uGAAuG;AACvG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,iFAAiF;AACjF,MAAM,CAAC,MAAM,6BAA6B,GACxC,wJAAwJ,CAAC;AAE3J;iFACiF;AACjF,SAAS,qBAAqB,CAAC,QAAgB,EAAE,MAAiB;IAChE,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,6BAA6B,CAAC;IAAC,CAAC;IACrF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,6BAA6B,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,GAAG,CACjB,MAAmC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAChG,CAAC;IACF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAiC,EAAE,CAAC;QACrD,IAAI,OAAO,IAAI,EAAE,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,6BAA6B,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,YAAY;IACZ,YAAY;IACZ,oBAAoB;IACpB,qBAAqB;IACrB,IAAI;IACJ,SAAS;IACT,mBAAmB;IACnB,SAAS;CACV,CAAC,CAAC;AAEH,SAAS,yBAAyB,CAAC,OAA4B,EAAE,MAAkB;IACjF,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAC1D,0FAA0F;QAC1F,yFAAyF;QACzF,6FAA6F;QAC7F,IAAI,IAAI,KAAK,eAAe;YAAE,SAAS;QACvC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACpB,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,MAAkB,EAAE,MAAc;IAClF,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,UAAU,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;IAC5D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAmDD;sGACsG;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EACH,qGAAqG;QACrG,+DAA+D;CACzD,CAAC;AAEX;uGACuG;AACvG,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB;IACzB,KAAK,EACH,kGAAkG;QAClG,mDAAmD;CAC7C,CAAC;AAwBX,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAC,MAA0B,EAAE,MAAc;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAC5C,OAAO,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,eAAe,CAAC;AACvD,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAC7C,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAC,MAA0B,EAAE,MAAc;IACxE,qHAAqH;IACrH,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjF,OAAO,MAAM,EAAE,WAAW,EAAE,KAAK,MAAM,IAAI,IAAI,KAAK,eAAe,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAA0B,EAAE,MAAc;IACvE,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAC5C,MAAM,GAAG,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,CAAC;QAAC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACzE,CAAC;AAmBD;8CAC8C;AAC9C,oEAAoE;AACpE,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA4C,CAAC;QACzF,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC;QACtC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,IAAY;IAC5D,IAAI,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO;QACL,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,IAAI;QACd,KAAK,EACH,IAAI,KAAK,MAAM;YACb,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,8BAA8B,IAAI,4DAA4D;QACpG,MAAM,EAAE,wGAAwG;KACjH,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,CAAC,GAAG,IAAmD,CAAC;IAC9D,IAAI,CAAC,CAAC,UAAU,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrG,MAAM,EAAE,GAAG,CAAC,CAAC,OAAoE,CAAC;IAClF,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,GAAW;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QAC1E,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC;QACpB,IAAI,KAAK,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAW,EACX,WAA+B,EAC/B,OAAoB,EACpB,SAAiB,EACjB,GAA2B;AAC3B,yGAAyG;AACzG,QAAuE;IAEvE,MAAM,WAAW,GAAmB,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAClG,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC,CAAC,4CAA4C;IAClE,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IAC/F,MAAM,IAAI,GAAG,EAAE,GAAI,MAAkC,EAAE,CAAC;IAExD,8FAA8F;IAC9F,iGAAiG;IACjG,+FAA+F;IAC/F,4FAA4F;IAC5F,mDAAmD;IACnD,gGAAgG;IAChG,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,6EAA6E;IAC7E,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACrG,OAAO;YACL,GAAG,WAAW;YACd,OAAO,EAAE,EAAE,KAAK,EAAE,2DAA2D,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE;SACrH,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACrC,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;YACvB,OAAO;gBACL,GAAG,WAAW;gBACd,OAAO,EAAE;oBACP,KAAK,EAAE,0DAA0D,WAAW,iCAAiC,WAAW,sBAAsB;oBAC9I,IAAI,EAAE,kBAAkB;oBACxB,SAAS;iBACV;aACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO;YACL,GAAG,WAAW;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,6BAA6B,WAAW,6BAA6B,SAAS,mDAAmD;gBACxI,IAAI,EAAE,kBAAkB;gBACxB,SAAS;aACV;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,6FAA6F;QAC7F,+BAA+B;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IACjH,CAAC;IACD,wHAAwH;IACxH,qHAAqH;IACrH,8GAA8G;IAC9G,iHAAiH;IACjH,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,KAAK,GAAyB,IAAI,CAAC;IACvC,IAAI,SAAS,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,CAAC,GAAW,EAAkB,EAAE,CAAC,CAAC;YAC/C,GAAG,WAAW;YACd,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,uBAAuB,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE;SACxG,CAAC,CAAC;QACH,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,SAAS,KAAK,EAAE,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;YACnH,OAAO,MAAM,CAAC,wHAAwH,CAAC,CAAC;QAC1I,CAAC;QACD,KAAK,GAAG,QAAQ,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC;QACrD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,QAAQ,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,+BAA+B,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACxI,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;YACxD,OAAO,MAAM,CAAC,YAAY,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;QACzR,CAAC;QACD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,yDAAyD,GAAG,CAAC,CAAC;YACvM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;YACrC,OAAO;gBACL,GAAG,WAAW;gBACd,OAAO,EAAE;oBACP,KAAK,EACH,yFAAyF;wBACzF,uFAAuF;oBACzF,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,IAAI,CAAC,IAAI;iBACrB;aACF,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACxE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,SAAS,GAA4E,EAAE,CAAC;QAC9F,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,2FAA2F;YAC3F,iFAAiF;YACjF,OAAO;gBACL,GAAG,WAAW;gBACd,OAAO,EAAE;oBACP,KAAK,EACH,SAAS;yBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,UAAU,CAAC,MAAM,4BAA4B,SAAS,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;yBACzJ,IAAI,CAAC,IAAI,CAAC,GAAG,oDAAoD;oBACtE,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE,IAAI,CAAC,IAAI;oBACpB,SAAS;oBACT,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBACpE;aACF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,IAAI,GACR,SAAS,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC,gBAAgB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3D,CAAC,CAAC,4CAA4C,CAAC;YACnD,OAAO;gBACL,GAAG,WAAW;gBACd,OAAO,EAAE;oBACP,KAAK,EACH,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBACrG,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,4BAA4B,SAAS,YAAY;wBACvF,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,oBAAoB,SAAS,8CAA8C;wBAClH,MAAM,IAAI,wBAAwB;oBACpC,IAAI,EAAE,qBAAqB;oBAC3B,SAAS,EAAE,IAAI,CAAC,IAAI;oBACpB,OAAO;oBACP,SAAS;iBACV;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,2GAA2G;AAC3G,SAAS,aAAa,CACpB,IAA6B,EAC7B,SAAiB,EACjB,QAAkB,EAClB,GAAwC,EACxC,QAAuD;IAEvD,gGAAgG;IAChG,sFAAsF;IACtF,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,IAAI,KAAK,GAA2B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,GAAG,QAAQ,CAAC;YACjB,GAAG,EAAE,CAAC,kCAAkC,SAAS,gCAAgC,QAAQ,iCAAiC,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,iGAAiG;IACjG,+CAA+C;IAC/C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAsB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/G,8FAA8F;IAC9F,gGAAgG;IAChG,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,OAAO,GACX,UAAU,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAsC,CAAC;QACxF,CAAC,CAAE,UAAuC;QAC1C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAuB,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrH,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,eAAe,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACxE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAA4B,CAAC;YACvC,OAAO,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ;gBAC1G,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,MAAM,UAAU,GAAkB;QAChC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QACrD,WAAW,EAAE,kBAAkB;QAC/B,UAAU;QACV,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC;YACtH,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxL,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAE1F;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA4B;IAC/D,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE;QACnC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,UAAU,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,YAAY,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACzI,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAsC,EAAE,UAAmB,EAAE,SAAiB,EAAE,iBAAoC,EAAE;IACpJ,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,uHAAuH;IACvH,4EAA4E;IAC5E,qHAAqH;IACrH,oHAAoH;IACpH,wHAAwH;IACxH,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACvH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACjH,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpF,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAQ,EAAE,SAAiB;IACjD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAClG,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;AACtF,CAAC;AAED;6DAC6D;AAC7D,MAAM,UAAU,cAAc,CAAC,OAA4B;IACzD,MAAM,GAAG,GAAG,CAAC,CAAgC,EAAY,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACvH,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,uCAAuC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,uFAAuF,CAAC;AAEhI,MAAM,UAAU,wBAAwB,CAAC,GAAoB,EAAE,OAAoB,EAAE,IAA0B;IAC7G,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAChC,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,UAAU,+BAA+B,CAAC,CAAC;IAE3E,iFAAiF;IACjF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAA0B,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEnH,yFAAyF;IACzF,2FAA2F;IAC3F,6FAA6F;IAC7F,yCAAyC;IACzC,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,KAAK,CAAC,2BAA2B,EAAE,CAAC;QACpC,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,8EAA8E;QAC9E,MAAM,KAAK,GAAG,KAAK,EAAE,GAAmB,EAAE,KAAmB,EAAyB,EAAE;YACtF,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAA+B,CAAC;YAC1D,2GAA2G;YAC3G,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAChL,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,wFAAwF,CAAC,CAAC;gBACzI,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,UAAU,aAAa,kBAAkB,CAAC,SAAS,CAAC,cAAc,CAAC;YAErF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,SAAS,YAAY,EAAE,CAAC,CAAC;YAE5F,IAAI,MAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;YAEhE,2FAA2F;YAC3F,4FAA4F;YAC5F,2FAA2F;YAC3F,kDAAkD;YAClD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,OAAO,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,GAAG,CAAC,MAAM,OAAO,OAAO,aAAa,SAAS,6DAA6D,CAAC,CAAC;gBACvI,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,MAAM,GAA0B,IAAI,CAAC;YACzC,IAAI,QAAQ,GAAwD,IAAI,CAAC;YACzE,IAAI,WAA+B,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC/D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;gBACzD,IAAI,GAAG,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC;gBAC/C,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;gBACrK,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC9E,qFAAqF;gBACrF,uFAAuF;gBACvF,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACxE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC9E,IAAI,OAAO,KAAK,IAAI;wBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,qFAAqF;gBACrF,mFAAmF;gBACnF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;oBAAE,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACjF,QAAQ,GAAG,MAAM,CAAC;YACpB,CAAC;iBAAM,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC/C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;gBACzD,IAAI,GAAG,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBAC5G,2GAA2G;gBAC3G,8FAA8F;gBAC9F,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,UAAU,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,GAAG,EAAE,CAAC,wBAAwB,UAAU,aAAa,SAAS,6DAA6D,CAAC,CAAC;oBAClI,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;gBACpH,CAAC;gBACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,4FAA4F;gBAC5F,yFAAyF;gBACzF,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChG,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC,GAAG,EAAE,CACR,sBAAsB,OAAO,CAAC,WAAW,aAAa,SAAS,WAAW,OAAO,CAAC,QAAQ,aAAa;wBACrG,sBAAsB,OAAO,CAAC,IAAI,oBAAoB,CACzD,CAAC;oBACF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBACD,QAAQ,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,kBAAkB,EAAE,CAAC;YAC3F,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,CAAa,EAAiB,EAAE,CAC5C,QAAQ,KAAK,IAAI;gBACf,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;gBACjH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE7C,IAAI,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,sFAAsF;oBACtF,qFAAqF;oBACrF,sFAAsF;oBACtF,6EAA6E;oBAC7E,IAAI,MAAM,KAAK,IAAI,IAAK,GAA0B,CAAC,gBAAgB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACvG,IAAI,CAAC,GAAG,EAAE,CAAC,kCAAkC,SAAS,0DAA2D,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC1I,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBACnD,CAAC;oBACD,IAAI,QAAQ,KAAK,IAAI,IAAK,GAA0B,CAAC,gBAAgB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACzG,IAAI,CAAC,GAAG,EAAE,CAAC,gCAAgC,SAAS,0DAA2D,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;wBACxI,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACjD,CAAC;oBACD,uFAAuF;oBACvF,sFAAsF;oBACtF,iDAAiD;oBACjD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW;wBAAE,MAAM,GAAG,CAAC;oBAClE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACtB,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC;oBAAC,OAAO,QAAQ,EAAE,CAAC;wBAClB,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC;oBACD,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,WAAW,KAAK,SAAS;oBAAE,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,2FAA2F;QAC3F,+FAA+F;QAC/F,mFAAmF;QACnF,6FAA6F;QAC7F,yEAAyE;QACzE,KAAK,CAAC,IAAI,CACR,GAAG,UAAU,2CAA2C,EACxD;YACE,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,WAAW,EAAE,6BAA6B;oBAC1C,YAAY,EAAE,4BAA4B;oBAC1C,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;iBACjD;aACF;SACF,EACD,KAAK,CACN,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,oCAAoC,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACpB,GAAmB,EACnB,KAAmB,EACnB,MAAkB,EAClB,MAAc,EACd,MAAc,EACd,MAA+F,EAC/F,SAAwC,EACxC,QAAgB,EAChB,GAA2B;IAE3B,OAAO,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/D,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAC7C,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpC,6FAA6F;QAC7F,4EAA4E;QAC5E,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,GAAU,EAAQ,EAAE;YAC/B,GAA0B,CAAC,gBAAgB,GAAG,UAAU,CAAC;YAC1D,aAAa,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,WAAW,CAC1B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAC/E,CAAC,GAAG,EAAE,EAAE;YACN,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACtB,IAAI,UAAU,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,8CAA8C,CAAC,CAAC;oBACnG,cAAc,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC;gBACrC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;oBAC7F,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAuB,CAAC;wBACvE,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9D,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE;gCACtC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;gCACpC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;gCAClC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9E,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACxF,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACpF,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC/E,CAAC,CAAC;4BACH,GAAG,EAAE,CACH,mBAAmB,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,OAAO,CAAC,SAAS,cAAc,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CACnJ,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,GAAG,EAAE,CAAC,kCAAkC,MAAM,CAAC,OAAO,CAAC,SAAS,aAAa,MAAM,qDAAqD,CAAC,CAAC;wBAC5I,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,EAAE,CACH,kCAAkC,MAAM,CAAC,OAAO,CAAC,SAAS,qCACxD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,kFAAkF,CACnF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,GAAG,GAAsC,EAAE,CAAC;gBAClD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,gBAAgB;wBAAE,SAAS;oBACvF,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAChH,CAAC;gBACD,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAC5E,IAAI,SAAS,KAAK,SAAS;oBAAE,GAAG,CAAC,yBAAyB,CAAC,GAAG,SAAS,CAAC;gBACxE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACjC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACzB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3B,IAAI,UAAU,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,8CAA8C,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW;oBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/C,cAAc,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW;gBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,UAAU,GAAG,IAAI,CAAC;YAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAoB,EACpB,IAAuI,EACvI,SAAiB,EACjB,IAA6B,EAC7B,OAAe;IAEf,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5E,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,SAAS,YAAY,EAAE,EAAE,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IACxM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/E,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;IACzE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,MAAM,IAAI,GAAI,MAAoC,EAAE,IAAI,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAC3J,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE;gBAChC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;gBACpC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;gBAClC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxF,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/E,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA0B,CAAC,gBAAgB,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;QAC7G,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;4DAC4D;AAC5D,SAAS,YAAY,CAAC,MAAkB,EAAE,MAAc,EAAE,IAAY;IACpE,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACnD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,QAAQ,GAAG,WAAW,CAC1B;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;SAC9H,EACD,CAAC,GAAG,EAAE,EAAE;YACN,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,GAA0B,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACpD,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtG,CAAC,CACF,CAAC;QACF,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACzB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC1B,GAA0B,CAAC,gBAAgB,GAAG,UAAU,CAAC;YAC1D,aAAa,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,MAAM,IAAI,GAAI,GAAoC,EAAE,IAAI,CAAC;IACzD,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,cAAc,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,IAAI,GAAI,GAAoC,EAAE,IAAI,CAAC;IACzD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,4BAA4B;QAAE,OAAO,IAAI,CAAC;IAChF,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACtE,CAAC;AAED,kGAAkG;AAClG,SAAS,WAAW,CAAC,KAAmB,EAAE,GAAY,EAAE,GAA2B;IACjF,IAAI,CAAC,CAAC,GAAG,YAAY,sBAAsB,CAAC;QAAE,MAAM,GAAG,CAAC;IACxD,GAAG,EAAE,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CACd,GAAmB,EACnB,KAAmB,EACnB,MAAkB,EAClB,MAAc,EACd,MAAc;IAEd,OAAO,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACzD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,QAAQ,GAAG,WAAW,CAC1B;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;SACxD,EACD,CAAC,GAAG,EAAE,EAAE;YACN,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,OAAO,GAAsC,EAAE,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAS;gBAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpH,CAAC;YACD,2FAA2F;YAC3F,uFAAuF;YACvF,wFAAwF;YACxF,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClF,MAAM,WAAW,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;gBACvD,OAAO,CAAC,yBAAyB,CAAC,GAAG;oBACnC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;oBAC9F,uBAAuB;iBACxB,CAAC;YACJ,CAAC;YACD,6FAA6F;YAC7F,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC1E,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,GAAG,CAAC;YAChE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YACpD,oFAAoF;YACpF,2EAA2E;YAC3E,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACtB,IAAI,UAAU,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,qDAAqD,CAAC,CAAC;oBAC1G,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpB,cAAc,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACpB,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3B,IAAI,UAAU,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,8CAA8C,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW;oBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/C,cAAc,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW;gBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAC/C,aAAa,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,wFAAwF;QACxF,yFAAyF;QACzF,kFAAkF;QAClF,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,UAAU,GAAG,IAAI,CAAC;YAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * THE SOURCE PACKET OF A CHAT-MADE DOCUMENT (DES-CHAT-ARTIFACTS-001 §5.2, §5.3; slice A3).
3
+ *
4
+ * On Go, the draft gets what the chat had, as files in its own attempt's inbox, each labelled as DATA and never as
5
+ * instructions. Two folders:
6
+ *
7
+ * ```
8
+ * sources/brief-<run>.md the chat seat's summary of the request: scope and structure only
9
+ * sources/conversation-<chat>-to-<turn>.md the person's words (labelled) and the agents' answers (labelled "may be
10
+ * wrong"), each answer followed by the run briefs its turn was given
11
+ * sources/message-<chat>-<turn>.md one answer named as a source, plus the run briefs it was grounded on
12
+ * sources/MANIFEST-<run>.json token → files + sha256, and what was struck and why
13
+ * records/run-<id>-<sha8>.md a run brief from crew's records (A1's builder), named by content
14
+ * records/doc-<mount>__<doc>-v<n>.html a document used as a source
15
+ * records/attachment-<id>-<safe> a chat attachment
16
+ * ```
17
+ *
18
+ * `records/` holds only what a figure may come from, so it is the folder the document floor's claims check traces
19
+ * numbers and URLs to (beside the repository snapshots); the request, the conversation and agent answers never are.
20
+ *
21
+ * One builder, pure over its deps: ids are validated against their grammar, file names come from ids (never from a
22
+ * label), every read is of a regular file beneath its root through no link, and the whole packet is capped with room
23
+ * kept for the brief and the manifest. A source is staged and joins the packet only whole: one that fails is struck
24
+ * with every file it would have brought. The run briefs an answer was GIVEN are recovered by their recorded sha256 when
25
+ * the chat's copies are still there; otherwise crew's current brief is used and the file says so. Files a document
26
+ * already holds in its canonical packet (`doc-binding.ts`) are reused by token, never rebuilt, so a later attempt can
27
+ * never change what an earlier one was given under the same name.
28
+ */
29
+ import type { ArtifactProposal, ChatTranscriptRecord, SessionView } from '../core/types.js';
30
+ import { type RunBrief } from '../api/run-brief.js';
31
+ /** The whole packet, in bytes (§5.3), the brief and the manifest included. */
32
+ export declare const PACKET_MAX_BYTES: number;
33
+ /** One file, in bytes. */
34
+ export declare const PACKET_FILE_MAX_BYTES: number;
35
+ /** Kept for the request's brief (its text is capped at 8000 characters). */
36
+ export declare const PACKET_BRIEF_RESERVE: number;
37
+ /** A conversation snapshot keeps at most this many turns (the latest ones). */
38
+ export declare const CONVERSATION_TURNS_MAX = 60;
39
+ /** The folder of the inbox a packet file goes in: the records a figure may come from, or the rest. */
40
+ export declare function packetDirOf(name: string): 'records' | 'sources';
41
+ export interface PacketFile {
42
+ name: string;
43
+ bytes: Buffer;
44
+ sha256: string;
45
+ }
46
+ export interface PacketManifestEntry {
47
+ token: string;
48
+ files: Array<{
49
+ file: string;
50
+ sha256: string;
51
+ bytes: number;
52
+ }>;
53
+ }
54
+ export interface SourcePacket {
55
+ /** Every file this run's inbox gets, MANIFEST last. */
56
+ files: PacketFile[];
57
+ /** The files that join the document's canonical packet (everything but this run's own brief and manifest). */
58
+ canonical: PacketFile[];
59
+ /** Token → the canonical files it brought (recorded on the binding). */
60
+ tokens: Record<string, string[]>;
61
+ struck: Array<{
62
+ token: string;
63
+ reason: string;
64
+ }>;
65
+ manifest: {
66
+ run: string;
67
+ chat: string;
68
+ proposal: string;
69
+ files: PacketManifestEntry[];
70
+ struck: Array<{
71
+ token: string;
72
+ reason: string;
73
+ }>;
74
+ };
75
+ }
76
+ export interface PacketInput {
77
+ runId: string;
78
+ chatId: string;
79
+ pid: string;
80
+ /** The conversation snapshot is cut after this turn (the proposal's turn; a retry keeps the first one's). */
81
+ cutoffTurnId: string | null;
82
+ /** The effective proposal (edits applied): its sources and brief. */
83
+ resolution: ArtifactProposal;
84
+ /** The chat's records (the live transcript, or the kept history). */
85
+ records: readonly ChatTranscriptRecord[];
86
+ /** A target project the person moved the document to (an everything chat): answers whose records are outside it
87
+ * are struck from the conversation, and a `message:` source whose records are outside it is struck whole.
88
+ * `undefined` = no re-check (the chat's own scope already held). */
89
+ recheckProject?: string | null;
90
+ /** Files the document's canonical packet already holds, by token (reused, never rebuilt). */
91
+ held?: {
92
+ tokens: Record<string, string[]>;
93
+ bytes: (name: string) => Buffer;
94
+ };
95
+ /** Where the chat is kept NOW (its own id, or the archive id a reuse of the id moved it to): attachments and the
96
+ * chat's context briefs are read from there. File names keep {@link chatId}. Default: `chatId`. */
97
+ storageChatId?: string;
98
+ }
99
+ export interface PacketDeps {
100
+ runs(): Promise<SessionView[]>;
101
+ /** A1's run brief (`buildRunBrief`). */
102
+ brief(view: SessionView): Promise<RunBrief>;
103
+ docsRoot(projectId: string): Promise<string | null>;
104
+ /** A chat attachment's stored file, or `null`. */
105
+ attachment(chatId: string, id: string): {
106
+ name: string;
107
+ path: string;
108
+ } | null;
109
+ /** The exact brief a turn was given (`context/run-…md` in the chat's scratch root), when its bytes still match the
110
+ * recorded sha256; `null` when the copy is gone (the chat ended, the daemon restarted) or differs. */
111
+ contextBrief?(chatId: string, relPath: string, sha: string): Buffer | null;
112
+ }
113
+ /** An attachment's name, reduced to safe characters (the id leads, so two names never collide). */
114
+ export declare function safeName(name: string): string;
115
+ /**
116
+ * Build the packet for one attempt. Throws only for a broken invariant (two contents under one name); a source that
117
+ * cannot be read or does not fit is struck with the reason, with nothing of it in the packet, and the rest goes on.
118
+ */
119
+ export declare function buildSourcePacket(input: PacketInput, deps: PacketDeps): Promise<SourcePacket>;
120
+ /**
121
+ * The draft task's packet clause (single line: the PTY seat runner refuses embedded newlines). It names the files, says
122
+ * where figures may come from and how to cite them, and gives the reviewing step the hashes crew holds, which the writer
123
+ * cannot change.
124
+ */
125
+ export declare function packetClause(inboxDir: string, packet: SourcePacket, notesWhere: string): string;
126
+ //# sourceMappingURL=source-packet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-packet.d.ts","sourceRoot":"","sources":["../../src/interactive/source-packet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5F,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI5D,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAC5C,0BAA0B;AAC1B,eAAO,MAAM,qBAAqB,QAAa,CAAC;AAChD,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAM9C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAWzC,sGAAsG;AACtG,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE/D;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,8GAA8G;IAC9G,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAC3I;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,6GAA6G;IAC7G,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,UAAU,EAAE,gBAAgB,CAAC;IAC7B,qEAAqE;IACrE,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC;;yEAEqE;IACrE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6FAA6F;IAC7F,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,CAAC;IAC7E;wGACoG;IACpG,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/B,wCAAwC;IACxC,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpD,kDAAkD;IAClD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E;2GACuG;IACvG,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5E;AAID,mGAAmG;AACnG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7C;AAsBD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAmUnG;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAoB/F"}