braindump 0.5.0 → 1.1.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 (68) hide show
  1. package/README.md +73 -22
  2. package/dist/adapters/claude-code/adapter.d.ts.map +1 -1
  3. package/dist/adapters/claude-code/adapter.js +30 -3
  4. package/dist/adapters/claude-code/adapter.js.map +1 -1
  5. package/dist/adapters/codex/adapter.d.ts +1 -0
  6. package/dist/adapters/codex/adapter.d.ts.map +1 -1
  7. package/dist/adapters/codex/adapter.js +27 -0
  8. package/dist/adapters/codex/adapter.js.map +1 -1
  9. package/dist/adapters/copilot/adapter.d.ts +29 -0
  10. package/dist/adapters/copilot/adapter.d.ts.map +1 -0
  11. package/dist/adapters/copilot/adapter.js +501 -0
  12. package/dist/adapters/copilot/adapter.js.map +1 -0
  13. package/dist/adapters/cursor/adapter.d.ts.map +1 -1
  14. package/dist/adapters/cursor/adapter.js +17 -7
  15. package/dist/adapters/cursor/adapter.js.map +1 -1
  16. package/dist/adapters/droid/adapter.d.ts +27 -0
  17. package/dist/adapters/droid/adapter.d.ts.map +1 -0
  18. package/dist/adapters/droid/adapter.js +507 -0
  19. package/dist/adapters/droid/adapter.js.map +1 -0
  20. package/dist/adapters/gemini/adapter.d.ts +29 -0
  21. package/dist/adapters/gemini/adapter.d.ts.map +1 -0
  22. package/dist/adapters/gemini/adapter.js +456 -0
  23. package/dist/adapters/gemini/adapter.js.map +1 -0
  24. package/dist/adapters/index.d.ts.map +1 -1
  25. package/dist/adapters/index.js +8 -0
  26. package/dist/adapters/index.js.map +1 -1
  27. package/dist/adapters/opencode/adapter.d.ts +32 -0
  28. package/dist/adapters/opencode/adapter.d.ts.map +1 -0
  29. package/dist/adapters/opencode/adapter.js +643 -0
  30. package/dist/adapters/opencode/adapter.js.map +1 -0
  31. package/dist/cli/index.js +298 -49
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/tui.d.ts +30 -0
  34. package/dist/cli/tui.d.ts.map +1 -0
  35. package/dist/cli/tui.js +153 -0
  36. package/dist/cli/tui.js.map +1 -0
  37. package/dist/cli/utils.d.ts +32 -1
  38. package/dist/cli/utils.d.ts.map +1 -1
  39. package/dist/cli/utils.js +106 -16
  40. package/dist/cli/utils.js.map +1 -1
  41. package/dist/core/compression.d.ts.map +1 -1
  42. package/dist/core/compression.js +12 -0
  43. package/dist/core/compression.js.map +1 -1
  44. package/dist/core/launcher.d.ts +20 -0
  45. package/dist/core/launcher.d.ts.map +1 -0
  46. package/dist/core/launcher.js +87 -0
  47. package/dist/core/launcher.js.map +1 -0
  48. package/dist/core/prompt-builder.d.ts.map +1 -1
  49. package/dist/core/prompt-builder.js +15 -0
  50. package/dist/core/prompt-builder.js.map +1 -1
  51. package/dist/core/registry.d.ts.map +1 -1
  52. package/dist/core/registry.js +48 -0
  53. package/dist/core/registry.js.map +1 -1
  54. package/dist/core/session-cache.d.ts +17 -0
  55. package/dist/core/session-cache.d.ts.map +1 -0
  56. package/dist/core/session-cache.js +59 -0
  57. package/dist/core/session-cache.js.map +1 -0
  58. package/dist/core/tool-summarizer.d.ts +40 -0
  59. package/dist/core/tool-summarizer.d.ts.map +1 -0
  60. package/dist/core/tool-summarizer.js +73 -0
  61. package/dist/core/tool-summarizer.js.map +1 -0
  62. package/dist/core/validation.d.ts +21 -2
  63. package/dist/core/validation.d.ts.map +1 -1
  64. package/dist/core/validation.js +6 -1
  65. package/dist/core/validation.js.map +1 -1
  66. package/dist/types/index.d.ts +7 -1
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/package.json +6 -1
package/dist/cli/index.js CHANGED
@@ -4,13 +4,16 @@ import chalk from "chalk";
4
4
  import ora from "ora";
5
5
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
6
6
  import { join } from "node:path";
7
- import { detectAgents, autoDetectSource, getAdapter } from "../adapters/index.js";
7
+ import { detectAgents, autoDetectSource, getAdapter, getAllAdapters } from "../adapters/index.js";
8
8
  import { compress } from "../core/compression.js";
9
9
  import { extractProjectContext } from "../core/project-context.js";
10
10
  import { buildResumePrompt } from "../core/prompt-builder.js";
11
11
  import { AGENT_REGISTRY, getUsableTokenBudget } from "../core/registry.js";
12
12
  import { Watcher } from "../core/watcher.js";
13
- import { resolveOutputPath, relativeTime, formatBox, formatErrorBox, hint, banner, intro, } from "./utils.js";
13
+ import { launchTool, getInstalledTools } from "../core/launcher.js";
14
+ import { getCachedIndex, writeCachedIndex } from "../core/session-cache.js";
15
+ import { resolveOutputPath, relativeTime, formatBox, formatErrorBox, hint, intro, colors, gradientLogo, agentDashboard, styledHelp, } from "./utils.js";
16
+ import { select, isCancel } from "./tui.js";
14
17
  // --- verbose logger ---
