@openai/agents-extensions 0.11.0 → 0.11.2

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 (62) hide show
  1. package/dist/ai-sdk/index.js +37 -32
  2. package/dist/ai-sdk/index.js.map +1 -1
  3. package/dist/ai-sdk/index.mjs +37 -32
  4. package/dist/ai-sdk/index.mjs.map +1 -1
  5. package/dist/metadata.js +2 -2
  6. package/dist/metadata.mjs +2 -2
  7. package/dist/sandbox/blaxel/sandbox.d.ts +6 -3
  8. package/dist/sandbox/blaxel/sandbox.js +90 -19
  9. package/dist/sandbox/blaxel/sandbox.js.map +1 -1
  10. package/dist/sandbox/blaxel/sandbox.mjs +92 -21
  11. package/dist/sandbox/blaxel/sandbox.mjs.map +1 -1
  12. package/dist/sandbox/cloudflare/sandbox.d.ts +6 -2
  13. package/dist/sandbox/cloudflare/sandbox.js +88 -14
  14. package/dist/sandbox/cloudflare/sandbox.js.map +1 -1
  15. package/dist/sandbox/cloudflare/sandbox.mjs +89 -15
  16. package/dist/sandbox/cloudflare/sandbox.mjs.map +1 -1
  17. package/dist/sandbox/daytona/sandbox.d.ts +6 -2
  18. package/dist/sandbox/daytona/sandbox.js +17 -2
  19. package/dist/sandbox/daytona/sandbox.js.map +1 -1
  20. package/dist/sandbox/daytona/sandbox.mjs +18 -3
  21. package/dist/sandbox/daytona/sandbox.mjs.map +1 -1
  22. package/dist/sandbox/e2b/sandbox.d.ts +4 -2
  23. package/dist/sandbox/e2b/sandbox.js +15 -13
  24. package/dist/sandbox/e2b/sandbox.js.map +1 -1
  25. package/dist/sandbox/e2b/sandbox.mjs +16 -14
  26. package/dist/sandbox/e2b/sandbox.mjs.map +1 -1
  27. package/dist/sandbox/modal/sandbox.d.ts +6 -2
  28. package/dist/sandbox/modal/sandbox.js +16 -8
  29. package/dist/sandbox/modal/sandbox.js.map +1 -1
  30. package/dist/sandbox/modal/sandbox.mjs +18 -10
  31. package/dist/sandbox/modal/sandbox.mjs.map +1 -1
  32. package/dist/sandbox/runloop/sandbox.d.ts +4 -2
  33. package/dist/sandbox/runloop/sandbox.js +17 -17
  34. package/dist/sandbox/runloop/sandbox.js.map +1 -1
  35. package/dist/sandbox/runloop/sandbox.mjs +18 -18
  36. package/dist/sandbox/runloop/sandbox.mjs.map +1 -1
  37. package/dist/sandbox/shared/archive.d.ts +3 -1
  38. package/dist/sandbox/shared/archive.js +38 -1
  39. package/dist/sandbox/shared/archive.js.map +1 -1
  40. package/dist/sandbox/shared/archive.mjs +39 -2
  41. package/dist/sandbox/shared/archive.mjs.map +1 -1
  42. package/dist/sandbox/shared/index.d.ts +1 -1
  43. package/dist/sandbox/shared/index.js +3 -1
  44. package/dist/sandbox/shared/index.js.map +1 -1
  45. package/dist/sandbox/shared/index.mjs +1 -1
  46. package/dist/sandbox/shared/index.mjs.map +1 -1
  47. package/dist/sandbox/shared/session.d.ts +2 -0
  48. package/dist/sandbox/shared/session.js +154 -5
  49. package/dist/sandbox/shared/session.js.map +1 -1
  50. package/dist/sandbox/shared/session.mjs +152 -5
  51. package/dist/sandbox/shared/session.mjs.map +1 -1
  52. package/dist/sandbox/shared/sessionBase.d.ts +7 -3
  53. package/dist/sandbox/shared/sessionBase.js +15 -3
  54. package/dist/sandbox/shared/sessionBase.js.map +1 -1
  55. package/dist/sandbox/shared/sessionBase.mjs +16 -4
  56. package/dist/sandbox/shared/sessionBase.mjs.map +1 -1
  57. package/dist/sandbox/vercel/sandbox.d.ts +4 -2
  58. package/dist/sandbox/vercel/sandbox.js +16 -15
  59. package/dist/sandbox/vercel/sandbox.js.map +1 -1
  60. package/dist/sandbox/vercel/sandbox.mjs +17 -16
  61. package/dist/sandbox/vercel/sandbox.mjs.map +1 -1
  62. package/package.json +5 -4
@@ -1,6 +1,6 @@
1
1
  import { UserError } from '@openai/agents-core';
2
2
  import { loadEnv } from '@openai/agents-core/_shims';
3
- import { SandboxArchiveError, SandboxMountError, SandboxProviderError, SandboxUnsupportedFeatureError, SandboxWorkspaceReadNotFoundError, normalizeSandboxClientCreateArgs, } from '@openai/agents-core/sandbox';
3
+ import { SandboxArchiveError, SandboxMountError, SandboxProviderError, SandboxUnsupportedFeatureError, SandboxWorkspaceReadNotFoundError, normalizeSandboxClientCreateArgs, validateSandboxArchiveLimits, } from '@openai/agents-core/sandbox';
4
4
  import { assertTarWorkspacePersistence, toWorkspaceArchiveBytes, validateWorkspaceTarArchive, } from "../shared/archive.mjs";
5
5
  import { RemoteSandboxEditor } from "../shared/editor.mjs";
6
6
  import { assertShellEnvironmentName, materializeEnvironment, } from "../shared/environment.mjs";
