@astroanywhere/agent 0.1.31 → 0.1.33

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.
@@ -9,6 +9,7 @@ import { createProviderAdapter } from '../providers/index.js';
9
9
  import { ClaudeSdkAdapter } from '../providers/claude-sdk-adapter.js';
10
10
  import { SlurmJobMonitor } from './slurm-job-monitor.js';
11
11
  import { createWorktree } from './worktree.js';
12
+ import { BranchLockManager } from './branch-lock.js';
12
13
  import { pushAndCreatePR } from './git-pr.js';
13
14
  import { checkWorkdirSafety, isGitAvailable, isGitRepo, createSandbox, WorkdirSafetyTier, } from './workdir-safety.js';
14
15
  export class TaskExecutor {
@@ -27,6 +28,7 @@ export class TaskExecutor {
27
28
  maxSandboxSize;
28
29
  gitAvailable = false;
29
30
  hpcCapability;
31
+ branchLockManager = new BranchLockManager();
30
32
  // Safety tracking
31
33
  tasksByDirectory = new Map(); // workdir -> taskIds
32
34
  pendingSafetyChecks = new Map(); // taskId -> pending check
@@ -49,6 +51,7 @@ export class TaskExecutor {
49
51
  }).catch(() => {
50
52
  this.gitAvailable = false;
51
53
  });
54
+ console.log('[executor] Tip: Filter logs for a specific task with: npx @astroanywhere/agent logs -f | grep "taskId"');
52
55
  }
