koneck 2.7.1 → 2.8.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.
package/dist/engine.js CHANGED
@@ -20,9 +20,20 @@ import { getPackSystemPrompt } from './plugin-packs.js';
20
20
  import { runQualityGate, qualityGateSummary } from './quality-gate.js';
21
21
  import { appendAuditEvent, summarizeToolAction } from './audit.js';
22
22
  import { evaluatePolicy, loadPolicy } from './policy.js';
23
+ import { CheckpointRecorder, filesTouchedBy } from './checkpoint.js';
23
24
  // ─── Continuation detection ───────────────────────────────────────────────────
24
25
  /** How many times a single run may be nudged past a narrate-but-do-nothing turn. */
25
26
  const MAX_CONTINUATION_NUDGES = 4;
27
+ /** Duplicate identical tool calls tolerated before the run is treated as a genuine loop. */
28
+ const MAX_DUPLICATE_CALLS = 3;
29
+ /**
30
+ * Tools that change disk or process state. After one succeeds, previously seen read
31
+ * signatures are stale — re-reading the same path returns different content and must
32
+ * not be mistaken for a loop.
33
+ */
34
+ const STATE_CHANGING_TOOLS = new Set([
35
+ 'write_file', 'search_replace', 'apply_diff', 'delete_file', 'move_file', 'execute_command',
36
+ ]);
26
37
  /**
27
38
  * True when assistant text announces work it has not done yet, rather than reporting a
28
39
  * conclusion. Some models emit "Now let me read X" as a standalone turn with no tool call;
@@ -224,13 +235,14 @@ async function handleSpawnAgents(args, config, cwd) {
224
235
  .join('\n\n');
225
236
  }
226
237
  // ─── ReAct loop ───────────────────────────────────────────────────────────────
227
- export async function runReActLoop(messages, client, config, effectiveCwd, stats, mcpClients, plugins, openaiTools, turnOffset = 0, abortSignal) {
238
+ export async function runReActLoop(messages, client, config, effectiveCwd, stats, mcpClients, plugins, openaiTools, turnOffset = 0, abortSignal, checkpoint) {
228
239
  const policy = await loadPolicy(effectiveCwd);
229
240
  const silent = Boolean(config.silent);
230
241
  const seenSignatures = new Set();
231
242
  let budgetWarned = false;
232
243
  let budgetModelWarnedUnknown = false;
233
244
  let continuationNudges = 0;
245
+ let duplicateCalls = 0;
234
246
  const loopStart = Date.now();
235
247
  for (let turn = 0; turn < config.maxTurns; turn++) {
236
248
  if (abortSignal?.aborted)
@@ -440,11 +452,34 @@ export async function runReActLoop(messages, client, config, effectiveCwd, stats
440
452
  for (const tc of toolCalls) {
441
453
  const sig = tc.name + '::' + tc.arguments;
442
454
  if (seenSignatures.has(sig)) {
455
+ // A repeat is usually the model re-reading to confirm its own edit, not a loop.
456
+ // Correct it in-band and let the run continue; only a persistent repeater is halted.
457
+ duplicateCalls++;
458
+ if (duplicateCalls >= MAX_DUPLICATE_CALLS) {
459
+ if (!silent)
460
+ tui.printWarning('Halting: tool "' + tc.name + '" repeated with identical arguments ' +
461
+ duplicateCalls + ' times — the agent is looping.');
462
+ messages.push({ role: 'tool', tool_call_id: tc.id, content: 'HALTED: repeated identical call.' });
463
+ return false;
464
+ }
443
465
  if (!silent)
444
- tui.printWarning('Infinite loop tool "' + tc.name + '" called with identical args twice. Halting.');
445
- return false;
466
+ tui.printWarning('Skipped duplicate call to "' + tc.name + '" (identical arguments).');
467
+ messages.push({
468
+ role: 'tool',
469
+ tool_call_id: tc.id,
470
+ content: 'SKIPPED: you already made this exact call with identical arguments earlier in this run, ' +
471
+ 'and nothing has changed since. Use the earlier result instead of repeating the call. ' +
472
+ 'If you are finished, give your final answer now.',
473
+ });
474
+ continue;
446
475
  }
447
476
  seenSignatures.add(sig);
477
+ // Snapshot the pre-edit contents before the tool runs, so /revert can restore them.
478
+ if (checkpoint) {
479
+ for (const file of filesTouchedBy(tc.name, tc.arguments)) {
480
+ await checkpoint.capture(file).catch(() => { });
481
+ }
482
+ }
448
483
  config.onToolCall?.(tc.name, tc.arguments);
449
484
  if (!silent)
450
485
  tui.printToolCall(tc.name, tc.arguments);
@@ -490,6 +525,11 @@ export async function runReActLoop(messages, client, config, effectiveCwd, stats
490
525
  const toolElapsed = Date.now() - toolStart;
491
526
  const toolFailed = result.startsWith('ERROR:') || result.startsWith('POLICY BLOCKED:');
492
527
  config.onToolResult?.(tc.name, !toolFailed, toolElapsed);
528
+ // Anything that changes disk or process state makes earlier reads stale, so re-reading
529
+ // the same path is legitimate from here on. Without this, "verify your writes" (Rule 5)
530
+ // trips the duplicate guard and aborts an otherwise successful run.
531
+ if (!toolFailed && STATE_CHANGING_TOOLS.has(tc.name))
532
+ seenSignatures.clear();
493
533
  if ((config.spawnDepth ?? 0) === 0) {
494
534
  void appendAuditEvent(effectiveCwd, {
495
535
  timestamp: new Date().toISOString(),
@@ -537,7 +577,16 @@ export async function createAgentSession(config, initialMessages) {
537
577
  async function send(userText, signal) {
538
578
  messages.push({ role: 'user', content: userText });
539
579
  const turnOffset = stats.turns;
540
- _completed = await runReActLoop(messages, client, { ...config, auditSessionId: id }, config.cwd, stats, mcpClients, plugins, openaiTools, turnOffset, signal);
580
+ // One checkpoint per user message: /revert undoes the file edits made in response to it.
581
+ const checkpoint = new CheckpointRecorder(config.cwd, userText);
582
+ try {
583
+ _completed = await runReActLoop(messages, client, { ...config, auditSessionId: id }, config.cwd, stats, mcpClients, plugins, openaiTools, turnOffset, signal, checkpoint);
584
+ }
585
+ finally {
586
+ // Commit even when the turn threw or was interrupted — a partial edit is exactly
587
+ // the case where being able to undo matters most.
588
+ await checkpoint.commit().catch(() => null);
589
+ }
541
590
  return _completed;
542
591
  }
543
592
  return {
@@ -624,9 +673,14 @@ export async function runAgent(task, config, initialMessages) {
624
673
  if (session.completed) {
625
674
  tui.printSuccess('Task complete.');
626
675
  }
627
- else {
676
+ else if (session.stats.turns >= config.maxTurns) {
628
677
  tui.printWarning('Max turns (' + config.maxTurns + ') reached — task may be incomplete.');
629
678
  }
679
+ else {
680
+ // Stopped early for a specific reason already reported above (duplicate loop,
681
+ // budget, interrupt). Claiming "max turns" here would misattribute the cause.
682
+ tui.printWarning('Stopped after ' + session.stats.turns + ' of ' + config.maxTurns + ' turns — task may be incomplete.');
683
+ }
630
684
  tui.printStats(session.stats, config.provider, config.model, agentElapsed);
631
685
  }
632
686
  // Offer diff review if files were changed
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -421,7 +421,15 @@ async function resolveConfig(args) {
421
421
  const maxTurns = args.maxTurns !== 30 ? args.maxTurns : (fileConfig.maxTurns ?? 30);
422
422
  const requireApproval = args.requireApproval || (fileConfig.requireApproval ?? false);
423
423
  const useWorktree = args.useWorktree || (fileConfig.useWorktree ?? false);
424
- const baseURL = args.baseURL ?? fileConfig.baseURL;
424
+ // A misspelled -p on the command line must not inherit a baseURL that was configured for a
425
+ // different provider: "-p anthropci" would silently send the request to whatever endpoint
426
+ // sits in the config file, and the run would appear to succeed against the wrong host.
427
+ // A custom provider named in the config file keeps its own baseURL, since both were set
428
+ // together deliberately; overriding the name on the CLI requires an explicit --base-url.
429
+ const providerNamedOnCli = args.provider != null;
430
+ const providerIsKnown = Boolean(PROVIDERS[provider.toLowerCase()]);
431
+ const baseURL = args.baseURL
432
+ ?? (providerNamedOnCli && !providerIsKnown ? undefined : fileConfig.baseURL);
425
433
  const apiKey = fileConfig.apiKey;
426
434
  return { provider, model, maxTurns, requireApproval, useWorktree, baseURL, apiKey };
427
435
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,EAAE,CAAC;AAET,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAChC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CACxG,CAAC,OAAiB,CAAC;AAEpB,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEZ,CAAC;AAEF,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAAY;QACpB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,KAAK;QACnB,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,KAAK;QACf,eAAe,EAAE,SAAS;QAC1B,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,SAAS;QACzB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,SAAS;QACxB,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,SAAS;QAC1B,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACnE,MAAM;YACR,CAAC;YACD,KAAK,IAAI;gBACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,IAAI;gBACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACrE,MAAM;YACR,CAAC;YACD,KAAK,QAAQ;gBACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACrE,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,CAAC,EAAE,CAAC;oBACJ,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;wBACnE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACnC,CAAC,EAAE,CAAC;oBACN,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,YAAY;gBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACrE,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACvE,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBAAC,CAAC,EAAE,CAAC;oBAAC,CAAC;gBACtE,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACtE,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACrF,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACtE,MAAM;YACR,CAAC;YACD,KAAK,KAAK;gBACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACxE,MAAM;YACR,CAAC;YACD,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;gBAChC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC;YAAC,KAAK,QAAQ;gBACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,KAAK,IAAI,CAAC;YAAC,KAAK,WAAW;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,MAAM;YACR,KAAK,IAAI,CAAC;YAAC,KAAK,YAAY;gBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,MAAM;YACR,KAAK,IAAI,CAAC;YAAC,KAAK,SAAS;gBACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,IAAI,CAAC;YAAC,KAAK,aAAa;gBAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,IAAI,CAAC;YAAC,KAAK,WAAW;gBACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,MAAM;YACR,KAAK,IAAI,CAAC;YAAC,KAAK,YAAY;gBAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,IAAI,CAAC;YAAC,KAAK,OAAO;gBACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,IAAI,CAAC;YAAC,KAAK,WAAW;gBACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;gBACf,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAChD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;oBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;gBAC9C,MAAM;YACR,CAAC;YACD;gBACE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;oBAC1C,GAAG,CAAC,YAAY,CAAC,mBAAmB,GAAG,YAAY,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAS,GAAG,IAAI;IACvC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAa;IACxC,8DAA8D;IAC9D,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC;IACnF,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,YAAY,IAAI,MAAM,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC;IACtF,MAAM,WAAW,GAAM,IAAI,CAAC,WAAW,IAAO,CAAC,UAAU,CAAC,WAAW,IAAO,KAAK,CAAC,CAAC;IACnF,MAAM,OAAO,GAAU,IAAI,CAAC,OAAO,IAAW,UAAU,CAAC,OAAO,CAAC;IACjE,MAAM,MAAM,GAAW,UAAU,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,yCAAyC;IACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACtD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAEhE,6EAA6E;IAC7E,iEAAiE;IACjE,MAAM,oBAAoB,GACxB,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAClF,IAAI,oBAAoB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,UAAU,CAAC,yFAAyF,CAAC,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,GAAG,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7F,IAAI,MAAM,UAAU,EAAE,EAAE,CAAC;YACvB,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK;YAChF,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK;YACxD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;SACzE,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAgC,CAAC;QAC9E,MAAM,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK;YAChF,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe;YACxE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;SACnF,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAmB,CAAC;QAC/D,MAAM,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG;YAChB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK;YAChF,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK;YACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;SAC/D,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,KAAK,iBAAiB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK;YAChF,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK;YACxE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;SAC/D,CAAC;QACF,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK;YAChF,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK;YACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;SAC/D,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,MAAM,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACtD,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,UAAU,CAAC,2GAA2G,CAAC,CAAC;QAC9H,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpD,MAAM,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK;YAChF,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK;YACxE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;SAC/D,CAAC;QACF,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC3C,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;YAC7G,IAAI,SAAS,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CACtG,CAAC;YACF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;gBAC7C,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,EAAE,GAAG,CAAC,EAAE;oBAC1D,GAAG,CAAC,KAAK,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,UAAU,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;QACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;YACvG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1D,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;gBACxB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAC/C,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAG;QAClB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;IAEF,6EAA6E;IAC7E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,WAAW,CACf,CAAC,IAAI,CAAC,cAAc,IAAI,QAAQ,CAA4C,EAC5E,YAAY,EACZ,WAAW,CACZ,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACxE,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;;YAC9E,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,GAAG,CAAC,aAAa,CAAC,mBAAmB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAErD,IAAI,eAAe,CAAC;QACpB,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;YAClC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,UAAU,CAAC,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,GAAG,CAAC,aAAa,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9D,GAAG,CAAC,aAAa,CAAC,cAAc,QAAQ,CAAC,QAAQ,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACzE,GAAG,CAAC,aAAa,CAAC,cAAc,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,WAAW,SAAS,CAAC,CAAC;QAExF,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,UAAU,CAAC,iEAAiE,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,YAAY,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI;YAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,GAAG,CAAC,WAAW,EAAE,CAAC;IAElB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,SAAS,EAAE,CAAC;IAE1C,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,YAAY,CAAC,oCAAoC,CAAC,CAAC;QACvD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrF,GAAG,CAAC,aAAa,CAAC,cAAc,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxG,GAAG,CAAC,aAAa,CAAC,cAAc,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,GAAG,CAAC,aAAa,CAAC,oBAAoB,QAAQ,CAAC,QAAQ,aAAa,QAAQ,CAAC,eAAe,aAAa,QAAQ,CAAC,WAAW,OAAO,WAAW,CAAC,EAAE,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC;IAC3K,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAEtB,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,YAAY,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI;QAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,QAAQ,CACf,OAA6C,EAC7C,QAA6C,EAC7C,GAAW;IAEX,MAAM,IAAI,GAAG,YAAY,CACvB,QAAQ,CAAC,KAAK,EACd,OAAO,CAAC,KAAK,CAAC,YAAY,EAC1B,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAC/B,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CACZ;QACE,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,WAAW,EAAE,oBAAoB,OAAO,CAAC,EAAE,QAAQ;QACnD,GAAG;QACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;QAC1B,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY;QACxC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB;QAChD,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;QACtC,IAAI,EAAE,IAAI,CAAC,KAAK;YACd,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;YACpF,CAAC,CAAC,IAAI;KACT,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ink-chat.d.ts","sourceRoot":"","sources":["../src/ink-chat.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA4rB9C,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvE"}
1
+ {"version":3,"file":"ink-chat.d.ts","sourceRoot":"","sources":["../src/ink-chat.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgxB9C,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvE"}
package/dist/ink-chat.js CHANGED
@@ -8,6 +8,7 @@ import { generateSessionId, saveSession, listSessions } from './session.js';
8
8
  import { loadMemory } from './memory.js';
9
9
  import { loadKoneckConfig, saveKoneckConfig, setConfigKey, configKeyDescriptions, CONFIG_FILE } from './config-store.js';
10
10
  import { PROVIDERS } from './providers.js';
11
+ import { listCheckpoints, revertCheckpoint } from './checkpoint.js';
11
12
  const CYAN = '#54D7E7';
12
13
  const GREEN = '#9BCB8F';
13
14
  const CRIMSON = '#E8878D';
@@ -15,6 +16,10 @@ const AMBER = '#F6C453';
15
16
  const MUTED = '#9AAAB2';
16
17
  const INK = '#F4F1EA';
17
18
  const DIM = '#5C717A';
19
+ // The user's message bar: light-on-dark, high contrast against the terminal ground so an
20
+ // input is easy to find when scrolling back. Deliberately not the cyan used for KONECK.
21
+ const USER_BG = '#3A434A';
22
+ const USER_FG = '#FFFFFF';
18
23
  /** Pull the meaningful argument out of a tool call so the user sees WHAT is being touched. */
