@tangle-network/browser-agent-driver 0.8.0 → 0.8.7

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 (44) hide show
  1. package/dist/brain/index.d.ts +24 -7
  2. package/dist/brain/index.d.ts.map +1 -1
  3. package/dist/brain/index.js +227 -93
  4. package/dist/brain/index.js.map +1 -1
  5. package/dist/captcha.d.ts +55 -0
  6. package/dist/captcha.d.ts.map +1 -0
  7. package/dist/captcha.js +403 -0
  8. package/dist/captcha.js.map +1 -0
  9. package/dist/cli-design-audit.d.ts.map +1 -1
  10. package/dist/cli-design-audit.js +81 -59
  11. package/dist/cli-design-audit.js.map +1 -1
  12. package/dist/cli-ui.d.ts +49 -0
  13. package/dist/cli-ui.d.ts.map +1 -0
  14. package/dist/cli-ui.js +383 -0
  15. package/dist/cli-ui.js.map +1 -0
  16. package/dist/cli.js +54 -186
  17. package/dist/cli.js.map +1 -1
  18. package/dist/drivers/cdp-snapshot.d.ts.map +1 -1
  19. package/dist/drivers/cdp-snapshot.js +2 -1
  20. package/dist/drivers/cdp-snapshot.js.map +1 -1
  21. package/dist/drivers/playwright.d.ts +6 -0
  22. package/dist/drivers/playwright.d.ts.map +1 -1
  23. package/dist/drivers/playwright.js +34 -9
  24. package/dist/drivers/playwright.js.map +1 -1
  25. package/dist/drivers/snapshot.d.ts +1 -0
  26. package/dist/drivers/snapshot.d.ts.map +1 -1
  27. package/dist/drivers/snapshot.js +12 -5
  28. package/dist/drivers/snapshot.js.map +1 -1
  29. package/dist/drivers/types.d.ts +2 -0
  30. package/dist/drivers/types.d.ts.map +1 -1
  31. package/dist/index.d.ts +2 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/recovery.d.ts.map +1 -1
  36. package/dist/recovery.js +16 -35
  37. package/dist/recovery.js.map +1 -1
  38. package/dist/runner/runner.d.ts +1 -0
  39. package/dist/runner/runner.d.ts.map +1 -1
  40. package/dist/runner/runner.js +133 -98
  41. package/dist/runner/runner.js.map +1 -1
  42. package/dist/types.d.ts +9 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +4 -2
package/dist/cli.js CHANGED
@@ -20,6 +20,7 @@ import { runWalletPreflight, startWalletAutoApprover } from './wallet/automation
20
20
  import { isPersonaId, listPersonaIds, withPersonaDirective } from './personas.js';
21
21
  import { resolveProviderApiKey, resolveProviderModelName } from './provider-defaults.js';
22
22
  import { loadLocalEnvFiles } from './env-loader.js';
23
+ import { CliRenderer, cliError, cliWarn, cliLog, printStyledHelp } from './cli-ui.js';
23
24
  const RUN_MODES = ['fast-explore', 'full-evidence'];
24
25
  const DRIVER_PROFILES = ['default', 'stealth', 'benchmark-webbench', 'benchmark-webbench-stealth', 'benchmark-webvoyager'];
