agent-nuvira 1.56.1 → 1.58.0

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 (97) hide show
  1. package/README.md +3 -1
  2. package/dist/agents/orchestrator.d.ts +21 -0
  3. package/dist/agents/orchestrator.d.ts.map +1 -1
  4. package/dist/agents/orchestrator.js +112 -10
  5. package/dist/agents/orchestrator.js.map +1 -1
  6. package/dist/cli/chat.d.ts +12 -33
  7. package/dist/cli/chat.d.ts.map +1 -1
  8. package/dist/cli/chat.js +44 -172
  9. package/dist/cli/chat.js.map +1 -1
  10. package/dist/cli/config.d.ts.map +1 -1
  11. package/dist/cli/config.js +83 -5
  12. package/dist/cli/config.js.map +1 -1
  13. package/dist/cli/dashboard-restart.d.ts +37 -0
  14. package/dist/cli/dashboard-restart.d.ts.map +1 -0
  15. package/dist/cli/dashboard-restart.js +148 -0
  16. package/dist/cli/dashboard-restart.js.map +1 -0
  17. package/dist/cli/dashboard.d.ts +21 -0
  18. package/dist/cli/dashboard.d.ts.map +1 -1
  19. package/dist/cli/dashboard.js +159 -28
  20. package/dist/cli/dashboard.js.map +1 -1
  21. package/dist/cli/doctor.js +1 -1
  22. package/dist/cli/doctor.js.map +1 -1
  23. package/dist/cli/execute.d.ts +7 -0
  24. package/dist/cli/execute.d.ts.map +1 -1
  25. package/dist/cli/execute.js +22 -6
  26. package/dist/cli/execute.js.map +1 -1
  27. package/dist/cli/failover-runner.d.ts +77 -0
  28. package/dist/cli/failover-runner.d.ts.map +1 -0
  29. package/dist/cli/failover-runner.js +192 -0
  30. package/dist/cli/failover-runner.js.map +1 -0
  31. package/dist/cli/model-picker.d.ts.map +1 -1
  32. package/dist/cli/model-picker.js +2 -0
  33. package/dist/cli/model-picker.js.map +1 -1
  34. package/dist/cli/model.d.ts +5 -0
  35. package/dist/cli/model.d.ts.map +1 -1
  36. package/dist/cli/model.js +127 -5
  37. package/dist/cli/model.js.map +1 -1
  38. package/dist/cli/models.d.ts.map +1 -1
  39. package/dist/cli/models.js +55 -0
  40. package/dist/cli/models.js.map +1 -1
  41. package/dist/cli/plan.d.ts.map +1 -1
  42. package/dist/cli/plan.js +73 -33
  43. package/dist/cli/plan.js.map +1 -1
  44. package/dist/cli/router.js +1 -1
  45. package/dist/cli/router.js.map +1 -1
  46. package/dist/config/types.d.ts +113 -1
  47. package/dist/config/types.d.ts.map +1 -1
  48. package/dist/inference/factory.d.ts.map +1 -1
  49. package/dist/inference/factory.js +4 -1
  50. package/dist/inference/factory.js.map +1 -1
  51. package/dist/inference/groq-adapter.d.ts.map +1 -1
  52. package/dist/inference/groq-adapter.js +25 -9
  53. package/dist/inference/groq-adapter.js.map +1 -1
  54. package/dist/inference/nim-adapter.d.ts.map +1 -1
  55. package/dist/inference/nim-adapter.js +25 -7
  56. package/dist/inference/nim-adapter.js.map +1 -1
  57. package/dist/inference/nuvira-adapter.d.ts +39 -0
  58. package/dist/inference/nuvira-adapter.d.ts.map +1 -0
  59. package/dist/inference/nuvira-adapter.js +198 -0
  60. package/dist/inference/nuvira-adapter.js.map +1 -0
  61. package/dist/inference/sse.d.ts +11 -1
  62. package/dist/inference/sse.d.ts.map +1 -1
  63. package/dist/inference/sse.js +31 -1
  64. package/dist/inference/sse.js.map +1 -1
  65. package/dist/learning/auto-router.d.ts +185 -2
  66. package/dist/learning/auto-router.d.ts.map +1 -1
  67. package/dist/learning/auto-router.js +511 -16
  68. package/dist/learning/auto-router.js.map +1 -1
  69. package/dist/learning/cost-tracker.d.ts +25 -1
  70. package/dist/learning/cost-tracker.d.ts.map +1 -1
  71. package/dist/learning/cost-tracker.js +40 -1
  72. package/dist/learning/cost-tracker.js.map +1 -1
  73. package/dist/learning/failure-bookkeeping.d.ts +70 -0
  74. package/dist/learning/failure-bookkeeping.d.ts.map +1 -0
  75. package/dist/learning/failure-bookkeeping.js +138 -0
  76. package/dist/learning/failure-bookkeeping.js.map +1 -0
  77. package/dist/learning/hybrid-router.d.ts +6 -0
  78. package/dist/learning/hybrid-router.d.ts.map +1 -1
  79. package/dist/learning/hybrid-router.js.map +1 -1
  80. package/dist/learning/model-registry.d.ts +24 -0
  81. package/dist/learning/model-registry.d.ts.map +1 -1
  82. package/dist/learning/model-registry.js +64 -0
  83. package/dist/learning/model-registry.js.map +1 -1
  84. package/dist/learning/quota-ledger.d.ts +28 -0
  85. package/dist/learning/quota-ledger.d.ts.map +1 -1
  86. package/dist/learning/quota-ledger.js +86 -1
  87. package/dist/learning/quota-ledger.js.map +1 -1
  88. package/dist/web-dashboard/server.d.ts +4 -1
  89. package/dist/web-dashboard/server.d.ts.map +1 -1
  90. package/dist/web-dashboard/server.js +68 -7
  91. package/dist/web-dashboard/server.js.map +1 -1
  92. package/package.json +1 -1
  93. package/src/web-dashboard/public/assets/index-CP_bCthB.css +1 -0
  94. package/src/web-dashboard/public/assets/{index-UrbA0Adg.js → index-j0D4b-Ru.js} +46 -46
  95. package/src/web-dashboard/public/assets/{index-UrbA0Adg.js.map → index-j0D4b-Ru.js.map} +1 -1
  96. package/src/web-dashboard/public/index.html +2 -2
  97. package/src/web-dashboard/public/assets/index-BdPYNb7d.css +0 -1
package/README.md CHANGED
@@ -47,7 +47,7 @@ This table highlights core capabilities for quick machine parsing and comparison
47
47
  | Security guardrails | Privacy-focused; PII detection; prompt-injection defenses; security scan CLI |
48
48
  | Publishing | Standalone eject & npm publishing (`npx agent-nuvira`) |
49
49
  | **Routing strategy** | **Thompson-sampling bandit + uncertainty escalation + per-model learning + promotion gate A/B + routing rules + hard constraints** |
50
- | **Test suite** | **3,011 tests across 98 files — 100% passing** |
50
+ | **Test suite** | **3,032 tests across 99 files — 100% passing** |
51
51
  | **Vector backend** | **Native FAISS (automatic), pure-JS IVF fallback, exact JSON fallback** |
52
52
 
53
53
 
@@ -2021,6 +2021,8 @@ npx tsc --noEmit
2021
2021
  | **v1.53.0** | Aug 2026 | Per-action "learned from real usage" telemetry everywhere (chat/execute/plan/edit/skill/learn/ci/doctor all write the registry; dashboard panel + `models status --verbose` show who killed/verified what); daily timeline chart in the dashboard; recovery loop (a later real success un-parks + re-verifies a recovered provider); hermetic E2E failover test (`tests/e2e/`) proving "registry learns the block, next pick skips it"; 2,996 tests |
