@brutalist/mcp 1.12.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +57 -31
  2. package/dist/brutalist-server.js +9 -9
  3. package/dist/brutalist-server.js.map +1 -1
  4. package/dist/cli-adapters/agy-adapter.d.ts +30 -0
  5. package/dist/cli-adapters/agy-adapter.d.ts.map +1 -0
  6. package/dist/cli-adapters/agy-adapter.js +280 -0
  7. package/dist/cli-adapters/agy-adapter.js.map +1 -0
  8. package/dist/cli-adapters/claude-adapter.d.ts +12 -2
  9. package/dist/cli-adapters/claude-adapter.d.ts.map +1 -1
  10. package/dist/cli-adapters/claude-adapter.js +102 -18
  11. package/dist/cli-adapters/claude-adapter.js.map +1 -1
  12. package/dist/cli-adapters/codex-adapter.d.ts +18 -1
  13. package/dist/cli-adapters/codex-adapter.d.ts.map +1 -1
  14. package/dist/cli-adapters/codex-adapter.js +86 -3
  15. package/dist/cli-adapters/codex-adapter.js.map +1 -1
  16. package/dist/cli-adapters/index.d.ts +55 -13
  17. package/dist/cli-adapters/index.d.ts.map +1 -1
  18. package/dist/cli-adapters/index.js +2 -2
  19. package/dist/cli-adapters/index.js.map +1 -1
  20. package/dist/cli-agents.d.ts +6 -29
  21. package/dist/cli-agents.d.ts.map +1 -1
  22. package/dist/cli-agents.js +74 -181
  23. package/dist/cli-agents.js.map +1 -1
  24. package/dist/debate/debate-orchestrator.d.ts +2 -4
  25. package/dist/debate/debate-orchestrator.d.ts.map +1 -1
  26. package/dist/debate/debate-orchestrator.js.map +1 -1
  27. package/dist/domains/argument-space.d.ts +8 -8
  28. package/dist/domains/argument-space.js +3 -3
  29. package/dist/domains/argument-space.js.map +1 -1
  30. package/dist/domains/critic-persona.d.ts +2 -1
  31. package/dist/domains/critic-persona.d.ts.map +1 -1
  32. package/dist/domains/critic-persona.js.map +1 -1
  33. package/dist/handlers/tool-handler.js.map +1 -1
  34. package/dist/mcp-registry.d.ts +0 -6
  35. package/dist/mcp-registry.d.ts.map +1 -1
  36. package/dist/mcp-registry.js +0 -35
  37. package/dist/mcp-registry.js.map +1 -1
  38. package/dist/metrics/registry.d.ts +2 -2
  39. package/dist/metrics/registry.js +2 -2
  40. package/dist/metrics/types.d.ts +1 -1
  41. package/dist/metrics/types.js +1 -1
  42. package/dist/model-resolver.d.ts +1 -13
  43. package/dist/model-resolver.d.ts.map +1 -1
  44. package/dist/model-resolver.js +12 -7
  45. package/dist/model-resolver.js.map +1 -1
  46. package/dist/streaming/output-parser.d.ts +1 -1
  47. package/dist/streaming/output-parser.d.ts.map +1 -1
  48. package/dist/streaming/output-parser.js +0 -17
  49. package/dist/streaming/output-parser.js.map +1 -1
  50. package/dist/streaming/streaming-orchestrator.js +1 -1
  51. package/dist/streaming/streaming-orchestrator.js.map +1 -1
  52. package/dist/types/brutalist.d.ts +3 -3
  53. package/dist/types/brutalist.d.ts.map +1 -1
  54. package/dist/types/tool-config.d.ts +4 -4
  55. package/dist/types/tool-config.d.ts.map +1 -1
  56. package/dist/types/tool-config.js +7 -6
  57. package/dist/types/tool-config.js.map +1 -1
  58. package/package.json +4 -3
  59. package/dist/cli-adapters/gemini-adapter.d.ts +0 -63
  60. package/dist/cli-adapters/gemini-adapter.d.ts.map +0 -1
  61. package/dist/cli-adapters/gemini-adapter.js +0 -208
  62. package/dist/cli-adapters/gemini-adapter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cli-agents.d.ts","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-agents.d.ts","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"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"}
@@ -5,35 +5,8 @@ import { logger } from './logger.js';
5
5
  import { ModelResolver } from './model-resolver.js';
6
6
  import { cleanupTempConfig } from './mcp-registry.js';
7
7
  import { getProvider, parseNDJSON } from './cli-adapters/index.js';
8
- import { GEMINI_FRONTIER_CHAIN } from './cli-adapters/gemini-adapter.js';
8
+ import { AGY_BINARY } from './cli-adapters/agy-adapter.js';
9
9
  import { safeMetric } from './metrics/index.js';
10
- /**
11
- * Detect errors where rotating to the next Gemini frontier tier is likely
12
- * to succeed. Covers two failure families:
13
- *
14
- * 1. Capacity saturation on the current tier
15
- * (429 / "No capacity available" / quota / rate-limit).
16
- *
17
- * 2. Access denial on the current tier — the model exists but the
18
- * user's account lacks preview-tier access. Appears as
19
- * ModelNotFoundError / "Requested entity was not found" / 403 /
20
- * "permission denied". In production the frontier chain is
21
- * probe-tested (not user-typos), so these errors mean "this tier
22
- * is unavailable to THIS caller" — which is exactly when rotation
23
- * to the next tier should fire. Dropping from a pro preview down
24
- * to `gemini-3-flash-preview` (the chain floor) trades pro-tier
25
- * reasoning for flash-tier latency/cost while still keeping
26
- * Pro-grade quality per Google's 3-Flash positioning.
27
- *
28
- * Does NOT match: auth failures (missing/invalid API key), prompt-safety
29
- * rejections, or subprocess crashes — these will not differ between
30
- * frontier tiers.
31
- */
32
- function isGeminiRotatableError(error) {
33
- if (!error)
34
- return false;
35
- return /no capacity available|\b429\b|overloaded|rateLimitExceeded|rate limit|quota|too many requests|ModelNotFoundError|Requested entity was not found|\b403\b|permission denied|access denied/i.test(error);
36
- }
37
10
  function sanitizeModelNameForMessage(model) {
38
11
  if (!model)
39
12
  return 'requested model';
@@ -276,7 +249,7 @@ async function spawnAsync(command, args, options = {}) {
276
249
  }
277
250
  // Use secure environment
278
251
  const secureEnv = options.env || createSecureEnvironment();
279
- // On Windows, npm-installed CLIs (gemini, codex) are .cmd batch shims that
252
+ // On Windows, npm-installed CLIs (codex) are .cmd batch shims that
280
253
  // require shell:true for spawn() to execute them. Native .exe CLIs (claude)
281
254
  // work either way. On Unix, shell remains false to prevent injection.
282
255
  //
@@ -463,7 +436,7 @@ async function spawnAsync(command, args, options = {}) {
463
436
  if (command === 'claude') {
464
437
  child.stdin?.end();
465
438
  }
466
- // Other CLIs (Codex, Gemini) work fine with stdin left open
439
+ // Codex works fine with stdin left open
467
440
  }
468
441
  });