19
24
  function toolDetail(name, argsJson) {
20
25
  let a = {};
@@ -60,6 +65,39 @@ function fmtElapsed(ms) {
60
65
  function fmtTokens(n) {
61
66
  return n >= 1000 ? (n / 1000).toFixed(1) + 'k' : String(n);
62
67
  }
68
+ /**
69
+ * Greedy word wrap. The user's message is painted as a filled bar, so each line has to be
70
+ * padded to the same width — a background colour only covers the characters actually drawn.
71
+ */
72
+ function wrapToWidth(text, width) {
73
+ const out = [];
74
+ for (const paragraph of text.split('\n')) {
75
+ if (paragraph === '') {
76
+ out.push('');
77
+ continue;
78
+ }
79
+ let line = '';
80
+ for (const word of paragraph.split(/\s+/).filter(Boolean)) {
81
+ if (line === '') {
82
+ line = word;
83
+ }
84
+ else if (line.length + 1 + word.length <= width) {
85
+ line += ' ' + word;
86
+ }
87
+ else {
88
+ out.push(line);
89
+ line = word;
90
+ }
91
+ // A single word longer than the row is hard-split so it cannot overflow the bar.
92
+ while (line.length > width) {
93
+ out.push(line.slice(0, width));
94
+ line = line.slice(width);
95
+ }
96
+ }
97
+ out.push(line);
98
+ }
99
+ return out;
100
+ }
63
101
  const SPINNER = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
64
102
  const KONECK_WORDS = [
65
103
  'parsing', 'indexing', 'diffing', 'hoisting', 'dereferencing', 'memoizing', 'currying',
@@ -101,7 +139,8 @@ Slash commands:
101
139
  /memory Show .koneck/MEMORY.md
102
140
  /diff Show uncommitted git changes
103
141
  /verify Run project test command
104
- /rewind Undo last exchange
142
+ /rewind Undo last exchange (chat history only)
143
+ /revert [list|<id>] Undo file edits KONECK made — restores from a checkpoint
105
144
  /save Save session to disk
106
145
  /sessions List recent saved sessions
107
146
  /exit /quit Save and exit
@@ -416,6 +455,41 @@ function App({ config: initialConfig }) {
416
455
  addSystem(lines2.join('\n') + `\n\nUsage: /config <key> <value> | /config reset`);
417
456
  return;
418
457
  }
458
+ case '/revert': {
459
+ const points = await listCheckpoints(cfg.cwd);
460
+ if (points.length === 0) {
461
+ addSystem('No checkpoints yet. A checkpoint is recorded whenever KONECK edits a file.');
462
+ return;
463
+ }
464
+ if (arg === 'list') {
465
+ addSystem('Checkpoints (newest first):\n' +
466
+ points.map(c => {
467
+ const when = new Date(c.timestamp).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
468
+ return ` ${c.id} ${when} ${c.files.length} file(s) ${c.label.slice(0, 48)}`;
469
+ }).join('\n') +
470
+ '\n\n/revert undo the most recent edit' +
471
+ '\n/revert <id> undo a specific checkpoint');
472
+ return;
473
+ }
474
+ const target = arg ? points.find(c => c.id === arg) : points[0];
475
+ if (!target) {
476
+ addSystem(`No checkpoint "${arg}". Use /revert list to see them.`);
477
+ return;
478
+ }
479
+ const r = await revertCheckpoint(cfg.cwd, target);
480
+ const lines = [`Reverted checkpoint ${target.id} — "${target.label.slice(0, 60)}"`];
481
+ if (r.restored.length)
482
+ lines.push(` restored: ${r.restored.join(', ')}`);
483
+ if (r.deleted.length)
484
+ lines.push(` removed (did not exist before): ${r.deleted.join(', ')}`);
485
+ if (r.skipped.length)
486
+ lines.push(` skipped (too large to snapshot): ${r.skipped.join(', ')}`);
487
+ if (r.undoId)
488
+ lines.push(`\nTo undo this revert: /revert ${r.undoId}`);
489
+ lines.push('\nNote: changes made by execute_command are not captured and were not reverted.');
490
+ addSystem(lines.join('\n'));
491
+ return;
492
+ }
419
493
  case '/copy': {
420
494
  if (!lastAgentText) {
421
495
  addSystem('No response to copy yet.');
@@ -536,10 +610,22 @@ function App({ config: initialConfig }) {
536
610
  if (!key.ctrl && !key.meta && input)
537
611
  setDraft(prev => prev + input);
538
612
  });
539
- const workspace = cfg.cwd.replace(process.env['HOME'] ?? '', '~');
613
+ // Deep paths are shown as …/parent/dir so the status row stays on one line.
614
+ const workspace = (() => {
615
+ const home = process.env['HOME'] ?? '';
616
+ const full = home ? cfg.cwd.replace(home, '~') : cfg.cwd;
617
+ if (full.length <= 32)
618
+ return full;
619
+ const parts = full.split('/').filter(Boolean);
620
+ return parts.length > 2 ? '…/' + parts.slice(-2).join('/') : full;
621
+ })();
540
622
  const modelShort = cfg.model.split('/').at(-1) ?? cfg.model;
541
- const termCols = process.stdout.columns ?? 80;
542
- const uiWidth = Math.min(termCols, 120);
623
+ // `|| 80` not `?? 80`: a pty with no negotiated size reports columns as 0, and 0 would
624
+ // collapse the whole layout to a one-character column. The floor of 40 keeps a very
625
+ // narrow split pane readable instead of wrapping every word.
626
+ const termCols = process.stdout.columns || 80;
627
+ const uiWidth = Math.max(40, Math.min(termCols, 120));
628
+ const barWidth = uiWidth - 4; // uiWidth minus the container's paddingX={2} on both sides
543
629
  const statusLabel = agentState === 'ready' ? 'READY'
544
630
  : agentState === 'processing' ? 'PROCESSING'
545
631
  : agentState === 'syncing' ? 'SYNCING'
@@ -564,7 +650,10 @@ function App({ config: initialConfig }) {
564
650
  const color = running ? AMBER : step.ok === false ? CRIMSON : GREEN;
565
651
  return (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: color, children: glyph }), _jsx(Text, { color: AMBER, bold: true, children: step.name }), _jsx(Text, { color: DIM, children: "\u00B7" }), _jsx(Text, { color: MUTED, children: fmtElapsed(ms) })] }), step.detail !== '' && (_jsxs(Box, { paddingLeft: 2, gap: 1, children: [_jsx(Text, { color: DIM, children: "\u2514" }), _jsx(Text, { color: MUTED, children: step.detail })] }))] }, key));