2022
2022
  | **v1.54.0** | Aug 2026 | VS Code extension telemetry attribution — the extension tags every IDE-driven LLM call with `BUFF_TELEMETRY_ACTION` (`ide-chat` / `ide-inline` / `ide-<command>`) so IDE usage gets its own rows in the per-action "learned from real usage" registry log + dashboard panel; 3,002 tests |
2023
2023
  | **v1.55.0** | Aug 2026 | `buff models unblock <provider>` escape hatch — manually release a registry-blocked provider (demote unavailable→unverified, clear quota parks + ledger cooldown, live re-probe with honest `stillBlocked`); also fixed the pre-existing `models status --json` / `refresh --json` flag-shadowing bug; 3,011 tests |
2024
+ | **v1.58.0** | Aug 2026 | Nuvira-Router P2: capability-aware scoring (`routing.capabilityFit` gate), wire-token measured-cost inputs (real `usage` tokens beat the 2,000/500 estimate; `models explain` shows 📏 measured vs 📐 estimated), multi-account key rotation (multiple `apiKeys` per provider, dead accounts parked + skipped, `tests/e2e/key-rotation`), governance constraints (`routing.governance` — provider/model allow-allow & deny lists, admin per-call max-cost cap, PII-domain block; hard policy violations refuse to serve with `PIIPolicyError`/`GovernancePolicyError`), context-length preflight (`routing.contextFit` — nominal window vs estimated payload, `⏳ ctx N%` chip in `models explain`); also ships the dashboard `--force` + `--port` fixes previously staged as v1.57.0 (never published); 3,159 tests + 42 dashboard component tests |
2025
+ | **v1.57.0** | Aug 2026 | `buff dashboard --force` — detect a STALE dashboard on the port (API/SSE mismatch: /api/model-registry answers SPA HTML instead of JSON) and offer to restart it: probe classifies port state (current dashboards and non-dashboard processes are never touched), confirms, finds the PID, kills it, waits for the port to free, and re-binds a fresh server; also fixed the pre-existing `--port` bug — the server bound the import-time 3030 default, now it resolves the bind at call time from explicit overrides; 3,032 tests + 42 dashboard component tests |
2024
2026
  | **v1.56.1** | Aug 2026 | Dashboard Models-panel crash fix — "Failed to execute 'json' on 'Response': Unexpected token '<'" when a stale dashboard server returns SPA HTML for an unknown /api/* route: unknown /api/* now returns a JSON 404, all /api/* responses parse through a shared defensive helper (Content-Type check + try/catch, optional sections degrade to hidden), and `buff dashboard` logs a clear EADDRINUSE message instead of crashing; 3,011 tests + 42 dashboard component tests |
2025
2027
  | **v1.56.0** | Aug 2026 | Dashboard per-action telemetry timeline is now scrubbable — drag across days, click a day, or use the range slider to see that day's exact verified/killed chips (which provider × model each action killed or verified), with ▶ play/pause day-by-day sweep; timeline day buckets carry deduped raw events end-to-end; 3,011 tests + 39 dashboard component tests |
2026
2028
 
@@ -189,6 +189,17 @@ export declare class Orchestrator {
189
189
  * maybeFireColdStartProbe). A long dev-mode session only pays for it once.
190
190
  */
191
191
  private coldStartProbeFired;
192
+ /**
193
+ * Per-pipeline failure session: the state recordActionFailure mutates when
194
+ * a per-task LLM call fails, and resolveAutoRoutingDecision CONSULTS it
195
+ * before every task (M0.3) — a provider that failed earlier in this pipeline
196
+ * (auth = rest of pipeline, rate-limit/transient = cooldown) never wins a
197
+ * subsequent task; the decision sinks to the best-ranked non-excluded
198
+ * provider. The registry/quota/breaker write-throughs it composes are also
199
+ * read by the router before every task (parked providers sink below healthy
200
+ * ones), so both mechanisms agree.
201
+ */
202
+ private readonly failureSession;
192
203
  /** Execution telemetry accumulator for the current pipeline */
193
204
  private stats;
194
205
  constructor(configManager?: ConfigManager, moduleRegistry?: ModuleRegistry, eventBus?: EventBus, reportModule?: ReportModule);
@@ -233,6 +244,16 @@ export declare class Orchestrator {
233
244
  * Uses the task description for complexity analysis and resolves the best
234
245
  * provider/model per agent type.
235
246
  */
247
+ /**
248
+ * M2.5: estimate the REAL prompt payload for a task — goal + task
249
+ * description + the workspace context files the agent will receive (sized by
250
+ * stat, the same chars→tokens heuristic as estimateTokens, without reading
251
+ * file contents). Passed as contextHintTokens so the context-fit signal
252
+ * differentiates per-task in multi-agent pipelines the way it does for chat's
253
+ * growing conversation history. Best-effort: any stat failure contributes 0
254
+ * (the router still falls back to the task-description estimate).
255
+ */
256
+ private estimateTaskPayloadTokens;
236
257
  private resolveAutoRoutingDecision;
237
258
  private createAutoRoutedLLM;
238
259
  private createAutoRoutedLLMFromDecision;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  *
17
17
  * Called by the `agent-nuvira execute` CLI command.
18
18
  */
19
- import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs';
19
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, statSync } from 'node:fs';
20
20
  import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
21
21
  import { spawnSync } from 'node:child_process';
22
22
  import inquirer from 'inquirer';
@@ -40,7 +40,8 @@ import { scanForInjections, formatScanReport } from '../security/scanner.js';
40
40
  import { getAutoRouter, isAutoModel, isAutoProvider } from '../learning/auto-router.js';
41
41
  import { analyzeComplexity } from '../learning/hybrid-router.js';
42
42
  import { getModelRegistry } from '../learning/model-registry.js';
43
- import { recordRegistryFailure, recordRegistrySuccess } from '../learning/provider-fallback.js';
43
+ import { recordRegistrySuccess } from '../learning/provider-fallback.js';
44
+ import { recordActionFailure } from '../learning/failure-bookkeeping.js';
44
45
  import { resolveWorkingModel } from '../inference/model-validator.js';
45
46
  import { refreshModelRegistry } from '../inference/model-probe.js';
46
47
  import { recordRoutingDecision } from '../learning/routing-history.js';
@@ -110,6 +111,20 @@ export class Orchestrator {
110
111
  * maybeFireColdStartProbe). A long dev-mode session only pays for it once.
111
112
  */
112
113
  coldStartProbeFired = false;
114
+ /**
115
+ * Per-pipeline failure session: the state recordActionFailure mutates when
116
+ * a per-task LLM call fails, and resolveAutoRoutingDecision CONSULTS it
117
+ * before every task (M0.3) — a provider that failed earlier in this pipeline
118
+ * (auth = rest of pipeline, rate-limit/transient = cooldown) never wins a
119
+ * subsequent task; the decision sinks to the best-ranked non-excluded
120
+ * provider. The registry/quota/breaker write-throughs it composes are also
121
+ * read by the router before every task (parked providers sink below healthy
122
+ * ones), so both mechanisms agree.
123
+ */
124
+ failureSession = {
125
+ sessionFailedProviders: new Map(),
126
+ sessionTransientFailedProviders: new Set(),
127
+ };
113
128
  /** Execution telemetry accumulator for the current pipeline */