@@ -21,6 +21,7 @@ export class CloudflareSandboxSession {
21
21
  apiKey;
22
22
  ptyProcesses = new PtyProcessRegistry();
23
23
  concurrencyLimits;
24
+ archiveLimits;
24
25
  remotePathResolver = async (path, options) => await this.resolveRemotePath(path, options);
25
26
  constructor(args) {
26
27
  this.state = {
@@ -29,6 +30,11 @@ export class CloudflareSandboxSession {
29
30
  };
30
31
  this.apiKey = args.apiKey;
31
32
  this.concurrencyLimits = args.concurrencyLimits;
33
+ this.setArchiveLimits(args.archiveLimits);
34
+ }
35
+ setArchiveLimits(limits) {
36
+ validateSandboxArchiveLimits(limits);
37
+ this.archiveLimits = limits;
32
38
  }
33
39
  createEditor(runAs) {
34
40
  if (runAs) {
@@ -212,7 +218,7 @@ export class CloudflareSandboxSession {
212
218
  return false;
213
219
  }
214
220
  if (!response.ok) {
215
- throw cloudflareProviderHttpError('check running state', response, {
221
+ throw await cloudflareProviderHttpErrorWithBody('check running state', response, {
216
222
  sandboxId: this.state.sandboxId,
217
223
  });
218
224
  }
@@ -315,11 +321,14 @@ export class CloudflareSandboxSession {
315
321
  validateWorkspaceTarArchive(archive);
316
322
  return archive;
317
323
  }
318
- async hydrateWorkspace(data) {
324
+ async hydrateWorkspace(data, options = {}) {
319
325
  assertTarWorkspacePersistence('CloudflareSandboxClient', 'tar');
320
326
  const archive = toWorkspaceArchiveBytes(data);
321
327
  validateWorkspaceTarArchive(archive, {
322
328
  allowExternalSymlinkTargets: false,
329
+ archiveLimits: options.archiveLimits === undefined
330
+ ? this.archiveLimits
331
+ : options.archiveLimits,
323
332
  });
324
333
  const response = await this.fetch(`/v1/sandbox/${this.state.sandboxId}/hydrate`, {
325
334
  method: 'POST',
@@ -346,7 +355,7 @@ export class CloudflareSandboxSession {
346
355
  method: 'DELETE',
347
356
  });
348
357
  if (!response.ok && response.status !== 404) {
349
- throw cloudflareProviderHttpError('delete sandbox', response, {
358
+ throw await cloudflareProviderHttpErrorWithBody('delete sandbox', response, {
350
359
  sandboxId: this.state.sandboxId,
351
360
  });
352
361
  }
@@ -418,7 +427,7 @@ export class CloudflareSandboxSession {
418
427
  }),
419
428
  });
420
429
  if (!response.ok) {
421
- throw cloudflareProviderHttpError('execute command', response, {
430
+ throw await cloudflareProviderHttpErrorWithBody('execute command', response, {
422
431
  sandboxId: this.state.sandboxId,
423
432
  });
424
433
  }
@@ -433,6 +442,7 @@ export class CloudflareSandboxSession {
433
442
  const decoder = new TextDecoder();
434
443
  const reader = response.body.getReader();
435
444
  let buffer = '';
445
+ let rawStream = '';
436
446
  let stdout = '';
437
447
  let stderr = '';
438
448
  let exitCode;
@@ -473,7 +483,9 @@ export class CloudflareSandboxSession {
473
483
  if (chunk.done) {
474
484
  break;
475
485
  }
476
- buffer += decoder.decode(chunk.value, { stream: true });
486
+ const text = decoder.decode(chunk.value, { stream: true });
487
+ buffer += text;
488
+ rawStream += text;
477
489
  const { events, remaining } = splitCompleteSseEvents(buffer);
478
490
  buffer = remaining;
479
491
  for (const part of events) {
@@ -484,18 +496,40 @@ export class CloudflareSandboxSession {
484
496
  processEvent(event);
485
497
  }
486
498
  }
487
- buffer += decoder.decode();
499
+ const finalText = decoder.decode();
500
+ buffer += finalText;
501
+ rawStream += finalText;
488
502
  for (const part of collectSseEvents(buffer)) {
489
503
  const event = parseSseEvent(part);
490
504
  if (event) {
491
505
  processEvent(event);
492
506
  }
493
507
  }
508
+ if (exitCode === undefined && !stdout && !stderr && rawStream.trim()) {
509
+ throw new SandboxProviderError('CloudflareSandboxClient failed to execute command.', {
510
+ provider: 'cloudflare',
511
+ operation: 'execute command',
512
+ sandboxId: this.state.sandboxId,
513
+ cause: formatCloudflareResponseBody(rawStream),
514
+ });
515
+ }
516
+ const output = [stdout.trimEnd(), stderr.trimEnd()]
517
+ .filter((value) => value.length > 0)
518
+ .join('\n');
519
+ if (exitCode === undefined && output.length === 0) {
520
+ const cause = formatCloudflareResponseBody(rawStream);
521
+ if (cause) {
522
+ throw new SandboxProviderError('CloudflareSandboxClient failed to execute command.', {
523
+ provider: 'cloudflare',
524
+ operation: 'execute command',
525
+ sandboxId: this.state.sandboxId,
526
+ cause,
527
+ });
528
+ }
529
+ }
494
530
  return {
495
531
  exitCode: exitCode ?? 1,
496
- output: [stdout.trimEnd(), stderr.trimEnd()]
497
- .filter((value) => value.length > 0)
498
- .join('\n'),
532
+ output,
499
533
  };
500
534
  }
501
535
  async runAsCommandRunner(command, options = {}) {
@@ -519,7 +553,7 @@ export class CloudflareSandboxSession {
519
553
  });
520
554
  }
521
555
  if (!response.ok) {
522
- throw cloudflareProviderHttpError('read file', response, {
556
+ throw await cloudflareProviderHttpErrorWithBody('read file', response, {
523
557
  sandboxId: this.state.sandboxId,
524
558
  path,
525
559
  });
@@ -536,7 +570,7 @@ export class CloudflareSandboxSession {
536
570
  body: toArrayBuffer(content),
537
571
  });
538
572
  if (!response.ok) {
539
- throw cloudflareProviderHttpError('write file', response, {
573
+ throw await cloudflareProviderHttpErrorWithBody('write file', response, {
540
574
  sandboxId: this.state.sandboxId,
541
575
  path,
542
576
  });
@@ -668,7 +702,7 @@ export class CloudflareSandboxClient {
668
702
  }),
669
703
  }, timeouts.createTimeoutMs ?? timeouts.requestTimeoutMs), { workerUrl: normalizedWorkerUrl });
670
704
  if (!response.ok) {
671
- throw cloudflareProviderHttpError('create sandbox', response, {
705
+ throw await cloudflareProviderHttpErrorWithBody('create sandbox', response, {
672
706
  workerUrl: normalizedWorkerUrl,
673
707
  });
674
708
  }
@@ -677,6 +711,7 @@ export class CloudflareSandboxClient {
677
711
  const session = new CloudflareSandboxSession({
678
712
  apiKey,
679
713
  concurrencyLimits: createArgs.concurrencyLimits,
714
+ archiveLimits: createArgs.archiveLimits,
680
715
  state: {
681
716
  manifest,
682
717
  workerUrl: normalizedWorkerUrl,
@@ -734,6 +769,7 @@ export class CloudflareSandboxClient {
734
769
  assertSandboxManifestMetadataSupported('CloudflareSandboxClient', state.manifest, MOUNT_MANIFEST_METADATA_SUPPORT);
735
770
  assertCloudflareManifestMountsSupported(state.manifest);
736
771
  const session = new CloudflareSandboxSession({
772
+ archiveLimits: this.options.archiveLimits,
737
773
  state: {
738
774
  ...state,
739
775
  sandboxId,
@@ -876,14 +912,52 @@ async function cloudflareMountError(args) {
876
912
  : `HTTP ${args.response.status}`,
877
913
  });
878
914
  }
879
- function cloudflareProviderHttpError(operation, response, context = {}) {
880
- return new SandboxProviderError(`CloudflareSandboxClient failed to ${operation}.`, {
915
+ async function cloudflareProviderHttpErrorWithBody(operation, response, context = {}) {
916
+ const cause = await readCloudflareErrorBody(response);
917
+ return new SandboxProviderError(`CloudflareSandboxClient failed to ${operation}${cause ? `: ${cause}` : ''}`, {
881
918
  provider: 'cloudflare',
882
919
  operation,
883
920
  status: response.status,
884
921
  ...context,
922
+ ...(cause ? { cause } : {}),
885
923
  });
886
924
  }
925
+ async function readCloudflareErrorBody(response) {
926
+ const body = await response.text().catch(() => '');
927
+ const formatted = formatCloudflareResponseBody(body);
928
+ if (formatted && formatted !== 'Not a JSON error response.') {
929
+ return formatted;
930
+ }
931
+ return body.trim()
932
+ ? `HTTP ${response.status}: ${truncateCloudflareErrorBody(body.trim())}`
933
+ : `HTTP ${response.status}`;
934
+ }
935
+ function formatCloudflareResponseBody(body) {
936
+ const trimmed = body.trim();
937
+ if (!trimmed) {
938
+ return '';
939
+ }
940
+ try {
941
+ const payload = JSON.parse(trimmed);
942
+ if (isRecord(payload)) {
943
+ const error = payload.error;
944
+ const code = payload.code;
945
+ if (typeof error === 'string' && typeof code === 'string') {
946
+ return `${code}: ${error}`;
947
+ }
948
+ if (typeof error === 'string') {
949
+ return error;
950
+ }
951
+ }
952
+ }
953
+ catch {
954
+ // Fall through to raw text.
955
+ }
956
+ return truncateCloudflareErrorBody(trimmed);
957
+ }
958
+ function truncateCloudflareErrorBody(body) {
959
+ return body.length > 500 ? `${body.slice(0, 497)}...` : body;
960
+ }
887
961
  function waitForCloudflarePtyReady(socket) {
888
962
  return new Promise((resolve, reject) => {
889
963
  let removeMessage = () => { };
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.mjs","sourceRoot":"","sources":["../../../src/sandbox/cloudflare/sandbox.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAwB,MAAM,qBAAqB;OAC9D,EAAE,OAAO,EAAE,MAAM,4BAA4B;OAC7C,EAEL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,GAgBjC,MAAM,6BAA6B;OAC7B,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,2BAA2B,GAC5B;OACM,EAAE,mBAAmB,EAAE;OACvB,EACL,0BAA0B,EAC1B,sBAAsB,GACvB;OACM,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,GAC5B;OACM,EAAE,oBAAoB,EAAE;OACxB,EACL,mCAAmC,EACnC,sCAAsC,EACtC,+BAA+B,GAChC;OACM,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,GACf;OACM,EAAE,2BAA2B,EAAE;OAC/B,EACL,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GAGd;OACM,EACL,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,oCAAoC,GACrC;OACM,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,iBAAiB,EACjB,eAAe,GAChB;OACM,EACL,uBAAuB,EACvB,uCAAuC,EACvC,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB;OACM,EACL,0CAA0C,EAC1C,kCAAkC,GACnC;OACM,EACL,QAAQ,EACR,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,GACX;OAMM,EACL,gCAAgC,EAChC,mCAAmC,EACnC,4BAA4B,GAE7B;AA+BD,MAAM,OAAO,wBAAwB;IAC1B,KAAK,CAAgC;IAC7B,MAAM,CAAU;IAChB,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACxC,iBAAiB,CAA4B;IAC7C,kBAAkB,GAA8B,KAAK,EACpE,IAAI,EACJ,OAAO,EACP,EAAE,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEjD,YAAY,IAIX;QACC,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,SAAS,EAAE,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SACvE,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,uBAAuB,CAAC;gBAC7B,YAAY,EAAE,yBAAyB;gBACvC,UAAU,EAAE,YAAY;gBACxB,KAAK;gBACL,WAAW,EAAE,IAAI,CAAC,kBAAkB;gBACpC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC;YAC7B,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACvD,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACpB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACjD,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACvB,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1D,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,oBAAoB,CAC5B,gDAAgD,EAChD;wBACE,QAAQ,EAAE,YAAY;wBACtB,SAAS,EAAE,aAAa;wBACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;wBAC/B,IAAI;wBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAqB;QACrC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,uBAAuB,CACrC,iBAAiB,CACf,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9D,EACD,IAAI,CAAC,KAAK,CACX,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnE,OAAO,kBAAkB,CAAC;YACxB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,OAAO,MAAM,aAAa,CAAC;YACzB,YAAY,EAAE,yBAAyB;YACvC,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAqB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,YAAY,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QACpD,IAAI,qBAAqB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,GAAG,EAAE,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/C,YAAY,EAAE,yBAAyB;YACvC,OAAO,EAAE,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC;YACxD,qBAAqB,EAAE,8BAA8B,CACnD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ;YACD,SAAS,EAAE,CAAC,aAAa,EAAE,EAAE;gBAC3B,qBAAqB,GAAG,uBAAuB,CAC7C,aAAa,EACb,SAAS,EACT,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CACpD,CAAC;gBACF,YAAY,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;gBACxD,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,YAAY,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;QAED,KAAK,CAAC,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,KAAK,CAAC,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,qBAAqB,EAAE,CAAC;YACxB,mBAAmB,EAAE,CAAC;YACtB,mBAAmB,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QACF,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,kBAAkB,CAAC;gBACjC,GAAG,IAAI;gBACP,GAAG,EAAE,uBAAuB,CAC1B,iBAAiB,CACf,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9D,EACD,IAAI,CAAC,KAAK,CACX;aACF,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;YAEtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5D,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;YACxC,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,MAAM,mBAAmB,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS;YACT,KAAK;YACL,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAmB;QACjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;YACtB,CAAC,CAAC,MAAM,mBAAmB,CAAC;gBACxB,YAAY,EAAE,yBAAyB;gBACvC,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/C,CAAC;YACJ,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAkB;QAC/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;YACtB,CAAC,CAAC,MAAM,mBAAmB,CAAC;gBACxB,YAAY,EAAE,yBAAyB;gBACvC,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/C,CAAC;YACJ,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,KAAc;QAC3C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,WAAW,UAAU,CAAC,YAAY,CAAC,EAAE,CACtC,CAAC;YACF,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,qBAAqB,CAChC,YAAY,EACZ,KAAK,EACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,EAC7C;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,2BAA2B,CAAC,qBAAqB,EAAE,QAAQ,EAAE;gBACjE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;aAChC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAEvD,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,aAAa,GAAG,2BAA2B,CAAC;YAChD,YAAY,EAAE,yBAAyB;YACvC,IAAI;YACJ,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;SACnD,CAAC,CAAC;QACH,MAAM,IAAI,8BAA8B,CACtC,kIAAkI,EAClI;YACE,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,aAAa;SACpB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAA0B;QAC/C,mCAAmC,CACjC,yBAAyB,EACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,+BAA+B,CAChC,CAAC;QACF,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,oCAAoC,EAAE,GAC5C,MAAM,MAAM,8BAA0B,CAAC;YACzC,MAAM,oCAAoC,CACxC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAChD,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,+BAA+B,CACnC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAkB,EAAE,KAAc;QACpD,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACvC,sCAAsC,CACpC,yBAAyB,EACzB,QAAQ,EACR,+BAA+B,CAChC,CAAC;QACF,uCAAuC,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,MAAM,EAAE,+BAA+B,EAAE,GACvC,MAAM,MAAM,8BAA0B,CAAC;YACzC,MAAM,+BAA+B,CACnC,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAC3C,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,0BAA0B,CAC9B,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAIjB;QACC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7D,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,QAAQ,EAC3C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS;gBACT,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC;SACH,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,oBAAoB,CAAC;gBAC/B,QAAQ;gBACR,OAAO,EAAE,iCAAiC;gBAC1C,SAAS;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;YAChE,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,EAC7C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,SAAS,EAAE,iBAAiB;aAC7B,CAAC;SACH,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,oBAAoB,CAAC;gBAC/B,QAAQ;gBACR,OAAO,EAAE,mCAAmC;gBAC5C,SAAS,EAAE,iBAAiB;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,6BAA6B,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;aAClE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAChD,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,WACjC,QAAQ,CAAC,CAAC,CAAC,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAC3D,EAAE,EACF;YACE,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,mBAAmB,CAC3B,+CAA+C,QAAQ,CAAC,MAAM,GAAG,EACjE;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CACF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,qBAAqB,CACnC,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,EAC5C,QAAQ,CAAC,OAAO,CACjB,CAAC;QACF,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAA0B;QAC/C,6BAA6B,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9C,2BAA2B,CAAC,OAAO,EAAE;YACnC,2BAA2B,EAAE,KAAK;SACnC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,EAC7C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;aAC3C;YACD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;SAC7B,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,mBAAmB,CAC3B,+CAA+C,QAAQ,CAAC,MAAM,GAAG,EACjE;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,eAAe,CACnB,cAAc,EACd;YACE,UAAU,EAAE,YAAY;YACxB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;SACjC,EACD,KAAK,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EACrC;gBACE,MAAM,EAAE,QAAQ;aACjB,CACF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5C,MAAM,2BAA2B,CAAC,gBAAgB,EAAE,QAAQ,EAAE;oBAC5D,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,MAAM;QACZ,OAAO;YACL,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACpB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACjD,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC,SAAS,CAClB,IAAI,EACJ,OAAO,OAAO,KAAK,QAAQ;oBACzB,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;oBACnC,CAAC,CAAC,OAAO,CACZ,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,8BAA8B,CAAC,KAAc;QACnD,OAAO,uCAAuC,CAAC;YAC7C,YAAY,EAAE,yBAAyB;YACvC,UAAU,EAAE,YAAY;YACxB,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,OAAO,EAAE;gBACP,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C;YACD,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,YAAoB,EACpB,KAAyB;QAEzB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,8BAA8B,CACtC,oFAAoF,EACpF;gBACE,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI;aACxC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,WAAW,CAAC;YACrB,MAAM,EAAE,MAAM,CAAC,UAAU;YACzB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,YAAY;YAC1C,OAAO,EAAE,mCAAmC,CAAC,MAAM,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,YAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,OAAO,EAC1C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC;gBACtC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,KAAK,QAAQ;oBAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ;oBACtC,CAAC,CAAC;wBACE,UAAU,EACR,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;qBAC7D;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;SACH,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,2BAA2B,CAAC,iBAAiB,EAAE,QAAQ,EAAE;gBAC7D,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;aAChC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,CAC5B,oDAAoD,EACpD;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,iBAAiB;gBAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,KAAK,EAAE,uBAAuB;aAC/B,CACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAA4B,CAAC;QACjC,MAAM,YAAY,GAAG,CAAC,KAAsC,EAAQ,EAAE;YACpE,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAA2B,CAAC;oBACjE,QAAQ;wBACN,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;4BACrC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;4BAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;4BAC/B,CAAC,CAAC,CAAC,CAAC;gBACV,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,GAAG,CAAC,CAAC;gBACf,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,oBAAoB,CAC5B,oDAAoD,EACpD;oBACE,QAAQ,EAAE,YAAY;oBACtB,SAAS,EAAE,iBAAiB;oBAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC/B,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,eAAe;iBACrC,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM;YACR,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,GAAG,SAAS,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;gBACD,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ,IAAI,CAAC;YACvB,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;iBACzC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACnC,IAAI,CAAC,IAAI,CAAC;SACd,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OAAe,EACf,UAA8B,EAAE;QAEhC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAChD,CAAC;QACF,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,QAAQ;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAY;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAAE,EACrE;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,iCAAiC,CACzC,sCAAsC,IAAI,GAAG,EAC7C;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;gBACJ,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,2BAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE;gBACvD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,OAAO,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAmB;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAAE,EACrE;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;aAC3C;YACD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;SAC7B,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,2BAA2B,CAAC,YAAY,EAAE,QAAQ,EAAE;gBACxD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,SAAiB;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,oBAAoB,CAC5B,qDAAqD,EACrD;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS;gBACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;gBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,IAAY,EACZ,IAAiB,EACjB,SAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,gBAAgB,GACpB,SAAS;YACT,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB;YACrC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC9B,IAAI,SAAoD,CAAC;QACzD,IAAI,UAAuC,CAAC;QAC5C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzD,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACnC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,UAAU,EAAE,KAAK,EAAE,CAAC;YACtB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,iBAAiB,CAC5B,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAChB,KAAK,IAAI,EAAE,CACT,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,EAAE,EAAE;gBAC5C,GAAG,IAAI;gBACP,OAAO;gBACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD,CAAC,EACJ;gBACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;aAC7B,CACF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAa,EACb,UAAoC,EAAE;QAEtC,OAAO,MAAM,oCAAoC,CAAC;YAChD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,IAAI;YACJ,OAAO;YACP,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7C,OAAO;oBACL,MAAM,EAAE,MAAM,CAAC,QAAQ;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,EAAE;iBACX,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIzB,SAAS,GAAG,YAAY,CAAC;IACjB,OAAO,CAA0C;IAElE,YAAY,UAAmD,EAAE;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAyC,EACzC,eAAsC;QAEtC,MAAM,UAAU,GAAG,gCAAgC,CACjD,IAAI,EACJ,eAA6D,CAC9D,CAAC;QACF,6BAA6B,CAC3B,yBAAyB,EACzB,UAAU,CAAC,QAAQ,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,MAAM,eAAe,GAAG;YACtB,GAAG,IAAI,CAAC,OAAO;YACf,GAAI,UAAU,CAAC,OAAmD;SACnE,CAAC;QACF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,SAAS,CACjB,qDAAqD,CACtD,CAAC;QACJ,CAAC;QACD,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACvC,sCAAsC,CACpC,yBAAyB,EACzB,QAAQ,EACR,+BAA+B,CAChC,CAAC;QACF,uCAAuC,CAAC,QAAQ,CAAC,CAAC;QAElD,OAAO,MAAM,eAAe,CAC1B,eAAe,EACf;YACE,UAAU,EAAE,IAAI,CAAC,SAAS;SAC3B,EACD,KAAK,IAAI,EAAE;YACT,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAChD,MAAM,MAAM,GACV,eAAe,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,0BAA0B,CAAC;YACjE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,mBAAmB,GAAG,4BAA4B,CACtD,SAAS,EACT,mBAAmB,CACpB,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAChB,KAAK,IAAI,EAAE,CACT,MAAM,wBAAwB,CAC5B,GAAG,mBAAmB,aAAa,EACnC;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,CAAC,eAAe,CAAC,YAAY;wBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ;wBAC5C,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,aAAa,EAAE;wBACvC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,QAAQ,CAAC,eAAe,KAAK,QAAQ;wBAC9C,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE;wBAC/C,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,eAAe,CAAC,MAAM;wBACxB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;wBACpC,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;aACH,EACD,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,gBAAgB,CACtD,EACH,EAAE,SAAS,EAAE,mBAAmB,EAAE,CACnC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,2BAA2B,CAAC,gBAAgB,EAAE,QAAQ,EAAE;oBAC5D,SAAS,EAAE,mBAAmB;iBAC/B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACrC,yBAAyB,EACzB,YAAY,EACZ,uBAAuB,EACvB,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,EACvD,EAAE,SAAS,EAAE,mBAAmB,EAAE,CACnC,CAAC;YACF,MAAM,SAAS,GAAG,mCAAmC,CACnD,OAAO,CAAC,EAAE,EACV,mBAAmB,CACpB,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC;gBAC3C,MAAM;gBACN,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;gBAC/C,KAAK,EAAE;oBACL,QAAQ;oBACR,SAAS,EAAE,mBAAmB;oBAC9B,SAAS;oBACT,sBAAsB,EAAE,eAAe,CAAC,YAAY;oBACpD,SAAS,EAAE,eAAe,CAAC,SAAS;oBACpC,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,QAAQ;oBACR,MAAM,EAAE,eAAe,CAAC,MAAM;oBAC9B,WAAW;iBACZ;aACF,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,iCAAiC,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,KAAoC;QAEpC,OAAO,kCAAkC,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,2BAA2B;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,KAA8B;QAE9B,MAAM,SAAS,GAAG,0CAA0C,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO;YACL,GAAG,KAAK;YACR,GAAG,SAAS;YACZ,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC;YACzC,sBAAsB,EAAE,uBAAuB,CAC7C,KAAK,CAAC,sBAAsB,CAC7B;YACD,SAAS,EAAE,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC;YACjD,eAAe,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC;YAC7D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC;YAC/D,QAAQ,EAAE,yBAAyB,CAAC;gBAClC,SAAS,EAAE,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC;gBACjD,eAAe,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC;gBAC7D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC;gBAC/D,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAChC,CAAC,CAAE,KAAK,CAAC,QAAsC;oBAC/C,CAAC,CAAC,SAAS;aACd,CAAC;YACF,MAAM,EAAE,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAoC;QAEpC,MAAM,SAAS,GAAG,qCAAqC,CACpD,KAAiC,CAAC,SAAS,CAC7C,CAAC;QACF,MAAM,SAAS,GAAG,4BAA4B,CAC5C,KAAK,CAAC,SAAS,EACf,qBAAqB,CACtB,CAAC;QACF,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,sCAAsC,CACpC,yBAAyB,EACzB,KAAK,CAAC,QAAQ,EACd,+BAA+B,CAChC,CAAC;QACF,uCAAuC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC;YAC3C,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,SAAS;gBACT,SAAS;aACV;YACD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,0BAA0B;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CACjB,sBAAsB,SAAS,wBAAwB,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,WAAmC,EACnC,GAAW;IAEX,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/D,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,yBAAyB,CAChC,OAGC;IAED,OAAO;QACL,GAAG,OAAO,CAAC,QAAQ;QACnB,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,IAAI,OAAO,CAAC,SAAS;QACnE,eAAe,EACb,OAAO,CAAC,QAAQ,EAAE,eAAe,IAAI,OAAO,CAAC,eAAe;QAC9D,gBAAgB,EACd,OAAO,CAAC,QAAQ,EAAE,gBAAgB,IAAI,OAAO,CAAC,gBAAgB;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAiB,EACjB,MAAc;IAEd,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CACjB,sBAAsB,MAAM,mCAAmC,CAChE,CAAC;IACJ,CAAC;IACD,IACE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;QACvD,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,IAAI,EACR,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,sBAAsB,MAAM,mCAAmC,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;AAE1D,SAAS,mCAAmC,CAC1C,SAAkB,EAClB,SAAiB;IAEjB,IAAI,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,oBAAoB,CAC5B,mDAAmD,EACnD;QACE,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,gBAAgB;QAC3B,SAAS;QACT,KAAK,EAAE,oBAAoB;KAC5B,CACF,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,SAAkB;IAC/D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACtE,MAAM,IAAI,SAAS,CACjB,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,SAAS,CACjB,qEAAqE,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAkB;IACpD,OAAO,CACL,OAAO,SAAS,KAAK,QAAQ;QAC7B,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAa,EACb,IAAiB,EACjB,SAA6B;IAE7B,IAAI,SAAoD,CAAC;IACzD,IAAI,UAAuC,CAAC;IAC5C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE;YACxB,GAAG,IAAI;YACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,KAAoC,EACpC,MAAe;IAEf,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,eAAe,KAAK,CAAC,SAAS,MAAM,CAAC,CAAC;IACnE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,kCAAkC,CACzC,MAAe;IAEf,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,aAAa,EAAE,UAAU,MAAM,EAAE;SAClC,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAkB;IACtD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CACjB,oEAAoE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,uCAAuC,CAAC,QAAkB;IACjE,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,8BAA8B,CACtC,oFAAoF,EACpF;gBACE,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI;aACxC,CACF,CAAC;QACJ,CAAC;QACD,gCAAgC,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAKnC;IACC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAE5D,CAAC;IACF,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;QACzC,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;QAC5B,MAAM,EACJ,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,OAAO,CAAC,KAAK;YACf,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAClC,SAAiB,EACjB,QAAkB,EAClB,UAAmC,EAAE;IAErC,OAAO,IAAI,oBAAoB,CAC7B,qCAAqC,SAAS,GAAG,EACjD;QACE,QAAQ,EAAE,YAAY;QACtB,SAAS;QACT,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG,OAAO;KACX,CACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAoB;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC7B,IAAI,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3B,IAAI,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACxE,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC;QACF,aAAa,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnE,MAAM,OAAO,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,SAAS,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YAC1D,OAAO,EAAE,CAAC;YACV,MAAM,CACJ,IAAI,SAAS,CACX,4DAA4D,CAC7D,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YAC1D,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,8BAA8B,CACrC,OAAgC;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACtD,CAAC,CAAC,oDAAoD,OAAO,EAAE;QAC/D,CAAC,CAAC,kDAAkD,CAAC;AACzD,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAsB,EACtB,KAAc;IAEd,MAAM,OAAO,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,WAAW,CACT,KAAK,EACL,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACvD,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,eAAe,CACb,KAAK,EACL,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAc;IACtD,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,KAAK;SAChB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAI5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;IAChD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IACD,OAAO;QACL,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAE7C,SAAS,qBAAqB,CAC5B,IAAgB,EAChB,OAAiB;IAEjB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAA2B,CAAC;gBACjE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,2EAA2E;YAC7E,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAC5B,oEAAoE,EACpE;YACE,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,yBAAyB;YACpC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAgB,EAChB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACtE,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,mBAAmB,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAC1B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAC5D,CAAC;IACF,OAAO,kBAAkB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,OAAO,CACL,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC5B,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IACtC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QAC1D,CAAC,CAAE,KAA4B,CAAC,IAAI;QACpC,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"sandbox.mjs","sourceRoot":"","sources":["../../../src/sandbox/cloudflare/sandbox.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAwB,MAAM,qBAAqB;OAC9D,EAAE,OAAO,EAAE,MAAM,4BAA4B;OAC7C,EAEL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAkBhC,4BAA4B,GAC7B,MAAM,6BAA6B;OAC7B,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,2BAA2B,GAC5B;OACM,EAAE,mBAAmB,EAAE;OACvB,EACL,0BAA0B,EAC1B,sBAAsB,GACvB;OACM,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,GAC5B;OACM,EAAE,oBAAoB,EAAE;OACxB,EACL,mCAAmC,EACnC,sCAAsC,EACtC,+BAA+B,GAChC;OACM,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,GACf;OACM,EAAE,2BAA2B,EAAE;OAC/B,EACL,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GAGd;OACM,EACL,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,oCAAoC,GACrC;OACM,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,iBAAiB,EACjB,eAAe,GAChB;OACM,EACL,uBAAuB,EACvB,uCAAuC,EACvC,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB;OACM,EACL,0CAA0C,EAC1C,kCAAkC,GACnC;OACM,EACL,QAAQ,EACR,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,GACX;OAMM,EACL,gCAAgC,EAChC,mCAAmC,EACnC,4BAA4B,GAE7B;AAgCD,MAAM,OAAO,wBAAwB;IAC1B,KAAK,CAAgC;IAC7B,MAAM,CAAU;IAChB,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACxC,iBAAiB,CAA4B;IACtD,aAAa,CAA+B;IACnC,kBAAkB,GAA8B,KAAK,EACpE,IAAI,EACJ,OAAO,EACP,EAAE,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEjD,YAAY,IAKX;QACC,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,SAAS,EAAE,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SACvE,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB,CAAC,MAAoC;QACnD,4BAA4B,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,uBAAuB,CAAC;gBAC7B,YAAY,EAAE,yBAAyB;gBACvC,UAAU,EAAE,YAAY;gBACxB,KAAK;gBACL,WAAW,EAAE,IAAI,CAAC,kBAAkB;gBACpC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC;YAC7B,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACvD,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACpB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACjD,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACvB,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1D,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,oBAAoB,CAC5B,gDAAgD,EAChD;wBACE,QAAQ,EAAE,YAAY;wBACtB,SAAS,EAAE,aAAa;wBACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;wBAC/B,IAAI;wBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAqB;QACrC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,uBAAuB,CACrC,iBAAiB,CACf,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9D,EACD,IAAI,CAAC,KAAK,CACX,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnE,OAAO,kBAAkB,CAAC;YACxB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,OAAO,MAAM,aAAa,CAAC;YACzB,YAAY,EAAE,yBAAyB;YACvC,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAqB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,YAAY,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QACpD,IAAI,qBAAqB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,GAAG,EAAE,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/C,YAAY,EAAE,yBAAyB;YACvC,OAAO,EAAE,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC;YACxD,qBAAqB,EAAE,8BAA8B,CACnD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ;YACD,SAAS,EAAE,CAAC,aAAa,EAAE,EAAE;gBAC3B,qBAAqB,GAAG,uBAAuB,CAC7C,aAAa,EACb,SAAS,EACT,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CACpD,CAAC;gBACF,YAAY,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;gBACxD,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,YAAY,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;QAED,KAAK,CAAC,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,KAAK,CAAC,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,qBAAqB,EAAE,CAAC;YACxB,mBAAmB,EAAE,CAAC;YACtB,mBAAmB,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QACF,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,kBAAkB,CAAC;gBACjC,GAAG,IAAI;gBACP,GAAG,EAAE,uBAAuB,CAC1B,iBAAiB,CACf,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9D,EACD,IAAI,CAAC,KAAK,CACX;aACF,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;YAEtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5D,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;YACxC,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,MAAM,mBAAmB,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS;YACT,KAAK;YACL,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAmB;QACjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;YACtB,CAAC,CAAC,MAAM,mBAAmB,CAAC;gBACxB,YAAY,EAAE,yBAAyB;gBACvC,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/C,CAAC;YACJ,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAkB;QAC/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;YACtB,CAAC,CAAC,MAAM,mBAAmB,CAAC;gBACxB,YAAY,EAAE,yBAAyB;gBACvC,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/C,CAAC;YACJ,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,KAAc;QAC3C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,WAAW,UAAU,CAAC,YAAY,CAAC,EAAE,CACtC,CAAC;YACF,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,qBAAqB,CAChC,YAAY,EACZ,KAAK,EACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,EAC7C;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,mCAAmC,CAC7C,qBAAqB,EACrB,QAAQ,EACR;gBACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;aAChC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAEvD,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,aAAa,GAAG,2BAA2B,CAAC;YAChD,YAAY,EAAE,yBAAyB;YACvC,IAAI;YACJ,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;SACnD,CAAC,CAAC;QACH,MAAM,IAAI,8BAA8B,CACtC,kIAAkI,EAClI;YACE,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,aAAa;SACpB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAA0B;QAC/C,mCAAmC,CACjC,yBAAyB,EACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,+BAA+B,CAChC,CAAC;QACF,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,oCAAoC,EAAE,GAC5C,MAAM,MAAM,8BAA0B,CAAC;YACzC,MAAM,oCAAoC,CACxC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAChD,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,+BAA+B,CACnC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAkB,EAAE,KAAc;QACpD,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACvC,sCAAsC,CACpC,yBAAyB,EACzB,QAAQ,EACR,+BAA+B,CAChC,CAAC;QACF,uCAAuC,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,MAAM,EAAE,+BAA+B,EAAE,GACvC,MAAM,MAAM,8BAA0B,CAAC;YACzC,MAAM,+BAA+B,CACnC,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAC3C,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,0BAA0B,CAC9B,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAIjB;QACC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7D,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,QAAQ,EAC3C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS;gBACT,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC;SACH,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,oBAAoB,CAAC;gBAC/B,QAAQ;gBACR,OAAO,EAAE,iCAAiC;gBAC1C,SAAS;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;YAChE,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,EAC7C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,SAAS,EAAE,iBAAiB;aAC7B,CAAC;SACH,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,oBAAoB,CAAC;gBAC/B,QAAQ;gBACR,OAAO,EAAE,mCAAmC;gBAC5C,SAAS,EAAE,iBAAiB;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,6BAA6B,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;aAClE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAChD,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,WACjC,QAAQ,CAAC,CAAC,CAAC,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAC3D,EAAE,EACF;YACE,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,mBAAmB,CAC3B,+CAA+C,QAAQ,CAAC,MAAM,GAAG,EACjE;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CACF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,qBAAqB,CACnC,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,EAC5C,QAAQ,CAAC,OAAO,CACjB,CAAC;QACF,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAA0B,EAC1B,UAAmC,EAAE;QAErC,6BAA6B,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9C,2BAA2B,CAAC,OAAO,EAAE;YACnC,2BAA2B,EAAE,KAAK;YAClC,aAAa,EACX,OAAO,CAAC,aAAa,KAAK,SAAS;gBACjC,CAAC,CAAC,IAAI,CAAC,aAAa;gBACpB,CAAC,CAAC,OAAO,CAAC,aAAa;SAC5B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,EAC7C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;aAC3C;YACD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;SAC7B,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,mBAAmB,CAC3B,+CAA+C,QAAQ,CAAC,MAAM,GAAG,EACjE;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,eAAe,CACnB,cAAc,EACd;YACE,UAAU,EAAE,YAAY;YACxB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;SACjC,EACD,KAAK,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EACrC;gBACE,MAAM,EAAE,QAAQ;aACjB,CACF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5C,MAAM,MAAM,mCAAmC,CAC7C,gBAAgB,EAChB,QAAQ,EACR;oBACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;iBAChC,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,MAAM;QACZ,OAAO;YACL,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACpB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACjD,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC,SAAS,CAClB,IAAI,EACJ,OAAO,OAAO,KAAK,QAAQ;oBACzB,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;oBACnC,CAAC,CAAC,OAAO,CACZ,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,8BAA8B,CAAC,KAAc;QACnD,OAAO,uCAAuC,CAAC;YAC7C,YAAY,EAAE,yBAAyB;YACvC,UAAU,EAAE,YAAY;YACxB,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,OAAO,EAAE;gBACP,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C;YACD,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,YAAoB,EACpB,KAAyB;QAEzB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,8BAA8B,CACtC,oFAAoF,EACpF;gBACE,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI;aACxC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,WAAW,CAAC;YACrB,MAAM,EAAE,MAAM,CAAC,UAAU;YACzB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,YAAY;YAC1C,OAAO,EAAE,mCAAmC,CAAC,MAAM,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,YAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,OAAO,EAC1C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC;gBACtC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,KAAK,QAAQ;oBAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ;oBACtC,CAAC,CAAC;wBACE,UAAU,EACR,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;qBAC7D;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;SACH,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,mCAAmC,CAC7C,iBAAiB,EACjB,QAAQ,EACR;gBACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;aAChC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,CAC5B,oDAAoD,EACpD;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,iBAAiB;gBAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,KAAK,EAAE,uBAAuB;aAC/B,CACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAA4B,CAAC;QACjC,MAAM,YAAY,GAAG,CAAC,KAAsC,EAAQ,EAAE;YACpE,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAA2B,CAAC;oBACjE,QAAQ;wBACN,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;4BACrC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;4BAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;4BAC/B,CAAC,CAAC,CAAC,CAAC;gBACV,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,GAAG,CAAC,CAAC;gBACf,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,oBAAoB,CAC5B,oDAAoD,EACpD;oBACE,QAAQ,EAAE,YAAY;oBACtB,SAAS,EAAE,iBAAiB;oBAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC/B,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,eAAe;iBACrC,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,IAAI,IAAI,CAAC;YACf,SAAS,IAAI,IAAI,CAAC;YAClB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,GAAG,SAAS,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;gBACD,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC;QACpB,SAAS,IAAI,SAAS,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACrE,MAAM,IAAI,oBAAoB,CAC5B,oDAAoD,EACpD;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,iBAAiB;gBAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,KAAK,EAAE,4BAA4B,CAAC,SAAS,CAAC;aAC/C,CACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,oBAAoB,CAC5B,oDAAoD,EACpD;oBACE,QAAQ,EAAE,YAAY;oBACtB,SAAS,EAAE,iBAAiB;oBAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC/B,KAAK;iBACN,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ,IAAI,CAAC;YACvB,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OAAe,EACf,UAA8B,EAAE;QAEhC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAChD,CAAC;QACF,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,QAAQ;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAY;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAAE,EACrE;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,iCAAiC,CACzC,sCAAsC,IAAI,GAAG,EAC7C;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;gBACJ,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,mCAAmC,CAAC,WAAW,EAAE,QAAQ,EAAE;gBACrE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,OAAO,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAmB;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAAE,EACrE;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;aAC3C;YACD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;SAC7B,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,mCAAmC,CAAC,YAAY,EAAE,QAAQ,EAAE;gBACtE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,SAAiB;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,oBAAoB,CAC5B,qDAAqD,EACrD;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS;gBACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;gBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,IAAY,EACZ,IAAiB,EACjB,SAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,gBAAgB,GACpB,SAAS;YACT,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB;YACrC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC9B,IAAI,SAAoD,CAAC;QACzD,IAAI,UAAuC,CAAC;QAC5C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzD,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACnC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,UAAU,EAAE,KAAK,EAAE,CAAC;YACtB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,iBAAiB,CAC5B,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAChB,KAAK,IAAI,EAAE,CACT,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,EAAE,EAAE;gBAC5C,GAAG,IAAI;gBACP,OAAO;gBACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD,CAAC,EACJ;gBACE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;aAC7B,CACF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAa,EACb,UAAoC,EAAE;QAEtC,OAAO,MAAM,oCAAoC,CAAC;YAChD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,IAAI;YACJ,OAAO;YACP,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7C,OAAO;oBACL,MAAM,EAAE,MAAM,CAAC,QAAQ;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,EAAE;iBACX,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIzB,SAAS,GAAG,YAAY,CAAC;IACjB,OAAO,CAA0C;IAElE,YAAY,UAAmD,EAAE;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAyC,EACzC,eAAsC;QAEtC,MAAM,UAAU,GAAG,gCAAgC,CACjD,IAAI,EACJ,eAA6D,CAC9D,CAAC;QACF,6BAA6B,CAC3B,yBAAyB,EACzB,UAAU,CAAC,QAAQ,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,MAAM,eAAe,GAAG;YACtB,GAAG,IAAI,CAAC,OAAO;YACf,GAAI,UAAU,CAAC,OAAmD;SACnE,CAAC;QACF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,SAAS,CACjB,qDAAqD,CACtD,CAAC;QACJ,CAAC;QACD,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACvC,sCAAsC,CACpC,yBAAyB,EACzB,QAAQ,EACR,+BAA+B,CAChC,CAAC;QACF,uCAAuC,CAAC,QAAQ,CAAC,CAAC;QAElD,OAAO,MAAM,eAAe,CAC1B,eAAe,EACf;YACE,UAAU,EAAE,IAAI,CAAC,SAAS;SAC3B,EACD,KAAK,IAAI,EAAE;YACT,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAChD,MAAM,MAAM,GACV,eAAe,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,0BAA0B,CAAC;YACjE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,mBAAmB,GAAG,4BAA4B,CACtD,SAAS,EACT,mBAAmB,CACpB,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAChB,KAAK,IAAI,EAAE,CACT,MAAM,wBAAwB,CAC5B,GAAG,mBAAmB,aAAa,EACnC;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,CAAC,eAAe,CAAC,YAAY;wBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ;wBAC5C,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,aAAa,EAAE;wBACvC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,QAAQ,CAAC,eAAe,KAAK,QAAQ;wBAC9C,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE;wBAC/C,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,eAAe,CAAC,MAAM;wBACxB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;wBACpC,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;aACH,EACD,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,gBAAgB,CACtD,EACH,EAAE,SAAS,EAAE,mBAAmB,EAAE,CACnC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,MAAM,mCAAmC,CAC7C,gBAAgB,EAChB,QAAQ,EACR;oBACE,SAAS,EAAE,mBAAmB;iBAC/B,CACF,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACrC,yBAAyB,EACzB,YAAY,EACZ,uBAAuB,EACvB,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,EACvD,EAAE,SAAS,EAAE,mBAAmB,EAAE,CACnC,CAAC;YACF,MAAM,SAAS,GAAG,mCAAmC,CACnD,OAAO,CAAC,EAAE,EACV,mBAAmB,CACpB,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC;gBAC3C,MAAM;gBACN,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;gBAC/C,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,KAAK,EAAE;oBACL,QAAQ;oBACR,SAAS,EAAE,mBAAmB;oBAC9B,SAAS;oBACT,sBAAsB,EAAE,eAAe,CAAC,YAAY;oBACpD,SAAS,EAAE,eAAe,CAAC,SAAS;oBACpC,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,QAAQ;oBACR,MAAM,EAAE,eAAe,CAAC,MAAM;oBAC9B,WAAW;iBACZ;aACF,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,iCAAiC,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,KAAoC;QAEpC,OAAO,kCAAkC,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,2BAA2B;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,KAA8B;QAE9B,MAAM,SAAS,GAAG,0CAA0C,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO;YACL,GAAG,KAAK;YACR,GAAG,SAAS;YACZ,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC;YACzC,sBAAsB,EAAE,uBAAuB,CAC7C,KAAK,CAAC,sBAAsB,CAC7B;YACD,SAAS,EAAE,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC;YACjD,eAAe,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC;YAC7D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC;YAC/D,QAAQ,EAAE,yBAAyB,CAAC;gBAClC,SAAS,EAAE,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC;gBACjD,eAAe,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC;gBAC7D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC;gBAC/D,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAChC,CAAC,CAAE,KAAK,CAAC,QAAsC;oBAC/C,CAAC,CAAC,SAAS;aACd,CAAC;YACF,MAAM,EAAE,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAoC;QAEpC,MAAM,SAAS,GAAG,qCAAqC,CACpD,KAAiC,CAAC,SAAS,CAC7C,CAAC;QACF,MAAM,SAAS,GAAG,4BAA4B,CAC5C,KAAK,CAAC,SAAS,EACf,qBAAqB,CACtB,CAAC;QACF,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,sCAAsC,CACpC,yBAAyB,EACzB,KAAK,CAAC,QAAQ,EACd,+BAA+B,CAChC,CAAC;QACF,uCAAuC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC;YAC3C,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACzC,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,SAAS;gBACT,SAAS;aACV;YACD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,0BAA0B;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CACjB,sBAAsB,SAAS,wBAAwB,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,WAAmC,EACnC,GAAW;IAEX,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/D,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,yBAAyB,CAChC,OAGC;IAED,OAAO;QACL,GAAG,OAAO,CAAC,QAAQ;QACnB,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,IAAI,OAAO,CAAC,SAAS;QACnE,eAAe,EACb,OAAO,CAAC,QAAQ,EAAE,eAAe,IAAI,OAAO,CAAC,eAAe;QAC9D,gBAAgB,EACd,OAAO,CAAC,QAAQ,EAAE,gBAAgB,IAAI,OAAO,CAAC,gBAAgB;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAiB,EACjB,MAAc;IAEd,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CACjB,sBAAsB,MAAM,mCAAmC,CAChE,CAAC;IACJ,CAAC;IACD,IACE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;QACvD,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,IAAI,EACR,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,sBAAsB,MAAM,mCAAmC,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;AAE1D,SAAS,mCAAmC,CAC1C,SAAkB,EAClB,SAAiB;IAEjB,IAAI,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,oBAAoB,CAC5B,mDAAmD,EACnD;QACE,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,gBAAgB;QAC3B,SAAS;QACT,KAAK,EAAE,oBAAoB;KAC5B,CACF,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,SAAkB;IAC/D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACtE,MAAM,IAAI,SAAS,CACjB,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,SAAS,CACjB,qEAAqE,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAkB;IACpD,OAAO,CACL,OAAO,SAAS,KAAK,QAAQ;QAC7B,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAa,EACb,IAAiB,EACjB,SAA6B;IAE7B,IAAI,SAAoD,CAAC;IACzD,IAAI,UAAuC,CAAC;IAC5C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE;YACxB,GAAG,IAAI;YACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,KAAoC,EACpC,MAAe;IAEf,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,eAAe,KAAK,CAAC,SAAS,MAAM,CAAC,CAAC;IACnE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,kCAAkC,CACzC,MAAe;IAEf,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,aAAa,EAAE,UAAU,MAAM,EAAE;SAClC,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAkB;IACtD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CACjB,oEAAoE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,uCAAuC,CAAC,QAAkB;IACjE,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,8BAA8B,CACtC,oFAAoF,EACpF;gBACE,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI;aACxC,CACF,CAAC;QACJ,CAAC;QACD,gCAAgC,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAKnC;IACC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAE5D,CAAC;IACF,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;QACzC,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;QAC5B,MAAM,EACJ,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,OAAO,CAAC,KAAK;YACf,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;KACrC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,SAAiB,EACjB,QAAkB,EAClB,UAAmC,EAAE;IAErC,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,IAAI,oBAAoB,CAC7B,qCAAqC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5E;QACE,QAAQ,EAAE,YAAY;QACtB,SAAS;QACT,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG,OAAO;QACV,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,QAAkB;IAElB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,SAAS,IAAI,SAAS,KAAK,4BAA4B,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE;QAChB,CAAC,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,2BAA2B,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;QACxE,CAAC,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;QAC/C,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1D,OAAO,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IACD,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAoB;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC7B,IAAI,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3B,IAAI,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACxE,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC;QACF,aAAa,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnE,MAAM,OAAO,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,SAAS,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YAC1D,OAAO,EAAE,CAAC;YACV,MAAM,CACJ,IAAI,SAAS,CACX,4DAA4D,CAC7D,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;YAC1D,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,8BAA8B,CACrC,OAAgC;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACtD,CAAC,CAAC,oDAAoD,OAAO,EAAE;QAC/D,CAAC,CAAC,kDAAkD,CAAC;AACzD,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAsB,EACtB,KAAc;IAEd,MAAM,OAAO,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,WAAW,CACT,KAAK,EACL,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACvD,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,eAAe,CACb,KAAK,EACL,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAc;IACtD,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,KAAK;SAChB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAI5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;IAChD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IACD,OAAO;QACL,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAE7C,SAAS,qBAAqB,CAC5B,IAAgB,EAChB,OAAiB;IAEjB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAA2B,CAAC;gBACjE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,2EAA2E;YAC7E,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAC5B,oEAAoE,EACpE;YACE,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,yBAAyB;YACpC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAgB,EAChB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACtE,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,mBAAmB,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAC1B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAC5D,CAAC;IACF,OAAO,kBAAkB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,OAAO,CACL,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC5B,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IACtC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QAC1D,CAAC,CAAE,KAA4B,CAAC,IAAI;QACpC,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type ToolOutputImage } from '@openai/agents-core';
2
- import { Manifest, type SandboxClient, type SandboxClientCreateArgs, type SandboxClientOptions, type SandboxConcurrencyLimits, type ExposedPortEndpoint, type ExecCommandArgs, type MaterializeEntryArgs, type ReadFileArgs, type SandboxSession, type SandboxSessionState, type ViewImageArgs, type WriteStdinArgs, type WorkspaceArchiveData } from '@openai/agents-core/sandbox';
2
+ import { Manifest, type SandboxClient, type SandboxClientCreateArgs, type SandboxClientOptions, type SandboxArchiveLimits, type SandboxConcurrencyLimits, type ExposedPortEndpoint, type ExecCommandArgs, type MaterializeEntryArgs, type ReadFileArgs, type SandboxSession, type SandboxSessionState, type ViewImageArgs, type WriteStdinArgs, type WorkspaceArchiveData, type WorkspaceArchiveOptions } from '@openai/agents-core/sandbox';
3
3
  import { RemoteSandboxEditor } from '../shared';
4
4
  type DaytonaSandboxLike = {
5
5
  id: string;
@@ -65,6 +65,7 @@ export interface DaytonaSandboxClientOptions extends SandboxClientOptions {
65
65
  apiKey?: string;
66
66
  apiUrl?: string;
67
67
  target?: string;
68
+ archiveLimits?: SandboxArchiveLimits | null;
68
69
  }
69
70
  export interface DaytonaSandboxSessionState extends SandboxSessionState {
70
71
  sandboxId: string;
@@ -91,13 +92,16 @@ export declare class DaytonaSandboxSession implements SandboxSession<DaytonaSand
91
92
  private readonly remotePathResolver;
92
93
  private readonly activeMountPaths;
93
94
  private readonly concurrencyLimits?;
95
+ private archiveLimits?;
94
96
  private stopPromise?;
95
97
  private deletePromise?;
96
98
  constructor(args: {
97
99
  state: DaytonaSandboxSessionState;
98
100
  sandbox: DaytonaSandboxLike;
99
101
  concurrencyLimits?: SandboxConcurrencyLimits;
102
+ archiveLimits?: SandboxArchiveLimits | null;
100
103
  });
104
+ setArchiveLimits(limits?: SandboxArchiveLimits | null): void;
101
105
  createEditor(runAs?: string): RemoteSandboxEditor;
102
106
  supportsPty(): boolean;
103
107
  execCommand(args: ExecCommandArgs): Promise<string>;
@@ -115,7 +119,7 @@ export declare class DaytonaSandboxSession implements SandboxSession<DaytonaSand
115
119
  rematerializeMountEntries(): Promise<void>;
116
120
  prepareWorkspaceRoot(): Promise<void>;
117
121
  persistWorkspace(): Promise<Uint8Array>;
118
- hydrateWorkspace(data: WorkspaceArchiveData): Promise<void>;
122
+ hydrateWorkspace(data: WorkspaceArchiveData, options?: WorkspaceArchiveOptions): Promise<void>;
119
123
  close(): Promise<void>;
120
124
  shutdown(): Promise<void>;
121
125
  delete(): Promise<void>;
@@ -50,12 +50,18 @@ class DaytonaSandboxSession {
50
50
  remotePathResolver = async (path, options) => await this.resolveRemotePath(path, options);
51
51
  activeMountPaths = new Set();
52
52
  concurrencyLimits;
53
+ archiveLimits;
53
54
  stopPromise;
54
55
  deletePromise;
55
56
  constructor(args) {
56
57
  this.state = args.state;
57
58
  this.sandbox = args.sandbox;
58
59
  this.concurrencyLimits = args.concurrencyLimits;
60
+ this.setArchiveLimits(args.archiveLimits);
61
+ }
62
+ setArchiveLimits(limits) {
63
+ (0, sandbox_1.validateSandboxArchiveLimits)(limits);
64
+ this.archiveLimits = limits;
59
65
  }
60
66
  createEditor(runAs) {
61
67
  if (runAs) {
@@ -322,13 +328,16 @@ class DaytonaSandboxSession {
322
328
  io: this.archiveIo(),
323
329
  });
324
330
  }
325
- async hydrateWorkspace(data) {
331
+ async hydrateWorkspace(data, options = {}) {
326
332
  (0, shared_1.assertTarWorkspacePersistence)('DaytonaSandboxClient', 'tar');
327
333
  await (0, shared_1.hydrateRemoteWorkspaceTar)({
328
334
  providerName: 'DaytonaSandboxClient',
329
335
  manifest: this.state.manifest,
330
336
  io: this.archiveIo(),
331
337
  data,
338
+ archiveLimits: options.archiveLimits === undefined
339
+ ? this.archiveLimits
340
+ : options.archiveLimits,
332
341
  });
333
342
  }
334
343
  async close() {
@@ -669,6 +678,7 @@ class DaytonaSandboxClient {
669
678
  const session = new DaytonaSandboxSession({
670
679
  sandbox,
671
680
  concurrencyLimits: createArgs.concurrencyLimits,
681
+ archiveLimits: createArgs.archiveLimits,
672
682
  state: {
673
683
  manifest: resolvedManifest,
674
684
  sandboxId: sandbox.id,
@@ -748,7 +758,11 @@ class DaytonaSandboxClient {
748
758
  });
749
759
  return await this.recreateFromPersistedState(client, state);
750
760
  }
751
- const session = new DaytonaSandboxSession({ state, sandbox });
761
+ const session = new DaytonaSandboxSession({
762
+ state,
763
+ sandbox,
764
+ archiveLimits: this.options.archiveLimits,
765
+ });
752
766
  await session.prepareWorkspaceRoot();
753
767
  await session.rematerializeMountEntries();
754
768
  return session;
@@ -792,6 +806,7 @@ class DaytonaSandboxClient {
792
806
  const session = new DaytonaSandboxSession({
793
807
  sandbox,
794
808
  state: nextState,
809
+ archiveLimits: this.options.archiveLimits,
795
810
  });
796
811
  try {
797
812
  await session.prepareWorkspaceRoot();