15
18
  let verbose = false;
16
19
  function debug(...args) {
@@ -22,7 +25,13 @@ const program = new Command();
22
25
  program
23
26
  .name("braindump")
24
27
  .description("Capture your AI coding agent session and continue in a different agent.")
25
- .version("0.5.0");
28
+ .version("1.1.0");
29
+ // --- supported agents list for error messages ---
30
+ function supportedAgentsList() {
31
+ return Object.values(AGENT_REGISTRY)
32
+ .map((m) => ` ${chalk.dim("\u2022")} ${m.name} ${chalk.dim(`(${m.storagePaths[process.platform] || m.id})`)}`)
33
+ .join("\n");
34
+ }
26
35
  // --- runHandoff (extracted for default command) ---
27
36
  async function runHandoff(options) {
28
37
  try {
@@ -55,9 +64,7 @@ async function runHandoff(options) {
55
64
  "coding agents on your system.",
56
65
  "",
57
66
  "Supported agents:",
58
- ` ${chalk.dim("•")} Claude Code ${chalk.dim("(~/.claude/projects/)")}`,
59
- ` ${chalk.dim("•")} Cursor ${chalk.dim("(~/.config/Cursor/...)")}`,
60
- ` ${chalk.dim("•")} Codex CLI ${chalk.dim("(~/.codex/sessions/)")}`,
67
+ supportedAgentsList(),
61
68
  "",
62
69
  "Install one and try again.",
63
70
  ].join("\n")));
@@ -114,7 +121,7 @@ async function runHandoff(options) {
114
121
  const pct = Math.round((compressed.totalTokens / budget) * 100);
115
122
  if (options.dryRun) {
116
123
  const lines = [
117
- `${chalk.yellow.bold("Dry run no files written")}`,
124
+ `${chalk.yellow.bold("Dry run \u2014 no files written")}`,
118
125
  "",
119
126
  `${chalk.dim("Source:")} ${adapter.agentId}`,
120
127
  `${chalk.dim("Session:")} ${session.sessionId.slice(0, 12)}`,
@@ -128,6 +135,9 @@ async function runHandoff(options) {
128
135
  }
129
136
  lines.push(`${chalk.dim("Target:")} ${target}`);
130
137
  lines.push(`${chalk.dim("Resume:")} ${resume.length} chars`);
138
+ if (session.toolActivity && session.toolActivity.length > 0) {
139
+ lines.push(`${chalk.dim("Tools:")} ${session.toolActivity.map((t) => `${t.name}(${t.count})`).join(", ")}`);
140
+ }
131
141
  console.log();
132
142
  console.log(formatBox(lines.join("\n")));
133
143
  console.log();
@@ -150,7 +160,7 @@ async function runHandoff(options) {
150
160
  clipboardOk = true;
151
161
  }
152
162
  catch {
153
- debug("Clipboard not available skipping copy");
163
+ debug("Clipboard not available \u2014 skipping copy");
154
164
  }
155
165
  }
156
166
  else {
@@ -167,6 +177,9 @@ async function runHandoff(options) {
167
177
  `${chalk.dim("Messages:")} ${session.conversation.messageCount}`,
168
178
  `${chalk.dim("Tokens:")} ${compressed.totalTokens} / ${budget} ${chalk.dim(`(${pct}%)`)}`,
169
179
  ];
180
+ if (session.toolActivity && session.toolActivity.length > 0) {
181
+ summaryLines.push(`${chalk.dim("Tools:")} ${session.toolActivity.map((t) => `${t.name}(${t.count})`).join(", ")}`);
182
+ }
170
183
  if (verbose && compressed.includedLayers.length > 0) {
171
184
  summaryLines.push(`${chalk.dim("Included:")} ${compressed.includedLayers.join(", ")}`);
172
185
  }
@@ -186,7 +199,19 @@ async function runHandoff(options) {
186
199
  console.log();
187
200
  console.log(formatBox(summaryLines.join("\n")));
188
201
  console.log();
189
- console.log(` ${hint("Paste the clipboard into your target agent to continue")}`);
202
+ // 9. Auto-launch target tool if --launch
203
+ if (options.launch && target !== "clipboard" && target !== "file") {
204
+ console.log(` ${colors.primary("Launching")} ${target}...`);
205
+ try {
206
+ launchTool(target, resume, { projectPath });
207
+ }
208
+ catch (err) {
209
+ console.log(` ${chalk.yellow("Could not launch:")} ${err.message}`);
210
+ }
211
+ }
212
+ else {
213
+ console.log(` ${hint("Paste the clipboard into your target agent to continue")}`);
214
+ }
190
215
  console.log();
191
216
  }
192
217
  catch (err) {
@@ -199,6 +224,185 @@ async function runHandoff(options) {
199
224
  process.exit(3);
200
225
  }
201
226
  }
227
+ // --- build agent dashboard entries ---
228
+ async function buildAgentDashboard() {
229
+ const adapters = getAllAdapters();
230
+ const results = await Promise.allSettled(adapters.map(async (adapter) => {
231
+ const detected = await adapter.detect();
232
+ if (!detected) {
233
+ return {
234
+ agentId: adapter.agentId,
235
+ name: AGENT_REGISTRY[adapter.agentId].name,
236
+ detected: false,
237
+ sessionCount: 0,
238
+ };
239
+ }
240
+ const sessions = await adapter.listSessions();
241
+ const latest = sessions[0];
242
+ return {
243
+ agentId: adapter.agentId,
244
+ name: AGENT_REGISTRY[adapter.agentId].name,
245
+ detected: true,
246
+ sessionCount: sessions.length,
247
+ lastActiveAt: latest?.lastActiveAt || latest?.startedAt,
248
+ };
249
+ }));
250
+ const entries = [];
251
+ for (const result of results) {
252
+ if (result.status === "fulfilled") {
253
+ entries.push(result.value);
254
+ }
255
+ }
256
+ // Sort: sessions first (by recency), then installed, then not found
257
+ entries.sort((a, b) => {
258
+ if (a.sessionCount > 0 && b.sessionCount === 0)
259
+ return -1;
260
+ if (a.sessionCount === 0 && b.sessionCount > 0)
261
+ return 1;
262
+ if (a.sessionCount > 0 && b.sessionCount > 0) {
263
+ const aTime = a.lastActiveAt || "";
264
+ const bTime = b.lastActiveAt || "";
265
+ return bTime.localeCompare(aTime);
266
+ }
267
+ if (a.detected && !b.detected)
268
+ return -1;
269
+ if (!a.detected && b.detected)
270
+ return 1;
271
+ return 0;
272
+ });
273
+ return entries;
274
+ }
275
+ // --- interactive handoff flow ---
276
+ async function runHandoffFlow() {
277
+ const spinner = ora("Loading sessions...").start();
278
+ // Gather sessions from all adapters in parallel
279
+ const allSessions = [];
280
+ const cached = getCachedIndex();
281
+ if (cached) {
282
+ allSessions.push(...cached);
283
+ spinner.succeed(`Found ${allSessions.length} sessions (cached)`);
284
+ }
285
+ else {
286
+ const adapters = getAllAdapters();
287
+ const results = await Promise.allSettled(adapters.map(async (adapter) => {
288
+ const detected = await adapter.detect();
289
+ if (!detected)
290
+ return [];
291
+ const sessions = await adapter.listSessions();
292
+ return sessions.map((s) => ({ ...s, agentId: adapter.agentId }));
293
+ }));
294
+ for (const result of results) {
295
+ if (result.status === "fulfilled") {
296
+ allSessions.push(...result.value);
297
+ }
298
+ }
299
+ allSessions.sort((a, b) => {
300
+ const aTime = a.lastActiveAt || a.startedAt || "";
301
+ const bTime = b.lastActiveAt || b.startedAt || "";
302
+ return bTime.localeCompare(aTime);
303
+ });
304
+ if (allSessions.length > 0) {
305
+ writeCachedIndex(allSessions);
306
+ }
307
+ spinner.succeed(`Found ${allSessions.length} sessions`);
308
+ }
309
+ if (allSessions.length === 0) {
310
+ console.log(chalk.dim("\n No sessions found. Run an AI coding agent first.\n"));
311
+ return;
312
+ }
313
+ // CWD sessions
314
+ const cwd = process.cwd();
315
+ const cwdSessions = allSessions.filter((s) => s.projectPath && s.projectPath.replace(/[\\/]+$/, "") === cwd.replace(/[\\/]+$/, ""));
316
+ if (cwdSessions.length > 0) {
317
+ console.log(` ${chalk.green(`Found ${cwdSessions.length} sessions in this directory`)}`);
318
+ }
319
+ // Filter step
320
+ const filterOptions = [];
321
+ if (cwdSessions.length > 0) {
322
+ filterOptions.push({ value: "cwd", label: `This directory (${cwdSessions.length})` });
323
+ }
324
+ filterOptions.push({ value: "all", label: `All sessions (${allSessions.length})` });
325
+ const filterChoice = await select({ message: "Which sessions?", options: filterOptions });
326
+ if (isCancel(filterChoice))
327
+ return;
328
+ const filteredSessions = filterChoice === "cwd" ? cwdSessions : allSessions;
329
+ const displaySessions = filteredSessions.slice(0, 20);
330
+ // Session picker
331
+ const sessionOptions = displaySessions.map((s) => ({
332
+ value: s,
333
+ label: `[${s.agentId}] ${s.lastActiveAt ? relativeTime(s.lastActiveAt) : "unknown"} ${s.id.slice(0, 12)}`,
334
+ hint: s.preview ? s.preview.slice(0, 60) : undefined,
335
+ }));
336
+ const sessionChoice = await select({ message: "Pick a session", options: sessionOptions, maxVisible: 10 });
337
+ if (isCancel(sessionChoice))
338
+ return;
339
+ const selected = sessionChoice;
340
+ // Target picker
341
+ const installedTools = getInstalledTools(selected.agentId);
342
+ const targetOptions = [
343
+ { value: "file", label: "File (.handoff/RESUME.md)" },
344
+ { value: "clipboard", label: "Clipboard" },
345
+ ...installedTools.map((t) => ({
346
+ value: t.id,
347
+ label: `${AGENT_REGISTRY[t.id].name} (auto-launch)`,
348
+ })),
349
+ ];
350
+ const targetChoice = await select({ message: "Target", options: targetOptions });
351
+ if (isCancel(targetChoice))
352
+ return;
353
+ const target = targetChoice;
354
+ const shouldLaunch = target !== "file" && target !== "clipboard" && installedTools.some((t) => t.id === target);
355
+ await runHandoff({
356
+ source: selected.agentId,
357
+ target,
358
+ session: selected.id,
359
+ project: selected.projectPath || cwd,
360
+ launch: shouldLaunch,
361
+ });
362
+ }
363
+ // --- default TUI ---
364
+ async function runDefaultTUI() {
365
+ // Gradient logo
366
+ console.log();
367
+ console.log(gradientLogo());
368
+ console.log();
369
+ console.log(` braindump v1.0.0 ${chalk.dim("|")} ${chalk.dim("Seamless AI agent handoffs")}`);
370
+ // Agent dashboard
371
+ const dashSpinner = ora("Scanning agents...").start();
372
+ const entries = await buildAgentDashboard();
373
+ dashSpinner.stop();
374
+ // Clear the spinner line
375
+ process.stdout.write("\x1B[1A\x1B[2K");
376
+ console.log(agentDashboard(entries));
377
+ // Main menu
378
+ const menuOptions = [
379
+ { value: "handoff", label: "Handoff session", hint: "Transfer to another agent" },
380
+ { value: "list", label: "List sessions", hint: "Browse all captured sessions" },
381
+ { value: "detect", label: "Detect agents", hint: "Scan system for AI tools" },
382
+ { value: "watch", label: "Watch mode", hint: "Monitor for rate limits" },
383
+ { value: "help", label: "Help", hint: "Show commands & options" },
384
+ ];
385
+ const choice = await select({ message: "What would you like to do?", options: menuOptions });
386
+ if (isCancel(choice))
387
+ return;
388
+ switch (choice) {
389
+ case "handoff":
390
+ await runHandoffFlow();
391
+ break;
392
+ case "list":
393
+ await program.commands.find((c) => c.name() === "list").parseAsync([], { from: "user" });
394
+ break;
395
+ case "detect":
396
+ await program.commands.find((c) => c.name() === "detect").parseAsync([], { from: "user" });
397
+ break;
398
+ case "watch":
399
+ await program.commands.find((c) => c.name() === "watch").parseAsync([], { from: "user" });
400
+ break;
401
+ case "help":
402
+ console.log(styledHelp("1.1.0", program.commands.map((c) => ({ name: c.name(), description: c.description() || "" }))));
403
+ break;
404
+ }
405
+ }
202
406
  // --- detect ---
203
407
  program
204
408
  .command("detect")
@@ -224,9 +428,7 @@ program
224
428
  "coding agents on your system.",
225
429
  "",
226
430
  "Supported agents:",
227
- ` ${chalk.dim("•")} Claude Code ${chalk.dim("(~/.claude/projects/)")}`,
228
- ` ${chalk.dim("•")} Cursor ${chalk.dim("(~/.config/Cursor/...)")}`,
229
- ` ${chalk.dim("•")} Codex CLI ${chalk.dim("(~/.codex/sessions/)")}`,
431
+ supportedAgentsList(),
230
432
  "",
231
433
  "Install one and try again.",
232
434
  ].join("\n")));
@@ -249,15 +451,17 @@ program
249
451
  program
250
452
  .command("list")
251
453
  .description("List recent sessions across detected agents")
252
- .option("-s, --source <agent>", "Filter by agent (claude-code, cursor, codex)")
454
+ .option("-s, --source <agent>", "Filter by agent")
253
455
  .option("-l, --limit <n>", "Max sessions to show", "10")
456
+ .option("--json", "Output as JSON array")
457
+ .option("--jsonl", "Output as JSONL (one JSON object per line)")
254
458
  .action(async (options) => {
255
459
  try {
256
460
  const limit = parseInt(options.limit, 10) || 10;
257
461
  const agentIds = options.source
258
462
  ? [options.source]
259
463
  : Object.keys(AGENT_REGISTRY);
260
- let totalShown = 0;
464
+ const allSessions = [];
261
465
  for (const agentId of agentIds) {
262
466
  const adapter = getAdapter(agentId);
263
467
  if (!adapter)
@@ -269,36 +473,59 @@ program
269
473
  catch {
270
474
  continue;
271
475
  }
272
- if (sessions.length === 0)
273
- continue;
274
- console.log();
275
- console.log(` ${chalk.bold("Recent Sessions")}`);
276
- console.log();
277
- console.log(` ${chalk.bold(AGENT_REGISTRY[agentId].name)}`);
278
- const toShow = sessions.slice(0, limit - totalShown);
279
- for (let i = 0; i < toShow.length; i++) {
280
- const s = toShow[i];
281
- const isLast = i === toShow.length - 1;
282
- const prefix = isLast ? " └─" : " ├─";
283
- const idShort = chalk.cyan(s.id.slice(0, 12));
284
- const time = s.lastActiveAt || s.startedAt
285
- ? chalk.dim(relativeTime(s.lastActiveAt || s.startedAt || ""))
286
- : chalk.dim("unknown");
287
- const msgs = s.messageCount != null ? chalk.yellow(`${s.messageCount} msgs`) : "";
288
- console.log(` ${prefix} ${idShort} ${time} ${msgs}`);
289
- totalShown++;
476
+ for (const s of sessions) {
477
+ allSessions.push({ ...s, agentId });
290
478
  }
291
- if (totalShown >= limit)
292
- break;
293
479
  }
294
- console.log();
295
- if (totalShown === 0) {
480
+ // Sort by recency
481
+ allSessions.sort((a, b) => {
482
+ const aTime = a.lastActiveAt || a.startedAt || "";
483
+ const bTime = b.lastActiveAt || b.startedAt || "";
484
+ return bTime.localeCompare(aTime);
485
+ });
486
+ const limited = allSessions.slice(0, limit);
487
+ // JSON output modes
488
+ if (options.json) {
489
+ console.log(JSON.stringify(limited, null, 2));
490
+ return;
491
+ }
492
+ if (options.jsonl) {
493
+ for (const s of limited) {
494
+ console.log(JSON.stringify(s));
495
+ }
496
+ return;
497
+ }
498
+ // Cache for TUI
499
+ if (allSessions.length > 0) {
500
+ writeCachedIndex(allSessions);
501
+ }
502
+ // Human-readable output
503
+ if (limited.length === 0) {
296
504
  console.log(chalk.yellow("No sessions found."));
505
+ return;
297
506
  }
298
- else {
299
- console.log(` ${hint("Run 'braindump --session <id>' to handoff a specific session")}`);
300
- console.log();
507
+ console.log();
508
+ console.log(` ${chalk.bold("Recent Sessions")}`);
509
+ console.log();
510
+ let currentAgent = "";
511
+ for (let i = 0; i < limited.length; i++) {
512
+ const s = limited[i];
513
+ if (s.agentId !== currentAgent) {
514
+ currentAgent = s.agentId;
515
+ console.log(` ${chalk.bold(AGENT_REGISTRY[s.agentId].name)}`);
516
+ }
517
+ const isLast = i === limited.length - 1 || limited[i + 1]?.agentId !== currentAgent;
518
+ const prefix = isLast ? " \u2514\u2500" : " \u251C\u2500";
519
+ const idShort = colors.primary(s.id.slice(0, 12));
520
+ const time = s.lastActiveAt || s.startedAt
521
+ ? chalk.dim(relativeTime(s.lastActiveAt || s.startedAt || ""))
522
+ : chalk.dim("unknown");
523
+ const msgs = s.messageCount != null ? chalk.yellow(`${s.messageCount} msgs`) : "";
524
+ console.log(` ${prefix} ${idShort} ${time} ${msgs}`);
301
525
  }
526
+ console.log();
527
+ console.log(` ${hint("Run 'braindump --session <id>' to handoff a specific session")}`);
528
+ console.log();
302
529
  }
303
530
  catch (err) {
304
531
  console.log();
@@ -393,6 +620,7 @@ program
393
620
  .option("--dry-run", "Preview what would be captured without writing files")
394
621
  .option("--no-clipboard", "Skip clipboard copy")
395
622
  .option("-o, --output <path>", "Custom output path for RESUME.md")
623
+ .option("--launch", "Auto-launch target tool after handoff")
396
624
  .option("-v, --verbose", "Show detailed debug output")
397
625
  .action(async (options) => {
398
626
  await runHandoff(options);
@@ -412,7 +640,7 @@ program
412
640
  const interval = parseInt(options.interval, 10) * 1000;
413
641
  const formatEvent = (event) => {
414
642
  const time = chalk.dim(new Date(event.timestamp).toLocaleTimeString());
415
- const agent = chalk.cyan(event.agentId);
643
+ const agent = colors.primary(event.agentId);
416
644
  const sid = event.sessionId ? chalk.dim(` ${event.sessionId.slice(0, 12)}`) : "";
417
645
  switch (event.type) {
418
646
  case "new-session":
@@ -422,7 +650,7 @@ program
422
650
  console.log(` ${time} ${chalk.blue("~")} ${agent}${sid} ${chalk.dim(event.details || "updated")}`);
423
651
  break;
424
652
  case "rate-limit":
425
- console.log(` ${time} ${chalk.red("!")} ${agent}${sid} ${chalk.red("possible rate limit")} run ${chalk.bold("braindump handoff")} to switch`);
653
+ console.log(` ${time} ${chalk.red("!")} ${agent}${sid} ${chalk.red("possible rate limit")} \u2014 run ${chalk.bold("braindump handoff")} to switch`);
426
654
  break;
427
655
  case "idle":
428
656
  break; // Don't spam idle events
@@ -518,28 +746,49 @@ program
518
746
  .command("info")
519
747
  .description("Show agent storage paths, context window sizes, and config")
520
748
  .action(async () => {
521
- console.log(banner("0.5.0"));
749
+ console.log();
750
+ console.log(gradientLogo());
751
+ console.log();
752
+ console.log(` braindump v1.0.0 ${chalk.dim("|")} ${chalk.dim("Seamless AI agent handoffs")}`);
753
+ console.log();
522
754
  for (const meta of Object.values(AGENT_REGISTRY)) {
523
755
  const storagePath = meta.storagePaths[process.platform] || "N/A";
524
756
  console.log(` ${chalk.bold(meta.name)} ${chalk.dim(`(${meta.id})`)}`);
525
757
  console.log(` ${chalk.dim("Storage:")} ${storagePath}`);
526
758
  console.log(` ${chalk.dim("Context window:")} ${meta.contextWindow.toLocaleString()} tokens`);
527
759
  console.log(` ${chalk.dim("Usable budget:")} ${meta.usableTokens.toLocaleString()} tokens`);
528
- console.log(` ${chalk.dim("Memory files:")} ${meta.memoryFiles.join(", ")}`);
760
+ console.log(` ${chalk.dim("Memory files:")} ${meta.memoryFiles.join(", ") || "none"}`);
529
761
  console.log();
530
762
  }
531
763
  });
532
- // --- default: show intro when no subcommand given ---
764
+ // --- default: interactive TUI when no subcommand given in TTY ---
533
765
  const args = process.argv.slice(2);
534
766
  const subcommands = [...program.commands.map((c) => c.name()), "help"];
535
767
  const hasSubcommand = args.length > 0 && subcommands.includes(args[0]);
536
- const hasHelpOrVersion = args.includes("--help") || args.includes("-h") || args.includes("--version") || args.includes("-V");
537
- if (args.length === 0) {
538
- // No args show intro
539
- console.log(intro());
768
+ const hasHelpOrVersion = args.includes("--version") || args.includes("-V");
769
+ // Custom --help / -h intercept
770
+ if (args.includes("--help") || args.includes("-h")) {
771
+ // If it's a subcommand help, let commander handle it
772
+ if (hasSubcommand) {
773
+ program.parse();
774
+ }
775
+ else {
776
+ console.log(styledHelp("1.1.0", program.commands.map((c) => ({ name: c.name(), description: c.description() || "" }))));
777
+ }
778
+ }
779
+ else if (args.length === 0) {
780
+ if (process.stdout.isTTY) {
781
+ runDefaultTUI().catch((err) => {
782
+ console.error(chalk.red(err.message));
783
+ process.exit(1);
784
+ });
785
+ }
786
+ else {
787
+ // Non-TTY — show intro text
788
+ console.log(intro());
789
+ }
540
790
  }
541
791
  else if (!hasSubcommand && !hasHelpOrVersion) {
542
- // Unknown subcommand — show help
543
792
  program.parse();
544
793
  }
545
794
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,IAAI,EACJ,MAAM,EACN,KAAK,GACN,MAAM,YAAY,CAAC;AAEpB,yBAAyB;AACzB,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,SAAS,KAAK,CAAC,GAAG,IAAe;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACV,yEAAyE,CAC1E;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,qDAAqD;AACrD,KAAK,UAAU,UAAU,CAAC,OAUzB;IACC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAEpC,8BAA8B;QAC9B,IAAI,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC;QACZ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACxC,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;oBACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;oBACxC,EAAE;oBACF,gCAAgC;oBAChC,+BAA+B;oBAC/B,EAAE;oBACF,mBAAmB;oBACnB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE;oBACvE,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE;oBACnE,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE;oBACpE,EAAE;oBACF,4BAA4B;iBAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,iEAAiE,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC;QACZ,OAAO,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,YAAY,OAAO,CAAC,YAAY,CAAC,YAAY,WAAW,CAAC,CAAC;YAC1E,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2DAA2D;QAC3D,OAAO,GAAG,GAAG,CAAC,wCAAwC,CAAC,CAAC,KAAK,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QACrD,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QAClD,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE5C,cAAc;QACd,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM;YACjC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAI,OAAO,CAAC,MAAyC,IAAI,MAAM,CAAC;QAC5E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,IAAI,MAAM,CAAC,CAAC;QACpE,OAAO,GAAG,GAAG,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,OAAO,CAAC,iBAAiB,UAAU,CAAC,WAAW,SAAS,CAAC,CAAC;QAClE,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAE9D,mBAAmB;QACnB,MAAM,MAAM,GAAG,YAAY,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QAEhE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG;gBACZ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,EAAE;gBACpD,EAAE;gBACF,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE;gBAChD,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC/D,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;gBACvE,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE;gBAClE,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,UAAU,CAAC,WAAW,MAAM,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;gBAC7F,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACtE,CAAC;YACF,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CACR,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CACnF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC5B,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9F,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAClC,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAClC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAElF,gDAAgD;QAChD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1D,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;QAE5C,sBAAsB;QACtB,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YAC1C,EAAE;YACF,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE;YAChD,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YAC/D,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;YACvE,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE;YAClE,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,UAAU,CAAC,WAAW,MAAM,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;SAC9F,CAAC;QACF,IAAI,OAAO,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,YAAY,CAAC,IAAI,CACf,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,YAAY,CAAC,IAAI,CACf,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CACf,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,CAChH,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,wDAAwD,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACrC,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;gBACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACxC,EAAE;gBACF,gCAAgC;gBAChC,+BAA+B;gBAC/B,EAAE;gBACF,mBAAmB;gBACnB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE;gBACvE,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE;gBACnE,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE;gBACpE,EAAE;gBACF,4BAA4B;aAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,6CAA6C,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;YAC9C,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,sBAAsB,EAAE,8CAA8C,CAAC;KAC9E,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAc,OAAO,CAAC,MAAM;YACxC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAiB,CAAC;YAC7B,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAe,CAAC;QAE/C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEpC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS;oBACxC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;oBAC9D,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;gBACzD,UAAU,EAAE,CAAC;YACf,CAAC;YACD,IAAI,UAAU,IAAI,KAAK;gBAAE,MAAM;QACjC,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,8DAA8D,CAAC,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;YAC9C,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAErD,mBAAmB;QACnB,IAAI,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM;YAC5B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAiB,CAAC;YACvC,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;gBACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACxC,EAAE;gBACF,8BAA8B;aAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE9C,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,iEAAiE,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,qBAAqB;QACrB,OAAO,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;YAC7B,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,CAAC,OAAO,CAAC,YAAY,OAAO,CAAC,YAAY,CAAC,YAAY,WAAW,CAAC,CAAC;QAE1E,iCAAiC;QACjC,OAAO,GAAG,GAAG,CAAC,wCAAwC,CAAC,CAAC,KAAK,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QACrD,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE5C,kBAAkB;QAClB,OAAO,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YAC1C,EAAE;YACF,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE;YACjE,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE;SACtE,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACrC,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,uBAAuB,EAAE,iCAAiC,EAAE,MAAM,CAAC;KAC1E,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC;KAC/C,MAAM,CAAC,WAAW,EAAE,sDAAsD,CAAC;KAC3E,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACjE,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,yCAAyC,CAAC;KACnE,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,EAAE,IAAI,CAAC;KACnE,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;QAC3B,CAAC,CAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAe;QACvE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IAEvD,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,aAAa;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,cAAc,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,gBAAgB;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpG,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBACjJ,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,yBAAyB;QACpC,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC;YAClB,MAAM;YACN,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAG,CAAC;QAClC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;QAC9D,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,cAAc,OAAO,CAAC,QAAQ,aAAa,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAE7C,yBAAyB;QACzB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;KAC7D,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;gBACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBACrC,EAAE;gBACF,QAAQ;gBACR,EAAE;gBACF,gCAAgC;gBAChC,kCAAkC;aACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAmC,CAAC;QAE5E,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACnD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACjD,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAElC,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YAC5C,EAAE;YACF,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE;YACpD,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE;SACzC,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACpC,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,uDAAuD;AACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AACvE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7H,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACtB,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AACvB,CAAC;KAAM,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC/C,iCAAiC;IACjC,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAErG,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,IAAI,EACJ,KAAK,EACL,MAAM,EACN,YAAY,EACZ,cAAc,EACd,UAAU,GAEX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAqB,MAAM,UAAU,CAAC;AAE/D,yBAAyB;AACzB,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,SAAS,KAAK,CAAC,GAAG,IAAe;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACV,yEAAyE,CAC1E;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,mDAAmD;AACnD,SAAS,mBAAmB;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;SAC9G,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,qDAAqD;AACrD,KAAK,UAAU,UAAU,CAAC,OAWzB;IACC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAEpC,8BAA8B;QAC9B,IAAI,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC;QACZ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACxC,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;oBACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;oBACxC,EAAE;oBACF,gCAAgC;oBAChC,+BAA+B;oBAC/B,EAAE;oBACF,mBAAmB;oBACnB,mBAAmB,EAAE;oBACrB,EAAE;oBACF,4BAA4B;iBAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,iEAAiE,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC;QACZ,OAAO,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,YAAY,OAAO,CAAC,YAAY,CAAC,YAAY,WAAW,CAAC,CAAC;YAC1E,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2DAA2D;QAC3D,OAAO,GAAG,GAAG,CAAC,wCAAwC,CAAC,CAAC,KAAK,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QACrD,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QAClD,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE5C,cAAc;QACd,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM;YACjC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAI,OAAO,CAAC,MAAyC,IAAI,MAAM,CAAC;QAC5E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,IAAI,MAAM,CAAC,CAAC;QACpE,OAAO,GAAG,GAAG,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,OAAO,CAAC,iBAAiB,UAAU,CAAC,WAAW,SAAS,CAAC,CAAC;QAClE,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAE9D,mBAAmB;QACnB,MAAM,MAAM,GAAG,YAAY,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QAEhE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG;gBACZ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,EAAE;gBACzD,EAAE;gBACF,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE;gBAChD,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC/D,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;gBACvE,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE;gBAClE,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,UAAU,CAAC,WAAW,MAAM,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;gBAC7F,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACtE,CAAC;YACF,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CACR,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CACnF,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnH,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC5B,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9F,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAClC,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAClC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAElF,gDAAgD;QAChD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1D,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;QAE5C,sBAAsB;QACtB,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YAC1C,EAAE;YACF,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE;YAChD,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YAC/D,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;YACvE,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE;YAClE,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,UAAU,CAAC,WAAW,MAAM,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;SAC9F,CAAC;QACF,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,YAAY,CAAC,IAAI,CACf,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrG,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,YAAY,CAAC,IAAI,CACf,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,YAAY,CAAC,IAAI,CACf,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CACf,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,CAChH,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,yCAAyC;QACzC,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,UAAU,CAAC,MAAiB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAK,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,wDAAwD,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACrC,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,KAAK,UAAU,mBAAmB;IAChC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI;gBAC1C,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,CAAC;aACO,CAAC;QAC3B,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI;YAC1C,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,QAAQ,CAAC,MAAM;YAC7B,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,MAAM,EAAE,SAAS;SACjC,CAAC;IAC3B,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mCAAmC;AACnC,KAAK,UAAU,cAAc;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEnD,gDAAgD;IAChD,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,MAAM,EAAE,CAAC;QACX,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,OAAO,CAAC,SAAS,WAAW,CAAC,MAAM,oBAAoB,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CACH,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,SAAS,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,eAAe;IACf,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAC5F,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,WAAW,CAAC,MAAM,6BAA6B,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,cAAc;IACd,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAEpF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAC1F,IAAI,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO;IAEnC,MAAM,gBAAgB,GAAG,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5E,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEtD,iBAAiB;IACjB,MAAM,cAAc,GAAuC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACzG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3G,IAAI,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO;IAEpC,MAAM,QAAQ,GAAG,aAAmC,CAAC;IAErD,gBAAgB;IAChB,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,aAAa,GAA2B;QAC5C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE;QACrD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;QAC1C,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,CAAC,CAAC,EAAE;YACX,KAAK,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,gBAAgB;SACpD,CAAC,CAAC;KACJ,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACjF,IAAI,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO;IAEnC,MAAM,MAAM,GAAG,YAAsB,CAAC;IACtC,MAAM,YAAY,GAAG,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,WAAW,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAEhH,MAAM,UAAU,CAAC;QACf,MAAM,EAAE,QAAQ,CAAC,OAAO;QACxB,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,EAAE;QACpB,OAAO,EAAE,QAAQ,CAAC,WAAW,IAAI,GAAG;QACpC,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;AACL,CAAC;AAED,sBAAsB;AACtB,KAAK,UAAU,aAAa;IAC1B,gBAAgB;IAChB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAE/F,kBAAkB;IAClB,MAAM,WAAW,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC5C,WAAW,CAAC,IAAI,EAAE,CAAC;IACnB,yBAAyB;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAErC,YAAY;IACZ,MAAM,WAAW,GAA2B;QAC1C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,2BAA2B,EAAE;QACjF,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,8BAA8B,EAAE;QAC/E,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,0BAA0B,EAAE;QAC7E,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,yBAAyB,EAAE;QACxE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE;KAClE,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7F,IAAI,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO;IAE7B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,MAAM,cAAc,EAAE,CAAC;YACvB,MAAM;QACR,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1F,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5F,MAAM;QACR,KAAK,OAAO;YACV,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,OAAO,CAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3F,MAAM;QACR,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CACT,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAC3G,CAAC;YACF,MAAM;IACV,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;gBACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACxC,EAAE;gBACF,gCAAgC;gBAChC,+BAA+B;gBAC/B,EAAE;gBACF,mBAAmB;gBACnB,mBAAmB,EAAE;gBACrB,EAAE;gBACF,4BAA4B;aAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,6CAA6C,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;YAC9C,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;KACjD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC;KACvD,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;KACxC,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAc,OAAO,CAAC,MAAM;YACxC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAiB,CAAC;YAC7B,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAe,CAAC;QAE/C,MAAM,WAAW,GAAyB,EAAE,CAAC;QAE7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,IAAI,QAAuB,CAAC;YAC5B,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAE5C,oBAAoB;QACpB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC/B,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,YAAY,CAAC;YACpF,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS;gBACxC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC9D,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,8DAA8D,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;YAC9C,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAErD,mBAAmB;QACnB,IAAI,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM;YAC5B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAiB,CAAC;YACvC,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;gBACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACxC,EAAE;gBACF,8BAA8B;aAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE9C,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,iEAAiE,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,qBAAqB;QACrB,OAAO,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;YAC7B,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,CAAC,OAAO,CAAC,YAAY,OAAO,CAAC,YAAY,CAAC,YAAY,WAAW,CAAC,CAAC;QAE1E,iCAAiC;QACjC,OAAO,GAAG,GAAG,CAAC,wCAAwC,CAAC,CAAC,KAAK,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QACrD,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE5C,kBAAkB;QAClB,OAAO,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YAC1C,EAAE;YACF,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE;YACjE,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE;SACtE,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACrC,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,uBAAuB,EAAE,iCAAiC,EAAE,MAAM,CAAC;KAC1E,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC;KAC/C,MAAM,CAAC,WAAW,EAAE,sDAAsD,CAAC;KAC3E,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACjE,MAAM,CAAC,UAAU,EAAE,uCAAuC,CAAC;KAC3D,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,yCAAyC,CAAC;KACnE,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,EAAE,IAAI,CAAC;KACnE,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;QAC3B,CAAC,CAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAe;QACvE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IAEvD,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,aAAa;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,cAAc,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,gBAAgB;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpG,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBACtJ,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,yBAAyB;QACpC,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC;YAClB,MAAM;YACN,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAG,CAAC;QAClC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;QAC9D,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,cAAc,OAAO,CAAC,QAAQ,aAAa,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAE7C,yBAAyB;QACzB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;KAC7D,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;gBACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBACrC,EAAE;gBACF,QAAQ;gBACR,EAAE;gBACF,gCAAgC;gBAChC,kCAAkC;aACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAmC,CAAC;QAE5E,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACnD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACjD,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAElC,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YAC5C,EAAE;YACF,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE;YACpD,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE;SACzC,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,cAAc,CACZ;YACE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACpC,EAAE;YACD,GAAa,CAAC,OAAO;SACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AACvE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3E,+BAA+B;AAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnD,qDAAqD;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAC3G,CAAC;IACJ,CAAC;AACH,CAAC;KAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;KAAM,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC/C,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Custom interactive select prompt using raw stdin + ANSI escape codes.
3
+ * No external TUI dependencies — just readline-level control.
4
+ */
5
+ export interface SelectOption<T> {
6
+ value: T;
7
+ label: string;
8
+ hint?: string;
9
+ }
10
+ export declare const CANCEL: unique symbol;
11
+ export declare function isCancel(value: unknown): value is symbol;
12
+ /**
13
+ * Parse raw stdin buffer into a navigation action.
14
+ */
15
+ export declare function parseKey(data: Buffer): "up" | "down" | "enter" | "cancel" | null;
16
+ /**
17
+ * Render the visible slice of options with selection indicator.
18
+ * Returns an array of formatted lines.
19
+ */
20
+ export declare function renderOptions<T>(options: SelectOption<T>[], selected: number, offset: number, max: number): string[];
21
+ /**
22
+ * Interactive select prompt. Renders inline, supports arrow keys + j/k,
23
+ * returns the selected value or CANCEL symbol.
24
+ */
25
+ export declare function select<T>(opts: {
26
+ message: string;
27
+ options: SelectOption<T>[];
28
+ maxVisible?: number;
29
+ }): Promise<T | symbol>;
30
+ //# sourceMappingURL=tui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,MAAM,EAAE,OAAO,MAAyB,CAAC;AAEtD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,GACX,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,CAe3C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,MAAM,EAAE,CAwBV;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAiGtB"}