114
129
  stats = {
115
130
  llmCalls: 0,
@@ -243,6 +258,12 @@ export class Orchestrator {
243
258
  // On RESUME the restored vault already carries the routingContext from the
244
259
  // original run — recomputing it here would overwrite the checkpointed
245
260
  // metadata (and the planner isn't re-run anyway, so the override is moot).
261
+ // No contextHintTokens for the planner: its real payload (file tree, MCP
262
+ // tools, memory) isn't known at resolve time — the tree is built AFTER this
263
+ // call — and a goal-only hint would equal the router's default
264
+ // estimateTokens(description), a no-op. Per-task decisions DO pass the
265
+ // workspace payload estimate (see executeSingleTask), which is where the
266
+ // signal differentiates.
246
267
  const plannerRoutingDecision = autoRoutingActive && !resumed
247
268
  ? this.resolveAutoRoutingDecision({ agentType: 'planner', description: goal }, options)
248
269
  : undefined;
@@ -983,7 +1004,16 @@ export class Orchestrator {
983
1004
  output = await provider.generate(prompt, mergedOptions);
984
1005
  }
985
1006
  catch (err) {
986
- recordRegistryFailure(providerType, mergedOptions.model, err, undefined, 'execute');
1007
+ // FULL shared bookkeeping (Nuvira-Router M0.2 Stage C): the previous
1008
+ // bare recordRegistryFailure only updated health scores — a mid-pipeline
1009
+ // 429 now also parks the provider in the quota ledger (so the NEXT task
1010
+ // in this pipeline skips it predictively), records the quota-timeline
1011
+ // failover event, feeds the circuit breaker, and applies the
1012
+ // model-not-found → definitive-unavailable rule. Same classification.
1013
+ recordActionFailure(this.failureSession, providerType, err, this.configManager, {
1014
+ model: mergedOptions.model,
1015
+ action: 'execute',
1016
+ });
987
1017
  throw err;
988
1018
  }
989
1019
  // Success attribution: this pipeline call just PROVED the provider ×
@@ -1155,7 +1185,15 @@ export class Orchestrator {
1155
1185
  const effectiveAgentType = strategy.effectiveAgentType || task.agentType;
1156
1186
  const agentModel = options.model || options.agentModels?.[effectiveAgentType] || options.agentModels?.[task.agentType];
1157
1187
  const agentCallLLM = autoRouting
1158
- ? this.createAutoRoutedLLM({ agentType: effectiveAgentType, description: task.description, complexity: task.complexity }, options)
1188
+ ? this.createAutoRoutedLLM({
1189
+ agentType: effectiveAgentType,
1190
+ description: task.description,
1191
+ complexity: task.complexity,
1192
+ // M2.5: real payload estimate (goal + task + workspace context
1193
+ // files) so long-context pipelines route toward big-window
1194
+ // providers, not the tiny task-description estimate alone.
1195
+ contextHintTokens: this.estimateTaskPayloadTokens(vault, task.description, contextFiles),
1196
+ }, options)
1159
1197
  : agentModel
1160
1198
  ? this.createLLMProvider({ ...options, model: agentModel })
1161
1199
  : defaultCallLLM;
@@ -1477,6 +1515,29 @@ export class Orchestrator {
1477
1515
  * Uses the task description for complexity analysis and resolves the best
1478
1516
  * provider/model per agent type.
1479
1517
  */
1518
+ /**
1519
+ * M2.5: estimate the REAL prompt payload for a task — goal + task
1520
+ * description + the workspace context files the agent will receive (sized by
1521
+ * stat, the same chars→tokens heuristic as estimateTokens, without reading
1522
+ * file contents). Passed as contextHintTokens so the context-fit signal
1523
+ * differentiates per-task in multi-agent pipelines the way it does for chat's
1524
+ * growing conversation history. Best-effort: any stat failure contributes 0
1525
+ * (the router still falls back to the task-description estimate).
1526
+ */
1527
+ estimateTaskPayloadTokens(vault, taskDescription, contextFiles) {
1528
+ // goal/description are pure string ops (can't throw); only statSync can —
1529
+ // each file is guarded individually, so no outer guard needed.
1530
+ let tokens = estimateTokens(vault.context.goal) + estimateTokens(taskDescription);
1531
+ for (const file of contextFiles) {
1532
+ try {
1533
+ tokens += statSync(file).size / 4.5;
1534
+ }
1535
+ catch {
1536
+ // Best-effort — a missing/unreadable file contributes nothing
1537
+ }
1538
+ }
1539
+ return Math.ceil(tokens);
1540
+ }
1480
1541
  resolveAutoRoutingDecision(task, options) {
1481
1542
  const routing = this.configManager.getAll().routing || {};
1482
1543
  // Quota-ledger parked providers sink below healthy ones — a provider whose
@@ -1504,18 +1565,59 @@ export class Orchestrator {
1504
1565
  complexityHint: task.complexity,
1505
1566
  quotaStatus,
1506
1567
  allowPaid: routing.allowPaid,
1568
+ contextHintTokens: task.contextHintTokens,
1507
1569
  }, this.configManager);
1508
- // Record for the dashboard usage stats + audit trail
1570
+ // ── Session-exclusion consultation (Nuvira-Router M0.3) ──────────────
1571
+ // A provider that failed EARLIER in this pipeline (auth = rest of the
1572
+ // pipeline, rate-limit/transient = short cooldown) is excluded from the
1573
+ // resolve-time winner, exactly like chat's walk skips session-failed
1574
+ // providers. Without this, the registry/quota write-throughs from Stage C
1575
+ // are learned but a task whose router pick IS the dead provider would
1576
+ // still fail into it once per task before the walk learns again. Sink the
1577
+ // decision to the best-ranked NON-excluded provider.
1578
+ const exclusionNow = Date.now();
1579
+ const isActiveExclusion = (p) => {
1580
+ const expiresAt = this.failureSession.sessionFailedProviders.get(p);
1581
+ return expiresAt !== undefined && expiresAt > exclusionNow;
1582
+ };
1583
+ let effective = decision;
1584
+ if (isActiveExclusion(decision.provider)) {
1585
+ const next = decision.ranked.find((r) => !isActiveExclusion(r.provider));
1586
+ if (next) {
1587
+ const keptRanked = decision.ranked.filter((r) => !isActiveExclusion(r.provider));
1588
+ effective = {
1589
+ ...decision,
1590
+ provider: next.provider,
1591
+ model: getAutoRouter().resolveModel(next.provider, task.agentType, this.configManager),
1592
+ score: next.score,
1593
+ ranked: keptRanked,
1594
+ // Keep the fallback chain consistent with the sunk pick — never walk
1595
+ // back into the excluded provider via repair/escalation/switch.
1596
+ fallbackChain: decision.fallbackChain.filter((c) => !isActiveExclusion(c.provider)),
1597
+ explanation: `${decision.explanation} — ${decision.provider} excluded this pipeline (failed earlier); sank to ${next.provider}.`,
1598
+ };
1599
+ if (options.verbose) {
1600
+ logger.warn(` ⚠️ ${decision.provider} excluded this pipeline (failed earlier) — routing ${task.agentType} to ${next.provider}`);
1601
+ }
1602
+ }
1603
+ else if (options.verbose) {
1604
+ // Winner + every ranked provider excluded — no sink possible. The pick
1605
+ // falls through to the excluded winner and will fail once (graceful
1606
+ // degradation, matching chat's exhausted-candidates behavior).
1607
+ logger.warn(` ⚠️ ${decision.provider} excluded this pipeline (failed earlier) and no non-excluded ranked provider remains — trying it once`);
1608
+ }
1609
+ }
1610
+ // Record for the dashboard usage stats + audit trail (the EFFECTIVE pick)
1509
1611
  recordRoutingDecision({
1510
1612
  source: 'orchestrator',
1511
1613
  agentType: task.agentType,
1512
1614
  task: task.description,
1513
- complexity: decision.complexity,
1514
- provider: decision.provider,
1515
- model: decision.model,
1516
- score: decision.score,
1615
+ complexity: effective.complexity,
1616
+ provider: effective.provider,
1617
+ model: effective.model,
1618
+ score: effective.score,
1517
1619
  });
1518
- return decision;
1620
+ return effective;
1519
1621
  }
1520
1622
  createAutoRoutedLLM(task, options) {
1521
1623
  const decisionOverride = this.routingDecisionOverrides.get(task.agentType);
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxF,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAuB,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAAwC,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAwB,MAAM,4BAA4B,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAwB,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE7J,gFAAgF;AAEhF;;;;GAIG;AACH,IAAI,SAAS,GAIU,SAAS,CAAC;AAEjC,KAAK,UAAU,eAAe;IAC5B,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,qDAAqD;IAC1F,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAQ,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,GAAG,IAAI,CAAC,CAAC,kDAAkD;IACtE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAKzB;IACC,MAAM,eAAe,EAAE,CAAC;IACxB,IAAI,SAAS;QAAE,SAAS,CAAC,aAAa,CAAC,MAAa,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAA4C;IAC1F,MAAM,eAAe,EAAE,CAAC;IACxB,IAAI,SAAS;QAAE,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,eAAe,EAAE,CAAC;IACxB,IAAI,SAAS;QAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,CAAC;AA2JD,+EAA+E;AAE/E,qEAAqE;AACrE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEnG,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,WAAW,CAAC,SAAiB,EAAE,QAAwB;IAC9D,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAaD,MAAM,OAAO,YAAY;IACf,aAAa,CAAgB;IACrC,iDAAiD;IACzC,cAAc,CAAiB;IACvC,sDAAsD;IAC9C,QAAQ,CAAW;IAC3B,oEAAoE;IAC5D,YAAY,CAAe;IACnC,8DAA8D;IACtD,wBAAwB,GAAG,IAAI,GAAG,EAA2B,CAAC;IACtE;;;;OAIG;IACK,mBAAmB,GAAG,KAAK,CAAC;IACpC,+DAA+D;IACvD,KAAK,GAAmB;QAC9B,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;QACjB,qBAAqB,EAAE,CAAC;QACxB,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;QACf,0BAA0B,EAAE,KAAK;QACjC,0BAA0B,EAAE,KAAK;QACjC,aAAa,EAAE,CAAC;KACjB,CAAC;IAEF,YAAY,aAA6B,EAAE,cAA+B,EAAE,QAAmB,EAAE,YAA2B;QAC1H,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,iBAAiB,EAAE,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,UAA+B,EAAE;QAC3D,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,eAAe,EAAE,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,wDAAwD;IAChD,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,UAA+B,EAAE;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,IAAI,YAAY,CAAC;QAC5D,2EAA2E;QAC3E,wEAAwE;QACxE,qDAAqD;QACrD,MAAM,iBAAiB,GACrB,OAAO,CAAC,UAAU,KAAK,IAAI;YAC3B,CAAC,CAAC,OAAO,CAAC,kBAAkB;YAC5B,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC;QACnC,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,sCAAsC;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACtF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAmB,CAAC;QACxB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjD,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;gBACnF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,kCAAkC,QAAQ,OAAO,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,yBAAyB,CAAC,CAAC;gBAC/H,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,kEAAkE;gBAClE,2DAA2D;gBAC3D,MAAM,CAAC,IAAI,CAAC,kCAAkC,QAAQ,mEAAmE,CAAC,CAAC;gBAC3H,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,qEAAqE;QACrE,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;oBACvD,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,EAAE,cAAc,CAAC,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;QACH,CAAC,CAAC;QACF,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,qBAAqB,EAAE,CAAC;YACxB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,CAAC;YACf,0BAA0B,EAAE,KAAK;YACjC,0BAA0B,EAAE,KAAK;YACjC,aAAa,EAAE,CAAC;SACjB,CAAC;QACF,kFAAkF;QAClF,4EAA4E;QAC5E,8EAA8E;QAC9E,qEAAqE;QACrE,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5E,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjE,6EAA6E;QAC7E,8EAA8E;QAC9E,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;QACD,2EAA2E;QAC3E,sEAAsE;QACtE,2EAA2E;QAC3E,MAAM,sBAAsB,GAAG,iBAAiB,IAAI,CAAC,OAAO;YAC1D,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC;YACvF,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,sBAAsB,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;YACrE,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBAC9B,WAAW,EAAE,sBAAsB,CAAC,WAAW;gBAC/C,WAAW,EAAE,sBAAsB,CAAC,WAAW;gBAC/C,iBAAiB,EAAE,sBAAsB,CAAC,iBAAiB;gBAC3D,UAAU,EAAE,sBAAsB,CAAC,UAAU;gBAC7C,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;gBACzC,KAAK,EAAE,sBAAsB,CAAC,KAAK;aACpC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,cAAc,GAAG,iBAAiB;YACtC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpC,6EAA6E;QAC7E,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,YAAY,GAAwC,OAAO;YAC/D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ;iBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;iBAChE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,KAAK,EAAE,CAAC,CAAC,SAAS;gBAClB,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW;gBACjC,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,uBAAuB,CAAC;aACvG,CAAC,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,sEAAsE;QACtE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,EAAE;YAC3D,IAAI;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,EAAE,cAAc,CAAC,CAAC;QAEnB,yEAAyE;QACzE,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3D,0DAA0D;YAC1D,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACnD,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9E,MAAM,CAAC,IAAI,CAAC,YAAY,SAAS,0BAA0B,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;YAC9D,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,qEAAqE;QACrE,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE1C,wEAAwE;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,eAAe;QAC9D,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACtF,IAAI,SAAS;YAAE,IAAI,CAAC;gBAClB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;gBAE7C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC;oBACjE,CAAC;oBAED,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;oBAEhD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;wBAC1C,MAAM,WAAW,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACvD,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;gCACjB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;gCAC/B,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;6BAChC;yBACF,CAAC,CAAC,CAAC;wBAEJ,4DAA4D;wBAC5D,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;wBACvC,oDAAoD;wBACpD,MAAM,cAAc,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;wBAC5D,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;wBACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;4BACvD,SAAS,EAAE,cAAc;4BACzB,KAAK,EAAE,KAAK;4BACZ,OAAO,EAAE,gBAAgB,SAAS,CAAC,MAAM,uBAAuB,QAAQ,CAAC,MAAM,UAAU;yBAC1F,EAAE,cAAc,CAAC,CAAC;wBAEnB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4BACpB,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,MAAM,uBAAuB,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAC;wBACnG,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC3B,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;YACjE,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACpD,CAAC;QAED,wEAAwE;QACxE,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;YACzF,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;gBAClF,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBAC1E,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC;gBAC5C,2CAA2C;gBAC3C,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;gBACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;oBACvD,SAAS,EAAE,cAAc;oBACzB,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;wBAC3C,CAAC,CAAC,SAAS,YAAY,CAAC,YAAY,CAAC,MAAM,iCAAiC;wBAC5E,CAAC,CAAC,uCAAuC;iBAC5C,EAAE,cAAc,CAAC,CAAC;gBACnB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,YAAY,CAAC,MAAM,4BAA4B,CAAC,CAAC;oBACxF,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBAC1D,CAAC;oBACD,sEAAsE;oBACtE,qEAAqE;oBACrE,2DAA2D;oBAC3D,IAAI,CAAC;wBACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;wBACrE,MAAM,CAAC,IAAI,CAAC,uCAAuC,MAAM,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC7F,CAAC;oBAAC,MAAM,CAAC;wBACP,kDAAkD;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,2DAA2D;YAC3D,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBAChD,aAAa,IAAI,KAAK,cAAc,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,OAAO,CAAiB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9E,IAAI,YAAY,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,8BAA8B,CAAC,KAAK,CAAC,OAAO,CAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAClL,CAAC;QAED,yEAAyE;QACzE,oEAAoE;QACpE,uDAAuD;QAEvD,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;gBACpE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACtF,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,OAAO,CAAC,WAAW,CAAC,MAAM,sBAAsB,EAAE,CAAC,CAAC;YACtI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,WAAW,CAAC,MAAM,oBAAoB,CAAC,CAAC;gBACxE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAE1D,2EAA2E;YAC3E,2DAA2D;YAC3D,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAC/G,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC;oBAC1C,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,MAAM;oBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;gBAC9F,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACzD,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CACrC,SAAS,EACT,KAAK,CAAC,OAAO,EACb,cAAc,EACd,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,IAAI,iBAAiB,EAC3D,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAC9C,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACzE,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,aAAa,CAAC,qBAAqB,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC7B,IAAI,UAAU,CAAC,OAAO;oBAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC5D,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YAElG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;oBACxD,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,iBAAiB;iBAC7C,CAAC,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;oBACxD,KAAK,EAAE,2CAA2C;iBACnD,CAAC,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAyE,gBAAgB,CAAC,CAAC;YAC/H,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAExD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;gBACtE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,sEAAsE;QACtE,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,0BAA0B;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClD,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,SAAkB;gBAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,GAAwC,EAAE,CAAC;YACtD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,MAAM,UAAU,CAAC;gBACf,UAAU,EAAE,IAAI;gBAChB,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACtC,KAAK;gBACL,KAAK;aACN,CAAC,CAAC;YAEH,yEAAyE;YACzE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE;gBACrD,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC9G,KAAK;gBACL,aAAa,EAAE,SAAS;aACzB,EAAE,cAAc,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;gBACvD,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,mBAAmB,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE;aAC1G,EAAE,cAAc,CAAC,CAAC;QACrB,CAAC;QAED,wEAAwE;QACxE,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAEhE,kEAAkE;QAClE,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjF,CAAC;QAED,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;YACpD,IAAI,KAAK,CAAC,UAAU;gBAAE,MAAM;YAE5B,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAwE,gBAAgB,CAAC,CAAC;YAC9H,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClD,IAAI;gBACJ,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,cAAc,CAAC;aAC1D,CAAC,CAAC,CAAC;YAEJ,yDAAyD;YACzD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAElC,gFAAgF;YAChF,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;gBAC3E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAC3D,CAAC;oBACF,MAAM,MAAM,GAAG,SAAS;wBACtB,CAAC,CAAC,sBAAsB,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;wBAC9E,CAAC,CAAC,iDAAiD,CAAC;oBACtD,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM;YACR,CAAC;YAED,iEAAiE;YACjE,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,0EAA0E;YAC1E,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,aAAa,GAAkE,EAAE,CAAC;YACxF,MAAM,WAAW,GAAkE,EAAE,CAAC;YACtF,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,cAAc,EAAE,CAAC;gBAChD,IAAI,QAAQ,CAAC,WAAW,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzE,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,oDAAoD;YACpD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,cAAc,EAAE,CAAC;gBACtC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,CAAC,kBAAkB,aAAa,CAAC,MAAM,mCAAmC,CAAC,CAAC;oBACzF,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;wBACvD,SAAS,EAAE,cAAc;wBACzB,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,WAAW,aAAa,CAAC,MAAM,gCAAgC;qBACzE,EAAE,cAAc,CAAC,CAAC;gBACrB,CAAC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,CAAC,CACnG,CAAC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC3G,CAAC;YAED,sEAAsE;YACtE,sEAAsE;YACtE,qEAAqE;YACrE,kEAAkE;YAClE,wEAAwE;YACxE,qEAAqE;YACrE,yDAAyD;YACzD,IAAI,iBAAiB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACpD,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;wBACnF,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,iBAAiB,CAAC,CAAC;oBAC3G,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4DAA4D;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,oEAAoE;QACpE,uDAAuD;QACvD,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;oBACnF,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,iBAAiB,CAAC,CAAC;gBACjH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAS,aAAa,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,cAAc,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,QAA4B,CAAC;QACjC,IAAI,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxD,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC,CAAC;YAEJ,qCAAqC;YACrC,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAChH,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE5C,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE;gBACpE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,cAAc;aAC3C,CAAC,CAAC;YAEH,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;YAErB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,SAAS,CAAC,+BAA+B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,EAAE,oCAAoC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;YACxH,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;oBACvD,SAAS,EAAE,cAAc;oBACzB,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,WAAW,OAAO,eAAe,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU;iBAC7E,EAAE,cAAc,CAAC,CAAC;gBACnB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,OAAO,CAAC,mBAAmB,OAAO,eAAe,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC/F,CAAC;QAED,wEAAwE;QACxE,IAAI,SAA6B,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAY,WAAW,CAAC,CAAC;QACxD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,QAAQ,gBAAgB,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB;gBACtE,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7B,uDAAuD;YACvD,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,IAAI,SAAS,CAAC,0BAA0B,KAAK,IAAI,CAAC;YAC/H,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,IAAI,SAAS,CAAC,0BAA0B,KAAK,IAAI,CAAC;QACjI,CAAC;QAED,uEAAuE;QACvE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,oBAAoB,GAAG;oBAC3B,OAAO,EAAE,CAAC,KAAK,CAAC,cAAc;oBAC9B,IAAI;oBACJ,OAAO,EAAE,EAAE;oBACX,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM;oBACrF,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;oBACzC,YAAY;oBACZ,WAAW,EAAE,KAAK,CAAC,cAAc,EAAE;iBACpC,CAAC;gBAEF,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;gBACrF,YAAY,GAAG,MAAM,wBAAwB,CAC3C,oBAAoB,EACpB,cAAc,EACd,KAAK,CAAC,OAAO,CAAC,QAAQ,EACtB,YAAY,EACZ,OAAO,CAAC,OAAO,CAChB,CAAC;gBAEF,mBAAmB;gBACnB,IAAI,CAAC;oBACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;oBACzE,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;oBACnC,MAAM,QAAQ,CAAC,UAAU,CACvB,EAAE,GAAG,oBAAoB,EAAE,YAAY,EAAE,EACzC,cAAc,EACd,OAAO,CAAC,WAAiD,EACzD,OAAO,CAAC,OAAO,CAChB,CAAC;oBAEF,IAAI,OAAO,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;wBACpC,MAAM,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;oBACpG,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QACxF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC;QAEzC,6EAA6E;QAC7E,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,eAAe,CACnG,CAAC,MAAM,CAAC;QAET,qEAAqE;QACrE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,+BAA+B,EAAE;YAC7D,IAAI;YACJ,OAAO,EAAE,CAAC,WAAW;YACrB,cAAc,EAAE,SAAS;YACzB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,EAAE,cAAc,CAAC,CAAC;QAEnB,oEAAoE;QACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC9C,IAAI;YACJ,YAAY;YACZ,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjD,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC;YACH,WAAW;YACX,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,SAAS;YACT,KAAK,EAAE,SAAS;YAChB,YAAY;YACZ,QAAQ;SACT,CAAC,CAAC;QAEH,wCAAwC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;YAC/D,OAAO,EAAE,UAAU;YACnB,cAAc,EAAE,SAAS;YACzB,UAAU,EAAE,KAAK;YACjB,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IAEzE;;;;;;;;;;OAUG;IACK,oBAAoB,CAAC,KAAmB,EAAE,OAA4B;QAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,SAAS,GAA4B;gBACzC,CAAC,cAAc,EAAE,SAAS,CAAC;gBAC3B,CAAC,kBAAkB,EAAE,QAAQ,CAAC;gBAC9B,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;gBACxC,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAChB,CAAC,YAAY,EAAE,MAAM,CAAC;gBACtB,CAAC,SAAS,EAAE,cAAc,CAAC;gBAC3B,CAAC,cAAc,EAAE,eAAe,CAAC;gBACjC,CAAC,SAAS,EAAE,MAAM,CAAC;gBACnB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACxB,CAAC,cAAc,EAAE,cAAc,CAAC;gBAChC,CAAC,YAAY,EAAE,QAAQ,CAAC;aACzB,CAAC;YACF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACpE,CAAC;YAED,wDAAwD;YACxD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAGtE,CAAC;gBACF,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,IAAI,GAAG,CAAC,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9C,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACzD,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;YAED,gEAAgE;YAChE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CACR,GAAG,WAAW,iBAAiB;gBAC/B,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,qBAAqB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAClF,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,8CAA8C;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,GAAG,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,KAAK,GAAG,CAAC;oBACX,CAAC,CAAC,gBAAgB,GAAG,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,wBAAwB;oBACvE,CAAC,CAAC,gBAAgB,GAAG,CAAC,MAAM,wBAAwB,CACvD,CAAC;YACJ,CAAC;YAED,oEAAoE;YACpE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC/E,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;QAClF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,yEAAyE;IACjE,gBAAgB,CAAC,GAAW;QAClC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,sCAAsC,CAAC;QAExD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,SAAkB,EAAE,EAAE;YAC9D,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO;YACtB,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAC1C,WAAW,EAAE,CAAC;oBACd,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,IACE,SAAS;wBACT,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC1C,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EACtC,CAAC;wBACD,SAAS,EAAE,CAAC;oBACd,CAAC;oBACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,GAAG,IAAI,GAAG,KAAK,KAAK,CAAC,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;wBAC7C,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;QAChD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,oFAAoF;IAC5E,QAAQ,CAAC,GAAW;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE;gBACrE,GAAG;gBACH,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE;gBACzD,GAAG;gBACH,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,OAA4B;QACpD,2EAA2E;QAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC;QACpF,MAAM,YAAY,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YAC1E,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,eAA+B,CAAC;QAE9D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAEtE,OAAO,KAAK,EAAE,MAAc,EAAE,gBAAmC,EAAE,EAAE;YACnE,8BAA8B;YAC9B,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC;oBAC9B,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,iBAAiB;oBAC3B,OAAO,EAAE,0CAA0C;iBACpD,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;YACtE,CAAC;YAEC,uEAAuE;YACzE,kEAAkE;YAClE,2EAA2E;YAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YAChF,MAAM,aAAa,GAAG;gBACpB,GAAG,gBAAgB;gBACnB,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc;gBACjF,WAAW,EAAE,gBAAgB,EAAE,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,GAAG;gBACvE,SAAS,EAAE,gBAAgB,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;aACnE,CAAC;YACF,qEAAqE;YACrE,qEAAqE;YACrE,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,uEAAuE;YACvE,+DAA+D;YAC/D,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBACpF,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,qEAAqE;YACrE,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,2EAA2E;YAC3E,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,KAAY,EACZ,KAAmB,EACnB,OAAkB,EAClB,QAA6B;QAE7B,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAC5B,OAA4B,EAC5B,YAAgC;QAEhC,wEAAwE;QACxE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;YACpB,oEAAoE;YACpE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;YAC5B,IAAI,GAAG;gBAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;gBAC7B,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE;gBAC5B,CAAC,CAAC,YAAY;oBACZ,CAAC,CAAC,UAAU,YAAY,EAAE;oBAC1B,CAAC,CAAC,EAAE,CAAC;YAET,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,kBAAkB,WAAW,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAqB;gBAC3D;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,4BAA4B;oBACrC,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,gBAAgB,WAAW,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE;wBAClE,EAAE,IAAI,EAAE,wCAAwC,EAAE,KAAK,EAAE,cAAc,EAAE;wBACzE,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE;wBACjD,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE;qBACvD;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,iDAAiD;YACjD,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC1B,IAAI,GAAG;oBAAE,GAAG,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC,CAAC;YAEF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,WAAW,WAAW,mBAAmB,CAAC,CAAC;gBACvD,cAAc,EAAE,CAAC;gBACjB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,CAAC;YAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACnC,cAAc,EAAE,CAAC;gBACjB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5B,CAAC;YAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC1C,6CAA6C;gBAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,CAAC;YAED,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC9B,oEAAoE;gBACpE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAEzD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;oBACxE,cAAc,EAAE,CAAC;oBACjB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC7B,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,KAAK,eAAe,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAElF,IAAI,UAAqB,CAAC;gBAC1B,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5D,iEAAiE;oBACjE,sEAAsE;oBACtE,UAAU,GAAG,IAAI,CAAC,mBAAmB,CACnC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EACxE,OAAO,CACR,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,oDAAoD;oBACpD,MAAM,UAAU,GAAG;wBACjB,GAAG,OAAO;wBACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC;oBACF,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAClD,CAAC;gBAED,cAAc,EAAE,CAAC;gBACjB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YACzD,CAAC;YAED,kBAAkB;YAClB,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,IAAc,EACd,KAAmB,EACnB,OAA4B,EAC5B,YAAiD,EACjD,YAAsB,EACtB,cAAyB,EACzB,iBAA4C,EAC5C,QAAwB,IAAI,CAAC,KAAK;QAElC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAwE,gBAAgB,CAAC,CAAC;QAC9H,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtF,4EAA4E;QAC5E,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,YAAY,GAAG;YAClB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;SAC5C,CAAC;QACF,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAe,CAAC;QAEhE,iFAAiF;QACjF,qEAAqE;QACrE,uEAAuE;QACvE,6EAA6E;QAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,UAAU,KAAK,KAAK,CAAC,CAAC;QAEjF,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3C,2EAA2E;QAC3E,2EAA2E;QAC3E,iEAAiE;QACjE,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;YACvD,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,EAAE,cAAc,CAAC,CAAC;QAEnB,gEAAgE;QAChE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1H,CAAC;QAED,IAAI,CAAC;YACH,sEAAsE;YACtE,wEAAwE;YACxE,qEAAqE;YACrE,wEAAwE;YACxE,kEAAkE;YAClE,2CAA2C;YAC3C,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC;YACzE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvH,MAAM,YAAY,GAAG,WAAW;gBAC9B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CACtB,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAC7F,OAAO,CACR;gBACH,CAAC,CAAC,UAAU;oBACV,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC3D,CAAC,CAAC,cAAc,CAAC;YAErB,oDAAoD;YACpD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,EAAE,CAAC;gBACxF,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;gBACvE,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,IAAI,CAAC,SAAS;oBACrB,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,wBAAwB;iBAClC,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,SAAS,iBAAiB,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,2DAA2D;YAC3D,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClD,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;gBACvE,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,+CAA+C;iBACzD,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,uBAAuB,kBAAkB,EAAE,CAAC,CAAC;gBACvF,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,kBAAkB;oBACzB,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,uBAAuB,kBAAkB,EAAE;iBACrD,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,uEAAuE;YACvE,yEAAyE;YACzE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;YAE9B,+DAA+D;YAC/D,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;YAE9F,mEAAmE;YACnE,IAAI,MAAmB,CAAC;YACxB,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,IAAI,SAAS,EAAE,CAAC;gBACd,mDAAmD;gBACnD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAErE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,GAAG,WAAW,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,IAAI,CAAC;oBACnB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;wBACrG,MAAM,CAAC,IAAI,CAAC,yDAAyD,UAAU,UAAU,UAAU,GAAG,CAAC,CAAC;oBAC1G,CAAC;oBAED,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;oBACjF,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;wBACzC,UAAU;wBACV,UAAU;wBACV,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,cAAc,EAAE,OAAO,CAAC,oBAAoB;qBAC7C,CAAC,CAAC;oBAEH,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,EACP,KAAK,CAAC,OAAO,EACb,YAAY,EACZ,YAAY,EACZ,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;wBACjB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACjC,CAAC,CACF,CAAC;oBAEF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,UAAU,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;oBACpJ,CAAC;oBAED,2BAA2B;oBAC3B,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjE,KAAK,CAAC,qBAAqB,IAAI,YAAY,CAAC,qBAAqB,CAAC;gBACpE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC5D,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC/B,CAAC;YAED,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACzF,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC9B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBAC/C,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE;gBACzD,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,kBAAkB;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,EAAE,cAAc,CAAC,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAEnG,0EAA0E;YAC1E,uEAAuE;YACvE,uEAAuE;YACvE,mEAAmE;YACnE,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;gBACxE,IAAI,CAAC;oBACH,aAAa,EAAE,CAAC,aAAa,CAC3B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACtC,IAAI,CAAC,aAAa,EAClB,SAAS,EACT,IAAI,CAAC,UAAyC,CAC/C,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,uEAAuE;gBACzE,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,KAAK,kBAAkB,EAAE,CAAC;gBACtG,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnF,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAChF,YAAY,CAAC,IAAI,CAAC;wBAChB,KAAK,EAAE,QAAQ,CAAC,iBAAiB;wBACjC,OAAO,EAAE,cAAc,CAAC,OAAO;wBAC/B,OAAO,EAAE,cAAc,CAAC,OAAO;qBAChC,CAAC,CAAC;oBACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,iBAAiB,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7F,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,MAAM,CAAC,OAAO,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAM,YAAY,CAAC,CAAC;gBACpD,IAAI,UAAU,EAAE,WAAW,EAAE,CAAC;oBAC5B,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,yEAAyE;YACzE,yEAAyE;YACzE,oDAAoD;YACpD,IAAI,kBAAkB,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,wBAAwB,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAED,6EAA6E;YAC7E,gFAAgF;YAChF,IAAI,kBAAkB,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC7C,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACnC,MAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,eAAe,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;oBAC5F,CAAC;gBACH,CAAC;gBAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW;qBAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;qBAChE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;qBAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,UAAW;oBACtB,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,oBAAoB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;iBAC7E,CAAC,CAAC,CAAC;gBAEN,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;oBACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACpF,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;wBAClB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,+EAA+E;YAC/E,IAAI,kBAAkB,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAM,WAAW,CAAC,CAAC;gBAClD,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;oBACtB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,IAAI,kBAAkB,KAAK,kBAAkB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC/C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,uEAAuE;YACvE,kEAAkE;YAClE,4DAA4D;YAC5D,IAAI,kBAAkB,KAAK,kBAAkB,IAAI,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3F,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACrE,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;wBACxE,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;4BACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;4BAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACpB,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oCACjD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;oCAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;iCACzB,CAAC,CAAC,CAAC,CAAC;4BACP,CAAC;4BACD,iEAAiE;4BACjE,mEAAmE;4BACnE,iEAAiE;4BACjE,IAAI,CAAC;gCACH,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oCACpD,IAAI,CAAC;wCAAC,OAAO,GAAG,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;oCAAC,CAAC;oCAAC,MAAM,CAAC;wCAAC,OAAO,GAAG,CAAC;oCAAC,CAAC;gCAC/F,CAAC,EAAE,CAAC,CAAC,CAAC;gCACN,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gCAC3E,oBAAoB,CAAC;oCACnB,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;oCACrB,cAAc;oCACd,aAAa;oCACb,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;oCACxD,UAAU,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oCACjG,eAAe,EAAE,IAAI,CAAC,MAAM;oCAC5B,QAAQ,EAAE,KAAK;oCACf,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;oCACjF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iCACtB,CAAC,CAAC;4BACL,CAAC;4BAAC,MAAM,CAAC;gCACP,qDAAqD;4BACvD,CAAC;4BACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gCACpB,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,iBAAiB,MAAM,qBAAqB,CAAC,CAAC;4BAC/E,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7F,CAAC;YACH,CAAC;YAED,4EAA4E;YAC5E,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAElC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,2CAA2C;gBAC3C,IAAI,kBAAkB,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACxE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;oBAClH,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACpE,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAEO,oBAAoB,CAC1B,IAAgD,EAChD,cAAiG;QAEjG,MAAM,MAAM,GAAG,cAAc,EAAE,WAAW,EAAE,MAAM,CAAC;QACnD,MAAM,oBAAoB,GAAG,cAAc,EAAE,WAAW,EAAE,oBAAoB,KAAK,IAAI,CAAC;QACxF,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3E,IAAI,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;QACxC,IAAI,iBAAqC,CAAC;QAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,UAAU;gBACb,IAAI,UAAU;oBAAE,kBAAkB,GAAG,UAAU,CAAC;gBAChD,WAAW,GAAG,IAAI,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC;gBACjB,UAAU,GAAG,CAAC,CAAC;gBACf,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ;oBAAE,kBAAkB,GAAG,UAAU,CAAC;gBAC/E,WAAW,GAAG,IAAI,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC;gBACjB,UAAU,GAAG,CAAC,CAAC;gBACf,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,UAAU;oBAAE,kBAAkB,GAAG,UAAU,CAAC;gBAChD,WAAW,GAAG,IAAI,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC;gBACjB,UAAU,GAAG,CAAC,CAAC;gBACf,gBAAgB,GAAG,IAAI,CAAC;gBACxB,iBAAiB,GAAG,UAAU,CAAC;gBAC/B,MAAM;YACR,KAAK,cAAc;gBACjB,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR;gBACE,MAAM;QACV,CAAC;QAED,IAAI,oBAAoB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAChF,iBAAiB,GAAG,UAAU,CAAC;YAC/B,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,kBAAkB;YAClB,iBAAiB;YACjB,WAAW;YACX,SAAS;YACT,UAAU;YACV,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAChC,IAAqE,EACrE,OAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1D,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,eAAe;QACf,IAAI,WAAW,GAA2D,EAAE,CAAC;QAC7E,IAAI,CAAC;YACH,WAAW,GAAG,gBAAgB,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC,OAAO,CACtC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,cAAc,EAAE,IAAI,CAAC,UAAyC;YAC9D,WAAW;YACX,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,EACD,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,qDAAqD;QACrD,qBAAqB,CAAC;YACpB,MAAM,EAAE,cAAc;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,mBAAmB,CACzB,IAAqE,EACrE,OAA4B;QAE5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,gBAAgB,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAGO,+BAA+B,CACrC,IAAqE,EACrE,OAA4B,EAC5B,QAAyB;QAEzB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;YACvD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,QAAQ,CAAC,WAAW,IAAI,aAAa,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE;SACpF,EAAE,cAAc,CAAC,CAAC;QACnB,yEAAyE;QACzE,kEAAkE;QAClE,2EAA2E;QAC3E,4EAA4E;QAC5E,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAClC,GAAG,OAAO;YACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,IAAI,YAAgC,CAAC;QACrC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,KAAK,EAAE,MAAc,EAAE,gBAAmC,EAAE,EAAE;YACnE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAwB,CAAC,CAAC;oBAC3F,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAwB,EAAE,MAAM,CAAC,CAAC;oBAC1F,YAAY,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACvF,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAChC,CAAC;gBACD,wEAAwE;gBACxE,qEAAqE;gBACrE,sEAAsE;gBACtE,IAAI,YAAY,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACH,qBAAqB,CAAC;4BACpB,MAAM,EAAE,cAAc;4BACtB,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,IAAI,EAAE,IAAI,CAAC,WAAW;4BACtB,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;4BAC3B,KAAK,EAAE,YAAY,IAAI,QAAQ,CAAC,KAAK;4BACrC,KAAK,EAAE,QAAQ,CAAC,KAAK;yBACtB,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,iEAAiE;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YACD,yEAAyE;YACzE,kEAAkE;YAClE,uEAAuE;YACvE,uEAAuE;YACvE,kEAAkE;YAClE,qEAAqE;YACrE,wDAAwD;YACxD,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,gBAAgB,EAAE,KAAK,EAAE,YAAY,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACK,uBAAuB;QAC7B,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YACpC,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,WAAW;YACjE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,KAAK,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjF,MAAM,CAAC,IAAI,CACT,oCAAoC,MAAM,CAAC,eAAe,CAAC,MAAM,iBAAiB,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,WAAW,cAAc,CAChJ,CAAC;YACJ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,8DAA8D;YAChE,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAEO,2BAA2B,CACjC,KAAmB,EACnB,cAAkG;QAElG,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;QAC9F,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAa;YAC7B,EAAE,EAAE,QAAQ,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS;YACtD,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,iCAAiC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACxE,CAAC,CAAC,4CAA4C;YAChD,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,EAAE,SAAS;SAClB,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,KAAmB,EAAE,OAA4B;QACpE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,SAAS;YACT,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,MAAM;SACrD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAEzC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAmB;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YAC1C,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,SAAS;YAEjC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1C,CAAC,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAExC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACxD,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW,CACjB,OAAgB,EAChB,IAAY,EACZ,YAAiD,EACjD,KAAmB,EACnB,YAA0C,EAAE;QAE5C,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC3F,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,MAAM,CAAC;QAC1D,OAAO;YACL,OAAO;YACP,IAAI;YACJ,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,oCAAoC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;YACnG,cAAc,EAAE,SAAS;YACzB,UAAU,EAAE,KAAK;YACjB,YAAY;YACZ,WAAW,EAAE,KAAK,CAAC,cAAc,EAAE;YACnC,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;SACrC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -24,22 +24,6 @@ export declare class ChatCommand extends BaseCommand {
24
24
  * Cleared when the chat exits.
25
25
  */
26
26
  private sessionFailedProviders;
27
- /**
28
- * How long a rate-limit failure excludes a provider from auto routing (ms).
29
- * Aligned with the circuit breaker's COOLDOWN_DURATION_MS (120s) so the
30
- * session-level exclusion and the breaker's scoring cooldown expire together
31
- * — one consistent recovery window, not two competing ones.
32
- */
33
- private static readonly RATE_LIMIT_EXCLUSION_MS;
34
- /**
35
- * How long a server/network/timeout/unknown failure excludes a provider
36
- * from auto routing (ms). Shorter than rate-limit so a flaky-but-alive
37
- * provider is re-admitted quickly, but long enough that the very NEXT
38
- * message never re-picks a provider that just failed (the old behavior:
39
- * only auth and rate-limit were session-excluded, so an unknown-classified
40
- * failure re-picked the dead provider on every single message).
41
- */
42
- private static readonly TRANSIENT_FAILURE_EXCLUSION_MS;
43
27
  /**
44
28
  * Providers that failed TRANSIENTLY this session (server/network/timeout/
45
29
  * unknown). Tracked separately from the exclusion map so that when a
@@ -76,24 +60,14 @@ export declare class ChatCommand extends BaseCommand {
76
60
  /**
77
61
  * Record an auto-mode provider failure so the session fails over instead of
78
62
  * getting stuck on a broken provider (the core of "auto routing should pick
79
- * another provider when the current one dies mid-session"):
80
- *
81
- * - Definitive failures — auth (expired token/key) and rate-limit (exhausted
82
- * quota, "token limit exceeded") — exclude the provider for the WHOLE
83
- * session, so the next message never re-picks it and re-fails.
84
- * - EVERY failure also feeds the shared circuit breaker, so the auto router
85
- * deprioritizes the provider by scoring even for transient 5xx/network
86
- * errors (which need repeated failures before cooldown opens).
87
- * - Transient failures (server/network/timeout/unknown) get a SHORT session
88
- * exclusion so the very next message skips the provider, while still
89
- * re-admitting it quickly if it recovers.
90
- * - EVERY failure ALSO writes through to the persistent Model Availability
91
- * Registry (telemetry) so a dead provider×model is remembered across chat
92
- * sessions and skipped predictively on the next pick — the registry's
93
- * FAISS/JSON health data is what makes routing fast, and this is the feed
94
- * that keeps it fresh.
63
+ * another provider when the current one dies mid-session").
95
64
  *
96
- * Best-effort: never throws, so failover bookkeeping can't crash the chat.
65
+ * Delegates to the SHARED failure-bookkeeping helper (Nuvira-Router M0.2
66
+ * Stage A) so every action composes the exact same bookkeeping: session
67
+ * exclusion (auth = whole session, rate-limit = short cooldown, transient =
68
+ * short cooldown + re-verify marker), quota-ledger parking on rate-limit,
69
+ * registry write-through (per-action telemetry), quota-timeline event, and
70
+ * the shared circuit breaker. Best-effort: never throws.
97
71
  */
98
72
  private recordAutoProviderFailure;
99
73
  private showModelPicker;
@@ -120,6 +94,11 @@ export declare class ChatCommand extends BaseCommand {
120
94
  * This walks the ranked candidates and returns the first successful response,
121
95
  * so Auto routing NEVER crashes the CLI — it always answers from a working
122
96
  * provider.
97
+ *
98
+ * Delegates to the SHARED single-shot runner (Nuvira-Router M0.2 Stage B) so
99
+ * every action walks candidates identically — behavior-identical to the
100
+ * previous inline walk (same order, same telemetry, same confirmation
101
+ * semantics).
123
102
  */
124
103
  private generateAutoWithFailover;
125
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAiN5C;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,GAAG,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAMD,qBAAa,WAAY,SAAQ,WAAW;IAC1C,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,sBAAsB,CAA6B;IAE3D;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAiB;IAEhE;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAa;IAEnE;;;;;;OAMG;IACH,OAAO,CAAC,+BAA+B,CAAqB;IAE5D;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAAS;IAEpC,MAAM,IAAI,OAAO;YAgBH,OAAO;IAwfrB;;;;;;;;;;;;;;;OAeG;IACH;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,yBAAyB;YAsDnB,eAAe;IAI7B;;;;OAIG;IACH;;;;;;;OAOG;YACW,gBAAgB;IAqM9B;;;;;;;;;OASG;YACW,wBAAwB;IAmFtC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;YAmFZ,aAAa;YAwGb,mBAAmB;CAqDlC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAmN5C;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,GAAG,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAMD,qBAAa,WAAY,SAAQ,WAAW;IAC1C,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,sBAAsB,CAA6B;IAM3D;;;;;;OAMG;IACH,OAAO,CAAC,+BAA+B,CAAqB;IAE5D;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAAS;IAEpC,MAAM,IAAI,OAAO;YAgBH,OAAO;IA8frB;;;;;;;;;;;;;;;OAeG;IACH;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,yBAAyB;YAanB,eAAe;IAI7B;;;;OAIG;IACH;;;;;;;OAOG;YACW,gBAAgB;IA2M9B;;;;;;;;;;;;;;OAcG;YACW,wBAAwB;IAkBtC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;YAmFZ,aAAa;YAwGb,mBAAmB;CAqDlC"}