566
652
  };
567
- return (_jsxs(Box, { flexDirection: "column", width: uiWidth, paddingX: 2, children: [_jsxs(Box, { flexDirection: "column", alignItems: "center", marginTop: 1, marginBottom: 1, children: [_jsx(Text, { color: CYAN, bold: true, children: "KONECK / SOFTWARE DELIVERY SYSTEM" }), _jsx(Text, { color: MUTED, children: "Deliberate engineering, with control at every change." })] }), _jsxs(Box, { borderStyle: "round", borderColor: CYAN, paddingX: 1, marginBottom: 1, flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: AMBER, children: "\u03DF " }), _jsx(Text, { color: CYAN, bold: true, children: "KONECK " }), _jsx(Text, { color: MUTED, children: "[" }), _jsx(Text, { color: statusColor, bold: true, children: statusLabel }), _jsx(Text, { color: MUTED, children: "]" }), _jsx(Text, { color: DIM, children: " \u00B7 mode: " }), _jsx(Text, { color: MUTED, children: mode })] }), _jsxs(Box, { children: [_jsx(Text, { color: MUTED, children: "STATUS: " }), _jsx(Text, { color: statusColor, children: statusText }), _jsx(Text, { color: MUTED, children: " \u2022 MODEL: " }), _jsxs(Text, { color: INK, children: ["[", modelShort, "]"] }), _jsx(Text, { color: MUTED, children: " \u2022 PROVIDER: " }), _jsxs(Text, { color: INK, children: ["[", cfg.provider, "]"] }), _jsx(Text, { color: MUTED, children: " \u2022 WORKSPACE: " }), _jsx(Text, { color: INK, children: workspace })] })] }), showAnalytics && (_jsxs(Box, { borderStyle: "round", borderColor: AMBER, paddingX: 1, marginBottom: 1, flexDirection: "column", children: [_jsx(Text, { color: AMBER, bold: true, children: "\u25C6 Session Analytics" }), _jsxs(Text, { color: MUTED, children: ["Turns : ", _jsx(Text, { color: INK, children: stats.turns })] }), _jsxs(Text, { color: MUTED, children: ["Prompt tok : ", _jsx(Text, { color: INK, children: stats.promptTokens.toLocaleString() })] }), _jsxs(Text, { color: MUTED, children: ["Output tok : ", _jsx(Text, { color: INK, children: stats.completionTokens.toLocaleString() })] }), _jsxs(Text, { color: MUTED, children: ["Total tok : ", _jsx(Text, { color: INK, children: stats.totalTokens.toLocaleString() })] }), _jsxs(Text, { color: MUTED, children: ["Model : ", _jsx(Text, { color: INK, children: modelShort }), " Provider: ", _jsx(Text, { color: INK, children: cfg.provider })] }), _jsx(Text, { color: DIM, children: "Tab to close" })] })), _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [rows.map((row, index) => row.role === 'user' ? (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: CYAN, bold: true, children: "\u276F " }), _jsx(Text, { color: INK, children: row.text })] }, index)) : row.role === 'error' ? (_jsxs(Box, { borderStyle: "round", borderColor: CRIMSON, paddingX: 1, flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: CRIMSON, bold: true, children: "[!] ERROR NOTICE" }), _jsxs(Text, { color: CRIMSON, children: ["\u2716 ", row.text] }), _jsx(Text, { color: MUTED, children: "[r] Retry connection or [t] Test API credentials." })] }, index)) : row.role === 'system' ? (_jsx(Box, { borderStyle: "round", borderColor: DIM, paddingX: 1, flexDirection: "column", marginTop: 1, children: (row.text ?? '').split('\n').map((line, li) => (_jsx(Text, { color: MUTED, children: line }, li))) }, index)) : row.role === 'steps' ? (_jsx(Box, { flexDirection: "column", children: (row.steps ?? []).map((s, si) => renderStep(s, si)) }, index)) : (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: DIM, paddingX: 1, marginTop: 1, children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: CYAN, bold: true, children: "\uA4D8K" }), _jsx(Text, { color: INK, children: row.text })] }), row.tokens != null && (_jsxs(Text, { color: MUTED, children: ["\u25AE ", row.tokens, " tokens | ", ((row.elapsed ?? 0) / 1000).toFixed(1), "s | ", cfg.provider, " ", modelShort, " model"] }))] }, index))), busy && (_jsxs(Box, { flexDirection: "column", children: [stepsRef.current.map((s, si) => renderStep(s, si)), _jsxs(Box, { marginTop: 1, gap: 1, children: [_jsx(Text, { color: GREEN, children: SPINNER[spinFrame] }), _jsxs(Text, { color: MUTED, children: [KONECK_WORDS[spinWord], "\u2026"] }), _jsx(Text, { color: DIM, children: "(" }), _jsx(Text, { color: MUTED, children: fmtElapsed(elapsedMs) }), _jsx(Text, { color: DIM, children: "\u00B7" }), _jsxs(Text, { color: MUTED, children: ["\u2193 ", fmtTokens(liveTokens), " tokens"] }), _jsx(Text, { color: DIM, children: ")" })] }), _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { color: DIM, children: "Ctrl+C to interrupt" }) })] }))] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: CYAN, bold: true, children: "\u276F " }), _jsx(Text, { color: INK, children: draft }), _jsx(Text, { color: CYAN, children: busy ? '' : '█' })] }), _jsxs(Box, { marginTop: 1, paddingX: 1, children: [_jsx(Text, { backgroundColor: "#24343B", color: MUTED, children: "TAB " }), _jsx(Text, { backgroundColor: "#24343B", color: INK, children: "Analytics" }), _jsx(Text, { backgroundColor: "#24343B", color: MUTED, children: " / " }), _jsx(Text, { backgroundColor: "#24343B", color: CYAN, children: "/HELP" }), _jsx(Text, { backgroundColor: "#24343B", color: INK, children: " Commands" }), _jsx(Text, { backgroundColor: "#24343B", color: MUTED, children: " / SHIFT+TAB " }), _jsx(Text, { backgroundColor: "#24343B", color: INK, children: "Mode" }), _jsx(Text, { backgroundColor: "#24343B", color: MUTED, children: " / MODEL: " }), _jsx(Text, { backgroundColor: "#24343B", color: INK, children: modelShort }), _jsx(Text, { backgroundColor: "#24343B", color: MUTED, children: " / PING: " }), _jsx(Text, { backgroundColor: "#24343B", color: INK, children: "50ms" })] })] }));
653
+ return (_jsxs(Box, { flexDirection: "column", width: uiWidth, paddingX: 2, children: [_jsxs(Box, { flexDirection: "column", alignItems: "center", marginTop: 1, marginBottom: 1, children: [_jsx(Text, { color: CYAN, bold: true, children: "KONECK / SOFTWARE DELIVERY SYSTEM" }), _jsx(Text, { color: MUTED, children: "Deliberate engineering, with control at every change." })] }), _jsxs(Box, { borderStyle: "round", borderColor: CYAN, paddingX: 1, marginBottom: 1, flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: AMBER, children: "\u03DF " }), _jsx(Text, { color: CYAN, bold: true, children: "KONECK " }), _jsx(Text, { color: MUTED, children: "[" }), _jsx(Text, { color: statusColor, bold: true, children: statusLabel }), _jsx(Text, { color: MUTED, children: "]" }), _jsx(Text, { color: DIM, children: " \u00B7 mode: " }), _jsx(Text, { color: MUTED, children: mode })] }), _jsxs(Text, { wrap: "truncate", children: [_jsx(Text, { color: MUTED, children: "STATUS: " }), _jsx(Text, { color: statusColor, children: statusText }), _jsx(Text, { color: MUTED, children: " \u2022 MODEL: " }), _jsxs(Text, { color: INK, children: ["[", modelShort, "]"] }), _jsx(Text, { color: MUTED, children: " \u2022 PROVIDER: " }), _jsxs(Text, { color: INK, children: ["[", cfg.provider, "]"] }), _jsx(Text, { color: MUTED, children: " \u2022 WORKSPACE: " }), _jsx(Text, { color: INK, children: workspace })] })] }), showAnalytics && (_jsxs(Box, { borderStyle: "round", borderColor: AMBER, paddingX: 1, marginBottom: 1, flexDirection: "column", children: [_jsx(Text, { color: AMBER, bold: true, children: "\u25C6 Session Analytics" }), _jsxs(Text, { color: MUTED, children: ["Turns : ", _jsx(Text, { color: INK, children: stats.turns })] }), _jsxs(Text, { color: MUTED, children: ["Prompt tok : ", _jsx(Text, { color: INK, children: stats.promptTokens.toLocaleString() })] }), _jsxs(Text, { color: MUTED, children: ["Output tok : ", _jsx(Text, { color: INK, children: stats.completionTokens.toLocaleString() })] }), _jsxs(Text, { color: MUTED, children: ["Total tok : ", _jsx(Text, { color: INK, children: stats.totalTokens.toLocaleString() })] }), _jsxs(Text, { color: MUTED, children: ["Model : ", _jsx(Text, { color: INK, children: modelShort }), " Provider: ", _jsx(Text, { color: INK, children: cfg.provider })] }), _jsx(Text, { color: DIM, children: "Tab to close" })] })), _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [rows.map((row, index) => row.role === 'user' ? (
654
+ // Painted as a filled bar so the user's own words are the most findable thing
655
+ // on screen when scrolling back through a long session.
656
+ _jsx(Box, { marginTop: 1, flexDirection: "column", children: wrapToWidth(row.text ?? '', barWidth - 2).map((line, li) => (_jsx(Text, { backgroundColor: USER_BG, color: USER_FG, bold: li === 0, children: (li === 0 ? '❯ ' : ' ') + line.padEnd(barWidth - 2) }, li))) }, index)) : row.role === 'error' ? (_jsxs(Box, { borderStyle: "round", borderColor: CRIMSON, paddingX: 1, flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: CRIMSON, bold: true, children: "[!] ERROR NOTICE" }), _jsxs(Text, { color: CRIMSON, children: ["\u2716 ", row.text] }), _jsx(Text, { color: MUTED, children: "[r] Retry connection or [t] Test API credentials." })] }, index)) : row.role === 'system' ? (_jsx(Box, { borderStyle: "round", borderColor: DIM, paddingX: 1, flexDirection: "column", marginTop: 1, children: (row.text ?? '').split('\n').map((line, li) => (_jsx(Text, { color: MUTED, children: line }, li))) }, index)) : row.role === 'steps' ? (_jsx(Box, { flexDirection: "column", children: (row.steps ?? []).map((s, si) => renderStep(s, si)) }, index)) : (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: DIM, paddingX: 1, marginTop: 1, children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: CYAN, bold: true, children: "\uA4D8K" }), _jsx(Text, { color: INK, children: row.text })] }), row.tokens != null && (_jsxs(Text, { color: MUTED, children: ["\u25AE ", row.tokens, " tokens | ", ((row.elapsed ?? 0) / 1000).toFixed(1), "s | ", cfg.provider, " ", modelShort, " model"] }))] }, index))), busy && (_jsxs(Box, { flexDirection: "column", children: [stepsRef.current.map((s, si) => renderStep(s, si)), _jsxs(Box, { marginTop: 1, gap: 1, children: [_jsx(Text, { color: GREEN, children: SPINNER[spinFrame] }), _jsxs(Text, { color: MUTED, children: [KONECK_WORDS[spinWord], "\u2026"] }), _jsx(Text, { color: DIM, children: "(" }), _jsx(Text, { color: MUTED, children: fmtElapsed(elapsedMs) }), _jsx(Text, { color: DIM, children: "\u00B7" }), _jsxs(Text, { color: MUTED, children: ["\u2193 ", fmtTokens(liveTokens), " tokens"] }), _jsx(Text, { color: DIM, children: ")" })] }), _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { color: DIM, children: "Ctrl+C to interrupt" }) })] }))] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: CYAN, bold: true, children: "\u276F " }), _jsx(Text, { color: INK, children: draft }), _jsx(Text, { color: CYAN, children: busy ? '' : '█' })] }), _jsx(Box, { marginTop: 1, paddingX: 1, children: _jsxs(Text, { wrap: "truncate", backgroundColor: "#24343B", children: [_jsx(Text, { color: MUTED, children: "TAB " }), _jsx(Text, { color: INK, children: "Analytics" }), _jsx(Text, { color: MUTED, children: " / " }), _jsx(Text, { color: CYAN, children: "/HELP" }), _jsx(Text, { color: INK, children: " Commands" }), _jsx(Text, { color: MUTED, children: " / SHIFT+TAB " }), _jsx(Text, { color: INK, children: "Mode" }), _jsx(Text, { color: MUTED, children: " / MODEL: " }), _jsx(Text, { color: INK, children: modelShort }), _jsx(Text, { color: MUTED, children: " / PING: " }), _jsx(Text, { color: INK, children: "50ms" })] }) })] }));
568
657
  }
569
658
  export async function runInkChatMode(config) {
570
659
  // Apply persistent config overrides before entering the UI