@lesliechan721/agent-skill-eval 0.1.0-beta.33 → 0.1.0-beta.34

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.
@@ -92,6 +92,7 @@ function parsePosixProcessTable(stdout) {
92
92
  function parsePosixMarkerScan(stdout) {
93
93
  const table = new Map();
94
94
  const commands = new Map();
95
+ const unreadablePids = new Set();
95
96
  for (const line of stdout.split('\n')) {
96
97
  const actual = /^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S{3}\s+\S{3}\s+\d+\s+\S+\s+\d{4})\s+(.*)$/u.exec(line);
97
98
  const synthetic = actual ??
@@ -106,8 +107,13 @@ function parsePosixMarkerScan(stdout) {
106
107
  startTime: synthetic[5].replace(/\s+/gu, ' '),
107
108
  });
108
109
  commands.set(pid, synthetic[6]);
110
+ // macOS ps can retain an earlier live state after argv/environment becomes unreadable.
111
+ const command = synthetic[6].trim();
112
+ if (!command || command === '<defunct>' || /^\([^)]*\)$/u.test(command)) {
113
+ unreadablePids.add(pid);
114
+ }
109
115
  }
110
- return { table, commands };
116
+ return { table, commands, unreadablePids };
111
117
  }
112
118
  function parseMarkerProcessIds(scan, markerEnvironmentVariable, marker) {
113
119
  const processIds = new Set();
@@ -162,6 +168,7 @@ async function readPosixProcessTable(execFileImpl, markerEnvironmentVariable, ma
162
168
  return {
163
169
  table,
164
170
  markerPids,
171
+ unreadableMarkerPids: markerScan?.unreadablePids ?? new Set(),
165
172
  markerLookupSucceeded: marker === undefined || markerOutput !== null,
166
173
  markerLookupAttempts,
167
174
  ...(markerResult.failure ? { markerLookupFailure: markerResult.failure } : {}),
@@ -171,8 +178,8 @@ async function readPosixProcessTable(execFileImpl, markerEnvironmentVariable, ma
171
178
  function readPosixIdentityTable(execFileImpl) {
172
179
  return runCommandWithDiagnostics('ps', ['-A', '-o', 'pid=,ppid=,pgid=,state=,lstart='], execFileImpl, POSIX_PROCESS_TREE_COMMAND_TIMEOUT_MS);
173
180
  }
174
- function readPosixMarkerOutput(execFileImpl) {
175
- return runCommandWithDiagnostics('ps', ['eww', '-A', '-o', 'pid=,ppid=,pgid=,state=,lstart=,command='], execFileImpl, POSIX_PROCESS_TREE_COMMAND_TIMEOUT_MS);
181
+ function readPosixMarkerOutput(execFileImpl, timeoutMs = POSIX_PROCESS_TREE_COMMAND_TIMEOUT_MS) {
182
+ return runCommandWithDiagnostics('ps', ['eww', '-A', '-o', 'pid=,ppid=,pgid=,state=,lstart=,command='], execFileImpl, timeoutMs);
176
183
  }
177
184
  function posixMarkerLookupFailure(snapshot, stage) {
178
185
  const fields = [
@@ -415,22 +422,125 @@ function refreshObservedProcesses(state, table, markerPids = new Set(), allowRoo
415
422
  refreshDescendants(state.root, state.descendants, table, state.platform === 'win32');
416
423
  }
417
424
  }
418
- function latchObservationFailure(state, error) {
425
+ function posixDiagnostic(state, snapshot, stage, reason, affectedPids = []) {
426
+ const identities = new Map([state.root, ...state.descendants.values()]
427
+ .filter((identity) => identity !== undefined)
428
+ .map((identity) => [identity.pid, identity.startTime]));
429
+ const pids = new Set([state.pid, ...identities.keys(), ...affectedPids]);
430
+ for (const [pid, entry] of snapshot?.table ?? []) {
431
+ if (pid === state.lease?.sentinel.pid)
432
+ continue;
433
+ if (snapshot?.markerPids.has(pid) ||
434
+ (state.rootPgid !== undefined && entry.pgid === state.rootPgid))
435
+ pids.add(pid);
436
+ }
437
+ return {
438
+ capturedAt: new Date().toISOString(),
439
+ stage,
440
+ reason,
441
+ rootPid: state.pid,
442
+ rootPgid: state.rootPgid,
443
+ rootPgidMode: state.rootPgidMode,
444
+ affectedPids,
445
+ markerLookupSucceeded: snapshot?.markerLookupSucceeded ?? null,
446
+ ...(snapshot?.markerLookupFailure ? { lookupFailure: snapshot.markerLookupFailure } : {}),
447
+ processes: [...pids].sort((a, b) => a - b).map((pid) => {
448
+ const entry = snapshot?.table.get(pid);
449
+ return {
450
+ pid,
451
+ present: snapshot ? entry !== undefined : null,
452
+ knownStartTime: identities.get(pid),
453
+ ...(entry ? {
454
+ ppid: entry.ppid,
455
+ pgid: entry.pgid,
456
+ startTime: entry.startTime,
457
+ state: entry.state,
458
+ } : {}),
459
+ markerMatches: snapshot?.markerLookupSucceeded && state.marker !== undefined &&
460
+ !snapshot.unreadableMarkerPids.has(pid)
461
+ ? snapshot.markerPids.has(pid)
462
+ : null,
463
+ };
464
+ }),
465
+ };
466
+ }
467
+ function latchObservationFailure(state, error, diagnostic) {
419
468
  if (state.failure)
420
469
  return;
421
470
  state.failure = error;
471
+ if (diagnostic)
472
+ state.diagnostics.push(diagnostic);
473
+ else if (state.platform !== 'win32') {
474
+ state.diagnostics.push(posixDiagnostic(state, undefined, 'observation', error.message));
475
+ }
422
476
  for (const listener of state.failureListeners)
423
477
  listener(error);
424
478
  }
425
- function acceptPosixSnapshot(state, snapshot, stage) {
479
+ function isRelevantPosixProcess(state, pid, entry) {
480
+ return pid === state.pid || pid === state.lease?.sentinel.pid ||
481
+ state.descendants.get(pid)?.startTime === entry.startTime ||
482
+ entry.pgid === (state.rootPgid ?? state.pid);
483
+ }
484
+ async function acceptPosixSnapshot(state, snapshot, stage) {
485
+ const fail = (error, reason, affectedPids = []) => {
486
+ if (state.failure)
487
+ return;
488
+ latchObservationFailure(state, error, posixDiagnostic(state, snapshot, stage, reason, affectedPids));
489
+ };
490
+ const enforceProcessMarker = state.dependencies.enforceProcessMarker === true ||
491
+ state.dependencies.enforceCooperativeProcessGroup === true;
426
492
  if (!snapshot.markerLookupSucceeded && state.marker !== undefined) {
427
- latchObservationFailure(state, posixMarkerLookupFailure(snapshot, stage));
493
+ fail(posixMarkerLookupFailure(snapshot, stage), 'marker-lookup-failed');
428
494
  return false;
429
495
  }
496
+ const needsConfirmation = (pid) => {
497
+ const entry = snapshot.table.get(pid);
498
+ return entry !== undefined && !entry.state?.startsWith('Z') && isRelevantPosixProcess(state, pid, entry);
499
+ };
500
+ const unreadablePids = [...snapshot.unreadableMarkerPids].filter(needsConfirmation);
501
+ if (state.marker !== undefined && unreadablePids.length > 0) {
502
+ const remaining = POSIX_PROCESS_TREE_COMMAND_TIMEOUT_MS -
503
+ (Date.now() - (snapshot.markerScanStartedAt ?? Date.now()));
504
+ snapshot.markerLookupAttempts += 1;
505
+ const confirmation = remaining > 0
506
+ ? await readPosixMarkerOutput(state.dependencies.execFile ?? defaultExecFile, remaining)
507
+ : { output: null, failure: commandFailure('deadline-exceeded') };
508
+ if (confirmation.output === null) {
509
+ snapshot.markerLookupSucceeded = false;
510
+ snapshot.markerLookupFailure = confirmation.failure;
511
+ fail(posixMarkerLookupFailure(snapshot, stage), 'marker-lookup-failed');
512
+ return false;
513
+ }
514
+ const confirmed = parsePosixMarkerScan(confirmation.output);
515
+ const confirmedMarkers = parseMarkerProcessIds(confirmed, state.markerEnvironmentVariable, state.marker);
516
+ // Each observer confirms its own suspect PIDs, even when the initial scan is shared.
517
+ // Keep other evidence unchanged and retain start times to protect against PID reuse.
518
+ snapshot.table = new Map(snapshot.table);
519
+ snapshot.unreadableMarkerPids = new Set(snapshot.unreadableMarkerPids);
520
+ for (const pid of unreadablePids) {
521
+ const entry = confirmed.table.get(pid);
522
+ if (entry)
523
+ snapshot.table.set(pid, entry);
524
+ else
525
+ snapshot.table.delete(pid);
526
+ if (confirmedMarkers.has(pid))
527
+ snapshot.markerPids.add(pid);
528
+ else
529
+ snapshot.markerPids.delete(pid);
530
+ if (confirmed.unreadablePids.has(pid))
531
+ snapshot.unreadableMarkerPids.add(pid);
532
+ else
533
+ snapshot.unreadableMarkerPids.delete(pid);
534
+ }
535
+ const stillUnreadable = unreadablePids.filter((pid) => snapshot.unreadableMarkerPids.has(pid) && needsConfirmation(pid));
536
+ if (stillUnreadable.length > 0) {
537
+ fail(cleanupUnconfirmed('POSIX process marker could not be read for a live provider process after confirmation.'), 'process-marker-unreadable', stillUnreadable);
538
+ }
539
+ }
430
540
  if (state.lease) {
431
541
  const leaseFailure = validateLeaseSnapshot(snapshot, state.lease, stage);
432
542
  if (leaseFailure) {
433
- latchObservationFailure(state, leaseFailure);
543
+ fail(leaseFailure, 'inspection-lease-invalid');
434
544
  return false;
435
545
  }
436
546
  }
@@ -449,11 +559,11 @@ function acceptPosixSnapshot(state, snapshot, stage) {
449
559
  state.unmarkedRootCandidate = undefined;
450
560
  }
451
561
  if (state.marker !== undefined &&
452
- state.dependencies.enforceCooperativeProcessGroup === true &&
562
+ enforceProcessMarker &&
453
563
  rootEntry !== undefined &&
454
564
  !rootEntry.state?.startsWith('Z') &&
455
565
  confirmedUnmarkedRoot) {
456
- latchObservationFailure(state, cleanupUnconfirmed('custom process contract violation: a live provider process lost its process marker.'));
566
+ fail(cleanupUnconfirmed('custom process contract violation: a live provider process lost its process marker.'), 'root-marker-missing', [state.pid]);
457
567
  }
458
568
  refreshObservedProcesses(state, snapshot.table, snapshot.markerPids);
459
569
  if (state.marker !== undefined) {
@@ -470,7 +580,7 @@ function acceptPosixSnapshot(state, snapshot, stage) {
470
580
  else {
471
581
  state.rootPgidMode = 'shared';
472
582
  if (state.dependencies.enforceCooperativeProcessGroup === true) {
473
- latchObservationFailure(state, cleanupUnconfirmed('custom process contract violation: the provider root left its initial process group.'));
583
+ fail(cleanupUnconfirmed('custom process contract violation: the provider root left its initial process group.'), 'root-process-group-changed', [state.pid]);
474
584
  }
475
585
  }
476
586
  }
@@ -494,12 +604,14 @@ function acceptPosixSnapshot(state, snapshot, stage) {
494
604
  const entry = snapshot.table.get(pid);
495
605
  return entry?.pgid !== undefined && entry.pgid !== expectedPgid;
496
606
  })) {
497
- latchObservationFailure(state, cleanupUnconfirmed('custom process contract violation: a marked process left its initial process group.'));
607
+ fail(cleanupUnconfirmed('custom process contract violation: a marked process left its initial process group.'), 'marked-process-group-changed', providerMarkerPids.filter((pid) => snapshot.table.get(pid)?.pgid !== expectedPgid));
498
608
  }
499
609
  const liveKnownIdentities = [state.root, ...state.descendants.values()].filter((identity) => identityMatches(identity, snapshot.table) &&
500
610
  !snapshot.table.get(identity.pid)?.state?.startsWith('Z'));
501
- const markerlessKnownIdentity = liveKnownIdentities.some((identity) => !snapshot.markerPids.has(identity.pid));
502
- let markerlessInitialGroupMember = false;
611
+ const markerlessKnownPids = liveKnownIdentities
612
+ .filter((identity) => !snapshot.markerPids.has(identity.pid))
613
+ .map((identity) => identity.pid);
614
+ const markerlessInitialGroupPids = [];
503
615
  const groupLeader = state.rootPgid === undefined
504
616
  ? undefined
505
617
  : snapshot.table.get(state.rootPgid);
@@ -511,13 +623,13 @@ function acceptPosixSnapshot(state, snapshot, stage) {
511
623
  if (entry.pgid !== state.rootPgid || entry.state?.startsWith('Z'))
512
624
  continue;
513
625
  if (pid !== state.pid && !snapshot.markerPids.has(pid)) {
514
- markerlessInitialGroupMember = true;
626
+ markerlessInitialGroupPids.push(pid);
515
627
  }
516
628
  }
517
629
  }
518
- if (state.dependencies.enforceCooperativeProcessGroup === true &&
519
- (markerlessKnownIdentity || markerlessInitialGroupMember)) {
520
- latchObservationFailure(state, cleanupUnconfirmed('custom process contract violation: a live provider process lost its process marker.'));
630
+ if (enforceProcessMarker &&
631
+ (markerlessKnownPids.length > 0 || markerlessInitialGroupPids.length > 0)) {
632
+ fail(cleanupUnconfirmed('custom process contract violation: a live provider process lost its process marker.'), markerlessKnownPids.length > 0 ? 'known-process-marker-missing' : 'initial-group-marker-missing', [...new Set([...markerlessKnownPids, ...markerlessInitialGroupPids])]);
521
633
  }
522
634
  }
523
635
  return true;
@@ -548,8 +660,10 @@ function snapshotFromSampler(state, sampler) {
548
660
  return {
549
661
  table,
550
662
  markerPids,
663
+ unreadableMarkerPids: sampler.markerScan?.unreadablePids ?? new Set(),
551
664
  markerLookupSucceeded,
552
665
  markerLookupAttempts: state.marker === undefined ? 0 : 1,
666
+ markerScanStartedAt: sampler.markerScannedAt,
553
667
  ...(sampler.markerFailure ? { markerLookupFailure: sampler.markerFailure } : {}),
554
668
  confirmedUnmarkedPids: new Set(),
555
669
  };
@@ -559,7 +673,10 @@ function deliverSamplerIdentity(sampler) {
559
673
  if (state.disposed)
560
674
  continue;
561
675
  if (sampler.identityFailure) {
562
- latchObservationFailure(state, cleanupUnconfirmed('POSIX process identity lookup failed.'));
676
+ latchObservationFailure(state, cleanupUnconfirmed('POSIX process identity lookup failed.'), {
677
+ ...posixDiagnostic(state, undefined, 'observation', 'identity-lookup-failed'),
678
+ lookupFailure: sampler.identityFailure,
679
+ });
563
680
  continue;
564
681
  }
565
682
  if (state.marker !== undefined) {
@@ -589,14 +706,14 @@ function deliverSamplerIdentity(sampler) {
589
706
  acceptPosixSnapshot(state, snapshot, 'observation');
590
707
  }
591
708
  }
592
- function deliverSamplerMarkers(sampler, stage) {
593
- for (const state of sampler.states) {
709
+ async function deliverSamplerMarkers(sampler, stage) {
710
+ await Promise.all([...sampler.states].map(async (state) => {
594
711
  if (state.disposed || state.marker === undefined)
595
- continue;
712
+ return;
596
713
  const snapshot = snapshotFromSampler(state, sampler);
597
714
  if (snapshot)
598
- acceptPosixSnapshot(state, snapshot, stage);
599
- }
715
+ await acceptPosixSnapshot(state, snapshot, stage);
716
+ }));
600
717
  }
601
718
  function scanSamplerIdentity(sampler, force) {
602
719
  if (sampler.identityInFlight)
@@ -625,10 +742,8 @@ function runMarkerScan(sampler) {
625
742
  sampler.markerInFlight = readPosixMarkerOutput(sampler.execFile)
626
743
  .then((result) => {
627
744
  sampler.markerFailure = result.failure;
628
- sampler.markerScan = result.output === null
629
- ? undefined
630
- : parsePosixMarkerScan(result.output);
631
- deliverSamplerMarkers(sampler, 'observation');
745
+ sampler.markerScan = result.output === null ? undefined : parsePosixMarkerScan(result.output);
746
+ return deliverSamplerMarkers(sampler, 'observation');
632
747
  })
633
748
  .finally(() => {
634
749
  sampler.markerInFlight = undefined;
@@ -687,29 +802,44 @@ async function readImmediatePosixSnapshot(state, stage) {
687
802
  else
688
803
  await scanSamplerMarkers(sampler, true);
689
804
  if (state.marker === undefined && sampler.identityFailure) {
690
- latchObservationFailure(state, cleanupUnconfirmed('POSIX process identity lookup failed.'));
805
+ const diagnostic = {
806
+ ...posixDiagnostic(state, undefined, stage, 'identity-lookup-failed'),
807
+ lookupFailure: sampler.identityFailure,
808
+ };
809
+ latchObservationFailure(state, cleanupUnconfirmed('POSIX process identity lookup failed.'), diagnostic);
810
+ state.diagnostics[1] = diagnostic;
691
811
  return undefined;
692
812
  }
693
813
  if (state.marker !== undefined && sampler.markerFailure) {
694
- latchObservationFailure(state, posixMarkerLookupFailure({
695
- table: new Map(),
814
+ const failedSnapshot = {
815
+ table: sampler.identityTable ?? new Map(),
696
816
  markerPids: new Set(),
817
+ unreadableMarkerPids: new Set(),
697
818
  markerLookupSucceeded: false,
698
819
  markerLookupAttempts: 1,
699
820
  markerLookupFailure: sampler.markerFailure,
700
821
  confirmedUnmarkedPids: new Set(),
701
- }, stage));
822
+ };
823
+ const diagnostic = posixDiagnostic(state, failedSnapshot, stage, 'marker-lookup-failed');
824
+ latchObservationFailure(state, posixMarkerLookupFailure(failedSnapshot, stage), diagnostic);
825
+ state.diagnostics[1] = diagnostic;
702
826
  return undefined;
703
827
  }
704
828
  const snapshot = snapshotFromSampler(state, sampler);
705
829
  if (!snapshot)
706
830
  return undefined;
707
- acceptPosixSnapshot(state, snapshot, stage);
831
+ await acceptPosixSnapshot(state, snapshot, stage);
832
+ // Keep only the first failure and the latest cleanup scan, even if inspection recovers.
833
+ if (state.failure)
834
+ state.diagnostics[1] = posixDiagnostic(state, snapshot, stage, 'cleanup-snapshot');
708
835
  return snapshot;
709
836
  }
710
837
  function createProcessTreeObservation(pid, marker, dependencies, startLookup, lease) {
711
838
  const observation = {
712
839
  pid,
840
+ get diagnostics() {
841
+ return observationStates.get(observation)?.diagnostics.slice() ?? [];
842
+ },
713
843
  onFailure: (listener) => {
714
844
  const state = observationStates.get(observation);
715
845
  if (!state)
@@ -737,6 +867,7 @@ function createProcessTreeObservation(pid, marker, dependencies, startLookup, le
737
867
  rootDiscoveryPending: true,
738
868
  initialWindowsLookupSucceeded: false,
739
869
  descendants: new Map(),
870
+ diagnostics: [],
740
871
  failureListeners: new Set(),
741
872
  disposed: false,
742
873
  initialLookup: Promise.resolve(),
@@ -755,7 +886,8 @@ function createProcessTreeObservation(pid, marker, dependencies, startLookup, le
755
886
  return observation;
756
887
  }
757
888
  const sampler = getPosixProcessSampler(execFileImpl);
758
- const periodic = dependencies.enforceCooperativeProcessGroup === true;
889
+ const periodic = dependencies.enforceProcessMarker === true ||
890
+ dependencies.enforceCooperativeProcessGroup === true;
759
891
  if (periodic) {
760
892
  state.sampler = sampler;
761
893
  sampler.states.add(state);
@@ -765,14 +897,14 @@ function createProcessTreeObservation(pid, marker, dependencies, startLookup, le
765
897
  : Promise.all([
766
898
  ...(periodic ? [scanSamplerIdentity(sampler, true)] : []),
767
899
  scanSamplerMarkers(sampler, true),
768
- ])).then(() => {
900
+ ])).then(async () => {
769
901
  if (state.disposed)
770
902
  return;
771
903
  if (periodic)
772
904
  return;
773
905
  const snapshot = snapshotFromSampler(state, sampler);
774
906
  if (snapshot)
775
- acceptPosixSnapshot(state, snapshot, 'observation');
907
+ await acceptPosixSnapshot(state, snapshot, 'observation');
776
908
  });
777
909
  if (periodic)
778
910
  void state.initialLookup.finally(() => schedulePosixSampler(sampler));
@@ -1 +1 @@
1
- {"version":3,"file":"process-tree.js","sourceRoot":"","sources":["../src/process-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AAClE,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAC9C,MAAM,qCAAqC,GAAG,KAAK,CAAC;AACpD,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAC9C,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAC9C,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAC9C,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAC9C,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAsHvD,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA4C,CAAC;AAClF,MAAM,aAAa,GAAG,IAAI,OAAO,EAG9B,CAAC;AAEJ,MAAM,eAAe,GAAqD,CACxE,OAAO,EACP,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAElF,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CACrB,MAAuC,EACvC,KAAe;IAEf,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAChD,CAAC,CAAC,KAA+D;QACjE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO;QACL,MAAM;QACN,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAe,EACf,IAAc,EACd,YAA8D,EAC9D,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,MAA4B,EAAQ,EAAE;YACpD,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;YACtC,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,cAAc,CAAC,mBAAmB,CAAC;SAC7C,CAAC,EAAE,SAAS,CAAC,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,YAAY,CACV,OAAO,EACP,IAAI,EACJ;gBACE,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,6BAA6B;aACzC,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK;gBAC7B,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE;gBACpE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CACjB,OAAe,EACf,IAAc,EACd,YAA8D,EAC9D,SAAiB;IAEjB,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC;SACrE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,gDAAgD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC/B,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;gBACpB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;aACzB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YAChC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;YACrB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,kFAAkF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7G,MAAM,SAAS,GAAG,MAAM;YACtB,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;YACnB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SAC9C,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAqB,EACrB,yBAAiC,EACjC,MAAc;IAEd,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,UAAU,GAAG,GAAG,yBAAyB,IAAI,MAAM,EAAE,CAAC;IAC5D,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,YAA8D,EAC9D,yBAAiC,EACjC,MAAe,EACf,YAAoB,qCAAqC,EACzD,kBAA2B;IAE3B,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,iCAAiC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,CAAC,CAAC;IACnF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9D,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC;QACtE,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAuB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACvD,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;KACzE,CAAC,CAAC;IACH,IAAI,cAAc,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,YAAY,GAAG,mBAAmB,CAAC;IACvC,IAAI,oBAAoB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAC/E,oBAAoB,IAAI,CAAC,CAAC;QAC1B,YAAY,GAAG,MAAM,yBAAyB,CAC5C,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,cAAc,CACf,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IACzC,MAAM,UAAU,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU;QACpD,CAAC,CAAC,IAAI,GAAG,EAAU;QACnB,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAChD,MAAM,aAAa,GAAG,kBAAkB,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC1F,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACvF,IAAI,kBAAkB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAmB,CAAC,CAAC;QACvE,IACE,cAAc,EAAE,SAAS,KAAK,aAAa,CAAC,SAAS;YACrD,CAAC,qBAAqB,CACpB,gBAAgB,EAChB,yBAAyB,EACzB,MAAO,CACR,CAAC,GAAG,CAAC,kBAAmB,CAAC;YAC1B,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EACtC,CAAC;YACD,qBAAqB,CAAC,GAAG,CAAC,kBAAmB,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK;QACL,UAAU;QACV,qBAAqB,EAAE,MAAM,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;QACpE,oBAAoB;QACpB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,YAA8D;IAE9D,OAAO,yBAAyB,CAC9B,IAAI,EACJ,CAAC,IAAI,EAAE,IAAI,EAAE,iCAAiC,CAAC,EAC/C,YAAY,EACZ,qCAAqC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,YAA8D;IAE9D,OAAO,yBAAyB,CAC9B,IAAI,EACJ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,CAAC,EAC/D,YAAY,EACZ,qCAAqC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA8B,EAC9B,KAAa;IAEb,MAAM,MAAM,GAAG;QACb,SAAS,KAAK,EAAE;QAChB,YAAY,QAAQ,CAAC,oBAAoB,EAAE;QAC3C,UAAU,QAAQ,CAAC,mBAAmB,EAAE,MAAM,IAAI,SAAS,EAAE;KAC9D,CAAC;IACF,IAAI,QAAQ,CAAC,mBAAmB,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,QAAQ,CAAC,mBAAmB,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,QAAQ,CAAC,mBAAmB,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,kBAAkB,CAAC,uCAAuC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,yBAAiC,EACjC,MAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB,CAAC,IAAI,EAAE,+BAA+B,CAAC,EACvC;QACE,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE;QAC5C,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CACF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;QAAE,MAAM,kBAAkB,CAAC,oCAAoC,CAAC,CAAC;IAC5F,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;gBAAE,OAAO;YACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;YACrD,CAAC;YACD,MAAM,MAAM,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAA8B,EAC9B,KAAiC,EACjC,KAAa;IAEb,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QACpC,OAAO,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7D,IACE,aAAa,EAAE,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;QACrD,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC5C,CAAC;QACD,OAAO,kBAAkB,CAAC,kDAAkD,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,eAAwC,EAAE;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAC3D,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClD,MAAM,kBAAkB,CAAC,wCAAwC,QAAQ,GAAG,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,yBAAyB,GAC7B,YAAY,CAAC,yBAAyB,IAAI,0BAA0B,CAAC;IACvE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,qBAAqB,CAAC,CAC3E,yBAAyB,EACzB,MAAM,CACP,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAC1C,YAAY,CAAC,QAAQ,IAAI,eAAe,EACxC,yBAAyB,EACzB,MAAM,CACP,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,MAAM,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACpC,MAAM,wBAAwB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,kBAAkB,CAAC,kDAAkD,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;YAC3D,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,QAAQ;oBAAE,OAAO;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,SAAS;YACT,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,YAA8D;IAE9D,MAAM,MAAM,GAAG;QACb,kDAAkD;QAClD,4FAA4F;QAC5F,GAAG;KACJ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,UAAU,CACf,gBAAgB,EAChB,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,EACrD,YAAY,EACZ,+BAA+B,CAChC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,2BAA2B,CAClC,OAAe,EACf,KAAwC;IAExC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,4CAA4C,CACnD,IAAiC,EACjC,KAAwC;IAExC,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YACnC,IACE,KAAK,CAAC,YAAY,KAAK,SAAS;gBAChC,MAAM,CAAC,YAAY,KAAK,SAAS;gBACjC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;gBACxC,SAAS;YACX,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,QAAQ;gBACb,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAiC,EACjC,gBAA8C,EAC9C,KAAwC,EACxC,iCAA0C,KAAK;IAE/C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACvD,CAAC,QAAQ,EAA+B,EAAE,CACxC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,QAAQ,CAAC,SAAS,CACtF,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;QAChC,KAAK,MAAM,aAAa,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACnE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAAE,SAAS;YACzC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;YACxC,IACE,8BAA8B;gBAC9B,CACE,MAAM,CAAC,YAAY,KAAK,SAAS;oBACjC,KAAK,CAAC,YAAY,KAAK,SAAS;oBAChC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CACzC;gBACD,SAAS;YACX,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1D,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gBAAE,SAAS;YAC3E,MAAM,QAAQ,GAAG;gBACf,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC;YACF,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAuB,EACvB,KAAwC,EACxC,aAAkC,IAAI,GAAG,EAAE,EAC3C,yBAAkC,KAAK;IAEvC,IACE,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YACxB,sBAAsB;YACtB,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7F,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9E,KAAK,CAAC,IAAI,GAAG;gBACX,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;YAAE,SAAS;QACtD,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,GAAG;YAAE,SAAS;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,SAAS;QAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC/B,GAAG,EAAE,SAAS;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7D,kBAAkB,CAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,EACL,KAAK,CAAC,QAAQ,KAAK,OAAO,CAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAuB,EAAE,KAAY;IACpE,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO;IAC1B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,gBAAgB;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAuB,EACvB,QAA8B,EAC9B,KAAa;IAEb,IAAI,CAAC,QAAQ,CAAC,qBAAqB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClE,uBAAuB,CACrB,KAAK,EACL,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAC1C,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,uBAAuB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,IACE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,SAAS,KAAK,SAAS;QACvB,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;QACjC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,CAAC;QAC1E,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EACnC,CAAC;QACD,qBAAqB;YACnB,KAAK,CAAC,qBAAqB,EAAE,SAAS,KAAK,SAAS,CAAC,SAAS,CAAC;QACjE,KAAK,CAAC,qBAAqB,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAC1C,CAAC;IACD,IACE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI;QAC1D,SAAS,KAAK,SAAS;QACvB,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;QACjC,qBAAqB,EACrB,CAAC;QACD,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAChB,qFAAqF,CACtF,CACF,CAAC;IACJ,CAAC;IACD,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CACxD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAC3C,CAAC;QACF,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,IACE,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG;gBAC7B,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS;gBAC7C,SAAS,CAAC,IAAI,KAAK,SAAS;gBAC5B,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAClC,CAAC;gBACD,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;oBACjC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;oBAChC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;oBAC9B,IAAI,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI,EAAE,CAAC;wBAC/D,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAChB,sFAAsF,CACvF,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IACL,SAAS,KAAK,SAAS;gBACvB,CACE,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC;oBAC7E,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACxC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;wBACjC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG;wBACxB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAC9B,CACF,EACD,CAAC;gBACD,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;gBAC3B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,OAAO;YACjD,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;gBAChC,CAAC,CAAC,KAAK,CAAC,GAAG;gBACX,CAAC,CAAC,SAAS,CAAC;QAChB,IACE,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI;YAC1D,YAAY,KAAK,SAAS;YAC1B,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtC,OAAO,KAAK,EAAE,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;YAClE,CAAC,CAAC,EACF,CAAC;YACD,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAChB,qFAAqF,CACtF,CACF,CAAC;QACJ,CAAC;QACD,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5E,CAAC,QAAQ,EAA+B,EAAE,CACxC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;YACzC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAC5D,CAAC;QACF,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CACvC,CAAC;QACF,IAAI,4BAA4B,GAAG,KAAK,CAAC;QACzC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC9C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,oBAAoB,GACxB,KAAK,CAAC,YAAY,KAAK,OAAO;YAC9B,WAAW,KAAK,SAAS;YACzB,WAAW,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;QAClD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC5E,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvD,4BAA4B,GAAG,IAAI,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IACE,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI;YAC1D,CAAC,uBAAuB,IAAI,4BAA4B,CAAC,EACzD,CAAC;YACD,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAChB,qFAAqF,CACtF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAC7B,YAA8D;IAE9D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAwB;QACnC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,eAAe,EAAE,MAAM,CAAC,iBAAiB;KAC1C,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAuB,EACvB,OAA4B;IAE5B,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC;IAChG,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,qBAAqB;QAChE,CAAC,CAAC,OAAO,CAAC,aAAa;QACvB,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QACtF,CAAC,CAAC,IAAI,GAAG,EAAU;QACnB,CAAC,CAAC,qBAAqB,CACnB,OAAO,CAAC,UAAU,EAClB,KAAK,CAAC,yBAAyB,EAC/B,KAAK,CAAC,MAAM,CACb,CAAC;IACR,OAAO;QACL,KAAK;QACL,UAAU;QACV,qBAAqB;QACrB,oBAAoB,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,qBAAqB,EAAE,IAAI,GAAG,EAAU;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA4B;IAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,QAAQ;YAAE,SAAS;QAC7B,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAAC,uCAAuC,CAAC,CAC5D,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,OAAO;gBACjD,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;oBAChC,CAAC,CAAC,KAAK,CAAC,GAAG;oBACX,CAAC,CAAC,SAAS,CAAC;YAChB,IACE,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI;gBAC1D,YAAY,KAAK,SAAS;gBAC1B,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC5D,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,aAAa;wBAAE,OAAO,KAAK,CAAC;oBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACtD,OAAO,KAAK,EAAE,SAAS,KAAK,QAAQ,CAAC,SAAS;wBAC5C,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;gBAC5D,CAAC,CAAC,EACF,CAAC;gBACD,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAChB,qFAAqF,CACtF,CACF,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA4B,EAAE,KAAa;IACxE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,SAAS;QAC3D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAA4B,EAC5B,KAAc;IAEd,IAAI,OAAO,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IACE,CAAC,KAAK;QACN,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC1C,GAAG,GAAG,OAAO,CAAC,iBAAiB,GAAG,iCAAiC;QACnE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAChC,OAAO,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAChE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;QACzC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI;YAC5C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IACL,OAAO,OAAO,CAAC,gBAAgB,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CACpB,OAA4B;IAE5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACrC,OAAO,CAAC,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC7D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QACvC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI;YACzC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,qBAAqB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,OAAO,CAAC,cAAc,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA4B,EAC5B,KAAc;IAEd,IAAI,OAAO,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,cAAc,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IACE,CAAC,KAAK;QACN,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;QACxC,GAAG,GAAG,OAAO,CAAC,eAAe,GAAG,+BAA+B;QAC/D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA4B;IACxD,IAAI,OAAO,CAAC,KAAK;QAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAC1B,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,CAAC,EACD,iCAAiC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CACtE,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QACjF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAChF,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,IAAI,OAAO,GAAG,OAAO,CAAC,iBAAiB,IAAI,iCAAiC,EAAE,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,IACE,WAAW,KAAK,MAAM,CAAC,iBAAiB;YACxC,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,+BAA+B,EACpE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC,EAAE,OAAO,CAAC,CAAC;IACZ,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAuB;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,KAAuB,EACvB,KAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,sBAAsB,CACrD,KAAK,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,CAC/C,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;;QACpE,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC1D,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAAC,uCAAuC,CAAC,CAC5D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACxD,uBAAuB,CACrB,KAAK,EACL,wBAAwB,CAAC;YACvB,KAAK,EAAE,IAAI,GAAG,EAAE;YAChB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,qBAAqB,EAAE,KAAK;YAC5B,oBAAoB,EAAE,CAAC;YACvB,mBAAmB,EAAE,OAAO,CAAC,aAAa;YAC1C,qBAAqB,EAAE,IAAI,GAAG,EAAE;SACjC,EAAE,KAAK,CAAC,CACV,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CACnC,GAAW,EACX,MAA0B,EAC1B,YAAqC,EACrC,WAAoB,EACpB,KAAkC;IAElC,MAAM,WAAW,GAA2B;QAC1C,GAAG;QACH,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;YACnC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,OAAO;gBAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtB,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;KACF,CAAC;IACF,MAAM,KAAK,GAAqB;QAC9B,GAAG;QACH,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;QACnD,MAAM;QACN,yBAAyB,EACvB,YAAY,CAAC,yBAAyB,IAAI,0BAA0B;QACtE,KAAK;QACL,YAAY;QACZ,oBAAoB,EAAE,IAAI;QAC1B,6BAA6B,EAAE,KAAK;QACpC,WAAW,EAAE,IAAI,GAAG,EAA2B;QAC/C,gBAAgB,EAAE,IAAI,GAAG,EAA0B;QACnD,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE;KACjC,CAAC;IACF,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW;QAAE,OAAO,WAAW,CAAC;IACrC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,IAAI,eAAe,CAAC;IAC9D,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,aAAa,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACzE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC;gBAC3C,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,8BAA8B,KAAK,IAAI,CAAC;IACtE,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,KAAK,SAAS;QACzC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC;QACpC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACV,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC;SAClC,CAAC,CACL,CAAC,IAAI,CAAC,GAAG,EAAE;QACV,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ;QAAE,KAAK,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,MAA0B,EAC1B,eAAwC,EAAE,EAC1C,KAAkC;IAElC,OAAO,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,eAAwC,EAAE;IAE1C,MAAM,KAAK,GAAG,MAAM,iCAAiC,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,OAAO,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CACtB,QAAqC,EACrC,KAAwC;IAExC,OAAO,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC;AAC7F,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAqC,EACrC,QAA8B;IAE9B,OAAO,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CACrB,QAAyB,EACzB,QAA8B,EAC9B,MAAmB,EACnB,IAAkD;IAElD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO;IACtD,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAuB,EACvB,QAA8B;IAE9B,IACE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,GAAG;QAC5B,OAAO,SAAS,CAAC;IACnB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC5B,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACvD,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CACrD,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,KAAK,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IACE,aAAa,KAAK,SAAS;YAC3B,aAAa,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,SAAS;YACjD,OAAO,SAAS,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAC3F;QAAE,OAAO,SAAS,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAwB,EACxB,MAAmB,EACnB,IAAkD;IAElD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAAuB,EACvB,QAA8B;IAE9B,IAAI,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI;QAAE,OAAO;IACvE,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvE,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QAC1B,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;QAC1C,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACxC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAC1D,CAAC;IACF,IAAI,CAAC,cAAc;QAAE,OAAO;IAC5B,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAChB,0FAA0F,CAC3F,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,GAAW,EACX,YAA8D;IAE9D,OAAO,CAAC,MAAM,UAAU,CACtB,UAAU,EACV,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EACjC,YAAY,EACZ,+BAA+B,CAChC,CAAC,KAAK,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,KAAuB,EACvB,uBAAgC,EAChC,wCAAiD;IAEjD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,CAAC;IACpE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,gCAAgC,GAAG,wCAAwC;QAC/E,CAAC,CAAC;YACE,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;SACxC;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,KAAK,CAAC,aAAa,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,kBAAkB,CAAC,yCAAyC,CAAC,CAAC;IACtE,CAAC;IACD,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,gCAAgC;QAC3C,CAAC,CAAC,gCAAgC,CAAC,IAAI;QACvC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACf,MAAM,WAAW,GAAG,gCAAgC,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;IACvF,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC/D,CAAC,QAAQ,EAA+B,EAAE,CAAC,QAAQ,KAAK,SAAS,CAClE,CAAC;IACF,MAAM,aAAa,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,uBAAuB,GAAG,4CAA4C,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1F,MAAM,uBAAuB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CACrD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAC3C,CAAC;IACF,MAAM,sBAAsB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7D,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAC9C,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,cAAiD,EAAW,EAAE,CAC1F,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC;IACvE,CAAC,CAAC,CAAC;IACL,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,eAAe,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CACjC,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,UAAU;QACxB,CAAC,CAAC,CAAC,UAAU,CAAC;QACd,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpC,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,CACvD,CAAC;IACJ,MAAM,eAAe,GAAG,uBAAuB,IAAI,sBAAsB;QACvE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACjB,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CACnE,CAAC;IACJ,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,MAAM,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAClE,IAAI,CAAC,aAAa;QAAE,MAAM,kBAAkB,CAAC,0CAA0C,CAAC,CAAC;IACzF,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACpF,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,CAAC,MAAM,CAChE,CAAC,QAAQ,EAA+B,EAAE,CAAC,QAAQ,KAAK,SAAS,CAClE,CAAC;IACF,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,kBAAkB,CAAC,8CAA8C,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,kBAAkB,CACtB,sBAAsB;YACpB,CAAC,CAAC,gFAAgF;YAClF,CAAC,CAAC,oEAAoE,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,kBAAkB,CACtB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,kBAAkB,CAAC,kDAAkD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,mCAAmC,GACvC,wCAAwC;QACxC,KAAK,CAAC,6BAA6B;QACnC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QACrB,aAAa,CAAC,IAAI,KAAK,CAAC;QACxB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7B,qBAAqB,CAAC,IAAI,KAAK,CAAC,CAAC;IACnC,IACE,uBAAuB;QACvB,OAAO,CAAC,MAAM,KAAK,CAAC;QACpB,CACE,oBAAoB,CAAC,KAAK,CAAC;YAC3B,oBAAoB,CAAC,aAAa,CAAC;YACnC,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAC1E,EACD,CAAC;QACD,MAAM,kBAAkB,CACtB,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,kDAAkD,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,KAAuB,EACvB,uBAAgC,EAChC,0BAAmC,EACnC,wCAAiD;IAEjD,MAAM,KAAK,CAAC,aAAa,CAAC;IAC1B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,uBAAuB,IAAI,0BAA0B;YAAE,OAAO;QACnE,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,wCAAwC,EAAE,CAAC;QAC7C,oCAAoC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,OAA6B,EAAqB,EAAE,CAC1E,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAChD,CAAC,QAAQ,EAA+B,EAAE,CACxC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACvC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAC3D,CAAC;IACJ,MAAM,cAAc,GAAG,CAAC,OAA6B,EAAY,EAAE,CACjE,KAAK,CAAC,MAAM,KAAK,SAAS;QACxB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACrC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;YACjC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAChD,CAAC;IACR,MAAM,WAAW,GAAG,CAAC,OAA6B,EAAE,MAAkB,EAAQ,EAAE;QAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,qBAAqB;YAAE,OAAO;QACzE,kBAAkB,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1E,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrE,IACE,cAAc,CAAC,MAAM,KAAK,CAAC;QAC3B,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAC9B,mBAAmB,KAAK,SAAS,EACjC,CAAC;QACD,IAAI,uBAAuB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,kBAAkB,CAAC,kDAAkD,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,KAAK,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC,OAAO,CAAC;QACvC,OAAO;IACT,CAAC;IAED,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,UAAU,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACjF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IACD,QAAQ,GAAG,YAAY,CAAC;IACxB,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,UAAU,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;IACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,+CAA+C,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,gDAAgD,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,OAAO;QAAE,MAAM,KAAK,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAW,EACX,eAA6C,EAC7C,eAAwC,EAAE,EAC1C,UAAyC,EAAE;IAE3C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;QACrC,4BAA4B,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,2BAA2B,CAC/B,KAAK,EACL,OAAO,CAAC,uBAAuB,IAAI,KAAK,EACxC,OAAO,CAAC,+CAA+C,IAAI,KAAK,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,yBAAyB,CAC7B,KAAK,EACL,OAAO,CAAC,uBAAuB,IAAI,KAAK,EACxC,OAAO,CAAC,0BAA0B,IAAI,KAAK,EAC3C,OAAO,CAAC,wCAAwC,IAAI,KAAK,CAC1D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"process-tree.js","sourceRoot":"","sources":["../src/process-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AAClE,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAC9C,MAAM,qCAAqC,GAAG,KAAK,CAAC;AACpD,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAC9C,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAC9C,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAC9C,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAC9C,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAqJvD,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA4C,CAAC;AAClF,MAAM,aAAa,GAAG,IAAI,OAAO,EAG9B,CAAC;AAEJ,MAAM,eAAe,GAAqD,CACxE,OAAO,EACP,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAElF,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CACrB,MAAuC,EACvC,KAAe;IAEf,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAChD,CAAC,CAAC,KAA+D;QACjE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO;QACL,MAAM;QACN,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAe,EACf,IAAc,EACd,YAA8D,EAC9D,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,MAA4B,EAAQ,EAAE;YACpD,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;YACtC,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,cAAc,CAAC,mBAAmB,CAAC;SAC7C,CAAC,EAAE,SAAS,CAAC,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,YAAY,CACV,OAAO,EACP,IAAI,EACJ;gBACE,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,6BAA6B;aACzC,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK;gBAC7B,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE;gBACpE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CACjB,OAAe,EACf,IAAc,EACd,YAA8D,EAC9D,SAAiB;IAEjB,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC;SACrE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,gDAAgD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC/B,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;gBACpB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;aACzB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YAChC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;YACrB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,kFAAkF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7G,MAAM,SAAS,GAAG,MAAM;YACtB,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;YACnB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SAC9C,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,uFAAuF;QACvF,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,WAAW,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAqB,EACrB,yBAAiC,EACjC,MAAc;IAEd,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,UAAU,GAAG,GAAG,yBAAyB,IAAI,MAAM,EAAE,CAAC;IAC5D,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,YAA8D,EAC9D,yBAAiC,EACjC,MAAe,EACf,YAAoB,qCAAqC,EACzD,kBAA2B;IAE3B,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,iCAAiC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,CAAC,CAAC;IACnF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9D,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC;QACtE,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAuB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACvD,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;KACzE,CAAC,CAAC;IACH,IAAI,cAAc,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,YAAY,GAAG,mBAAmB,CAAC;IACvC,IAAI,oBAAoB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAC/E,oBAAoB,IAAI,CAAC,CAAC;QAC1B,YAAY,GAAG,MAAM,yBAAyB,CAC5C,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,cAAc,CACf,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IACzC,MAAM,UAAU,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU;QACpD,CAAC,CAAC,IAAI,GAAG,EAAU;QACnB,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAChD,MAAM,aAAa,GAAG,kBAAkB,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC1F,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACvF,IAAI,kBAAkB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAmB,CAAC,CAAC;QACvE,IACE,cAAc,EAAE,SAAS,KAAK,aAAa,CAAC,SAAS;YACrD,CAAC,qBAAqB,CACpB,gBAAgB,EAChB,yBAAyB,EACzB,MAAO,CACR,CAAC,GAAG,CAAC,kBAAmB,CAAC;YAC1B,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EACtC,CAAC;YACD,qBAAqB,CAAC,GAAG,CAAC,kBAAmB,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK;QACL,UAAU;QACV,oBAAoB,EAAE,UAAU,EAAE,cAAc,IAAI,IAAI,GAAG,EAAE;QAC7D,qBAAqB,EAAE,MAAM,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;QACpE,oBAAoB;QACpB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,YAA8D;IAE9D,OAAO,yBAAyB,CAC9B,IAAI,EACJ,CAAC,IAAI,EAAE,IAAI,EAAE,iCAAiC,CAAC,EAC/C,YAAY,EACZ,qCAAqC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,YAA8D,EAC9D,SAAS,GAAG,qCAAqC;IAEjD,OAAO,yBAAyB,CAC9B,IAAI,EACJ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,CAAC,EAC/D,YAAY,EACZ,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA8B,EAC9B,KAAa;IAEb,MAAM,MAAM,GAAG;QACb,SAAS,KAAK,EAAE;QAChB,YAAY,QAAQ,CAAC,oBAAoB,EAAE;QAC3C,UAAU,QAAQ,CAAC,mBAAmB,EAAE,MAAM,IAAI,SAAS,EAAE;KAC9D,CAAC;IACF,IAAI,QAAQ,CAAC,mBAAmB,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,QAAQ,CAAC,mBAAmB,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,QAAQ,CAAC,mBAAmB,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,kBAAkB,CAAC,uCAAuC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,yBAAiC,EACjC,MAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB,CAAC,IAAI,EAAE,+BAA+B,CAAC,EACvC;QACE,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE;QAC5C,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CACF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;QAAE,MAAM,kBAAkB,CAAC,oCAAoC,CAAC,CAAC;IAC5F,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;gBAAE,OAAO;YACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;YACrD,CAAC;YACD,MAAM,MAAM,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAA8B,EAC9B,KAAiC,EACjC,KAAa;IAEb,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QACpC,OAAO,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7D,IACE,aAAa,EAAE,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;QACrD,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC5C,CAAC;QACD,OAAO,kBAAkB,CAAC,kDAAkD,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,eAAwC,EAAE;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAC3D,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClD,MAAM,kBAAkB,CAAC,wCAAwC,QAAQ,GAAG,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,yBAAyB,GAC7B,YAAY,CAAC,yBAAyB,IAAI,0BAA0B,CAAC;IACvE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,qBAAqB,CAAC,CAC3E,yBAAyB,EACzB,MAAM,CACP,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAC1C,YAAY,CAAC,QAAQ,IAAI,eAAe,EACxC,yBAAyB,EACzB,MAAM,CACP,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,MAAM,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACpC,MAAM,wBAAwB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,kBAAkB,CAAC,kDAAkD,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;YAC3D,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,QAAQ;oBAAE,OAAO;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,SAAS;YACT,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,YAA8D;IAE9D,MAAM,MAAM,GAAG;QACb,kDAAkD;QAClD,4FAA4F;QAC5F,GAAG;KACJ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,UAAU,CACf,gBAAgB,EAChB,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,EACrD,YAAY,EACZ,+BAA+B,CAChC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,2BAA2B,CAClC,OAAe,EACf,KAAwC;IAExC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,4CAA4C,CACnD,IAAiC,EACjC,KAAwC;IAExC,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YACnC,IACE,KAAK,CAAC,YAAY,KAAK,SAAS;gBAChC,MAAM,CAAC,YAAY,KAAK,SAAS;gBACjC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;gBACxC,SAAS;YACX,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,QAAQ;gBACb,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAiC,EACjC,gBAA8C,EAC9C,KAAwC,EACxC,iCAA0C,KAAK;IAE/C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACvD,CAAC,QAAQ,EAA+B,EAAE,CACxC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,QAAQ,CAAC,SAAS,CACtF,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;QAChC,KAAK,MAAM,aAAa,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACnE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAAE,SAAS;YACzC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;YACxC,IACE,8BAA8B;gBAC9B,CACE,MAAM,CAAC,YAAY,KAAK,SAAS;oBACjC,KAAK,CAAC,YAAY,KAAK,SAAS;oBAChC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CACzC;gBACD,SAAS;YACX,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1D,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gBAAE,SAAS;YAC3E,MAAM,QAAQ,GAAG;gBACf,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC;YACF,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAuB,EACvB,KAAwC,EACxC,aAAkC,IAAI,GAAG,EAAE,EAC3C,yBAAkC,KAAK;IAEvC,IACE,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YACxB,sBAAsB;YACtB,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7F,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9E,KAAK,CAAC,IAAI,GAAG;gBACX,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;YAAE,SAAS;QACtD,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,GAAG;YAAE,SAAS;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,SAAS;QAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC/B,GAAG,EAAE,SAAS;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7D,kBAAkB,CAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,EACL,KAAK,CAAC,QAAQ,KAAK,OAAO,CAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,KAAuB,EACvB,QAA0C,EAC1C,KAAa,EACb,MAAc,EACd,eAAyB,EAAE;IAE3B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;SACnE,MAAM,CAAC,CAAC,QAAQ,EAA+B,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC;SACzE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;YAAE,SAAS;QAChD,IAAI,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAC/B,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,OAAO;QACL,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,KAAK;QACL,MAAM;QACN,OAAO,EAAE,KAAK,CAAC,GAAG;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY;QACZ,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,IAAI,IAAI;QAC9D,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACrD,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI;gBAC9C,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBACV,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACP,aAAa,EAAE,QAAQ,EAAE,qBAAqB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;oBAC1E,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;oBACvC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC9B,CAAC,CAAC,IAAI;aACT,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAuB,EACvB,KAAY,EACZ,UAAkC;IAElC,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO;IAC1B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,IAAI,UAAU;QAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9C,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACpC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,gBAAgB;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAuB,EAAE,GAAW,EAAE,KAAmB;IACvF,OAAO,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;QAC3D,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,KAAK,CAAC,SAAS;QACzD,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,KAAuB,EACvB,QAA8B,EAC9B,KAAa;IAEb,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,MAAc,EAAE,eAAyB,EAAE,EAAQ,EAAE;QAC/E,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO;QAC1B,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACvG,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAAC,oBAAoB,KAAK,IAAI;QAC3E,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI,CAAC;IAC7D,IAAI,CAAC,QAAQ,CAAC,qBAAqB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAW,EAAE;QACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3G,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACpF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,qCAAqC;YACrD,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,oBAAoB,IAAI,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,SAAS,GAAG,CAAC;YAChC,CAAC,CAAC,MAAM,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,EAAE,SAAS,CAAC;YACxF,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnE,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjC,QAAQ,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACvC,QAAQ,CAAC,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC;YACpD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzG,qFAAqF;QACrF,qFAAqF;QACrF,QAAQ,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACvE,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;gBACrC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;gBACvD,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;gBACzE,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACpD,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CACF,kBAAkB,CAAC,wFAAwF,CAAC,EAC5G,2BAA2B,EAC3B,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,IACE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,SAAS,KAAK,SAAS;QACvB,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;QACjC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,CAAC;QAC1E,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EACnC,CAAC;QACD,qBAAqB;YACnB,KAAK,CAAC,qBAAqB,EAAE,SAAS,KAAK,SAAS,CAAC,SAAS,CAAC;QACjE,KAAK,CAAC,qBAAqB,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAC1C,CAAC;IACD,IACE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,oBAAoB;QACpB,SAAS,KAAK,SAAS;QACvB,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;QACjC,qBAAqB,EACrB,CAAC;QACD,IAAI,CACF,kBAAkB,CAChB,qFAAqF,CACtF,EACD,qBAAqB,EACrB,CAAC,KAAK,CAAC,GAAG,CAAC,CACZ,CAAC;IACJ,CAAC;IACD,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CACxD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAC3C,CAAC;QACF,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,IACE,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG;gBAC7B,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS;gBAC7C,SAAS,CAAC,IAAI,KAAK,SAAS;gBAC5B,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAClC,CAAC;gBACD,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;oBACjC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;oBAChC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;oBAC9B,IAAI,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI,EAAE,CAAC;wBAC/D,IAAI,CACF,kBAAkB,CAChB,sFAAsF,CACvF,EACD,4BAA4B,EAC5B,CAAC,KAAK,CAAC,GAAG,CAAC,CACZ,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IACL,SAAS,KAAK,SAAS;gBACvB,CACE,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC;oBAC7E,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACxC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;wBACjC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG;wBACxB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAC9B,CACF,EACD,CAAC;gBACD,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;gBAC3B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,OAAO;YACjD,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;gBAChC,CAAC,CAAC,KAAK,CAAC,GAAG;gBACX,CAAC,CAAC,SAAS,CAAC;QAChB,IACE,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI;YAC1D,YAAY,KAAK,SAAS;YAC1B,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtC,OAAO,KAAK,EAAE,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;YAClE,CAAC,CAAC,EACF,CAAC;YACD,IAAI,CACF,kBAAkB,CAChB,qFAAqF,CACtF,EACD,8BAA8B,EAC9B,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,YAAY,CAAC,CACnF,CAAC;QACJ,CAAC;QACD,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5E,CAAC,QAAQ,EAA+B,EAAE,CACxC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;YACzC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAC5D,CAAC;QACF,MAAM,mBAAmB,GAAG,mBAAmB;aAC5C,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC5D,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,0BAA0B,GAAa,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC9C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,oBAAoB,GACxB,KAAK,CAAC,YAAY,KAAK,OAAO;YAC9B,WAAW,KAAK,SAAS;YACzB,WAAW,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;QAClD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC5E,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvD,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IACE,oBAAoB;YACpB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,CAAC,EACzE,CAAC;YACD,IAAI,CACF,kBAAkB,CAChB,qFAAqF,CACtF,EACD,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,8BAA8B,EAChG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,EAAE,GAAG,0BAA0B,CAAC,CAAC,CAAC,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAC7B,YAA8D;IAE9D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAwB;QACnC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,eAAe,EAAE,MAAM,CAAC,iBAAiB;KAC1C,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAuB,EACvB,OAA4B;IAE5B,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC;IAChG,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,qBAAqB;QAChE,CAAC,CAAC,OAAO,CAAC,aAAa;QACvB,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QACtF,CAAC,CAAC,IAAI,GAAG,EAAU;QACnB,CAAC,CAAC,qBAAqB,CACnB,OAAO,CAAC,UAAU,EAClB,KAAK,CAAC,yBAAyB,EAC/B,KAAK,CAAC,MAAM,CACb,CAAC;IACR,OAAO;QACL,KAAK;QACL,UAAU;QACV,oBAAoB,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,IAAI,IAAI,GAAG,EAAE;QACrE,qBAAqB;QACrB,oBAAoB,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,mBAAmB,EAAE,OAAO,CAAC,eAAe;QAC5C,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,qBAAqB,EAAE,IAAI,GAAG,EAAU;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA4B;IAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,QAAQ;YAAE,SAAS;QAC7B,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAAC,uCAAuC,CAAC,EAC3D;gBACE,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,wBAAwB,CAAC;gBAC7E,aAAa,EAAE,OAAO,CAAC,eAAe;aACvC,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,OAAO;gBACjD,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;oBAChC,CAAC,CAAC,KAAK,CAAC,GAAG;oBACX,CAAC,CAAC,SAAS,CAAC;YAChB,IACE,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI;gBAC1D,YAAY,KAAK,SAAS;gBAC1B,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC5D,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,aAAa;wBAAE,OAAO,KAAK,CAAC;oBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACtD,OAAO,KAAK,EAAE,SAAS,KAAK,QAAQ,CAAC,SAAS;wBAC5C,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;gBAC5D,CAAC,CAAC,EACF,CAAC;gBACD,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAChB,qFAAqF,CACtF,CACF,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAA4B,EAAE,KAAa;IAC9E,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACzD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,MAAM,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAA4B,EAC5B,KAAc;IAEd,IAAI,OAAO,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IACE,CAAC,KAAK;QACN,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC1C,GAAG,GAAG,OAAO,CAAC,iBAAiB,GAAG,iCAAiC;QACnE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAChC,OAAO,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAChE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;QACzC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI;YAC5C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IACL,OAAO,OAAO,CAAC,gBAAgB,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CACpB,OAA4B;IAE5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACrC,OAAO,CAAC,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC7D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QACvC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9F,OAAO,qBAAqB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,OAAO,CAAC,cAAc,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA4B,EAC5B,KAAc;IAEd,IAAI,OAAO,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,cAAc,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IACE,CAAC,KAAK;QACN,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;QACxC,GAAG,GAAG,OAAO,CAAC,eAAe,GAAG,+BAA+B;QAC/D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA4B;IACxD,IAAI,OAAO,CAAC,KAAK;QAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAC1B,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,CAAC,EACD,iCAAiC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CACtE,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QACjF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAChF,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,IAAI,OAAO,GAAG,OAAO,CAAC,iBAAiB,IAAI,iCAAiC,EAAE,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,IACE,WAAW,KAAK,MAAM,CAAC,iBAAiB;YACxC,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,+BAA+B,EACpE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC,EAAE,OAAO,CAAC,CAAC;IACZ,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAuB;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,KAAuB,EACvB,KAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,sBAAsB,CACrD,KAAK,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,CAC/C,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;;QACpE,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG;YACjB,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,CAAC;YACrE,aAAa,EAAE,OAAO,CAAC,eAAe;SACvC,CAAC;QACF,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAAC,uCAAuC,CAAC,EAC3D,UAAU,CACX,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACxD,MAAM,cAAc,GAAyB;YAC3C,KAAK,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI,GAAG,EAAE;YACzC,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,oBAAoB,EAAE,IAAI,GAAG,EAAE;YAC/B,qBAAqB,EAAE,KAAK;YAC5B,oBAAoB,EAAE,CAAC;YACvB,mBAAmB,EAAE,OAAO,CAAC,aAAa;YAC1C,qBAAqB,EAAE,IAAI,GAAG,EAAE;SACjC,CAAC;QACF,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;QACzF,uBAAuB,CACrB,KAAK,EACL,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,EAC/C,UAAU,CACX,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,wFAAwF;IACxF,IAAI,KAAK,CAAC,OAAO;QAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACtG,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CACnC,GAAW,EACX,MAA0B,EAC1B,YAAqC,EACrC,WAAoB,EACpB,KAAkC;IAElC,MAAM,WAAW,GAA2B;QAC1C,GAAG;QACH,IAAI,WAAW;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;QACD,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;YACnC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,OAAO;gBAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtB,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;KACF,CAAC;IACF,MAAM,KAAK,GAAqB;QAC9B,GAAG;QACH,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;QACnD,MAAM;QACN,yBAAyB,EACvB,YAAY,CAAC,yBAAyB,IAAI,0BAA0B;QACtE,KAAK;QACL,YAAY;QACZ,oBAAoB,EAAE,IAAI;QAC1B,6BAA6B,EAAE,KAAK;QACpC,WAAW,EAAE,IAAI,GAAG,EAA2B;QAC/C,WAAW,EAAE,EAAE;QACf,gBAAgB,EAAE,IAAI,GAAG,EAA0B;QACnD,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE;KACjC,CAAC;IACF,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW;QAAE,OAAO,WAAW,CAAC;IACrC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,IAAI,eAAe,CAAC;IAC9D,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,aAAa,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACzE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC;gBAC3C,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,oBAAoB,KAAK,IAAI;QACzD,YAAY,CAAC,8BAA8B,KAAK,IAAI,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,KAAK,SAAS;QACzC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC;QACpC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACV,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC;SAClC,CAAC,CACL,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAChB,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,MAAM,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ;QAAE,KAAK,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,MAA0B,EAC1B,eAAwC,EAAE,EAC1C,KAAkC;IAElC,OAAO,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,eAAwC,EAAE;IAE1C,MAAM,KAAK,GAAG,MAAM,iCAAiC,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,OAAO,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CACtB,QAAqC,EACrC,KAAwC;IAExC,OAAO,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC;AAC7F,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAqC,EACrC,QAA8B;IAE9B,OAAO,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CACrB,QAAyB,EACzB,QAA8B,EAC9B,MAAmB,EACnB,IAAkD;IAElD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO;IACtD,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAuB,EACvB,QAA8B;IAE9B,IACE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,GAAG;QAC5B,OAAO,SAAS,CAAC;IACnB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC5B,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACvD,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CACrD,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,KAAK,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IACE,aAAa,KAAK,SAAS;YAC3B,aAAa,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,SAAS;YACjD,OAAO,SAAS,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAC3F;QAAE,OAAO,SAAS,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAwB,EACxB,MAAmB,EACnB,IAAkD;IAElD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAAuB,EACvB,QAA8B;IAE9B,IAAI,KAAK,CAAC,YAAY,CAAC,8BAA8B,KAAK,IAAI;QAAE,OAAO;IACvE,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvE,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QAC1B,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;QAC1C,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACxC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAC1D,CAAC;IACF,IAAI,CAAC,cAAc;QAAE,OAAO;IAC5B,uBAAuB,CACrB,KAAK,EACL,kBAAkB,CAChB,0FAA0F,CAC3F,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,GAAW,EACX,YAA8D;IAE9D,OAAO,CAAC,MAAM,UAAU,CACtB,UAAU,EACV,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EACjC,YAAY,EACZ,+BAA+B,CAChC,CAAC,KAAK,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,KAAuB,EACvB,uBAAgC,EAChC,wCAAiD;IAEjD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,IAAI,eAAe,CAAC;IACpE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,gCAAgC,GAAG,wCAAwC;QAC/E,CAAC,CAAC;YACE,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;SACxC;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,KAAK,CAAC,aAAa,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,kBAAkB,CAAC,yCAAyC,CAAC,CAAC;IACtE,CAAC;IACD,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,gCAAgC;QAC3C,CAAC,CAAC,gCAAgC,CAAC,IAAI;QACvC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACf,MAAM,WAAW,GAAG,gCAAgC,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;IACvF,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC/D,CAAC,QAAQ,EAA+B,EAAE,CAAC,QAAQ,KAAK,SAAS,CAClE,CAAC;IACF,MAAM,aAAa,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,uBAAuB,GAAG,4CAA4C,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1F,MAAM,uBAAuB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CACrD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAC3C,CAAC;IACF,MAAM,sBAAsB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7D,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAC9C,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,cAAiD,EAAW,EAAE,CAC1F,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC;IACvE,CAAC,CAAC,CAAC;IACL,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,eAAe,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CACjC,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,UAAU;QACxB,CAAC,CAAC,CAAC,UAAU,CAAC;QACd,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpC,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,CACvD,CAAC;IACJ,MAAM,eAAe,GAAG,uBAAuB,IAAI,sBAAsB;QACvE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACjB,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CACnE,CAAC;IACJ,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,MAAM,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAClE,IAAI,CAAC,aAAa;QAAE,MAAM,kBAAkB,CAAC,0CAA0C,CAAC,CAAC;IACzF,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACpF,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,CAAC,MAAM,CAChE,CAAC,QAAQ,EAA+B,EAAE,CAAC,QAAQ,KAAK,SAAS,CAClE,CAAC;IACF,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,kBAAkB,CAAC,8CAA8C,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,kBAAkB,CACtB,sBAAsB;YACpB,CAAC,CAAC,gFAAgF;YAClF,CAAC,CAAC,oEAAoE,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,kBAAkB,CACtB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,kBAAkB,CAAC,kDAAkD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,mCAAmC,GACvC,wCAAwC;QACxC,KAAK,CAAC,6BAA6B;QACnC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QACrB,aAAa,CAAC,IAAI,KAAK,CAAC;QACxB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7B,qBAAqB,CAAC,IAAI,KAAK,CAAC,CAAC;IACnC,IACE,uBAAuB;QACvB,OAAO,CAAC,MAAM,KAAK,CAAC;QACpB,CACE,oBAAoB,CAAC,KAAK,CAAC;YAC3B,oBAAoB,CAAC,aAAa,CAAC;YACnC,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAC1E,EACD,CAAC;QACD,MAAM,kBAAkB,CACtB,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,kDAAkD,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,KAAuB,EACvB,uBAAgC,EAChC,0BAAmC,EACnC,wCAAiD;IAEjD,MAAM,KAAK,CAAC,aAAa,CAAC;IAC1B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,uBAAuB,IAAI,0BAA0B;YAAE,OAAO;QACnE,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,wCAAwC,EAAE,CAAC;QAC7C,oCAAoC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,OAA6B,EAAqB,EAAE,CAC1E,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAChD,CAAC,QAAQ,EAA+B,EAAE,CACxC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACvC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAC3D,CAAC;IACJ,MAAM,cAAc,GAAG,CAAC,OAA6B,EAAY,EAAE,CACjE,KAAK,CAAC,MAAM,KAAK,SAAS;QACxB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACrC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG;YACjC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAChD,CAAC;IACR,MAAM,WAAW,GAAG,CAAC,OAA6B,EAAE,MAAkB,EAAQ,EAAE;QAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,qBAAqB;YAAE,OAAO;QACzE,kBAAkB,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1E,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrE,IACE,cAAc,CAAC,MAAM,KAAK,CAAC;QAC3B,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAC9B,mBAAmB,KAAK,SAAS,EACjC,CAAC;QACD,IAAI,uBAAuB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,kBAAkB,CAAC,kDAAkD,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,KAAK,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC,OAAO,CAAC;QACvC,OAAO;IACT,CAAC;IAED,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,UAAU,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACjF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IACD,QAAQ,GAAG,YAAY,CAAC;IACxB,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,UAAU,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;IACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,+CAA+C,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,gDAAgD,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,OAAO;QAAE,MAAM,KAAK,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAW,EACX,eAA6C,EAC7C,eAAwC,EAAE,EAC1C,UAAyC,EAAE;IAE3C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;QACrC,4BAA4B,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,2BAA2B,CAC/B,KAAK,EACL,OAAO,CAAC,uBAAuB,IAAI,KAAK,EACxC,OAAO,CAAC,+CAA+C,IAAI,KAAK,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,yBAAyB,CAC7B,KAAK,EACL,OAAO,CAAC,uBAAuB,IAAI,KAAK,EACxC,OAAO,CAAC,0BAA0B,IAAI,KAAK,EAC3C,OAAO,CAAC,wCAAwC,IAAI,KAAK,CAC1D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/providers.js CHANGED
@@ -505,15 +505,15 @@ async function runTriggerProvider(input, dependencies = {}) {
505
505
  }
506
506
  const evalCase = normalizeAwSkillEvalTriggerCase(typedInput.case.value, 0, typedInput.case.suite);
507
507
  const summary = summarizeTriggerCase(typedInput.case.suite, evalCase, [result.evidence]);
508
- if (result.evidence.execution_error) {
509
- throw new EvalProviderExecutionError('codex-trigger', 'evaluation', `codex-trigger execution failed: ${result.evidence.diagnostics.join('; ')}`);
510
- }
511
508
  try {
512
509
  await writeEvaluationArtifacts(checkedInput, result.evidence, result.evidence.final_message ?? '');
513
510
  }
514
511
  catch (error) {
515
512
  throw new EvalProviderExecutionError('codex-trigger', 'output', error.message);
516
513
  }
514
+ if (result.evidence.execution_error) {
515
+ throw new EvalProviderExecutionError('codex-trigger', 'evaluation', `codex-trigger execution failed: ${result.evidence.diagnostics.join('; ')}`);
516
+ }
517
517
  return {
518
518
  usage: standardUsage(result.usage),
519
519
  grade: {