53
56
  /**
54
57
  * Submit a task for execution (with safety checks)
@@ -254,6 +257,8 @@ export class TaskExecutor {
254
257
  });
255
258
  }
256
259
  this.taskQueue = [];
260
+ // Release all branch locks to unblock any waiting tasks
261
+ this.branchLockManager.releaseAll();
257
262
  // Stop job monitor
258
263
  this.jobMonitor.stop();
259
264
  }
@@ -540,6 +545,24 @@ export class TaskExecutor {
540
545
  const tasks = this.tasksByDirectory.get(workdir);
541
546
  return tasks ? tasks.size : 0;
542
547
  }
548
+ /**
549
+ * Determine whether a task will create a git worktree.
550
+ * Used to decide if the branch lock should be acquired.
551
+ */
552
+ taskWillCreateWorktree(task) {
553
+ const isTextOnly = task.type === 'summarize' || task.type === 'chat' || task.type === 'plan';
554
+ if (isTextOnly)
555
+ return false;
556
+ if (task.useWorktree === false)
557
+ return false;
558
+ if (!this.useWorktree)
559
+ return false;
560
+ if (task.deliveryMode === 'direct')
561
+ return false;
562
+ if (task.deliveryMode === 'copy')
563
+ return false;
564
+ return true;
565
+ }
543
566
  async executeTask(task, useSandbox = false) {
544
567
  console.log(`[executor] Task ${task.id}: workingDirectory=${task.workingDirectory} sandbox=${useSandbox}`);
545
568
  // Setup sandbox if requested
@@ -633,11 +656,47 @@ export class TaskExecutor {
633
656
  };
634
657
  this.runningTasks.set(normalizedTask.id, runningTask);
635
658
  this.wsClient.addActiveTask(normalizedTask.id);
659
+ // Acquire per-branch lock to prevent concurrent worktree creation on the same branch.
660
+ // Tasks sharing a branch (same project) serialize; different branches run in parallel.
661
+ let branchLock;
662
+ if (this.taskWillCreateWorktree(normalizedTask)) {
663
+ const lockKey = BranchLockManager.computeLockKey(normalizedTask.workingDirectory, normalizedTask.shortProjectId, normalizedTask.shortNodeId, normalizedTask.id);
664
+ const queueLength = this.branchLockManager.getQueueLength(lockKey);
665
+ if (queueLength > 0 || this.branchLockManager.isLocked(lockKey)) {
666
+ console.log(`[executor] Task ${task.id}: waiting for branch lock (${queueLength} ahead)`);
667
+ this.wsClient.sendTaskStatus(normalizedTask.id, 'running', 0, 'Waiting for branch lock...');
668
+ }
669
+ branchLock = await this.branchLockManager.acquire(lockKey, normalizedTask.id);
670
+ // If task was cancelled while waiting for the lock, bail out early
671
+ if (abortController.signal.aborted) {
672
+ branchLock.release();
673
+ this.runningTasks.delete(normalizedTask.id);
674
+ this.wsClient.removeActiveTask(normalizedTask.id);
675
+ this.untrackTaskDirectory(task);
676
+ this.processQueue();
677
+ return;
678
+ }
679
+ }
636
680
  // Text-only tasks (plan/chat/summarize) without a working directory skip workspace prep
637
681
  const isTextOnly = normalizedTask.type === 'summarize' || normalizedTask.type === 'chat' || normalizedTask.type === 'plan';
638
- const prepared = isTextOnly && !normalizedTask.workingDirectory
639
- ? { workingDirectory: '', cleanup: async () => { } }
640
- : await this.prepareTaskWorkspace(normalizedTask, stream);
682
+ let prepared;
683
+ try {
684
+ prepared = isTextOnly && !normalizedTask.workingDirectory
685
+ ? { workingDirectory: '', cleanup: async () => { } }
686
+ : await this.prepareTaskWorkspace(normalizedTask, stream);
687
+ }
688
+ catch (prepErr) {
689
+ // Release branch lock on workspace preparation failure to avoid deadlocking
690
+ // subsequent tasks in the same project (fix from PR #26).
691
+ // Note: processQueue() is NOT called here — the finally block in the outer
692
+ // try-catch handles queue draining for all exit paths, avoiding double-dequeue.
693
+ if (branchLock)
694
+ branchLock.release();
695
+ this.runningTasks.delete(normalizedTask.id);
696
+ this.wsClient.removeActiveTask(normalizedTask.id);
697
+ this.untrackTaskDirectory(task);
698
+ throw prepErr;
699
+ }
641
700
  const taskWithWorkspace = { ...normalizedTask, workingDirectory: prepared.workingDirectory };
642
701
  runningTask.task = taskWithWorkspace;
643
702
  console.log(`[executor] Task ${task.id}: workspace prepared, cwd=${prepared.workingDirectory}`);
@@ -650,9 +709,25 @@ export class TaskExecutor {
650
709
  try {
651
710
  // Notify task started
652
711
  this.wsClient.sendTaskStatus(task.id, 'running', 0, 'Starting');
653
- console.log(`[executor] Task ${task.id}: executing with ${adapter.name}...`);
654
- // Execute the task
655
- const result = await adapter.execute(taskWithWorkspace, stream, abortController.signal);
712
+ // Resume existing Claude session if resumeSessionId is provided
713
+ const canResume = taskWithWorkspace.resumeSessionId
714
+ && adapter instanceof ClaudeSdkAdapter
715
+ && isTextOnly;
716
+ let result;
717
+ if (canResume) {
718
+ console.log(`[executor] Task ${task.id}: resuming session ${taskWithWorkspace.resumeSessionId} with ${adapter.name}...`);
719
+ const resumeResult = await adapter.resumeTask(taskWithWorkspace.id, taskWithWorkspace.prompt, taskWithWorkspace.workingDirectory || process.cwd(), taskWithWorkspace.resumeSessionId, stream, abortController.signal);
720
+ result = {
721
+ taskId: taskWithWorkspace.id,
722
+ status: resumeResult.success ? 'completed' : 'failed',
723
+ output: resumeResult.output,
724
+ error: resumeResult.error,
725
+ };
726
+ }
727
+ else {
728
+ console.log(`[executor] Task ${task.id}: executing with ${adapter.name}...`);
729
+ result = await adapter.execute(taskWithWorkspace, stream, abortController.signal);
730
+ }
656
731
  // Delivery-mode-aware result handling
657
732
  const deliveryMode = task.deliveryMode ?? 'pr';
658
733
  // Build PR title: prefer summary.workCompleted (agent knows what it did),
@@ -669,6 +744,7 @@ export class TaskExecutor {
669
744
  ? `[${task.shortProjectId}/${task.shortNodeId}] ${rawTitle}`
670
745
  : rawTitle;
671
746
  if (prepared.branchName && result.status === 'completed') {
747
+ this.wsClient.sendTaskStatus(task.id, 'running', 90, 'Delivering changes...');
672
748
  // Build PR body: enrich with summary data when available
673
749
  const prBodyParts = [];
674
750
  if (summary) {
@@ -715,6 +791,7 @@ export class TaskExecutor {
715
791
  }
716
792
  else if (deliveryMode === 'push') {
717
793
  // Push branch to remote, but don't create a PR — user creates PR manually
794
+ this.wsClient.sendTaskStatus(task.id, 'running', 95, 'Pushing branch...');
718
795
  console.log(`[executor] Task ${task.id}: push mode, pushing branch ${prepared.branchName}`);
719
796
  const prResult = await pushAndCreatePR(prepared.workingDirectory, {
720
797
  branchName: prepared.branchName,
@@ -741,22 +818,37 @@ export class TaskExecutor {
741
818
  }
742
819
  }
743
820
  else {
744
- // 'pr' — push + create PR (existing behavior)
821
+ // 'pr' — push + create PR, auto-merge into project branch if applicable
822
+ this.wsClient.sendTaskStatus(task.id, 'running', 95, 'Creating pull request...');
745
823
  console.log(`[executor] Task ${task.id}: pr mode, attempting PR creation for branch ${prepared.branchName}`);
824
+ const hasProjectBranch = !!task.projectBranch;
746
825
  const prResult = await pushAndCreatePR(prepared.workingDirectory, {
747
826
  branchName: prepared.branchName,
748
827
  taskTitle: prTitle,
749
828
  taskDescription: task.description || task.prompt.slice(0, 500),
750
829
  body: prBody,
751
830
  baseBranch: prepared.baseBranch,
831
+ autoMerge: hasProjectBranch,
832
+ commitBeforeSha: prepared.commitBeforeSha,
752
833
  });
753
834
  result.branchName = prResult.branchName;
754
835
  if (prResult.prUrl) {
755
836
  result.prUrl = prResult.prUrl;
756
837
  result.prNumber = prResult.prNumber;
757
- result.deliveryStatus = 'success';
838
+ result.commitBeforeSha = prResult.commitBeforeSha;
839
+ result.commitAfterSha = prResult.commitAfterSha;
758
840
  keepBranch = true;
759
- console.log(`[executor] Task ${task.id}: PR created at ${prResult.prUrl}`);
841
+ if (prResult.autoMergeFailed) {
842
+ // PR was created but auto-merge into project branch failed —
843
+ // subsequent tasks won't see this task's changes
844
+ result.deliveryStatus = 'failed';
845
+ result.deliveryError = 'PR created but auto-merge into project branch failed';
846
+ console.error(`[executor] Task ${task.id}: PR created at ${prResult.prUrl} but auto-merge failed`);
847
+ }
848
+ else {
849
+ result.deliveryStatus = 'success';
850
+ console.log(`[executor] Task ${task.id}: PR created at ${prResult.prUrl}`);
851
+ }
760
852
  }
761
853
  else if (prResult.error) {
762
854
  // Delivery failure — don't override execution status
@@ -809,7 +901,8 @@ export class TaskExecutor {
809
901
  // Don't send final result — the SlurmJobMonitor will send it when jobs finish
810
902
  }
811
903
  else {
812
- // Send final result
904
+ // Send final status + result
905
+ this.wsClient.sendTaskStatus(task.id, 'completed', 100, 'Task complete');
813
906
  this.wsClient.sendTaskResult(result);
814
907
  }
815
908
  }
@@ -826,14 +919,16 @@ export class TaskExecutor {
826
919
  }
827
920
  finally {
828
921
  clearTimeout(timeoutId);
829
- // Cleanup worktree but preserve it if a branch was pushed/PR created,
830
- // so the worktree remains available for post-execution steering or inspection.
831
- // The server will trigger explicit cleanup when the task is fully completed.
832
- if (this.preserveWorktrees || keepBranch) {
833
- console.log(`[executor] Task ${task.id}: worktree preserved (${this.preserveWorktrees ? 'debug mode' : 'branch pushed'})`);
922
+ // Always cleanup the local worktree directory to reclaim disk space
923
+ // (node_modules alone is ~680MB per worktree). When keepBranch is true
924
+ // (PR created or branch pushed), we preserve the git branch but still
925
+ // remove the working copy — the branch lives on remote/local refs,
926
+ // and re-execution will create a fresh worktree if needed.
927
+ if (this.preserveWorktrees) {
928
+ console.log(`[executor] Task ${task.id}: worktree preserved (debug mode)`);
834
929
  }
835
930
  else {
836
- await prepared.cleanup({ keepBranch: false });
931
+ await prepared.cleanup({ keepBranch });
837
932
  }
838
933
  // Sandbox: copy back results then cleanup
839
934
  if (sandbox) {
@@ -848,6 +943,13 @@ export class TaskExecutor {
848
943
  console.log(`[executor] Task ${task.id}: cleaning up sandbox`);
849
944
  await sandbox.cleanup();
850
945
  }
946
+ // Release branch lock after execution + delivery (auto-merge) completes.
947
+ // The accumulative model requires the lock to be held through auto-merge
948
+ // so the next task branches from the updated project branch tip.
949
+ if (branchLock) {
950
+ branchLock.release();
951
+ console.log(`[executor] Task ${task.id}: branch lock released after delivery`);
952
+ }
851
953
  // Untrack task from directory
852
954
  this.untrackTaskDirectory(task);
853
955
  this.runningTasks.delete(task.id);
@@ -920,6 +1022,7 @@ export class TaskExecutor {
920
1022
  shortNodeId: task.shortNodeId,
921
1023
  agentDir: task.agentDir,
922
1024
  baseBranch: task.baseBranch,
1025
+ projectBranch: task.projectBranch,
923
1026
  stdout: stream.stdout,
924
1027
  stderr: stream.stderr,
925
1028
  });
@@ -1 +1 @@
1
- {"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../../src/lib/task-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,aAAa,EACb,iBAAiB,GAGlB,MAAM,qBAAqB,CAAC;AA6B7B,MAAM,OAAO,YAAY;IACf,QAAQ,CAAkB;IAC1B,YAAY,GAA6B,IAAI,GAAG,EAAE,CAAC;IACnD,SAAS,GAAW,EAAE,CAAC;IACvB,kBAAkB,CAAS;IAC3B,cAAc,CAAS;IACvB,QAAQ,GAAuC,IAAI,GAAG,EAAE,CAAC;IACzD,WAAW,CAAU;IACrB,YAAY,CAAU;IACtB,iBAAiB,CAAU;IAC3B,UAAU,CAAkB;IAC5B,WAAW,CAAU;IACrB,UAAU,CAAU;IACpB,cAAc,CAAS;IACvB,YAAY,GAAY,KAAK,CAAC;IAC9B,aAAa,CAAuB;IAE5C,kBAAkB;IACV,gBAAgB,GAA6B,IAAI,GAAG,EAAE,CAAC,CAAC,qBAAqB;IAC7E,mBAAmB,GAAoC,IAAI,GAAG,EAAE,CAAC,CAAC,0BAA0B;IAEpG,YAAY,OAA4B;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,CAAC,SAAS;QAClE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;QAC3E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAExD,oCAAoC;QACpC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAU;QACzB,2FAA2F;QAC3F,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;QAEjG,MAAM,cAAc,GAAG;YACrB,GAAG,IAAI;YACP,gBAAgB,EAAE,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBACxD,CAAC,CAAC,SAAU,CAAE,sDAAsD;gBACpE,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC;SACnD,CAAC;QAEF,8DAA8D;QAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW;eACnC,cAAc,CAAC,WAAW,KAAK,KAAK;eACpC,cAAc,CAAC,YAAY,KAAK,QAAQ,CAAC;QAE9C,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,uEAAuE;YACvE,+DAA+D;YAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC9F,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACrD,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAC7F,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,+DAA+D;YAC/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAEnF,sBAAsB;YACtB,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAClD,kFAAkF;gBAClF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC3B,MAAM,EAAE,cAAc,CAAC,EAAE;oBACzB,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,WAAW,CAAC,WAAW;oBAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtE,iDAAiD;gBACjD,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC9D,oDAAoD;gBACpD,OAAO;YACT,CAAC;YAED,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBACnD,iCAAiC;gBACjC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAExC,kCAAkC;QAClC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,iBAAiB;YACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,QAAuD;QAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,MAAM,uBAAuB,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACvB,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,cAAc;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACpE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3B,MAAM;gBACN,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,UAAmB;QACnD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,sBAAsB,UAAU,CAAC,CAAC,CAAC,aAAa,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE3G,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,0CAA0C,CAAC,CAAC;YACjF,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,6CAA6C;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACxD,sCAAsC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,+BAA+B,EAAE;oBAC7D,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;gBAEH,IAAI,YAAgC,CAAC;gBACrC,IAAI,WAA+B,CAAC;gBACpC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBACjC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtD,CAAC;yBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnE,YAAY,GAAG,WAAW,CAAC;wBAC3B,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,0BAA0B,YAAY,EAAE,CAAC,CAAC;oBAC/E,IAAI,CAAC;wBACH,QAAQ,CAAC,gCAAgC,YAAY,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBACpG,CAAC;oBAAC,MAAM,CAAC;wBACP,sDAAsD;wBACtD,QAAQ,CAAC,WAAW,YAAY,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC7E,QAAQ,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBACzE,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,oBAAoB,CAAC,CAAC;gBAC7D,CAAC;gBAED,sBAAsB;gBACtB,IAAI,CAAC;oBACH,QAAQ,CAAC,kBAAkB,UAAU,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBAClF,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,kBAAkB,UAAU,UAAU,CAAC,CAAC;gBAC/E,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,kBAAkB,UAAU,+BAA+B,CAAC,CAAC;gBACpG,CAAC;gBAED,uBAAuB;gBACvB,IAAI,CAAC;oBACH,QAAQ,CAAC,6BAA6B,UAAU,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC7F,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,mBAAmB,UAAU,UAAU,CAAC,CAAC;gBAChF,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,mBAAmB,UAAU,+BAA+B,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,qBAAqB,GAAG,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS;QACP,2BAA2B;QAC3B,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3B,MAAM;gBACN,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,cAAc;QACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,mBAAmB;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,GAAW;QAC/B,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAC9B,kDAAkD;QAClD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,OAAe,EAAE,SAAS,GAAG,KAAK;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,OAAO,EAAE,CAAC;YACZ,+DAA+D;YAC/D,IAAI,OAAO,CAAC,OAAO,YAAY,gBAAgB,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBACvG,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjF,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC5B,CAAC;gBACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,+CAA+C,EAAE,CAAC;YACtF,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;QACzF,CAAC;QAED,wEAAwE;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,4CAA4C;gBAC5C,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;IAC1E,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,MAAc;QAC3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,OAAO,YAAY,gBAAgB,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC/B,MAAc,EACd,OAAe,EACf,OAAyB,EACzB,OAAyD;QAEzD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,EAAE,CAAC,MAAkB,EAAE,QAAiB,EAAE,aAAsB,EAAE,EAAE;gBACxE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YACxE,CAAC;YACD,SAAS,EAAE,CAAC,QAAgB,EAAE,SAAmB,EAAE,UAAoB,EAAE,OAAiB,EAAE,EAAE;gBAC5F,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,EAAE,CAAC,QAAgB,EAAE,SAAkB,EAAE,EAAE;gBAChD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC7D,CAAC;YACD,UAAU,EAAE,CAAC,QAAgB,EAAE,MAAe,EAAE,OAAgB,EAAE,EAAE;gBAClE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC;YACD,UAAU,EAAE,CAAC,IAAY,EAAE,MAA0C,EAAE,UAAmB,EAAE,YAAqB,EAAE,IAAa,EAAE,EAAE;gBAClI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACzF,CAAC;YACD,WAAW,EAAE,CAAC,SAAiB,EAAE,KAAc,EAAE,EAAE;gBACjD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAiB,EAAE,EAAE;gBAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC;SACF,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACrC,MAAM,EACN,OAAO,EACP,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,EACzC,OAAO,CAAC,SAAS,EACjB,MAAM,EACN,eAAe,CAAC,MAAM,CACvB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3B,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3B,MAAM;gBACN,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,kBAAkB,QAAQ,EAAE;gBACnC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,IAAU,EAAE,eAAwB;QACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/E,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC/G,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,IAAU,EACV,WAA8B;QAE9B,sDAAsD;QACtD,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,+CAA+C,EAAE;YACzG,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,wCAAwC,EAAE;YACxG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,gDAAgD,EAAE;YAC3G,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,EAAE;SAChF,CAAC;QAEF,sFAAsF;QACtF,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;QACrE,MAAM,eAAe,GAAG,IAAI,OAAO,CAAgD,CAAC,OAAO,EAAE,EAAE;YAC7F,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;gBACpC,IAAI;gBACJ,YAAY,EAAE,WAAW;gBACzB,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;YAEH,4CAA4C;YAC5C,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1C,OAAO,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,EAAE,oBAAoB,0BAA0B,GAAG,IAAI,oBAAoB,CAAC,CAAC;oBACtI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC,EAAE,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExF,oBAAoB;QACpB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;QAEvC,kBAAkB;QAClB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,SAAS;gBACZ,+BAA+B;gBAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACrD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,0BAA0B;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACrD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB;gBAC3D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,sCAAsC,CAAC,CAAC;gBAC7F,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,2BAA2B;gBAC3B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAChD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,gCAAgC,CAAC,CAAC;oBACrF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACrD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;oBACnF,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAC3B,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;wBAC5F,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACtC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,kBAAkB;gBAClB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC3B,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC,CAAC,CAAC;gBACH,MAAM;QACV,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,OAAe;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtF,8DAA8D;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEhD,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAC1C,MAAM,SAAS,CAAC,aAAa,EAAE,0CAA0C,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YACzC,MAAM,SAAS,CAAC,YAAY,EAAE,kDAAkD,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpG,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAClH,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAU;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC5E,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,IAAU;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,OAAe;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAU,EAAE,UAAU,GAAG,KAAK;QACtD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,sBAAsB,IAAI,CAAC,gBAAgB,YAAY,UAAU,EAAE,CAAC,CAAC;QAE3G,6BAA6B;QAC7B,IAAI,OAAiC,CAAC;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEpC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;gBAC3E,OAAO,GAAG,MAAM,aAAa,CAAC;oBAC5B,OAAO,EAAE,IAAI,CAAC,gBAAgB;oBAC9B,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,OAAO,EAAE,IAAI,CAAC,cAAc;iBAC7B,CAAC,CAAC;gBACH,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,wBAAwB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACvF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,8BAA8B,QAAQ,EAAE,CAAC,CAAC;gBAClF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC3B,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,4BAA4B,QAAQ,EAAE;oBAC7C,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC,CAAC,CAAC;gBACH,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;QAE9D,0CAA0C;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,cAAc,cAAc,CAAC,QAAQ,gBAAgB,CAAC,CAAC;YAC/F,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3B,MAAM,EAAE,cAAc,CAAC,EAAE;gBACzB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,YAAY,cAAc,CAAC,QAAQ,gBAAgB;gBAC1D,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;YACH,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,aAAa,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC;QAE3F,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAEhD,2EAA2E;QAC3E,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,EAAE,CAAC,MAAkB,EAAE,QAAiB,EAAE,OAAgB,EAAE,EAAE;gBAClE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7E,CAAC;YACD,SAAS,EAAE,CAAC,QAAgB,EAAE,SAAmB,EAAE,UAAoB,EAAE,OAAiB,EAAE,EAAE;gBAC5F,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,EAAE,CAAC,QAAgB,EAAE,SAAkB,EAAE,EAAE;gBAChD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACxE,CAAC;YACD,UAAU,EAAE,CAAC,QAAgB,EAAE,MAAe,EAAE,OAAgB,EAAE,EAAE;gBAClE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACjF,CAAC;YACD,UAAU,EAAE,CAAC,IAAY,EAAE,MAA0C,EAAE,UAAmB,EAAE,YAAqB,EAAE,IAAa,EAAE,EAAE;gBAClI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACpG,CAAC;YACD,WAAW,EAAE,CAAC,SAAiB,EAAE,KAAc,EAAE,EAAE;gBACjD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAiB,EAAE,EAAE;gBAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjF,CAAC;SACF,CAAC;QAEF,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,cAAc;YACpB,eAAe;YACf,OAAO;YACP,cAAc;YACd,OAAO;SACR,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAE/C,wFAAwF;QACxF,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,KAAK,WAAW,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC;QAC3H,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,cAAc,CAAC,gBAAgB;YAC7D,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE;YACnD,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,EAAE,GAAG,cAAc,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC7F,WAAW,CAAC,IAAI,GAAG,iBAAiB,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,6BAA6B,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAEhG,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;QACpD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC;YACH,sBAAsB;YACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,oBAAoB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;YAE7E,mBAAmB;YACnB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YAExF,sCAAsC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC/C,0EAA0E;YAC1E,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,gCAAgC,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC,OAAO,CAAC,aAAa,sBAAsB,CAAC,CAAC,OAAO,CAAC,gBAAgB,iBAAiB,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,kBAAkB,OAAO,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YACxR,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAAE,oCAAoC,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW;gBACrD,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;gBAC5D,CAAC,CAAC,QAAQ,CAAC;YACb,IAAI,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzD,yDAAyD;gBACzD,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,IAAI,OAAO,EAAE,CAAC;oBACZ,qDAAqD;oBACrD,WAAW,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;oBAC3D,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;wBAC7B,WAAW,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;oBACjE,CAAC;oBACD,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,WAAW,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzF,CAAC;oBACD,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpC,WAAW,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACpG,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC3C,WAAW,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC3D,WAAW,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,SAAS,SAAS,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC/H,CAAC;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,WAAW,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACxE,CAAC;qBAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAClC,WAAW,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAExC,IAAI,CAAC;oBACH,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;wBAC9B,4CAA4C;wBAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,sCAAsC,CAAC,CAAC;oBAChF,CAAC;yBAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;wBACnC,mDAAmD;wBACnD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,sCAAsC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;oBAC3G,CAAC;yBAAM,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACrC,kDAAkD;wBAClD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;wBAC3E,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;wBACxC,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;yBAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;wBACnC,0EAA0E;wBAC1E,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,+BAA+B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;wBAC5F,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,gBAAgB,EAAE;4BAChE,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,SAAS,EAAE,OAAO;4BAClB,eAAe,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BAC9D,MAAM,EAAE,IAAI;4BACZ,UAAU,EAAE,QAAQ,CAAC,UAAU;yBAChC,CAAC,CAAC;wBACH,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;wBACxC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACnB,qDAAqD;4BACrD,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;4BACjC,MAAM,CAAC,aAAa,GAAG,yBAAyB,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACjE,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,2BAA2B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBACvF,CAAC;6BAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAC3B,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;4BAClC,UAAU,GAAG,IAAI,CAAC;4BAClB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,oBAAoB,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;wBACpF,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;4BAClC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;wBAChE,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,8CAA8C;wBAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,gDAAgD,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;wBAC7G,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,gBAAgB,EAAE;4BAChE,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,SAAS,EAAE,OAAO;4BAClB,eAAe,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BAC9D,IAAI,EAAE,MAAM;4BACZ,UAAU,EAAE,QAAQ,CAAC,UAAU;yBAChC,CAAC,CAAC;wBACH,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;wBACxC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACnB,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;4BAC9B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;4BACpC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;4BAClC,UAAU,GAAG,IAAI,CAAC;4BAClB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,mBAAmB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC7E,CAAC;6BAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;4BAC1B,qDAAqD;4BACrD,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;4BACjC,MAAM,CAAC,aAAa,GAAG,uBAAuB,QAAQ,CAAC,KAAK,EAAE,CAAC;4BAC/D,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,+BAA+B;4BACtE,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,yBAAyB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBACrF,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;wBAChE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,OAAO,EAAE,CAAC;oBACjB,MAAM,KAAK,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC3E,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,eAAe,YAAY,aAAa,KAAK,EAAE,CAAC,CAAC;oBACzF,qDAAqD;oBACrD,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;oBACjC,MAAM,CAAC,aAAa,GAAG,oBAAoB,KAAK,EAAE,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,oFAAoF;YACpF,iEAAiE;YACjE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACxC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBAC7B,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,gCAAgC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzF,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;oBACxF,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC1B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,yCAAyC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBACjG,CAAC;gBACH,CAAC;YACH,CAAC;YACD,wFAAwF;YACxF,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBAC9C,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACzC,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,2BAA2B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAErM,qEAAqE;YACrE,0EAA0E;YAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,MAAM,mDAAmD,CAAC,CAAC;gBAClH,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,eAAe,WAAW,CAAC,MAAM,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClI,8EAA8E;YAChF,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;YACpC,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,sBAAsB,QAAQ,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,wEAAwE;YACxE,+EAA+E;YAC/E,6EAA6E;YAC7E,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,yBAAyB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;YAC7H,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,0CAA0C;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;oBACxE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3B,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACrF,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,8BAA8B,GAAG,EAAE,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;gBAC/D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,IAAU,EACV,MAA0E;QAO1E,qEAAqE;QACrE,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,8DAA8D,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC7H,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAAE,4DAA4D,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC5H,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,8CAA8C,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC7G,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAED,6DAA6D;QAC7D,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBAC/C,IAAI,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE,CAAC;oBAC1C,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACvE,MAAM,GAAG,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxF,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,2BAA2B,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;oBACrF,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,CAAC;gBACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAClE,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,sBAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBACjF,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,2BAA2B,QAAQ,qBAAqB,CAAC,CAAC;gBAClG,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAAE,qBAAqB,IAAI,CAAC,gBAAgB,qCAAqC,CAAC,CAAC;YACxH,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAED,+EAA+E;QAC/E,4DAA4D;QAC5D,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,6CAA6C,CAAC,CAAC;YACrF,MAAM,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC;YAC/E,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,wCAAwC;QACxC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,mCAAmC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAClG,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;gBACpC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,gBAAgB,qCAAqC,CAAC,CAAC;YACrH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,EAAE,yBAAyB,QAAQ,CAAC,gBAAgB,aAAa,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;YAC7H,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,+BAA+B,QAAQ,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,0BAA0B,QAAQ,EAAE,CAAC,CAAC;YACzF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,IAAkB;QACzC,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,qFAAqF;QACrF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6CAA6C;QAC7C,IAAI,OAAO,YAAY,gBAAgB,EAAE,CAAC;YACxC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,qBAAqB;QACrB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnC,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9H,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAyB;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,qDAAqD;YACrD,uEAAuE,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzG,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IAED,6CAA6C;IAC7C,mFAAmF;IACnF,+EAA+E;IAC/E,0FAA0F;IAC1F,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../../src/lib/task-executor.ts"],"names":[],"mappings":"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"}
@@ -38,9 +38,12 @@ export declare class WebSocketClient {
38
38
  private reconnectAttempts;
39
39
  private reconnectTimeout;
40
40
  private heartbeatInterval;
41
+ private tokenRefreshTimeout;
41
42
  private isConnecting;
42
43
  private shouldReconnect;
43
44
  private activeTasks;
45
+ private pendingMessages;
46
+ private static MAX_PENDING;
44
47
  private pendingApprovals;
45
48
  private onEvent?;
46
49
  private onTaskDispatch?;
@@ -71,6 +74,12 @@ export declare class WebSocketClient {
71
74
  * Returns null in dev mode when no token is configured (allows unauthenticated connections).
72
75
  */
73
76
  private ensureValidToken;
77
+ /**
78
+ * Schedule a proactive token refresh before the current token expires.
79
+ * Refreshes at 80% of the token's lifetime so we never hit expiry while connected.
80
+ */
81
+ private scheduleTokenRefresh;
82
+ private cancelTokenRefresh;
74
83
  /**
75
84
  * Connect to the relay server
76
85
  */
@@ -222,6 +231,7 @@ export declare class WebSocketClient {
222
231
  sendSessionsListResponse(correlationId: string, sessions: import('../types.js').ClaudeCodeSessionInfo[], error?: string): void;
223
232
  private handleClose;
224
233
  private send;
234
+ private drainPendingMessages;
225
235
  private startHeartbeat;
226
236
  private stopHeartbeat;
227
237
  private scheduleReconnect;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../src/lib/websocket-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../src/lib/websocket-client.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,12 @@ export class WebSocketClient {
27
27
  reconnectAttempts = 0;
28
28
  reconnectTimeout = null;
29
29
  heartbeatInterval = null;
30
+ tokenRefreshTimeout = null;
30
31
  isConnecting = false;
31
32
  shouldReconnect = true;
32
33
  activeTasks = new Set();
34
+ pendingMessages = [];
35
+ static MAX_PENDING = 5000;
33
36
  pendingApprovals = new Map();
34
37
  onEvent;
35
38
  onTaskDispatch;
@@ -154,6 +157,54 @@ export class WebSocketClient {
154
157
  }
155
158
  return token;
156
159
  }
160
+ /**
161
+ * Schedule a proactive token refresh before the current token expires.
162
+ * Refreshes at 80% of the token's lifetime so we never hit expiry while connected.
163
+ */
164
+ scheduleTokenRefresh() {
165
+ this.cancelTokenRefresh();
166
+ const token = this.wsToken || configManager.getWsToken();
167
+ if (!token)
168
+ return; // Dev mode, no token needed
169
+ try {
170
+ const decoded = jwt.decode(token);
171
+ if (!decoded?.exp)
172
+ return;
173
+ const now = Math.floor(Date.now() / 1000);
174
+ const expiresInSec = decoded.exp - now;
175
+ if (expiresInSec <= 0)
176
+ return; // Already expired
177
+ // Refresh at 80% of lifetime (e.g., 48 min for a 60-min token), minimum 60s
178
+ const refreshInMs = Math.max(expiresInSec * 0.8, 60) * 1000;
179
+ console.log(`[ws-client] Token refresh scheduled in ${Math.round(refreshInMs / 1000 / 60)}min`);
180
+ this.tokenRefreshTimeout = setTimeout(async () => {
181
+ try {
182
+ console.log('[ws-client] Proactively refreshing token before expiry...');
183
+ const newToken = await this.refreshAccessToken();
184
+ this.wsToken = newToken;
185
+ console.log('[ws-client] ✅ Token refreshed, reconnecting with new token');
186
+ // Close gracefully — handleClose will trigger reconnect with the new token
187
+ if (this.ws?.readyState === WebSocket.OPEN) {
188
+ this.ws.close(1000, 'Token refresh');
189
+ }
190
+ }
191
+ catch (error) {
192
+ console.error('[ws-client] ❌ Proactive token refresh failed:', error instanceof Error ? error.message : String(error));
193
+ // Retry in 5 minutes
194
+ this.tokenRefreshTimeout = setTimeout(() => this.scheduleTokenRefresh(), 5 * 60 * 1000);
195
+ }
196
+ }, refreshInMs);
197
+ }
198
+ catch {
199
+ // Can't decode token, skip scheduling
200
+ }
201
+ }
202
+ cancelTokenRefresh() {
203
+ if (this.tokenRefreshTimeout) {
204
+ clearTimeout(this.tokenRefreshTimeout);
205
+ this.tokenRefreshTimeout = null;
206
+ }
207
+ }
157
208
  /**
158
209
  * Connect to the relay server
159
210
  */
@@ -445,8 +496,12 @@ export class WebSocketClient {
445
496
  },
446
497
  };
447
498
  this.send(registerMsg);
499
+ // Drain any messages buffered while disconnected
500
+ this.drainPendingMessages();
448
501
  // Start heartbeat
449
502
  this.startHeartbeat();
503
+ // Schedule proactive token refresh before expiry
504
+ this.scheduleTokenRefresh();
450
505
  this.emitEvent({ type: 'connected' });
451
506
  }
452
507
  handleMessage(data) {
@@ -869,6 +924,24 @@ export class WebSocketClient {
869
924
  if (this.ws?.readyState === WebSocket.OPEN) {
870
925
  this.ws.send(JSON.stringify(message));
871
926
  }
927
+ else {
928
+ if (this.pendingMessages.length >= WebSocketClient.MAX_PENDING) {
929
+ this.pendingMessages.shift();
930
+ console.warn('[ws-client] Pending buffer full, dropping oldest message');
931
+ }
932
+ this.pendingMessages.push(message);
933
+ console.log(`[ws-client] Buffered ${message.type} message (${this.pendingMessages.length} pending, WS state: ${this.ws?.readyState ?? 'null'})`);
934
+ }
935
+ }
936
+ drainPendingMessages() {
937
+ if (this.pendingMessages.length === 0)
938
+ return;
939
+ const count = this.pendingMessages.length;
940
+ console.log(`[ws-client] Draining ${count} buffered messages after reconnect`);
941
+ const messages = this.pendingMessages.splice(0);
942
+ for (const msg of messages) {
943
+ this.send(msg);
944
+ }
872
945
  }
873
946
  startHeartbeat() {
874
947
  this.heartbeatInterval = setInterval(async () => {
@@ -918,6 +991,7 @@ export class WebSocketClient {
918
991
  }
919
992
  cleanup() {
920
993
  this.stopHeartbeat();
994
+ this.cancelTokenRefresh();
921
995
  if (this.reconnectTimeout) {
922
996
  clearTimeout(this.reconnectTimeout);
923
997
  this.reconnectTimeout = null;