25
26
  async function applyStorageStateToPersistentContext(context, storageStatePath) {
@@ -145,13 +146,13 @@ async function main() {
145
146
  process.exit(0);
146
147
  }
147
148
  if (values.help || positionals.length === 0) {
148
- printHelp();
149
+ printStyledHelp(RUN_MODES, DRIVER_PROFILES, listPersonaIds());
149
150
  process.exit(0);
150
151
  }
151
152
  const command = positionals[0];
152
153
  if (command === 'design-audit') {
153
154
  if (!values.url) {
154
- console.error('Error: --url is required for design-audit.');
155
+ cliError('--url is required for design-audit.');
155
156
  process.exit(1);
156
157
  }
157
158
  const { runDesignAudit } = await import('./cli-design-audit.js');
@@ -171,24 +172,24 @@ async function main() {
171
172
  process.exit(0);
172
173
  }
173
174
  if (command !== 'run') {
174
- console.error(`Unknown command: ${command}. Use "run" or "design-audit".`);
175
+ cliError(`Unknown command: ${command}. Use "run" or "design-audit".`);
175
176
  process.exit(1);
176
177
  }
177
178
  // Validate inputs
178
179
  if (!values.goal && !values.cases) {
179
- console.error('Error: provide --goal "..." --url "..." for a single task, or --cases ./cases.json for a suite.');
180
+ cliError('provide --goal "..." --url "..." for a single task, or --cases ./cases.json for a suite.');
180
181
  process.exit(1);
181
182
  }
182
183
  // Load config file, then overlay CLI flags
183
184
  const fileConfig = await loadConfig(values.config);
184
185
  const mode = values.mode;
185
186
  if (mode && !RUN_MODES.includes(mode)) {
186
- console.error(`Error: unknown mode "${mode}". Valid modes: ${RUN_MODES.join(', ')}`);
187
+ cliError(`unknown mode "${mode}". Valid modes: ${RUN_MODES.join(', ')}`);
187
188
  process.exit(1);
188
189
  }
189
190
  const profile = values.profile;
190
191
  if (profile && !DRIVER_PROFILES.includes(profile)) {
191
- console.error(`Error: unknown profile "${profile}". Valid profiles: ${DRIVER_PROFILES.join(', ')}`);
192
+ cliError(`unknown profile "${profile}". Valid profiles: ${DRIVER_PROFILES.join(', ')}`);
192
193
  process.exit(1);
193
194
  }
194
195
  // Build CLI overrides (only set values that were explicitly passed)
@@ -216,12 +217,12 @@ async function main() {
216
217
  if (values['prompt-file']) {
217
218
  const promptPath = path.resolve(values['prompt-file']);
218
219
  if (!fs.existsSync(promptPath)) {
219
- console.error(`Error: prompt file not found: ${promptPath}`);
220
+ cliError(`prompt file not found: ${promptPath}`);
220
221
  process.exit(1);
221
222
  }
222
223
  cliOverrides.systemPrompt = fs.readFileSync(promptPath, 'utf-8').trim();
223
224
  if (!cliOverrides.systemPrompt) {
224
- console.error(`Error: prompt file is empty: ${promptPath}`);
225
+ cliError(`prompt file is empty: ${promptPath}`);
225
226
  process.exit(1);
226
227
  }
227
228
  }
@@ -457,12 +458,12 @@ async function main() {
457
458
  const quiet = values.quiet;
458
459
  for (const warning of launchPlan.warnings) {
459
460
  if (!quiet) {
460
- console.warn(`Warning: ${warning}`);
461
+ cliWarn(warning);
461
462
  }
462
463
  }
463
464
  if (launchPlan.errors.length > 0) {
464
465
  for (const error of launchPlan.errors) {
465
- console.error(`Error: ${error}`);
466
+ cliError(error);
466
467
  }
467
468
  process.exit(1);
468
469
  }
@@ -551,8 +552,7 @@ async function main() {
551
552
  const persona = values.persona;
552
553
  if (persona) {
553
554
  if (!isPersonaId(persona)) {
554
- console.error(`Error: unknown persona "${persona}". ` +
555
- `Valid personas: ${listPersonaIds().join(', ')}`);
555
+ cliError(`unknown persona "${persona}". Valid personas: ${listPersonaIds().join(', ')}`);
556
556
  process.exit(1);
557
557
  }
558
558
  cases = cases.map((c) => ({
@@ -564,20 +564,24 @@ async function main() {
564
564
  }),
565
565
  }));
566
566
  }
567
- if (!quiet && !values.json) {
568
- console.log(`bad v${JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url), 'utf-8')).version}`);
569
- console.log(`Model: ${config.provider}/${config.model} | Browser: ${browserName} | Tests: ${cases.length} | Concurrency: ${concurrency}`);
570
- if (mode)
571
- console.log(`Mode: ${mode}`);
572
- if (driverConfig.profile && driverConfig.profile !== 'default') {
573
- console.log(`Profile: ${driverConfig.profile}`);
574
- }
575
- if (config.adaptiveModelRouting) {
576
- const effectiveNavModel = config.navModel || 'gpt-4.1-mini';
577
- console.log(`Adaptive routing: ON (nav=${config.navProvider || config.provider}/${effectiveNavModel})`);
578
- }
579
- console.log(`Output: ${sinkDir}`);
580
- console.log('');
567
+ const renderer = (!quiet && !values.json) ? new CliRenderer({ debug }) : null;
568
+ if (renderer) {
569
+ const version = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url), 'utf-8')).version;
570
+ renderer.banner({
571
+ version,
572
+ provider: config.provider || 'openai',
573
+ model: config.model,
574
+ browser: browserName,
575
+ testCount: cases.length,
576
+ concurrency,
577
+ mode: mode || undefined,
578
+ profile: driverConfig.profile,
579
+ adaptiveRouting: config.adaptiveModelRouting ? {
580
+ navProvider: config.navProvider || config.provider || 'openai',
581
+ navModel: config.navModel || 'gpt-4.1-mini',
582
+ } : undefined,
583
+ outputDir: sinkDir,
584
+ });
581
585
  }
582
586
  // Set up artifact sink
583
587
  const sink = new FilesystemSink(path.resolve(sinkDir));
@@ -587,13 +591,17 @@ async function main() {
587
591
  ? path.resolve(driverConfig.storageState)
588
592
  : undefined;
589
593
  if (storageStatePath && !fs.existsSync(storageStatePath)) {
590
- console.error(`Error: storage state file not found: ${storageStatePath}`);
594
+ cliError(`storage state file not found: ${storageStatePath}`);
591
595
  process.exit(1);
592
596
  }
593
597
  if (launchPlan.walletMode && browserName !== 'chromium') {
594
- console.error('Error: wallet mode currently supports Chromium only. Set --browser chromium.');
598
+ cliError('wallet mode currently supports Chromium only. Set --browser chromium.');
595
599
  process.exit(1);
596
600
  }
601
+ // Ensure clean exit on interrupt
602
+ process.on('SIGINT', () => { renderer?.destroy(); process.exit(130); });
603
+ process.on('SIGTERM', () => { renderer?.destroy(); process.exit(143); });
604
+ renderer?.launchStart(browserName);
597
605
  // Set up browser
598
606
  let browser;
599
607
  let persistentContext;
@@ -732,7 +740,7 @@ async function main() {
732
740
  accountsTimeoutMs: walletConfig.preflight?.accountsTimeoutMs,
733
741
  maxChainSwitchAttempts: walletConfig.preflight?.maxChainSwitchAttempts,
734
742
  chain: walletConfig.preflight?.chain,
735
- log: quiet ? undefined : (message) => console.log(`[wallet] ${message}`),
743
+ log: quiet ? undefined : (message) => cliLog('wallet', message),
736
744
  });
737
745
  if (!preflight.ok) {
738
746
  const failed = preflight.results.find((resultEntry) => !resultEntry.ready);
@@ -847,6 +855,8 @@ async function main() {
847
855
  screenshotQuality: 50,
848
856
  disableCdp: driverConfig.disableCdp,
849
857
  timeout: actionTimeout,
858
+ visionStrategy: config.visionStrategy,
859
+ screenshotInterval,
850
860
  });
851
861
  // Apply resource blocking if configured
852
862
  const resourceBlockingStartedAt = Date.now();
@@ -889,6 +899,7 @@ async function main() {
889
899
  if (concurrency <= 1) {
890
900
  singleDriver = await driverFactory();
891
901
  }
902
+ renderer?.launchDone();
892
903
  const runner = new TestRunner({
893
904
  config,
894
905
  defaultTimeoutMs: timeoutMs,
@@ -904,32 +915,24 @@ async function main() {
904
915
  console.log(JSON.stringify(event));
905
916
  return;
906
917
  }
907
- if (quiet)
918
+ if (!renderer)
908
919
  return;
909
920
  switch (event.type) {
921
+ case 'suite:start':
922
+ renderer.suiteStart(event.totalTests);
923
+ break;
910
924
  case 'test:start':
911
- console.log(` ▶ ${event.testName}`);
925
+ renderer.testStart(event.testId, event.testName);
912
926
  break;
913
927
  case 'test:turn':
914
- if (debug) {
915
- const modelTag = event.modelUsed ? ` [${event.modelUsed}]` : '';
916
- console.log(` turn ${event.turn}: ${event.action} (${event.durationMs}ms)${modelTag}`);
917
- }
928
+ renderer.testTurn(event.testId, event.turn, event.action, event.durationMs, event.modelUsed);
918
929
  break;
919
- case 'test:complete': {
920
- const costStr = event.estimatedCostUsd ? `, $${event.estimatedCostUsd.toFixed(3)}` : '';
921
- console.log(` ${event.passed ? '✓' : '✗'} ${event.testId} — ${event.verdict.slice(0, 80)} (${event.turnsUsed} turns, ${Math.round(event.durationMs / 1000)}s${costStr})`);
930
+ case 'test:complete':
931
+ renderer.testComplete(event.testId, event.passed, event.verdict, event.turnsUsed, event.durationMs, event.estimatedCostUsd);
922
932
  break;
923
- }
924
- case 'suite:complete': {
925
- console.log('');
926
- const suiteCostStr = event.totalCostUsd ? ` | $${event.totalCostUsd.toFixed(2)}` : '';
927
- console.log(`Done: ${event.passed} passed, ${event.failed} failed, ${event.skipped} skipped (${Math.round(event.totalMs / 1000)}s${suiteCostStr})`);
928
- if (event.manifestUri) {
929
- console.log(`Artifacts: ${event.manifestUri}`);
930
- }
933
+ case 'suite:complete':
934
+ renderer.suiteComplete(event.passed, event.failed, event.skipped, event.totalMs, event.totalCostUsd, event.manifestUri);
931
935
  break;
932
- }
933
936
  }
934
937
  },
935
938
  });
@@ -956,9 +959,7 @@ async function main() {
956
959
  const report = generateReport(result, { format, includeTurns: format === 'markdown' });
957
960
  const reportPath = path.join(reportDir, `report.${meta.ext}`);
958
961
  fs.writeFileSync(reportPath, report);
959
- if (!quiet && !values.json) {
960
- console.log(`Report: ${reportPath}`);
961
- }
962
+ renderer?.report(reportPath);
962
963
  }
963
964
  catch {
964
965
  // Report generation is best-effort
@@ -973,6 +974,7 @@ async function main() {
973
974
  runError = err;
974
975
  }
975
976
  finally {
977
+ renderer?.destroy();
976
978
  await singleDriver?.close?.().catch(() => { });
977
979
  stopWalletAutoApprover?.();
978
980
  await persistentContext?.close().catch(() => { });
@@ -986,140 +988,6 @@ async function main() {
986
988
  : `${values.goal.slice(0, 80)} · cli run`);
987
989
  process.exit((result?.summary.failed ?? 1) > 0 ? 1 : 0);
988
990
  }
989
- function printHelp() {
990
- console.log(`
991
- bad — LLM-driven browser automation CLI
992
-
993
- USAGE:
994
- bad run [options]
995
-
996
- SINGLE TASK:
997
- bad run --goal "Sign up for account" --url http://localhost:3000
998
- bad run -g "Build a todo app" -u http://localhost:5173 -m claude-sonnet-4-20250514
999
- bad run --goal "Create Coinbase blueprint and verify preview" --url https://ai.tangle.tools --persona alice-blueprint-builder
1000
- bad run --goal "Create partner project and verify preview works" --url https://ai.tangle.tools --persona auto
1001
- bad run --goal "Explore key routes quickly" --url https://example.com --mode fast-explore
1002
-
1003
- TEST SUITE:
1004
- bad run --cases ./cases.json --concurrency 4
1005
- bad run --cases ./cases.json --sink ./results/ --model gpt-5.4
1006
-
1007
- DESIGN AUDIT:
1008
- bad design-audit --url https://stripe.com
1009
- bad design-audit --url https://app.uniswap.org --profile defi
1010
- bad design-audit --url http://localhost:3000 --profile saas --pages 10
1011
- bad design-audit --url https://example.com --profile marketing --json
1012
-
1013
- Profiles: general, saas, defi, marketing
1014
-
1015
- DESIGN TOKEN EXTRACTION:
1016
- bad design-audit --url https://stripe.com --extract-tokens
1017
- bad design-audit --url https://app.example.com --extract-tokens --json
1018
-
1019
- Extracts colors, typography, spacing, components, logos, icons,
1020
- CSS custom properties, and brand assets at mobile/tablet/desktop viewports.
1021
- Outputs tokens.json — no LLM calls, pure DOM extraction.
1022
-
1023
- DOCKER:
1024
- docker run -v ./cases.json:/data/cases.json -v ./out:/output \\
1025
- bad run --cases /data/cases.json --sink /output/
1026
-
1027
- OPTIONS:
1028
- --config <path> Path to config file (default: auto-detect)
1029
- -g, --goal <text> Natural language goal for single task
1030
- -u, --url <url> Starting URL
1031
- -c, --cases <file> JSON file with test cases array
1032
- --allowed-domains <csv> Comma-separated host allowlist (e.g. www.nih.gov,docs.foo.com)
1033
- --vision-strategy <m> Vision policy: always, never, auto
1034
- -m, --model <name> LLM model (default: gpt-5.4)
1035
- --provider <name> LLM provider: openai, anthropic, google, codex-cli, claude-code, sandbox-backend (default: openai)
1036
- --model-adaptive Enable adaptive model routing for decide() turns
1037
- --nav-model <name> Fast navigation model for adaptive routing
1038
- --nav-provider <name> Provider for nav model (default: same as --provider)
1039
- --persona <id> Append persona directive (${listPersonaIds().join(', ')})
1040
- --mode <name> Mode preset: ${RUN_MODES.join(', ')}
1041
- --profile <name> Execution profile: ${DRIVER_PROFILES.join(', ')}
1042
- --prompt-file <path> Load system prompt from file for experimentable prompt variants
1043
- --sandbox-backend-type <type> Native sidecar backend type for --provider sandbox-backend (e.g. claude-code, codex, opencode:with-web-search)
1044
- --sandbox-backend-profile <id> Optional native backend profile/preset ID
1045
- --sandbox-backend-provider <id> Optional native backend model provider override (mainly for opencode)
1046
- --api-key <key> API key (or set OPENAI_API_KEY / ANTHROPIC_API_KEY; codex-cli can use \`codex login\`; claude-code can use \`claude login\`)
1047
- --base-url <url> Custom LLM endpoint (e.g., LiteLLM proxy)
1048
- --browser <name> Browser: chromium, firefox, webkit (default: chromium)
1049
- --storage-state <file> Playwright storage state JSON for pre-authenticated session
1050
- --concurrency <n> Parallel workers (default: 1)
1051
- --max-turns <n> Max turns per test (default: 30)
1052
- --llm-timeout <ms> Timeout per LLM call in milliseconds
1053
- --retries <n> Retries for observe/LLM/action transient failures
1054
- --retry-delay-ms <ms> Base retry backoff in milliseconds
1055
- --screenshot-interval <n> Capture every N turns (default: 5)
1056
- --scout Enable scout/ranker recommendations on ambiguous pages
1057
- --scout-model <name> Model override for scout recommendations
1058
- --scout-provider <name> Provider override for scout recommendations
1059
- --scout-vision Let scout inspect screenshots when available
1060
- --scout-max-candidates <n> Max visible link candidates sent to the scout
1061
- --scout-min-top-score <n> Skip scout when the top deterministic score is already strong
1062
- --scout-max-score-gap <n> Skip scout when the top-vs-second score gap is already wide
1063
- --headless Run browser headless (default: true)
1064
- --no-headless Show browser window
1065
- --wallet Enable wallet mode (persistent Chromium profile)
1066
- --extension <path> Load unpacked wallet/browser extension (repeatable)
1067
- --user-data-dir <dir> Persistent profile directory for wallet sessions
1068
- --wallet-auto-approve Enable extension prompt auto-approval (default: true in wallet mode)
1069
- --wallet-password <v> Wallet unlock password for auto-approval/preflight
1070
- --wallet-preflight Run wallet origin preflight before tests (default: true in wallet mode)
1071
- --wallet-seed-url <u> Preflight URL to authorize/switch-chain (repeatable)
1072
- --wallet-chain-id <n> Target chain ID for preflight switch/add
1073
- --wallet-chain-rpc-url <u> RPC URL for preflight wallet_addEthereumChain
1074
- --memory Enable trajectory memory reuse (default: on)
1075
- --no-memory Disable trajectory memory
1076
- --memory-dir <dir> Memory directory (default: .agent-memory)
1077
- --timeout <ms> Per-test timeout in ms (default: 600000)
1078
- -s, --sink <dir> Output directory for artifacts (default: ./agent-results)
1079
- --json Output progress as JSON lines (for piping)
1080
- -q, --quiet Suppress all output
1081
- --quality-threshold <n> Min quality score 1-10 (default: 0 = skip)
1082
- --trace-scoring Enable trajectory scoring for reference trace selection
1083
- --trace-ttl-days <n> Retention window for scored traces (default: 30)
1084
- --goal-verification Verify goal completion (default: true)
1085
- --no-goal-verification Skip goal verification
1086
- --vision Enable vision/screenshots (default: true)
1087
- --no-vision Disable vision
1088
- --block-analytics Block analytics/tracking scripts
1089
- --block-images Block image loading
1090
- --block-media Block media loading (video, audio)
1091
- -d, --debug Enable debug logging
1092
- -h, --help Show this help
1093
- -v, --version Show version
1094
-
1095
- TEST CASES JSON FORMAT:
1096
- [
1097
- {
1098
- "id": "signup",
1099
- "name": "User signup flow",
1100
- "goal": "Create a new account with email test@example.com",
1101
- "startUrl": "http://localhost:3000/signup",
1102
- "maxTurns": 20,
1103
- "timeoutMs": 300000,
1104
- "successDescription": "Account created and redirected to dashboard"
1105
- }
1106
- ]
1107
-
1108
- ENVIRONMENT VARIABLES:
1109
- OPENAI_API_KEY OpenAI API key
1110
- ANTHROPIC_API_KEY Anthropic API key
1111
- LLM_BASE_URL Custom LLM endpoint URL
1112
- CODEX_CLI_PATH Optional Codex CLI binary path for --provider codex-cli
1113
- CODEX_ALLOW_NPX Set to 0 to disable npx fallback for --provider codex-cli
1114
- CLAUDE_CODE_CLI_PATH Optional Claude CLI binary path for --provider claude-code
1115
- SANDBOX_BACKEND_TYPE Native backend type for --provider sandbox-backend
1116
- SANDBOX_BACKEND_PROFILE Native backend profile/preset for --provider sandbox-backend
1117
- SANDBOX_BACKEND_PROFILE_ID Legacy alias for SANDBOX_BACKEND_PROFILE
1118
- SANDBOX_BACKEND_MODEL_PROVIDER Native backend provider override for --provider sandbox-backend
1119
- SANDBOX_SIDECAR_URL Sidecar API URL for --provider sandbox-backend (default: http://127.0.0.1:$SIDECAR_PORT)
1120
- SANDBOX_SIDECAR_AUTH_TOKEN Sidecar API bearer token for --provider sandbox-backend
1121
- `);
1122
- }
1123
991
  function parseAllowedDomains(value) {
1124
992
  if (!value)
1125
993
  return undefined;
@@ -1157,11 +1025,11 @@ async function syncLocalBenchmarkRun(outPath, label) {
1157
1025
  if (process.env.ABD_BENCHMARK_SYNC_STRICT === '1') {
1158
1026
  throw new Error(`abd-app benchmark import failed for ${outPath}`);
1159
1027
  }
1160
- console.warn(`abd-app benchmark import skipped after non-zero exit for ${outPath}`);
1028
+ cliWarn(`abd-app benchmark import skipped after non-zero exit for ${outPath}`);
1161
1029
  }
1162
1030
  }
1163
1031
  main().catch((err) => {
1164
- console.error(err instanceof Error ? err.message : err);
1032
+ cliError(err instanceof Error ? err.message : String(err));
1165
1033
  process.exit(1);
1166
1034
  });
1167
1035
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGtF,MAAM,SAAS,GAAc,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAE/D,MAAM,eAAe,GAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,sBAAsB,CAAC,CAAC;AAmB5I,KAAK,UAAU,oCAAoC,CAAC,OAAuB,EAAE,gBAAyB;IACpG,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAqB,CAAC;IAC1F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACzD,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9G,SAAS;YACX,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACvF,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACH,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBAChD,CAAC;oBAAC,MAAM,CAAC;wBACP,sDAAsD;oBACxD,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEjC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE;YACP,cAAc;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAE1B,qBAAqB;YACrB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACpC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACnC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAErC,oBAAoB;YACpB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1C,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7C,0BAA0B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAE9B,YAAY;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC7C,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3B,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1C,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAEhC,SAAS;YACT,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACpC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACzC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;YAEtD,gBAAgB;YAChB,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACxC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;YAEtD,oBAAoB;YACpB,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACtD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACnD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAElD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;YACrD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;SACzD;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,QAAQ,CAAC,qCAAqC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,cAAc,CAAC;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACxD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,QAAQ,CAAC,oBAAoB,OAAO,gCAAgC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,QAAQ,CAAC,0FAA0F,CAAC,CAAC;QACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2CAA2C;IAC3C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAe,CAAC,EAAE,CAAC;QACjD,QAAQ,CAAC,iBAAiB,IAAI,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAwB,CAAC,EAAE,CAAC;QACnE,QAAQ,CAAC,oBAAoB,OAAO,sBAAsB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oEAAoE;IACpE,MAAM,YAAY,GAA0B,EAAE,CAAC;IAC/C,IAAI,MAAM,CAAC,KAAK;QAAE,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ;QAAE,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAoC,CAAC;IACzF,IAAI,MAAM,CAAC,gBAAgB,CAAC,KAAK,SAAS;QAAE,YAAY,CAAC,oBAAoB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzG,IAAI,MAAM,CAAC,WAAW,CAAC;QAAE,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,cAAc,CAAC;QAAE,YAAY,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAgC,CAAC;IAC7G,IAAI,MAAM,CAAC,sBAAsB,CAAC;QAAE,YAAY,CAAC,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACrG,IAAI,MAAM,CAAC,yBAAyB,CAAC;QAAE,YAAY,CAAC,qBAAqB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC9G,IAAI,MAAM,CAAC,0BAA0B,CAAC;QAAE,YAAY,CAAC,sBAAsB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACjH,IAAI,MAAM,CAAC,SAAS,CAAC;QAAE,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,UAAU,CAAC;QAAE,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,YAAY,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YAC/B,QAAQ,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,YAAY,CAAC,OAAO,GAAG,OAAwB,CAAC;IAC7D,IAAI,MAAM,CAAC,OAAO;QAAE,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAkC,CAAC;IACrF,IAAI,MAAM,CAAC,eAAe,CAAC;QAAE,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACjF,IAAI,MAAM,CAAC,WAAW;QAAE,YAAY,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACpF,IAAI,MAAM,CAAC,WAAW,CAAC;QAAE,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IACnF,IAAI,MAAM,CAAC,aAAa,CAAC;QAAE,YAAY,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,IAAI,MAAM,CAAC,OAAO;QAAE,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,gBAAgB,CAAC;QAAE,YAAY,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,qBAAqB,CAAC;QAAE,YAAY,CAAC,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC,CAAC;IACjH,IACE,MAAM,CAAC,KAAK,KAAK,SAAS;QAC1B,MAAM,CAAC,aAAa,CAAC;QACrB,MAAM,CAAC,gBAAgB,CAAC;QACxB,MAAM,CAAC,cAAc,CAAC,KAAK,SAAS;QACpC,MAAM,CAAC,sBAAsB,CAAC;QAC9B,MAAM,CAAC,qBAAqB,CAAC;QAC7B,MAAM,CAAC,qBAAqB,CAAC,EAC7B,CAAC;QACD,YAAY,CAAC,KAAK,GAAG;YACnB,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;SAC9B,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1E,IAAI,MAAM,CAAC,aAAa,CAAC;YAAE,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAmD,CAAC;QAC3G,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,sBAAsB,CAAC;YAAE,YAAY,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC,CAAC;QACpH,IAAI,MAAM,CAAC,qBAAqB,CAAC;YAAE,YAAY,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC,CAAC;QAChH,IAAI,MAAM,CAAC,qBAAqB,CAAC;YAAE,YAAY,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,MAAM,CAAC,OAAO;QAAE,YAAY,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,mBAAmB,CAAC;QAAE,YAAY,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3G,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtE,YAAY,CAAC,MAAM,GAAG;YACpB,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;SAC/B,CAAC;QACF,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS;YAAE,YAAY,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QACtG,IAAI,MAAM,CAAC,gBAAgB,CAAC;YAAE,YAAY,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,MAAM,CAAC,IAAI;QAAE,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;IACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACrE,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAAE,YAAY,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAmC,CAAC;IACzH,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;QAAE,YAAY,CAAC,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3G,IACE,MAAM,CAAC,SAAS,EAAE,MAAM;QACxB,MAAM,CAAC,eAAe,CAAC;QACvB,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,MAAM,CAAC,qBAAqB,CAAC,KAAK,SAAS;QAC3C,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM;QACjC,MAAM,CAAC,kBAAkB,CAAC,KAAK,SAAS;QACxC,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,sBAAsB,CAAC,EAC9B,CAAC;QACD,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM;YAAE,YAAY,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;QACpF,IAAI,MAAM,CAAC,eAAe,CAAC;YAAE,YAAY,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QACvF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7E,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,YAAY,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9B,YAAY,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QACD,IACE,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM;YACjC,MAAM,CAAC,kBAAkB,CAAC,KAAK,SAAS;YACxC,MAAM,CAAC,iBAAiB,CAAC;YACzB,MAAM,CAAC,sBAAsB,CAAC,EAC9B,CAAC;YACD,YAAY,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;gBACtC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7C,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAChE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC9B,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBACnF,CAAC;oBACD,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC;gBACzD,CAAC;gBACD,IAAI,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACnC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,YAAY,CAAC,MAAM,GAAG;YACpB,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;SAC/B,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7E,IAAI,MAAM,CAAC,YAAY,CAAC;YAAE,YAAY,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACjF,YAAY,CAAC,gBAAgB,GAAG,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,iBAAiB,CAAC;YAAE,YAAY,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC;QACnF,IAAI,MAAM,CAAC,cAAc,CAAC;YAAE,YAAY,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7E,IAAI,MAAM,CAAC,aAAa,CAAC;YAAE,YAAY,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC;IAC7E,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;QACjE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;YAAE,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAAE,YAAY,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACpF,YAAY,CAAC,gBAAgB,GAAG;gBAC9B,GAAG,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBACxC,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,SAAS,GAAG;YACvB,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,YAAY,CAAC,SAAS,EAAE,iBAAiB,IAAI,CAAC;SAClE,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,KAAK,oBAAoB,IAAI,OAAO,KAAK,4BAA4B,EAAE,CAAC;QACxF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAAE,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC;QAC/D,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAAE,YAAY,CAAC,YAAY,GAAG,GAAG,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAAE,YAAY,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;YAAE,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACpF,IAAI,OAAO,KAAK,4BAA4B,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9E,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACpF,YAAY,CAAC,gBAAgB,GAAG;gBAC9B,GAAG,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBACxC,cAAc,EAAE,IAAI;gBACpB,GAAG,CAAC,OAAO,KAAK,oBAAoB;oBAClC,CAAC,CAAC;wBACE,WAAW,EAAE,IAAI;wBACjB,UAAU,EAAE,IAAI;qBACjB;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,SAAS,GAAG;YACvB,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,YAAY,CAAC,SAAS,EAAE,iBAAiB,IAAI,CAAC;SAClE,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,KAAK,sBAAsB,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAAE,YAAY,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;YAAE,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACpF,YAAY,CAAC,SAAS,GAAG;YACvB,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,YAAY,CAAC,SAAS,EAAE,iBAAiB,IAAI,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAAE,YAAY,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;YAAE,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACpF,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;YAAE,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACpF,YAAY,CAAC,gBAAgB,GAAG;gBAC9B,GAAG,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBACxC,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAAE,YAAY,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;YAAE,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACtF,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC;IAE5B,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gEAAgE;IAChE,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChE,8DAA8D;IAC9D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,gBAAgB;QACrD,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC;QAC5B,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAQ,CAAC;IACvC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACrE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAE1E,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC7C,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,IAAI,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,OAAO,CAAC;IACpD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC;IAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,IAAI,iBAAiB,CAAC;IAE5D,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC3D,MAAM,cAAc,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,wBAAwB,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,EAAE;QACnF,kBAAkB,EAAE,gBAAgB,KAAK,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;KACzG,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,YAAY,CAAC,WAAW,IAAI,gBAAgB,CAAC;IACzE,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ;QAC5C,CAAC,CAAC,wBAAwB,CAAC,mBAAmB,EAAE,YAAY,CAAC,QAAQ,EAAE;YACnE,kBAAkB,EAAE,mBAAmB,KAAK,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;SAC5G,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,0BAA0B,GAAG,YAAY,CAAC,UAAU,EAAE,QAAQ,IAAI,gBAAgB,CAAC;IACzF,MAAM,uBAAuB,GAAG,wBAAwB,CACtD,0BAA0B,EAC1B,YAAY,CAAC,UAAU,EAAE,KAAK,IAAI,aAAa,EAC/C;QACE,kBAAkB,EAAE,0BAA0B,KAAK,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;KACnH,CACF,CAAC;IACF,MAAM,MAAM,GAAG;QACb,GAAG,aAAa,CAAC,YAAY,CAAC;QAC9B,KAAK,EAAE,aAAa;QACpB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QACzD,UAAU,EAAE,YAAY,CAAC,UAAU;YACjC,CAAC,CAAC;gBACE,GAAG,YAAY,CAAC,UAAU;gBAC1B,QAAQ,EAAE,0BAA0B;gBACpC,KAAK,EAAE,uBAAuB;aAC/B;YACH,CAAC,CAAC,SAAS;QACb,KAAK;QACL,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;QACjD,aAAa,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO;KAC5C,CAAC;IAEF,mBAAmB;IACnB,IAAI,KAAsC,CAAC;IAE3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAA8B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtF,oFAAoF;QACpF,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,EAAE,EAAG,CAAC,CAAC,EAAa,IAAI,QAAQ,CAAC,EAAE;YACnC,IAAI,EAAG,CAAC,CAAC,IAAe,IAAK,CAAC,CAAC,IAAe,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE;YAC3E,QAAQ,EAAG,CAAC,CAAC,QAAmB,IAAK,CAAC,CAAC,GAAc,IAAI,MAAM,CAAC,GAAG,IAAI,EAAE;YACzE,IAAI,EAAG,CAAC,CAAC,IAAe,IAAI,EAAE;YAC9B,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;gBAC7C,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACxG,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAClD,QAAQ,EAAG,CAAC,CAAC,QAAmB,IAAI,QAAQ;YAC5C,SAAS,EAAG,CAAC,CAAC,SAAoB,IAAI,SAAS;YAC/C,QAAQ,EAAG,CAAC,CAAC,QAAmB,IAAI,CAAC;SACtC,CAAC,CAAC,CAAC;IACN,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,CAAC;gBACP,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,MAAM,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC/B,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;gBAC1B,IAAI,EAAE,MAAM,CAAC,IAAK;gBAClB,cAAc,EAAE,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC9D,QAAQ;gBACR,SAAS;gBACT,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,oBAAoB,OAAO,sBAAsB,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,GAAG,CAAC;YACJ,IAAI,EAAE,oBAAoB,CAAC;gBACzB,OAAO;gBACP,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1G,QAAQ,CAAC,MAAM,CAAC;YACd,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ;YACrC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,WAAW;YACX,IAAI,EAAE,IAAI,IAAI,SAAS;YACvB,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,eAAe,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC7C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,QAAQ;gBAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,cAAc;aAC5C,CAAC,CAAC,CAAC,SAAS;YACb,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,MAAM,gBAAgB,GAAG,YAAY,CAAC,YAAY;QAChD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,iCAAiC,gBAAgB,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QACxD,QAAQ,CAAC,uEAAuE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAEnC,iBAAiB;IACjB,IAAI,OAAyJ,CAAC;IAC9J,IAAI,iBAA2F,CAAC;IAChG,IAAI,sBAAgD,CAAC;IACrD,MAAM,iBAAiB,GAA8C,EAAE,CAAC;IAExE,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,MAAM,aAAa,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpF,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,MAAM,yBAAyB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7C,iBAAiB,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,WAAW,EAAE;YACtE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YACjD,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,UAAU,CAAC,WAAW;YAC5B,QAAQ;YACR,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC/C,CAAC,CAAC;QACH,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,CAAC;QAC3E,MAAM,oCAAoC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAEhF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;QAE/C,sEAAsE;QACtE,qEAAqE;QACrE,uEAAuE;QACvE,2DAA2D;QAC3D,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,2EAA2E;YAC3E,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,4CAA4C,CAAC,CAAC,WAAW,EAAE,CAAA;YAC3G,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACtD,MAAM,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAY,EAAE,EAAE;gBAC3D,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAA;oBACrC,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;wBAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAAC,OAAM;oBAAC,CAAC;gBAChG,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;oBACtB,OAAM;gBACR,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;oBAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAAC,OAAM;gBAAC,CAAC;gBAC3E,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;gBAC1D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAAC,OAAM;gBAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAA;gBAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAAC,OAAM;gBAAC,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;oBACjC,MAAM,KAAK,GAA8B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;oBAC5E,6EAA6E;oBAC7E,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAA;wBAChD,IAAI,CAAC,MAAM;4BAAE,OAAO,KAAK,CAAA;wBACzB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;4BAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAA8B,CAAA;4BAClD,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,cAAc,CAAA;wBACtD,CAAC;wBACD,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;4BAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAA8C,CAAA;4BAClE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;4BACzB,IAAI,CAAC,KAAK;gCAAE,OAAO,KAAK,CAAA;4BACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;4BAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;4BAC5C,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;wBAChE,CAAC;wBACD,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;4BACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAA8B,CAAA;4BAClD,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,cAAc,CAAA;wBACtD,CAAC;wBACD,OAAO,KAAK,CAAA;oBACd,CAAC,CAAC,CAAA;oBACF,IAAI,CAAC,WAAW,EAAE,CAAC;wBAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAAC,OAAM;oBAAC,CAAC;oBACpD,qEAAqE;oBACrE,IAAI,MAAM,GAAG,CAAC,CAAA;oBACd,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACpC,MAAM,GAAG,GAA4B,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,EAAE,CAAA;wBACzF,OAAO,GAAG,CAAC,OAAO,CAAA;wBAClB,OAAO,GAAG,CAAA;oBACZ,CAAC,CAAC,CAAA;oBACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;oBAChE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;wBACpC,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;qBAC9B,CAAC,CAAA;oBACF,MAAM,KAAK,CAAC,OAAO,CAAC;wBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,WAAW,EAAE,kBAAkB;wBAC/B,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE;qBACvB,CAAC,CAAA;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAAC,CAAC;YACpC,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC;QAC3D,IAAI,iBAAiB,EAAE,CAAC;YACtB,sBAAsB,GAAG,MAAM,uBAAuB,CAAC,iBAAiB,EAAE;gBACxE,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,eAAe,EAAE,YAAY,CAAC,eAAe;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,IAAI,IAAI,CAAC;QACjE,MAAM,iBAAiB,GACrB,YAAY,CAAC,SAAS,EAAE,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC5E,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ;YACjC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/E,IAAI,gBAAgB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,EAAE;gBAC5D,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,eAAe,EAAE,YAAY,CAAC,eAAe;gBAC7C,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;gBAC/C,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;gBACnD,eAAe,EAAE,YAAY,CAAC,SAAS,EAAE,eAAe;gBACxD,iBAAiB,EAAE,YAAY,CAAC,SAAS,EAAE,iBAAiB;gBAC5D,sBAAsB,EAAE,YAAY,CAAC,SAAS,EAAE,sBAAsB;gBACtE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,KAAK;gBACpC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;aAChE,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC3E,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,gBAAgB,CAAC;gBACpD,MAAM,IAAI,KAAK,CACb,+BAA+B,SAAS,CAAC,SAAS,IAAI,gBAAgB,KAAK,OAAO,GAAG,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,WAAW,KAAK,SAAS;YAC3C,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,WAAW,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,QAAQ,CAAA;QAEd,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;YAC7C,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACzC,iFAAiF;YACjF,IAAI,WAAW,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClE,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YACnD,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC/C,CAAC;YACD,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAA;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACzC,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;gBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,GAAG,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,wFAAwF;gBACxF,GAAG,CAAC,gBAAgB,IAAI,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjF,CAAC,CAAA;YACF,iBAAiB,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAA;QACzE,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,iBAAiB,IAAI,MAAM,OAAQ,CAAC,UAAU,CAAC;YAC7D,QAAQ;YACR,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9C,YAAY,EAAE,gBAAgB;YAC9B,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,kBAAkB;YAC9B,gBAAgB,EAAE;gBAChB,iBAAiB,EAAE,gBAAgB;aACpC;SACF,CAAC,CAAC;QACH,gFAAgF;QAChF,sFAAsF;QACtF,MAAM,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkD3B,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;QAChD,iFAAiF;QACjF,6EAA6E;QAC7E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE;YACxC,kBAAkB,EAAE,MAAM,CAAC,MAAM;YACjC,iBAAiB,EAAE,EAAE;YACrB,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,OAAO,EAAE,aAAa;YACtB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,kBAAkB;SACnB,CAAC,CAAC;QACH,wCAAwC;QACxC,MAAM,yBAAyB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7C,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAClC,MAAM,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,uBAAuB,GAAG,YAAY,CAAC,gBAAgB;YAC3D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB;YACxC,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,WAAW,GAAG;YAClB,WAAW;YACX,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC,eAAe,IAAI,CAAC,CAAC;YAC/D,eAAe;YACf,YAAY;YACZ,uBAAuB;YACvB,mBAAmB,EAAE,OAAO,CAAC,gBAAgB,CAAC;YAC9C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;SAC9C,CAAC;QACF,6DAA6D;QAC7D,MAAM,aAAa,GAAwC;YACzD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;YAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;YACjC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;YACrC,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;YACjC,KAAK,CAAC,KAAK;gBACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;SACF,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,6CAA6C;IAC7C,IAAI,YAA6D,CAAC;IAClE,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,YAAY,GAAG,MAAM,aAAa,EAAE,CAAC;IACvC,CAAC;IAED,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;QAC5B,MAAM;QACN,gBAAgB,EAAE,SAAS;QAC3B,MAAM,EAAE,YAAY;QACpB,aAAa,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QAC1D,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;QACnD,mBAAmB,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG;QAC7C,WAAW;QACX,kBAAkB;QAClB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACpB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,aAAa;oBAChB,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,YAAY;oBACf,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,WAAW;oBACd,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC7F,MAAM;gBACR,KAAK,eAAe;oBAClB,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBAC5H,MAAM;gBACR,KAAK,gBAAgB;oBACnB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;oBACxH,MAAM;YACV,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,MAAwD,CAAC;IAC7D,IAAI,QAAiB,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,2CAA2C;QAC3C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAyD;YACvE,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE;YACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE;YACrD,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE;YAC/C,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE;SACtD,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC,CAAC;gBACvF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC9D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACrC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;YACrC,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,GAAG,GAAG,CAAC;IACjB,CAAC;YAAS,CAAC;QACT,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9C,sBAAsB,EAAE,EAAE,CAAC;QAC3B,MAAM,iBAAiB,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjD,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK;QAC7D,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY;QAC5C,CAAC,CAAC,GAAG,MAAM,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAE9C,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAC1C,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,KAAa;IACjE,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QAAE,OAAO;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,6BAA6B,CAAC,CAC7H,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO;IAEpC,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACvD,IAAI,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;YAChC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAC/B,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,kBAAkB,EAAE,GAAG;aACxB;YACD,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,CAAC,4DAA4D,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-snapshot.d.ts","sourceRoot":"","sources":["../../src/drivers/cdp-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAgBnD,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,wCAAwC;IACxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoHlF"}
1
+ {"version":3,"file":"cdp-snapshot.d.ts","sourceRoot":"","sources":["../../src/drivers/cdp-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAgBnD,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,wCAAwC;IACxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqHlF"}
@@ -48,6 +48,7 @@ export async function buildCdpSnapshot(cdp) {
48
48
  const SKIP_ROLES = new Set([
49
49
  'none', 'generic', 'InlineTextBox', 'LineBreak',
50
50
  'StaticText', 'RootWebArea', 'WebArea',
51
+ 'paragraph', 'separator', 'presentation', 'figure', 'figcaption',
51
52
  ]);
52
53
  function walk(nodeId, depth) {
53
54
  const node = nodeMap.get(nodeId);
@@ -77,7 +78,7 @@ export async function buildCdpSnapshot(cdp) {
77
78
  const value = node.value?.value;
78
79
  const indent = ' '.repeat(depth);
79
80
  // Determine if this element gets a ref
80
- const needsRef = INTERACTIVE_ROLES.has(role) || (name && role !== 'text');
81
+ const needsRef = INTERACTIVE_ROLES.has(role) || role === 'heading' || role === 'dialog' || role === 'alertdialog';
81
82
  let refStr = '';
82
83
  if (needsRef) {
83
84
  const baseHash = stableHash(role, name);
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-snapshot.js","sourceRoot":"","sources":["../../src/drivers/cdp-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp-snapshot.js","sourceRoot":"","sources":["../../src/drivers/cdp-snapshot.ts"],"names":[],"mappings":"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"}