469
442
  }
@@ -563,10 +536,6 @@ export class CLIAgentOrchestrator {
563
536
  const provider = getProvider('codex');
564
537
  return provider.decodeOutput(jsonOutput, ['--json']);
565
538
  }
566
- extractGeminiResponse(jsonOutput) {
567
- const provider = getProvider('gemini');
568
- return provider.decodeOutput(jsonOutput, ['--output-format', 'json']);
569
- }
570
539
  emitThrottledStreamingEvent(agent, type, content, onStreamingEvent, options) {
571
540
  if (!onStreamingEvent)
572
541
  return;
@@ -632,17 +601,21 @@ export class CLIAgentOrchestrator {
632
601
  return this.cliContext;
633
602
  }
634
603
  const availableCLIs = [];
635
- // Check for available CLIs
604
+ // Detection probes. For agy, AGY_BINARY (resolved in the agy adapter
605
+ // at module load) prefers ~/.local/bin/agy over PATH to avoid the
606
+ // macOS Antigravity-desktop-IDE wrapper that otherwise shadows the
607
+ // CLI agent. See the adapter's resolveAgyBin() for the full rationale.
636
608
  const cliChecks = [
637
609
  { name: 'claude', command: 'claude --version' },
638
610
  { name: 'codex', command: 'codex --version' },
639
- { name: 'gemini', command: 'gemini --version' }
611
+ { name: 'agy', command: `${AGY_BINARY} --version` }
640
612
  ];
641
613
  // NOTE: These `--version` probes are NOT spawn attempts — they must not
642
614
  // increment `cliSpawnTotal`. Only _executeCLI counts spawns.
643
615
  const results = await Promise.allSettled(cliChecks.map(async (check) => {
616
+ const probeCmd = check.name === 'agy' ? AGY_BINARY : check.name;
644
617
  try {
645
- await spawnAsync(check.name, ['--version'], { timeout: CLI_CHECK_TIMEOUT });
618
+ await spawnAsync(probeCmd, ['--version'], { timeout: CLI_CHECK_TIMEOUT });
646
619
  this.emitLog().debug(`CLI available: ${check.name}`);
647
620
  return check.name;
648
621
  }
@@ -666,18 +639,22 @@ export class CLIAgentOrchestrator {
666
639
  this.emitLog().info(`✅ Using preferred CLI: ${preferredCLI}`);
667
640
  return preferredCLI;
668
641
  }
669
- // 2. Smart selection based on analysis type
642
+ // 2. Smart selection based on analysis type. Agy is always LAST in
643
+ // priority order: it's 2-4× slower per call than claude/codex
644
+ // (30-60s vs 5-25s) and Flash-pinned, so it's only auto-selected
645
+ // when the others are unavailable. Callers who explicitly pass
646
+ // `preferredCLI: 'agy'` get it regardless (handled at step 1).
670
647
  const selectionRules = {
671
- 'code': ['claude', 'codex', 'gemini'],
672
- 'architecture': ['gemini', 'claude', 'codex'],
673
- 'research': ['claude', 'gemini', 'codex'],
674
- 'security': ['codex', 'claude', 'gemini'],
675
- 'data': ['gemini', 'claude', 'codex'],
676
- 'product': ['claude', 'gemini', 'codex'],
677
- 'infrastructure': ['gemini', 'codex', 'claude'],
678
- 'idea': ['claude', 'gemini', 'codex'],
679
- 'debate': ['claude', 'gemini', 'codex'],
680
- 'default': ['claude', 'gemini', 'codex']
648
+ 'code': ['claude', 'codex', 'agy'],
649
+ 'architecture': ['claude', 'codex', 'agy'],
650
+ 'research': ['claude', 'codex', 'agy'],
651
+ 'security': ['codex', 'claude', 'agy'],
652
+ 'data': ['claude', 'codex', 'agy'],
653
+ 'product': ['claude', 'codex', 'agy'],
654
+ 'infrastructure': ['codex', 'claude', 'agy'],
655
+ 'idea': ['claude', 'codex', 'agy'],
656
+ 'debate': ['claude', 'codex', 'agy'],
657
+ 'default': ['claude', 'codex', 'agy']
681
658
  };
682
659
  const priority = selectionRules[analysisType || 'default'] || selectionRules.default;
683
660
  // 3. Select by priority from available CLIs
@@ -704,7 +681,7 @@ export class CLIAgentOrchestrator {
704
681
  // resolving a model, which is the right semantics for the response.
705
682
  let built;
706
683
  // Provider label for the spawn counter. Derived from cliName so the
707
- // label set stays in sync with the 'claude' | 'codex' | 'gemini' union
684
+ // label set stays in sync with the 'claude' | 'codex' | 'agy' union
708
685
  // instead of reading adapter.name.
709
686
  const provider = cliName;
710
687
  // Gate for the catch-branch counter emission. Per compose.py:174,
@@ -794,46 +771,29 @@ export class CLIAgentOrchestrator {
794
771
  });
795
772
  }
796
773
  // Post-process CLI output via provider adapter. Thread the scoped
797
- // logger through decodeOutput so adapter warnings/errors carry
774
+ // logger through decode so adapter warnings/errors carry
798
775
  // module=cli-orchestrator + operation=<provider>_spawn context.
776
+ //
777
+ // Phase 2: consume the structured DecodeResult from `decode()`
778
+ // instead of grepping the returned string for refusal markers.
779
+ // Each adapter classifies refusal from its own protocol-level
780
+ // signals (Claude `result.subtype`, Codex error events / stderr
781
+ // markers). The orchestrator does not inspect assistant prose to
782
+ // classify outcomes.
799
783
  let finalOutput = stdout;
800
784
  const providerAdapter = getProvider(cliName);
801
785
  const decodeLog = this.log?.forOperation(`${cliName}_spawn`);
802
- const decodedText = providerAdapter.decodeOutput(stdout, args, decodeLog);
803
- if (decodedText) {
804
- finalOutput = decodedText;
805
- }
806
- // Fallback: If stdout is empty but stderr has content and exit was successful,
807
- // Claude might have written to stderr (common in non-TTY environments)
808
- if (!finalOutput.trim() && stderr && stderr.trim()) {
809
- this.emitLog().info(`📝 Using stderr as output for ${cliName} (stdout was empty)`);
810
- finalOutput = stderr;
811
- }
812
- // Detect CLI errors that exit 0 but contain fatal error output
813
- // (e.g., Gemini CLI returns exit code 0 on quota exhaustion,
814
- // Codex CLI may return usage limit errors in output)
815
- const combinedOutput = `${finalOutput}\n${stderr}`;
816
- const quotaPatterns = [
817
- /TerminalQuotaError/i,
818
- /exhausted your capacity/i,
819
- /quota will reset/i,
820
- /rateLimitExceeded/i,
821
- /rate limit/i,
822
- /usage limit/i,
823
- /Too Many Requests/i,
824
- /\b429\b/,
825
- /token limit exceeded/i,
826
- /billing.*limit/i,
827
- /spending.*limit/i,
828
- /plan.*limit/i,
829
- ];
830
- const quotaMatch = quotaPatterns.find(p => p.test(combinedOutput));
831
- if (quotaMatch) {
832
- // Extract reset time if present
833
- const resetMatch = combinedOutput.match(/reset(?:s)? (?:in|after) (\d+h\s*\d+m(?:\s*\d+s)?)/i);
834
- const resetInfo = resetMatch ? ` (resets in ${resetMatch[1]})` : '';
835
- const errorMsg = `${cliName.toUpperCase()} quota exhausted${resetInfo}. The CLI exited 0 but returned a quota error instead of analysis output.`;
836
- this.emitLog().warn(`⏱️ ${errorMsg}`);
786
+ const decoded = providerAdapter.decode(stdout, stderr, args, decodeLog);
787
+ if (decoded.kind === 'refused') {
788
+ // Structured refusal — the adapter saw the CLI's own
789
+ // protocol-level signal that this run hit a wall (quota / auth /
790
+ // policy). No prose matching.
791
+ const errorMsg = `${cliName.toUpperCase()} ${decoded.reason} refused. The CLI exited 0 but its own protocol returned a refusal instead of analysis output.`;
792
+ this.emitLog().warn(`⏱️ ${errorMsg}`, {
793
+ reason: decoded.reason,
794
+ detail: decoded.detail,
795
+ stderrLength: stderr.length,
796
+ });
837
797
  if (options.onStreamingEvent) {
838
798
  options.onStreamingEvent({
839
799
  type: 'agent_error',
@@ -843,19 +803,12 @@ export class CLIAgentOrchestrator {
843
803
  sessionId: options.sessionId
844
804
  });
845
805
  }
846
- // Spawn counter: outcome=refused (quota exhaustion — CLI exited 0
847
- // with a quota error in stdout/stderr). Labels annotated against
848
- // CLI_SPAWN_LABELS so a future label-set change fails at compile
849
- // time. Wrapped in `safeMetric` so a label-validation throw or
850
- // other metric-layer exception cannot propagate into the outer
851
- // spawn try/catch and be misclassified as a spawn failure
852
- // (Cycle 3 Task CLI-B' — parity with debate's safeMetric).
853
- const quotaLabels = {
806
+ const refusedLabels = {
854
807
  provider,
855
808
  outcome: 'refused',
856
809
  };
857
- safeMetric(this.emitLog(), 'cliSpawnTotal.inc(refused:quota)', () => {
858
- this.metrics?.cliSpawnTotal.inc(quotaLabels, 1);
810
+ safeMetric(this.emitLog(), `cliSpawnTotal.inc(refused:${decoded.reason})`, () => {
811
+ this.metrics?.cliSpawnTotal.inc(refusedLabels, 1);
859
812
  });
860
813
  return {
861
814
  agent: cliName,
@@ -863,18 +816,26 @@ export class CLIAgentOrchestrator {
863
816
  output: '',
864
817
  error: errorMsg,
865
818
  executionTime: Date.now() - startTime,
866
- // Cycle 4 Task T18 (F9): match the failure-path redaction
867
- // parity — `command` is a diagnostic display field; the
868
- // static placeholder preserves the response shape without
869
- // leaking raw command + args (which may include Codex TOML
870
- // MCP overrides, Claude temp config paths, or prompt
871
- // fragments that crossed the trust boundary).
872
819
  command: `(redacted command for ${cliName})`,
873
820
  workingDirectory: workingDir,
874
821
  exitCode: 0,
875
822
  model: built?.model
876
823
  };
877
824
  }
825
+ if (decoded.kind === 'ok') {
826
+ finalOutput = decoded.text;
827
+ }
828
+ // For `kind: 'error'` (empty/malformed/unknown) we fall through
829
+ // and keep finalOutput as the raw stdout — preserving the legacy
830
+ // "if decode returned nothing useful, pass raw stdout through"
831
+ // behavior. The success path below then surfaces the raw output
832
+ // and the caller can see what the CLI emitted.
833
+ // Fallback: If stdout is empty but stderr has content and exit was successful,
834
+ // Claude might have written to stderr (common in non-TTY environments)
835
+ if (!finalOutput.trim() && stderr && stderr.trim()) {
836
+ this.emitLog().info(`📝 Using stderr as output for ${cliName} (stdout was empty)`);
837
+ finalOutput = stderr;
838
+ }
878
839
  // Spawn counter: outcome=success (normal completion path). Labels
879
840
  // annotated against CLI_SPAWN_LABELS so a future label-set change
880
841
  // fails at compile time. Wrapped in `safeMetric` so a metric-layer
@@ -910,14 +871,22 @@ export class CLIAgentOrchestrator {
910
871
  catch (error) {
911
872
  const execError = error;
912
873
  const exitCode = execError.code || -1;
913
- // Detect rate limiting / usage limit errors across all CLIs
874
+ // Detect rate limiting / usage limit errors across all CLIs.
875
+ //
876
+ // Scoped to `message + stderr`. The previous scope of
877
+ // `message + stdout + stderr` ran these substrings against the
878
+ // child's captured stdout — which on a partial/aborted run is
879
+ // assistant prose that crossed the same trust boundary as the
880
+ // success path. `message` is the spawn-layer error string from
881
+ // Node (e.g., "Command failed with exit code 1"), not user
882
+ // content; safe to keep.
914
883
  const rateLimitPatterns = [
915
884
  '429', 'rate limit', 'rate_limit', 'rateLimitExceeded',
916
885
  'Too Many Requests', 'usage limit', 'usage_limit',
917
886
  'quota', 'exhausted', 'billing', 'spending limit',
918
887
  'token limit', 'plan limit',
919
888
  ];
920
- const errorText = `${execError.message || ''} ${execError.stdout || ''} ${execError.stderr || ''}`.toLowerCase();
889
+ const errorText = `${execError.message || ''} ${execError.stderr || ''}`.toLowerCase();
921
890
  const isRateLimit = rateLimitPatterns.some(p => errorText.includes(p.toLowerCase()));
922
891
  const unsupportedCodexModel = cliName === 'codex'
923
892
  && isCodexUnsupportedChatGPTModelError(execError, options.models?.codex);
@@ -1024,33 +993,12 @@ export class CLIAgentOrchestrator {
1024
993
  async executeCodex(userPrompt, systemPromptSpec, options = {}) {
1025
994
  return this._executeCLI('codex', userPrompt, systemPromptSpec, options, (user, sys, opts) => this.buildCLICommand('codex', user, sys, opts));
1026
995
  }
1027
- async executeGemini(userPrompt, systemPromptSpec, options = {}) {
1028
- return this._executeCLI('gemini', userPrompt, systemPromptSpec, options, (user, sys, opts) => this.buildCLICommand('gemini', user, sys, opts));
1029
- }
1030
996
  async executeSingleCLI(cli, userPrompt, systemPromptSpec, options = {}) {
1031
997
  // Wait for available slot to prevent resource exhaustion
1032
998
  await this.waitForAvailableSlot();
1033
999
  this.runningCLIs++;
1034
1000
  this.emitLog().info(`\u{1F3AF} Executing ${cli} (${this.runningCLIs}/${this.MAX_CONCURRENT_CLIS} slots used)`);
1035
1001
  try {
1036
- // Gemini frontier rotation: when using the default frontier chain
1037
- // (no caller-specified model, no env-var override), rotate through
1038
- // GEMINI_FRONTIER_CHAIN on saturation OR access-denied failures.
1039
- // The chain (see src/cli-adapters/gemini-adapter.ts) is two pro
1040
- // previews followed by `gemini-3-flash-preview` as the floor. The
1041
- // 2.5-pro fallback was removed because 3-flash ships with
1042
- // pro-grade reasoning and is universally available; falling to it
1043
- // beats dropping a generation back. Access-denied rotation is the
1044
- // typical user path: pro preview tiers aren't granted to every
1045
- // account, so the chain falls through to 3-flash. Rotation is
1046
- // disabled when the caller or operator has explicitly chosen a
1047
- // model (BRUTALIST_GEMINI_MODEL=... or models.gemini=...).
1048
- const geminiRotationActive = cli === 'gemini'
1049
- && !options.models?.gemini
1050
- && !process.env.BRUTALIST_GEMINI_MODEL;
1051
- if (geminiRotationActive) {
1052
- return await this._executeGeminiWithRotation(userPrompt, systemPromptSpec, options);
1053
- }
1054
1002
  // Dispatch to adapter via buildCLICommand (which delegates to provider)
1055
1003
  const response = await this._executeCLI(cli, userPrompt, systemPromptSpec, options, (user, sys, opts) => this.buildCLICommand(cli, user, sys, opts));
1056
1004
  const requestedCodexModel = options.models?.codex;
@@ -1081,60 +1029,6 @@ export class CLIAgentOrchestrator {
1081
1029
  this.emitLog().info(`\u2705 Released CLI slot (${this.runningCLIs}/${this.MAX_CONCURRENT_CLIS} slots used)`);
1082
1030
  }
1083
1031
  }
1084
- /**
1085
- * Gemini frontier rotation - iterate through GEMINI_FRONTIER_CHAIN on
1086
- * rotatable failures (capacity saturation OR tier access denial).
1087
- *
1088
- * Only active when neither caller nor operator has chosen a model. Each
1089
- * attempt injects the model via options.models.gemini. Per-attempt
1090
- * failures are classified by isGeminiRotatableError(): capacity errors
1091
- * (quota/429) AND access errors (ModelNotFoundError / permission denied)
1092
- * both trigger rotation. On unrelated failures (auth, prompt rejection,
1093
- * subprocess crashes) rotation stops immediately — a different model
1094
- * will not fix those. On chain exhaustion, the last failing response
1095
- * is returned.
1096
- *
1097
- * In practice the typical non-preview user trajectory is:
1098
- * gemini-3.1-pro-preview -> access denied (rotate)
1099
- * gemini-3-pro-preview -> access denied (rotate)
1100
- * gemini-3-flash-preview -> success (3-series flash, pro-grade
1101
- * reasoning, universally available as
1102
- * of the model launch)
1103
- */
1104
- async _executeGeminiWithRotation(userPrompt, systemPromptSpec, options) {
1105
- const chain = GEMINI_FRONTIER_CHAIN;
1106
- let lastResponse = null;
1107
- for (let i = 0; i < chain.length; i++) {
1108
- const model = chain[i];
1109
- const attemptOptions = {
1110
- ...options,
1111
- models: { ...(options.models || {}), gemini: model },
1112
- };
1113
- if (i > 0) {
1114
- this.emitLog().info(`Gemini rotation: attempting tier ${i + 1}/${chain.length} (${model})`);
1115
- }
1116
- const response = await this._executeCLI('gemini', userPrompt, systemPromptSpec, attemptOptions, (user, sys, opts) => this.buildCLICommand('gemini', user, sys, opts));
1117
- if (response.success) {
1118
- if (i > 0) {
1119
- this.emitLog().warn(`Gemini served by ${model} after ${i} rotation${i === 1 ? '' : 's'} (tier ${i + 1}/${chain.length})`);
1120
- }
1121
- else {
1122
- this.emitLog().debug(`Gemini served by frontier ${model}`);
1123
- }
1124
- return response;
1125
- }
1126
- if (!isGeminiRotatableError(response.error)) {
1127
- this.emitLog().debug(`Gemini ${model} failed with non-rotatable error; aborting rotation`, {
1128
- errorPreview: response.error?.slice(0, 120),
1129
- });
1130
- return response;
1131
- }
1132
- this.emitLog().warn(`Gemini ${model} unavailable (capacity or access); rotating to next frontier tier`);
1133
- lastResponse = response;
1134
- }
1135
- this.emitLog().error(`Gemini frontier chain exhausted (${chain.length} tiers); no tier available to this account`);
1136
- return lastResponse;
1137
- }
1138
1032
  async waitForAvailableSlot() {
1139
1033
  let waitTime = 100; // Start with 100ms wait time
1140
1034
  while (this.runningCLIs >= this.MAX_CONCURRENT_CLIS) {
@@ -1144,8 +1038,7 @@ export class CLIAgentOrchestrator {
1144
1038
  }
1145
1039
  }
1146
1040
  async executeCLIAgents(cliAgents, systemPrompt, userPrompt, options = {}) {
1147
- // Filter to valid CLI agents
1148
- const validAgents = cliAgents.filter(agent => ['claude', 'codex', 'gemini'].includes(agent));
1041
+ const validAgents = cliAgents.filter(agent => ['claude', 'codex', 'agy'].includes(agent));
1149
1042
  if (validAgents.length === 0) {
1150
1043
  return [];
1151
1044
  }
@@ -1173,7 +1066,7 @@ export class CLIAgentOrchestrator {
1173
1066
  .map(result => result.value);
1174
1067
  }
1175
1068
  async executeCLIAgent(agent, systemPrompt, userPrompt, options = {}) {
1176
- if (!['claude', 'codex', 'gemini'].includes(agent)) {
1069
+ if (!['claude', 'codex', 'agy'].includes(agent)) {
1177
1070
  throw new Error(`Unsupported CLI agent: ${agent}`);
1178
1071
  }
1179
1072
  return await this.executeSingleCLI(agent, userPrompt, systemPrompt, options);
@@ -1 +1 @@
1
- {"version":3,"file":"cli-agents.js","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-agents.js","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAoB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAElE,SAAS,2BAA2B,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,iBAAiB,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,SAAS,IAAI,iBAAiB,CAAC;AACxC,CAAC;AAED,SAAS,mCAAmC,CAAC,KAAwB,EAAE,cAAuB;IAC5F,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IACxF,OAAO,mFAAmF,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,+BAA+B,CAAC,QAA0B,EAAE,cAAuB;IAC1F,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,2BAA2B,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;AAClH,CAAC;AA0BD,mCAAmC;AACnC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB;AACvG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B;AACtH,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe;AACnH,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;AAE3G,+BAA+B;AAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,+BAA+B;AAC/G,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,sDAAsD;AAC3I,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,qCAAqC;AAEzE,2CAA2C;AAC3C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuD,CAAC;AAEvF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEnE,uCAAuC;AACvC,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,oCAAoC;AAE/D,sCAAsC;AACtC,kFAAkF;AAClF,8EAA8E;AAC9E,8EAA8E;AAC9E,2FAA2F;AAC3F,SAAS,iBAAiB,CAAC,IAAc;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,2DAA2D;QAC3D,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,0FAA0F;AAC1F,EAAE;AACF,+EAA+E;AAC/E,sDAAsD;AACtD,iFAAiF;AACjF,oFAAoF;AACpF,EAAE;AACF,wDAAwD;AACxD,+CAA+C;AAC/C,gEAAgE;AAChE,EAAE;AACF,sDAAsD;AACtD,0EAA0E;AAC1E,sEAAsE;AACtE,4EAA4E;AAC5E,wBAAwB;AACxB,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,0CAA0C;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wEAAwE;IACxE,IAAI,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+BAA+B;IAC/B,4FAA4F;IAC5F,6BAA6B;IAC7B,4EAA4E;IAC5E,IAAI,OAAO,GAAG,GAAG;SACd,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE7B,sEAAsE;IACtE,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,MAAM,GAAG,IAAI,OAAO,GAAG,CAAC;IAC5B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;IAC7C,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qCAAqC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,oDAAoD;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,2BAA2B,KAAK,MAAM,cAAc,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAAY;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;IAC7C,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qCAAqC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,oDAAoD;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,2BAA2B,KAAK,MAAM,cAAc,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,8CAA8C;AAC9C,SAAS,uBAAuB;IAC9B,gEAAgE;IAChE,mEAAmE;IACnE,oEAAoE;IACpE,mEAAmE;IACnE,6DAA6D;IAC7D,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,aAAa,GAAG;QACpB,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,UAAU;KACX,CAAC;IAEF,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,uCAAuC;IACvC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,4BAA4B;IACrD,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,uBAAuB;IACjD,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,uCAAuC;IAE9D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yCAAyC;AACzC,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAElC,2CAA2C;QAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAElC,uCAAuC;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,iCAAiC,GAAG,6BAA6B,CAAC,CAAC;QACtG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,UAAU,CACvB,OAAe,EACf,IAAc,EACd,UAeI,EAAE;IAEN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,2CAA2C;QAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAE3D,mEAAmE;QACnE,4EAA4E;QAC5E,sEAAsE;QACtE,EAAE;QACF,yEAAyE;QACzE,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAE9C,IAAI,YAAoB,CAAC;QACzB,IAAI,SAAmB,CAAC;QACxB,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClE,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,OAAO,CAAC;YACvB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,iEAAiE;QACjE,8DAA8D;QAC9D,oEAAoE;QACpE,mDAAmD;QACnD,mEAAmE;QACnE,8DAA8D;QAC9D,IAAI,CAAC;YACH,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,qCAAqC;QACvC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE;YAC3C,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,KAAK,EAAE,oDAAoD;YACrE,GAAG,EAAE,SAAS;YACd,oEAAoE;YACpE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;gBAClD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;aACnD,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,wCAAwC;QACxC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,YAAY,EAAE,CAAC;aAChB,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,IAAI,WAAuC,CAAC;QAC5C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,KAAK,CAAC,GAAI,CAAC;oBACvB,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;wBAC3B,IAAI,WAAW;4BAAE,aAAa,CAAC,WAAW,CAAC,CAAC;wBAC5C,OAAO;oBACT,CAAC;oBAED,WAAW,CAAC,YAAY,EAAE,CAAC;oBAE3B,sCAAsC;oBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;wBACxC,CAAC,CAAC,MAAM,qBAAqB,CAAC,GAAG,CAAC;wBAClC,CAAC,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAElC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,GAAG,aAAa,EAAE,CAAC;wBAC5C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,QAAQ,QAAQ,aAAa,IAAI,CAAC,CAAC,CAAC;wBAC7F,OAAO;oBACT,CAAC;oBAED,uBAAuB;oBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC;oBACrD,IAAI,SAAS,GAAG,gBAAgB,GAAG,IAAI,EAAE,CAAC;wBACxC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,SAAS,QAAQ,gBAAgB,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;wBACpG,OAAO;oBACT,CAAC;gBAEH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uDAAuD;oBACvD,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC5B,CAAC;QAED,yCAAyC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC;QACrD,IAAI,SAAqC,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,oBAAoB;YACpB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,wDAAwD;YACxD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,mEAAmE;wBACnE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxB,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,kCAAkC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,SAAS,OAAO,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,iBAAiB;QACjB,oGAAoG;QACpG,4FAA4F;QAC5F,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC;YAEhB,qCAAqC;YACrC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC;YAEhB,qCAAqC;YACrC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,mDAAmD;YACnD,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,GAAG,IAAI,CAAC;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,WAAW;gBAAE,aAAa,CAAC,WAAW,CAAC,CAAC;YAE5C,4BAA4B;YAC5B,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9F,KAA2B,CAAC,IAAI,GAAG,IAAI,IAAI,SAAS,CAAC;oBACrD,KAA2B,CAAC,MAAM,GAAG,MAAM,CAAC;oBAC5C,KAA2B,CAAC,MAAM,GAAG,MAAM,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,WAAW;gBAAE,aAAa,CAAC,WAAW,CAAC,CAAC;YAE5C,4BAA4B;YAC5B,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,oFAAoF;YACpF,2EAA2E;YAC3E,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YACrB,CAAC;YACD,wCAAwC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAwDD,MAAM,OAAO,oBAAoB;IACvB,cAAc,GAAG,OAAO,CAAC,CAAC,2CAA2C;IACrE,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,UAAU,GAAe,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC/C,gBAAgB,GAAG,KAAK,CAAC;IACzB,mBAAmB,GAAG,CAAC,CAAC;IACf,aAAa,GAAG,MAAM,CAAC,CAAC,kBAAkB;IACnD,WAAW,GAAG,CAAC,CAAC,CAAC,kCAAkC;IAC1C,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,iCAAiC;IAE7F,0BAA0B;IACV,aAAa,CAAgB;IAE7C,oEAAoE;IACpE,kEAAkE;IAClE,wEAAwE;IACxE,4EAA4E;IAC3D,OAAO,CAAmB;IAC1B,GAAG,CAAoB;IAExC,gCAAgC;IACxB,gBAAgB,GAAG,IAAI,GAAG,EAAmD,CAAC;IACrE,wBAAwB,GAAG,GAAG,CAAC,CAAC,QAAQ;IACxC,cAAc,GAAG,IAAI,CAAC,CAAC,gBAAgB;IACvC,kBAAkB,GAAG,IAAI,CAAC,CAAC,iCAAiC;IACrE,aAAa,GAAG,CAAC,CAAC;IAE1B;;;;OAIG;IACH,YAAY,IAA+C;QACzD,MAAM,GAAG,GACP,IAAI,YAAY,aAAa;YAC3B,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;YACzB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QAEnB,wEAAwE;QACxE,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,wBAAwB,eAAe,IAAI,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,0BAA0B,iBAAiB,IAAI,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,wBAAwB,eAAe,QAAQ,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,4BAA4B,mBAAmB,EAAE,CAAC,CAAC;QAEhE,oDAAoD;QACpD,OAAO,CAAC,GAAG,CAAC;YACV,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;SAChC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,OAAO;QACb,OAAO,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;OAUG;IACK,cAAc,CAAC,GAAY;QACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAClD,MAAM,CAAC,GAAG,GAA8D,CAAC;QACzE,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oEAAoE;IACpE,uDAAuD;IACvD,6CAA6C;IAErC,WAAW,CAAC,KAAa;QAC/B,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,sBAAsB,CAAC,YAAoB;QACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;IACjF,CAAC;IAEO,wBAAwB,CAAC,UAAkB;QACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,2BAA2B,CACjC,KAAiC,EACjC,IAAsC,EACtC,OAAe,EACf,gBAAkD,EAClD,OAAyB;QAEzB,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAE9B,4EAA4E;QAC5E,iFAAiF;QACjF,4DAA4D;QAC5D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;QAClD,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc;YAC3D,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,gBAAgB;YAC9D,CAAC,CAAC,OAAO,CAAC;QAEZ,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAErC,8EAA8E;QAC9E,qFAAqF;QACrF,IAAI,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,UAAU,IAAI,IAAI,KAAK,gBAAgB;YAC1E,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACtH,CAAC;QAED,6DAA6D;QAC7D,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjD,gBAAgB,CAAC;gBACf,IAAI;gBACJ,KAAK;gBACL,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC,CAAC;YAEH,eAAe;YACf,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,CAAC;IACH,CAAC;IAED,6DAA6D;IACrD,KAAK,CAAC,eAAe,CAC3B,GAAY,EACZ,UAAkB,EAClB,YAAoB,EACpB,OAAwB;QAExB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAE5C,gFAAgF;QAChF,+EAA+E;QAC/E,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,GAAG,GAAG,QAAiB,CAAC;QACzC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,cAAc,GAClB,UAAU,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAEtF,OAAO,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,uCAAuC;QACvC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxF,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,MAAM,aAAa,GAAmC,EAAE,CAAC;QAEzD,qEAAqE;QACrE,kEAAkE;QAClE,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,SAAS,GAAG;YAChB,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE;YACxD,EAAE,IAAI,EAAE,OAAgB,EAAE,OAAO,EAAE,iBAAiB,EAAE;YACtD,EAAE,IAAI,EAAE,KAAc,EAAE,OAAO,EAAE,GAAG,UAAU,YAAY,EAAE;SAC7D,CAAC;QAEF,wEAAwE;QACxE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;QAEJ,MAAM,YAAY,GAAG,OAAO;aACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;aACxE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAE,MAAmE,CAAC,KAAK,CAAC,CAAC;QAC7F,aAAa,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAEpC,IAAI,CAAC,UAAU,GAAG,EAAE,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEtC,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,eAAe,CACb,YAAyC,EACzC,YAAkC;QAElC,4CAA4C;QAC5C,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;YAC9D,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,mEAAmE;QACnE,8DAA8D;QAC9D,iEAAiE;QACjE,+DAA+D;QAC/D,+DAA+D;QAC/D,MAAM,cAAc,GAAmD;YACrE,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YAC1C,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YACtC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;YACtC,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YAClC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YACrC,gBAAgB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;YAC5C,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YAClC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YACpC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;SACtC,CAAC;QAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,IAAI,SAAS,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC;QAErF,4CAA4C;QAC5C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,YAAY,IAAI,SAAS,WAAW,CAAC,CAAC;gBACzF,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAmC,EACnC,UAAkB,EAClB,gBAAwB,EACxB,UAA2B,EAAE,EAC7B,cAAkO;QAElO,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;QACvD,IAAI,iBAAqC,CAAC;QAC1C,mEAAmE;QACnE,iEAAiE;QACjE,oEAAoE;QACpE,IAAI,KAA6D,CAAC;QAElE,oEAAoE;QACpE,oEAAoE;QACpE,mCAAmC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC;QAEzB,kEAAkE;QAClE,gEAAgE;QAChE,wDAAwD;QACxD,mEAAmE;QACnE,gEAAgE;QAChE,oEAAoE;QACpE,iEAAiE;QACjE,kEAAkE;QAClE,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAE7F,yBAAyB;YACzB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC;oBACvB,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,YAAY,OAAO,CAAC,WAAW,EAAE,cAAc;oBACxD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC;YAGD,KAAK,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;YAC5C,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YAE5C,6DAA6D;YAC7D,4DAA4D;YAC5D,qDAAqD;YACrD,6DAA6D;YAC7D,6DAA6D;YAC7D,4DAA4D;YAC5D,qDAAqD;YACrD,6DAA6D;YAC7D,6BAA6B;YAC7B,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACzC,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,YAAY;aACb,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,OAAO,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC;YAChF,CAAC;YAED,gEAAgE;YAChE,yDAAyD;YACzD,kEAAkE;YAClE,8DAA8D;YAC9D,qDAAqD;YACrD,yBAAyB;YACzB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE;gBACzD,GAAG,EAAE,UAAU;gBACf,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,eAAe,EAAE,wCAAwC;gBACpE,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxC,UAAU,EAAE,CAAC,KAAa,EAAE,IAAyB,EAAE,EAAE;oBACvD,wDAAwD;oBACxD,kEAAkE;oBAClE,iEAAiE;oBACjE,iEAAiE;oBACjE,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBACtC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;wBAEhG,uDAAuD;wBACvD,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBAC/G,CAAC;yBAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;wBAEhG,uCAAuC;wBACvC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBAC5G,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;YAE1F,wBAAwB;YACxB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC;oBACvB,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,wBAAwB,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK;oBACpF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,kEAAkE;YAClE,yDAAyD;YACzD,gEAAgE;YAChE,EAAE;YACF,+DAA+D;YAC/D,+DAA+D;YAC/D,8DAA8D;YAC9D,gEAAgE;YAChE,iEAAiE;YACjE,qBAAqB;YACrB,IAAI,WAAW,GAAG,MAAM,CAAC;YACzB,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAExE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,qDAAqD;gBACrD,iEAAiE;gBACjE,8BAA8B;gBAC9B,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,MAAM,gGAAgG,CAAC;gBAC5J,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,QAAQ,EAAE,EAAE;oBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,YAAY,EAAE,MAAM,CAAC,MAAM;iBAC5B,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBAC7B,OAAO,CAAC,gBAAgB,CAAC;wBACvB,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,OAAO;wBACd,OAAO,EAAE,QAAQ;wBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,aAAa,GAAsD;oBACvE,QAAQ;oBACR,OAAO,EAAE,SAAS;iBACnB,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,6BAA6B,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE;oBAC9E,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACL,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,QAAQ;oBACf,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACrC,OAAO,EAAE,yBAAyB,OAAO,GAAG;oBAC5C,gBAAgB,EAAE,UAAU;oBAC5B,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,KAAK,EAAE,KAAK;iBACpB,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC1B,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAC7B,CAAC;YACD,gEAAgE;YAChE,iEAAiE;YACjE,+DAA+D;YAC/D,gEAAgE;YAChE,+CAA+C;YAE/C,+EAA+E;YAC/E,uEAAuE;YACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iCAAiC,OAAO,qBAAqB,CAAC,CAAC;gBACnF,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,kEAAkE;YAClE,kEAAkE;YAClE,mEAAmE;YACnE,gEAAgE;YAChE,0DAA0D;YAC1D,MAAM,aAAa,GAAsD;gBACvE,QAAQ;gBACR,OAAO,EAAE,SAAS;aACnB,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4BAA4B,EAAE,GAAG,EAAE;gBAC5D,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,MAAM,IAAI,SAAS;gBAC1B,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,sDAAsD;gBACtD,0DAA0D;gBAC1D,uDAAuD;gBACvD,wDAAwD;gBACxD,wDAAwD;gBACxD,2DAA2D;gBAC3D,qDAAqD;gBACrD,8BAA8B;gBAC9B,OAAO,EAAE,yBAAyB,OAAO,GAAG;gBAC5C,gBAAgB,EAAE,UAAU;gBAC5B,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAsB,KAA0B,CAAC;YAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAEtC,6DAA6D;YAC7D,EAAE;YACF,sDAAsD;YACtD,+DAA+D;YAC/D,8DAA8D;YAC9D,8DAA8D;YAC9D,+DAA+D;YAC/D,2DAA2D;YAC3D,yBAAyB;YACzB,MAAM,iBAAiB,GAAG;gBACxB,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB;gBACtD,mBAAmB,EAAE,aAAa,EAAE,aAAa;gBACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB;gBACjD,aAAa,EAAE,YAAY;aAC5B,CAAC;YACF,MAAM,SAAS,GAAG,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;YACvF,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,qBAAqB,GAAG,OAAO,KAAK,OAAO;mBAC5C,mCAAmC,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE3E,yEAAyE;YACzE,mEAAmE;YACnE,iEAAiE;YACjE,kEAAkE;YAClE,iDAAiD;YACjD,IAAI,OAA0C,CAAC;YAC/C,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,6DAA6D;gBAC7D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,yBAAyB;gBACzB,MAAM,aAAa,GAAsD;oBACvE,QAAQ;oBACR,OAAO;iBACR,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,OAAO,GAAG,EAAE,GAAG,EAAE;oBAC/D,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,8BAA8B,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;YAC5G,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,EAAE;oBAChG,KAAK,EAAE,qDAAqD;oBAC5D,QAAQ;oBACR,MAAM,EAAE,qDAAqD;iBAC9D,CAAC,CAAC;YACL,CAAC;YAED,mEAAmE;YACnE,mEAAmE;YACnE,0DAA0D;YAC1D,gEAAgE;YAChE,kEAAkE;YAClE,mEAAmE;YACnE,gEAAgE;YAChE,gEAAgE;YAChE,2DAA2D;YAC3D,gEAAgE;YAChE,8DAA8D;YAC9D,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,WAAW;gBAC1B,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,kEAAkE;gBAC5F,CAAC,CAAC,qBAAqB;oBACrB,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,2BAA2B,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,2CAA2C;oBAClI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC9B,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,8BAA8B,OAAO,oCAAoC;wBACnG,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,mDAAmD,CAAC;YAEpF,0DAA0D;YAC1D,4DAA4D;YAC5D,2DAA2D;YAC3D,qCAAqC;YACrC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC;oBACvB,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,YAAY,QAAQ,EAAE;oBACvD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,OAAO,EAAE,yBAAyB,OAAO,GAAG;gBAC5C,gBAAgB,EAAE,UAAU;gBAC5B,QAAQ;gBACR,KAAK,EAAE,KAAK,EAAE,KAAK;aACpB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,4DAA4D;YAC5D,sEAAsE;YACtE,kEAAkE;YAClE,8DAA8D;YAC9D,6DAA6D;YAC7D,2BAA2B;YAC3B,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,gBAAwB,EACxB,UAA2B,EAAE;QAE7B,OAAO,IAAI,CAAC,WAAW,CACrB,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,gBAAwB,EACxB,UAA2B,EAAE;QAE7B,OAAO,IAAI,CAAC,WAAW,CACrB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAA+B,EAC/B,UAAkB,EAClB,gBAAwB,EACxB,UAA2B,EAAE;QAE7B,yDAAyD;QACzD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,cAAc,CAAC,CAAC;QAE/G,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,GAAG,EACH,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAChE,CAAC;YAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;YAClD,IAAI,GAAG,KAAK,OAAO,IAAI,+BAA+B,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBACtF,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,qEAAqE,EAAE;oBACzF,cAAc,EAAE,2BAA2B,CAAC,mBAAmB,CAAC;iBACjE,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrD,OAAO,cAAc,CAAC,KAAK,CAAC;gBAC5B,MAAM,eAAe,GAAoB;oBACvC,GAAG,OAAO;oBACV,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;iBAC5E,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,GAAG,EACH,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAChE,CAAC;gBAEF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,gBAAgB,2BAA2B,CAAC,mBAAmB,CAAC,0EAA0E,CAAC;oBACxJ,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,GAAG,GAAG,QAAQ,CAAC,KAAK,2DAA2D,QAAQ,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;gBACnI,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,cAAc,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAC,6BAA6B;QACjD,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,2BAA2B,QAAQ,OAAO,CAAC,CAAC;YACjJ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5D,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,qCAAqC;QAChF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,SAAmB,EACnB,YAAoB,EACpB,UAAkB,EAClB,UAA2B,EAAE;QAE7B,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3C,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACT,CAAC;QAEpC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,uDAAuD;QACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,KAAK;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,aAAa,EAAE,CAAC;oBAChB,OAAO,EAAE,GAAG,KAAK,mBAAmB;oBACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE;oBAC3D,QAAQ,EAAE,CAAC,CAAC;iBACO,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,MAAM,EAAsD,EAAE,CACrE,MAAM,CAAC,MAAM,KAAK,WAAW,CAC9B;aACA,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,YAAoB,EACpB,UAAkB,EAClB,UAA2B,EAAE;QAE7B,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAmC,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7G,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,YAAiC,EACjC,cAAsB,EACtB,gBAAwB,EACxB,OAAgB,EAChB,UAA2B,EAAE;QAE7B,sFAAsF;QACtF,0DAA0D;QAC1D,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAEpG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,mCAAmC,YAAY,uBAAuB,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAErI,IAAI,CAAC;YACH,IAAI,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC7F,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,qBAAqB,cAAc,GAAG,CAAC,CAAC;gBAC7D,MAAM,iBAAiB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3G,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3G,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAEnF,8BAA8B;QAC9B,IAAI,SAAyC,CAAC;QAE9C,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,gEAAgE;YAChE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAC3D,cAAc,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzD,CAAC;YACJ,CAAC;YACD,cAAc;YACd,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iCAAiC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,gCAAgC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;QAC1E,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,MAAM,YAAY,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,eAAe,GAAG,CAAC,CAAC;QAE7G,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBACzF,OAAO;oBACL,GAAG,QAAQ;oBACX,eAAe;oBACf,YAAY;iBACO,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,oBAAoB,EAAE,KAAK,CAAC,CAAC;gBAC1D,OAAO;oBACL,KAAK,EAAE,GAAG;oBACV,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,aAAa,EAAE,CAAC;oBAChB,eAAe;oBACf,YAAY;iBACO,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAuB,OAAO;aAC1C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC;aAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAE,MAAmD,CAAC,KAAK,CAAC,CAAC;QAE7E,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,4BAA4B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,aAAa,CAAC,CAAC;QAE1H,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,2BAA2B,CAAC,SAA6B,EAAE,YAAoB;QAC7E,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,sEAAsE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/J,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,SAAS,GAAG,GAAG,mBAAmB,CAAC,MAAM,OAAO,IAAI,gDAAgD,CAAC;QAEzG,+DAA+D;QAC/D,oEAAoE;QACpE,iEAAiE;QACjE,kEAAkE;QAClE,gEAAgE;QAChE,sEAAsE;QACtE,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACnC,SAAS,IAAI,iCAAiC,QAAQ,CAAC,KAAK,YAAY,KAAK,cAAc,QAAQ,CAAC,aAAa,wBAAwB,CAAC;YAC1I,SAAS,IAAI,YAAY,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,SAAS,MAAM,QAAQ,CAAC,aAAa,UAAU,CAAC;YACpH,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;YAC7B,SAAS,IAAI,mCAAmC,QAAQ,CAAC,KAAK,WAAW,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS,IAAI,qBAAqB,CAAC;YACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,SAAS,IAAI,GAAG,eAAe,CAAC,MAAM,IAAI,QAAQ,0CAA0C,CAAC;YAC7F,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5B,SAAS,IAAI,iCAAiC,CAAC,CAAC,KAAK,YAAY,KAAK,cAAc,CAAC,CAAC,aAAa,yBAAyB,CAAC;gBAC7H,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC;gBAC5D,SAAS,IAAI,+BAA+B,CAAC,CAAC,KAAK,SAAS,CAAC;YAC/D,CAAC,CAAC,CAAC;YACH,SAAS,IAAI,IAAI,CAAC;QACpB,CAAC;QAED,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEO,mBAAmB,CACzB,YAAoB,EACpB,cAAsB,EACtB,OAAgB;QAEhB,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,cAAc,CAAC;QACxC,MAAM,gBAAgB,GAAG,OAAO,IAAI,gCAAgC,CAAC;QAErE,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,2BAA2B,gBAAgB,yBAAyB,gBAAgB,EAAE;YAC5F,QAAQ,EAAE,qCAAqC,gBAAgB,2FAA2F,gBAAgB,EAAE;YAC5K,YAAY,EAAE,4BAA4B,gBAAgB,kDAAkD;YAC5G,IAAI,EAAE,sBAAsB,gBAAgB,mDAAmD;YAC/F,QAAQ,EAAE,yBAAyB,gBAAgB,6DAA6D;YAChH,IAAI,EAAE,4BAA4B,gBAAgB,gEAAgE;YAClH,QAAQ,EAAE,sBAAsB,gBAAgB,+CAA+C;YAC/F,OAAO,EAAE,mBAAmB,gBAAgB,gDAAgD;YAC5F,cAAc,EAAE,0BAA0B,gBAAgB,uCAAuC;YACjG,MAAM,EAAE,iBAAiB,gBAAgB,0DAA0D;YACnG,aAAa,EAAE,sCAAsC,gBAAgB,sDAAsD;YAC3H,YAAY,EAAE,2BAA2B,gBAAgB,wDAAwD;YACjH,UAAU,EAAE,0BAA0B,gBAAgB,gDAAgD;YACtG,YAAY,EAAE,4BAA4B,gBAAgB,yCAAyC;SACpG,CAAC;QAEF,MAAM,cAAc,GAAG,OAAO,CAAC,YAAoC,CAAC,IAAI,WAAW,gBAAgB,QAAQ,YAAY,UAAU,CAAC;QAElI,OAAO,GAAG,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9E,CAAC;CACF"}