@sean.holung/minicode 0.4.1 → 0.4.2

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 (27) hide show
  1. package/dist/src/agent/config.js +11 -1
  2. package/dist/src/benchmark/config.js +15 -1
  3. package/dist/src/benchmark/index.js +1 -1
  4. package/dist/src/benchmark/workspace-changes.js +93 -12
  5. package/dist/src/cli/benchmark-run.js +285 -12
  6. package/dist/src/cli/contextbench-trajectory.js +258 -0
  7. package/dist/tests/agent.test.js +17 -21
  8. package/dist/tests/benchmark-run.test.js +223 -2
  9. package/dist/tests/contextbench-trajectory.test.js +228 -0
  10. package/dist/tests/reasoning-effort.test.js +83 -0
  11. package/dist/tests/workspace-changes.test.js +50 -1
  12. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/agent.d.ts +13 -1
  13. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/agent.d.ts.map +1 -1
  14. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/agent.js +133 -24
  15. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/agent.js.map +1 -1
  16. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/types.d.ts +62 -0
  17. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/types.d.ts.map +1 -1
  18. package/node_modules/@sean.holung/minicode-sdk/dist/src/agent/types.js.map +1 -1
  19. package/node_modules/@sean.holung/minicode-sdk/dist/src/model/client.d.ts +5 -1
  20. package/node_modules/@sean.holung/minicode-sdk/dist/src/model/client.d.ts.map +1 -1
  21. package/node_modules/@sean.holung/minicode-sdk/dist/src/model/client.js +86 -7
  22. package/node_modules/@sean.holung/minicode-sdk/dist/src/model/client.js.map +1 -1
  23. package/node_modules/@sean.holung/minicode-sdk/dist/src/prompt/system-prompt.d.ts.map +1 -1
  24. package/node_modules/@sean.holung/minicode-sdk/dist/src/prompt/system-prompt.js +1 -1
  25. package/node_modules/@sean.holung/minicode-sdk/dist/src/prompt/system-prompt.js.map +1 -1
  26. package/node_modules/minicode-plugin-python/dist/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +1 -1
@@ -71,6 +71,27 @@ function clearStateSensitiveFingerprints(fingerprints) {
71
71
  }
72
72
  }
73
73
  }
74
+ function clearFingerprint(fingerprints, target) {
75
+ for (let index = fingerprints.length - 1; index >= 0; index -= 1) {
76
+ if (fingerprints[index] === target) {
77
+ fingerprints.splice(index, 1);
78
+ }
79
+ }
80
+ }
81
+ /**
82
+ * Maximum number of loop-guard fires per turn before the agent hard-stops.
83
+ * A single fire surfaces a nudge to the model and continues — the model
84
+ * usually adjusts. Three fires across one turn signal the model isn't
85
+ * finding a productive path, so the safety valve kicks in.
86
+ */
87
+ const MAX_LOOP_GUARD_FIRES_PER_TURN = 3;
88
+ const LOOP_GUARD_HARD_STOP_MESSAGE = "Stopped due to repeated identical tool calls. The model triggered the loop guard 3 times in this turn without finding a productive path forward.";
89
+ function loopGuardNudge(repeatedCalls, fireNumber) {
90
+ return (`[loop guard: suppressed an identical call after ${repeatedCalls} repeats in a small window. ` +
91
+ `Try a different approach — read a different file or region, search for a more specific pattern, ` +
92
+ `run a command to inspect state, or use find_references / get_dependencies / read_symbol to navigate by structure. ` +
93
+ `This is loop-guard fire ${fireNumber}/${MAX_LOOP_GUARD_FIRES_PER_TURN} for this turn; after the ${MAX_LOOP_GUARD_FIRES_PER_TURN}th the turn will hard-stop.]`);
94
+ }
74
95
  /**
75
96
  * Extract the symbol name from a tool call input if the tool is symbol-aware.
76
97
  */
@@ -83,11 +104,15 @@ function extractFocusSymbol(toolCall) {
83
104
  }
84
105
  const VERBOSE_SEP = "\u2500".repeat(60);
85
106
  const PROGRESS_THINKING_MAX = 200;
107
+ const RESCUE_REASONING_MAX = 8000;
86
108
  /**
87
109
  * Content-aware truncation for tool outputs.
88
110
  * Different tools benefit from different truncation strategies:
89
111
  * - read_file: No truncation — the model needs exact text for edits
90
- * - run_command: Keep tail (errors/results are at the end)
112
+ * - run_command: Keep head + tail (50/50). Errors live at the end of
113
+ * normal failures, but pathological cases (infinite loops, runaway
114
+ * recursion, excessive logging) reveal themselves at the start. A
115
+ * tail-heavy split hides the diagnostic bytes for the runaway case.
91
116
  * - search: Keep head with a match count footer
92
117
  * - default: Keep head (existing behavior)
93
118
  */
@@ -101,12 +126,21 @@ export function truncateToolOutput(toolName, output, maxChars) {
101
126
  }
102
127
  const totalLen = output.length;
103
128
  if (toolName === "run_command") {
104
- // Keep tail errors and results are usually at the end
105
- const tailChars = Math.floor(maxChars * 0.8);
106
- const headChars = maxChars - tailChars;
129
+ // Balanced head + tail. See doc comment above for the runaway-output
130
+ // rationale: with a tail-heavy split, an infinite-loop trace gets
131
+ // truncated such that both the visible head AND tail are inside the
132
+ // loop pattern, so the model can't see the start that would reveal
133
+ // the bug. 50/50 surfaces enough of both ends to spot either errors
134
+ // at the tail OR pathological patterns at the head.
135
+ const headChars = Math.floor(maxChars / 2);
136
+ const tailChars = maxChars - headChars;
107
137
  const head = output.slice(0, headChars);
108
138
  const tail = output.slice(totalLen - tailChars);
109
- return `${head}\n\n[... agent-level truncation: ${totalLen - headChars - tailChars} chars omitted from middle of run_command output to keep head + tail.]\n\n${tail}`;
139
+ const omitted = totalLen - headChars - tailChars;
140
+ const ratioHint = omitted > 10 * maxChars
141
+ ? " The omitted region is unusually large — suspect runaway output (infinite loop, recursion, excessive logging) and examine the head, not just the tail."
142
+ : "";
143
+ return `${head}\n\n[... agent-level truncation: ${omitted} chars omitted from middle of run_command output to keep head + tail.${ratioHint}]\n\n${tail}`;
110
144
  }
111
145
  if (toolName === "search") {
112
146
  // Keep head with match count
@@ -267,6 +301,9 @@ export class CodingAgent {
267
301
  let totalInputTokens = 0;
268
302
  let totalOutputTokens = 0;
269
303
  let totalCachedInputTokens = 0;
304
+ let totalReasoningTokens = 0;
305
+ let lastReasoningContent;
306
+ let loopGuardFires = 0;
270
307
  for (let step = 0; step < this.config.maxSteps; step += 1) {
271
308
  ensureStepWithinLimit(step, this.config.maxSteps);
272
309
  if (this.onUiUpdate) {
@@ -359,6 +396,12 @@ export class CodingAgent {
359
396
  ...(this.config.reasoningEffort
360
397
  ? { reasoningEffort: this.config.reasoningEffort }
361
398
  : {}),
399
+ ...(this.config.reasoningMaxTokens !== undefined
400
+ ? { reasoningMaxTokens: this.config.reasoningMaxTokens }
401
+ : {}),
402
+ ...(this.config.toolChoice !== undefined
403
+ ? { toolChoice: this.config.toolChoice }
404
+ : {}),
362
405
  ...(this.onUiUpdate
363
406
  ? {
364
407
  onStream: (chunk) => {
@@ -372,6 +415,11 @@ export class CodingAgent {
372
415
  totalInputTokens += response.usage.inputTokens;
373
416
  totalOutputTokens += response.usage.outputTokens;
374
417
  totalCachedInputTokens += response.usage.cachedInputTokens ?? 0;
418
+ totalReasoningTokens += response.usage.reasoningTokens ?? 0;
419
+ if (typeof response.reasoningContent === "string" &&
420
+ response.reasoningContent.trim().length > 0) {
421
+ lastReasoningContent = response.reasoningContent;
422
+ }
375
423
  if (this.verbose) {
376
424
  this.verboseLog(`\n${VERBOSE_SEP}`);
377
425
  this.verboseLog("[verbose] Response");
@@ -405,14 +453,34 @@ export class CodingAgent {
405
453
  ...(totalCachedInputTokens > 0
406
454
  ? { cachedInputTokens: totalCachedInputTokens }
407
455
  : {}),
456
+ ...(totalReasoningTokens > 0
457
+ ? { reasoningTokens: totalReasoningTokens }
458
+ : {}),
408
459
  },
460
+ ...(lastReasoningContent !== undefined
461
+ ? { reasoningContent: lastReasoningContent }
462
+ : {}),
409
463
  streamed,
410
464
  };
411
465
  }
412
466
  if (response.toolCalls.length === 0) {
467
+ // Pure-thinking collapse: some reasoning-capable models (Gemini
468
+ // 2.5/3 via OpenRouter, occasionally Claude with extended thinking)
469
+ // burn their full reasoning budget and return empty content +
470
+ // empty tool_calls. Previously we replaced this with a generic
471
+ // "no response" fallback, throwing away the reasoning entirely.
472
+ // If the provider forwarded reasoning content, prefer surfacing
473
+ // it — at least the user/trace can see what the model thought.
474
+ const reasoning = response.reasoningContent?.trim() ?? "";
475
+ const cappedReasoning = reasoning.length > RESCUE_REASONING_MAX
476
+ ? reasoning.slice(0, RESCUE_REASONING_MAX) +
477
+ `\n\n[...reasoning truncated, ${reasoning.length - RESCUE_REASONING_MAX} chars omitted]`
478
+ : reasoning;
413
479
  const finalText = response.text.length > 0
414
480
  ? response.text
415
- : "The model returned no response or tool calls. If you asked for code changes or other work, try rephrasing your request or using a model with stronger tool-use support.";
481
+ : reasoning.length > 0
482
+ ? `[model produced only reasoning content, no visible reply or tool calls]\n\n${cappedReasoning}`
483
+ : "The model returned no response or tool calls. If you asked for code changes or other work, try rephrasing your request or using a model with stronger tool-use support.";
416
484
  this.session.addMessage({
417
485
  role: "assistant",
418
486
  content: finalText,
@@ -426,7 +494,13 @@ export class CodingAgent {
426
494
  ...(totalCachedInputTokens > 0
427
495
  ? { cachedInputTokens: totalCachedInputTokens }
428
496
  : {}),
497
+ ...(totalReasoningTokens > 0
498
+ ? { reasoningTokens: totalReasoningTokens }
499
+ : {}),
429
500
  },
501
+ ...(lastReasoningContent !== undefined
502
+ ? { reasoningContent: lastReasoningContent }
503
+ : {}),
430
504
  streamed,
431
505
  };
432
506
  }
@@ -463,30 +537,59 @@ export class CodingAgent {
463
537
  }
464
538
  const repeatedCalls = recentToolCallFingerprints.filter((value) => value === fingerprint).length;
465
539
  if (repeatedCalls >= getRepeatThreshold(toolCall.name)) {
466
- const loopMessage = "Stopped due to repeated identical tool calls. Please refine the prompt or provide additional constraints.";
467
- for (const skippedToolCall of response.toolCalls.slice(toolCallIndex)) {
540
+ loopGuardFires += 1;
541
+ if (loopGuardFires >= MAX_LOOP_GUARD_FIRES_PER_TURN) {
542
+ // Safety valve: the model has triggered the guard three times
543
+ // in this turn without redirecting. Skip the offending call,
544
+ // hard-terminate the turn, and surface the stop reason.
468
545
  this.session.addMessage({
469
546
  role: "tool",
470
- toolCallId: skippedToolCall.id,
471
- toolName: skippedToolCall.name,
472
- content: `Tool skipped: ${loopMessage}`,
547
+ toolCallId: toolCall.id,
548
+ toolName: toolCall.name,
549
+ content: `Tool skipped: ${LOOP_GUARD_HARD_STOP_MESSAGE}`,
550
+ });
551
+ for (const skippedToolCall of response.toolCalls.slice(toolCallIndex + 1)) {
552
+ this.session.addMessage({
553
+ role: "tool",
554
+ toolCallId: skippedToolCall.id,
555
+ toolName: skippedToolCall.name,
556
+ content: `Tool skipped: ${LOOP_GUARD_HARD_STOP_MESSAGE}`,
557
+ });
558
+ }
559
+ this.session.addMessage({
560
+ role: "assistant",
561
+ content: LOOP_GUARD_HARD_STOP_MESSAGE,
473
562
  });
563
+ return {
564
+ text: LOOP_GUARD_HARD_STOP_MESSAGE,
565
+ usage: {
566
+ inputTokens: totalInputTokens,
567
+ outputTokens: totalOutputTokens,
568
+ ...(totalCachedInputTokens > 0
569
+ ? { cachedInputTokens: totalCachedInputTokens }
570
+ : {}),
571
+ ...(totalReasoningTokens > 0
572
+ ? { reasoningTokens: totalReasoningTokens }
573
+ : {}),
574
+ },
575
+ ...(lastReasoningContent !== undefined
576
+ ? { reasoningContent: lastReasoningContent }
577
+ : {}),
578
+ streamed: false,
579
+ };
474
580
  }
581
+ // Soft path: skip this single call, inject an actionable nudge
582
+ // as its tool result, clear this fingerprint from the window
583
+ // (so the next unrelated call doesn't re-trip), and continue
584
+ // processing remaining calls in the batch.
475
585
  this.session.addMessage({
476
- role: "assistant",
477
- content: loopMessage,
586
+ role: "tool",
587
+ toolCallId: toolCall.id,
588
+ toolName: toolCall.name,
589
+ content: loopGuardNudge(repeatedCalls, loopGuardFires),
478
590
  });
479
- return {
480
- text: loopMessage,
481
- usage: {
482
- inputTokens: totalInputTokens,
483
- outputTokens: totalOutputTokens,
484
- ...(totalCachedInputTokens > 0
485
- ? { cachedInputTokens: totalCachedInputTokens }
486
- : {}),
487
- },
488
- streamed: false,
489
- };
591
+ clearFingerprint(recentToolCallFingerprints, fingerprint);
592
+ continue;
490
593
  }
491
594
  // Track symbol focus from symbol-aware tool calls
492
595
  const focusSymbol = extractFocusSymbol(toolCall);
@@ -579,7 +682,13 @@ export class CodingAgent {
579
682
  ...(totalCachedInputTokens > 0
580
683
  ? { cachedInputTokens: totalCachedInputTokens }
581
684
  : {}),
685
+ ...(totalReasoningTokens > 0
686
+ ? { reasoningTokens: totalReasoningTokens }
687
+ : {}),
582
688
  },
689
+ ...(lastReasoningContent !== undefined
690
+ ? { reasoningContent: lastReasoningContent }
691
+ : {}),
583
692
  streamed: false,
584
693
  };
585
694
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,IAAI,wBAAwB,GAE9C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAS3D,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACvF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB;IAC9C,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAkB,EAAE,UAAU,GAAG,GAAG;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,GAAG,UAAU;QACzB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,KAAK;QACtC,CAAC,CAAC,OAAO,CAAC;IACd,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC;AAC1C,CAAC;AAED,0EAA0E;AAC1E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,WAAW;IACX,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,WAAW;IACX,iBAAiB;IACjB,kBAAkB;IAClB,WAAW;IACX,aAAa;IACb,aAAa;IACb,QAAQ;IACR,iBAAiB;CAClB,CAAC,CAAC;AAEH,SAAS,2BAA2B,CAAC,WAAmB;IACtD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAC5F,OAAO,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,+BAA+B,CAAC,YAAsB;IAC7D,KAAK,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,IAAI,2BAA2B,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;YACtD,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAkB;IAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IAClF,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACxC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,MAAc,EACd,QAAgB;IAEhB,qEAAqE;IACrE,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IAE/B,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;QAChD,OAAO,GAAG,IAAI,oCAAoC,QAAQ,GAAG,SAAS,GAAG,SAAS,6EAA6E,IAAI,EAAE,CAAC;IACxK,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,6BAA6B;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAChD,OAAO,GAAG,SAAS,6CAA6C,UAAU,OAAO,KAAK,CAAC,MAAM,iBAAiB,QAAQ,GAAG,QAAQ,mFAAmF,CAAC;IACvN,CAAC;IAED,0EAA0E;IAC1E,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,2CAA2C,QAAQ,OAAO,QAAQ,eAAe,QAAQ,KAAK,QAAQ,GAAG,QAAQ,sBAAsB,CAAC;AAC7K,CAAC;AA8BD;;;;;;;;GAQG;AACH,SAAS,0BAA0B,CACjC,gBAAwB,EACxB,aAAqB,EACrB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;IAE1D,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,+DAA+D;IAC/D,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3C,OAAO,IAAI,CAAC,GAAG,CACb,QAAQ,EACR,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,gBAAgB,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,WAAW;IACL,OAAO,CAAU;IAC1B,MAAM,CAAc;IACX,WAAW,CAAc;IACzB,YAAY,CAAe;IAC3B,UAAU,CAA0E;IACpF,OAAO,CAAU;IACjB,UAAU,CAA0C;IACpD,UAAU,CAA0C;IACpD,SAAS,CAA0C;IACnD,qBAAqB,CAAyC;IAC9D,iBAAiB,CAAsB;IACvC,cAAc,CAAiC;IAEhE;;;;OAIG;IACc,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAEnD;;;;OAIG;IACc,aAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEhE,kEAAkE;IAC1D,kBAAkB,CAAqB;IAE/C,YAAY,MA+BX;QACC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,OAAO,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;QAC9E,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC9C,CAAC;IAEO,UAAU,CAAC,GAAG,IAAe;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC9C,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;SAC/C,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,MAAsC;QACvD,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,WAAW;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,QAAgB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,QAAQ,KAAK,WAAW;gBAC5B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC9B,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EACpC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,eAAe,CAAC,QAAkB;QAC9C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;gBACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAChC,OAAO,6BAA6B,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,OAAO,CACX,WAAmB,EACnB,OAA+D;QAW/D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACvD,MAAM,0BAA0B,GAAa,EAAE,CAAC;QAChD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAE/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAC1D,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,iEAAiE;YACjE,2CAA2C;YAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB;gBAC9D,CAAC,CAAC,0BAA0B,CACxB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAC9B,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B;gBACH,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAEnC,8DAA8D;YAC9D,iEAAiE;YACjE,8DAA8D;YAC9D,+DAA+D;YAC/D,4DAA4D;YAC5D,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAC5D,IAAI,mBAAmB,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBACvH,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,mBAAmB,EACnB,IAAI,CAAC,WAAW,EAChB,eAAe,CAChB,CAAC;gBACF,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC9D,IAAI,CAAC,UAAU,CACb,sBAAsB,MAAM,MAAM,MAAM,CAAC,eAAe,wBAAwB;wBAChF,GAAG,MAAM,CAAC,cAAc,MAAM,MAAM,CAAC,SAAS,SAAS,CACxD,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC9D,IAAI,CAAC,UAAU,CAAC;wBACd,IAAI,EAAE,UAAU;wBAChB,OAAO,EACL,sBAAsB,MAAM,MAAM,MAAM,CAAC,eAAe,wBAAwB;4BAChF,GAAG,MAAM,CAAC,cAAc,MAAM,MAAM,CAAC,SAAS,SAAS;qBAC1D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,mBAAmB,CACpB,CAAC;YAEF,sEAAsE;YACtE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC;oBACd,IAAI,EAAE,gBAAgB;oBACtB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;oBAC9C,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;iBAC/C,CAAC,CAAC;YACL,CAAC;YAED,wEAAwE;YACxE,gEAAgE;YAChE,sEAAsE;YACtE,oEAAoE;YACpE,qEAAqE;YACrE,qEAAqE;YACrE,sEAAsE;YACtE,+DAA+D;YAC/D,mCAAmC;YACnC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,IAAI,CAAC;YAC/D,IAAI,YAAoB,CAAC;YACzB,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAClF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,WAAW;oBAClB,OAAO;iBACR,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC9C,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;gBAClE,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,UAAU,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;gBACpC,IAAI,CAAC,UAAU,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;gBACpD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;gBACrD,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,MAAM,EAAE,YAAY;gBACpB,QAAQ;gBACR,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,yDAAyD;gBACzD,gEAAgE;gBAChE,iEAAiE;gBACjE,wCAAwC;gBACxC,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB;gBACjD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe;oBAC7B,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,UAAU;oBACjB,CAAC,CAAC;wBACE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;4BAC1B,IAAI,CAAC,UAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;wBAChE,CAAC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClD,GAAG,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;aACrE,CAAC,CAAC;YAEH,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;YAC/C,iBAAiB,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;YACjD,sBAAsB,IAAI,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,UAAU,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;gBACpC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,UAAU,CACb,QAAQ,EACR,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAClF,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAED,iEAAiE;YACjE,mEAAmE;YACnE,iEAAiE;YACjE,8DAA8D;YAC9D,kEAAkE;YAClE,8CAA8C;YAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oBACtB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,QAAQ,CAAC,IAAI;iBACvB,CAAC,CAAC;gBACH,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,mBAAmB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBACzE,OAAO;oBACL,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE;wBACL,WAAW,EAAE,gBAAgB;wBAC7B,YAAY,EAAE,iBAAiB;wBAC/B,GAAG,CAAC,sBAAsB,GAAG,CAAC;4BAC5B,CAAC,CAAC,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;4BAC/C,CAAC,CAAC,EAAE,CAAC;qBACR;oBACD,QAAQ;iBACT,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,SAAS,GACb,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;oBACtB,CAAC,CAAC,QAAQ,CAAC,IAAI;oBACf,CAAC,CAAC,yKAAyK,CAAC;gBAChL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oBACtB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC;gBACH,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,mBAAmB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBACzE,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE;wBACL,WAAW,EAAE,gBAAgB;wBAC7B,YAAY,EAAE,iBAAiB;wBAC/B,GAAG,CAAC,sBAAsB,GAAG,CAAC;4BAC5B,CAAC,CAAC,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;4BAC/C,CAAC,CAAC,EAAE,CAAC;qBACR;oBACD,QAAQ;iBACT,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,SAAS,GACb,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,qBAAqB;oBAC1C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,KAAK;oBACvD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,kEAAkE;YAClE,mEAAmE;YACnE,kEAAkE;YAClE,MAAM,eAAe,GACnB,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,qBAAqB;gBAC1C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,KAAK;gBACvD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEpB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBACtB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC,CAAC;YAEH,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,CAAC;gBAC1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAE,CAAC;gBACpD,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBACnD,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7C,IACE,0BAA0B,CAAC,MAAM;oBACjC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,CAAC;oBACD,0BAA0B,CAAC,KAAK,EAAE,CAAC;gBACrC,CAAC;gBAED,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CACrD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,CACjC,CAAC,MAAM,CAAC;gBACT,IAAI,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,MAAM,WAAW,GACf,2GAA2G,CAAC;oBAC9G,KAAK,MAAM,eAAe,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;wBACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;4BACtB,IAAI,EAAE,MAAM;4BACZ,UAAU,EAAE,eAAe,CAAC,EAAE;4BAC9B,QAAQ,EAAE,eAAe,CAAC,IAAI;4BAC9B,OAAO,EAAE,iBAAiB,WAAW,EAAE;yBACxC,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;wBACtB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,WAAW;qBACrB,CAAC,CAAC;oBACH,OAAO;wBACL,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE;4BACP,WAAW,EAAE,gBAAgB;4BAC7B,YAAY,EAAE,iBAAiB;4BAC/B,GAAG,CAAC,sBAAsB,GAAG,CAAC;gCAC5B,CAAC,CAAC,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;gCAC/C,CAAC,CAAC,EAAE,CAAC;yBACR;wBACC,QAAQ,EAAE,KAAK;qBAChB,CAAC;gBACJ,CAAC;gBAED,kDAAkD;gBAClD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC3C,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,cAAc,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC;wBACd,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACtB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,UAAU,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;oBACpC,IAAI,CAAC,UAAU,CAAC,mBAAmB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBACpD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,UAAkB,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE/B,uDAAuD;gBACvD,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACrE,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;oBACvG,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACpD,MAAM,QAAQ,GAAG,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxG,IAAI,QAAQ,EAAE,CAAC;wBACb,UAAU,GAAG,UAAU,QAAQ,CAAC,KAAK,CAAC,IAAI,8BAA8B,UAAU,kCAAkC,CAAC;oBACvH,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC;gBAED,yDAAyD;gBACzD,6DAA6D;gBAC7D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,gDAAgD;gBAChD,IAAI,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;oBAC3C,UAAU,GAAG,kBAAkB,CAC7B,QAAQ,CAAC,IAAI,EACb,UAAU,EACV,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAC/B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBAChD,IAAI,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;wBACjD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC;wBAC/C,UAAU,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,2CAA2C,QAAQ,OAAO,UAAU,CAAC,MAAM,eAAe,QAAQ,CAAC,IAAI,KAAK,SAAS,8MAA8M,CAAC;oBACnX,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC;wBACd,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,MAAM,EAAE,UAAU;wBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;qBACpC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACvC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oBACtB,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;gBACH,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,+BAA+B,CAAC,0BAA0B,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACtB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE;gBACD,WAAW,EAAE,gBAAgB;gBAC7B,YAAY,EAAE,iBAAiB;gBAC/B,GAAG,CAAC,sBAAsB,GAAG,CAAC;oBAC5B,CAAC,CAAC,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;oBAC/C,CAAC,CAAC,EAAE,CAAC;aACR;YACL,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,18 @@ export interface ToolResultMessage {
43
43
  export type SessionMessage = UserMessage | AssistantMessage | ToolResultMessage;
44
44
  /** Valid reasoning effort levels for models that support reasoning tokens. */
45
45
  export type ReasoningEffort = "xhigh" | "high" | "medium" | "low" | "minimal" | "none";
46
+ /**
47
+ * Constrains how the model uses tools on a given chat call.
48
+ * - `"auto"` (default): model decides whether to call a tool or reply with text.
49
+ * - `"required"`: model MUST call at least one tool. Useful for forcing
50
+ * action after a no-action attempt — prevents the model from burning
51
+ * its budget in extended thinking and returning nothing.
52
+ * - `"none"`: model may not call tools.
53
+ *
54
+ * If `tools` is empty, `"required"` is silently downgraded to `"auto"` (the
55
+ * provider would otherwise reject the request).
56
+ */
57
+ export type ToolChoice = "auto" | "required" | "none";
46
58
  export interface AgentConfig {
47
59
  modelProvider: "anthropic" | "openai-compatible";
48
60
  model: string;
@@ -78,8 +90,28 @@ export interface AgentConfig {
78
90
  compactionModel?: string;
79
91
  /** Reasoning effort level for models that support reasoning tokens. When unset, no reasoning parameters are sent. */
80
92
  reasoningEffort?: ReasoningEffort;
93
+ /**
94
+ * Hard cap on reasoning tokens per turn. When set, sent as
95
+ * `reasoning.max_tokens` on OpenAI-compatible requests and used to
96
+ * clamp Anthropic's `thinking.budget_tokens`. Opt-in; usually unset.
97
+ *
98
+ * Mainly a lever for models like Gemini 2.5 Pro that cannot disable
99
+ * dynamic thinking and can otherwise burn their entire output budget
100
+ * on reasoning without producing visible content or tool calls. Use
101
+ * with caution — capping below what a hard task needs will reduce
102
+ * answer quality.
103
+ */
104
+ reasoningMaxTokens?: number;
81
105
  /** Rebuild the system prompt (including code map) every agent step. Disabling improves KV cache hit rates for local models. Default: false */
82
106
  enableDynamicPrompt?: boolean;
107
+ /**
108
+ * When set, forwarded to `ModelClient.chat` on every step. Mainly used by
109
+ * the benchmark retry path to set `"required"` on a second attempt after
110
+ * the first attempt produced no action (forces the model to commit to a
111
+ * tool call rather than another pure-thinking collapse). Unset in normal
112
+ * agent operation.
113
+ */
114
+ toolChoice?: ToolChoice;
83
115
  }
84
116
  export interface ToolSchema {
85
117
  name: string;
@@ -96,6 +128,24 @@ export interface ModelResponse {
96
128
  text: string;
97
129
  toolCalls: ToolCall[];
98
130
  stopReason: "end_turn" | "tool_use" | "max_tokens";
131
+ /**
132
+ * Extended-thinking / reasoning content produced by the model, when
133
+ * the provider exposes it. Anthropic surfaces it via `thinking` content
134
+ * blocks on extended-thinking models; OpenRouter forwards Gemini-2.5/3
135
+ * thinking content via `choices[0].message.reasoning` (and some
136
+ * providers via `reasoning_content`). Previously both clients dropped
137
+ * this content on the floor — we only retained the token count. Keep
138
+ * it on the response so:
139
+ * 1. Traces / UIs can display the model's reasoning alongside its
140
+ * visible output.
141
+ * 2. The agent loop can detect "pure-thinking collapse" (text empty,
142
+ * toolCalls empty, reasoningContent non-empty) and surface the
143
+ * reasoning instead of the generic "no response" fallback.
144
+ *
145
+ * Separate from `text` because thinking content is structured side
146
+ * information, not the model's reply to the user.
147
+ */
148
+ reasoningContent?: string;
99
149
  /**
100
150
  * Set when the caller supplied an `outputSchema` and the model
101
151
  * called the synthetic respond tool with arguments matching the
@@ -115,6 +165,14 @@ export interface ModelResponse {
115
165
  * provider-specific shape.
116
166
  */
117
167
  cachedInputTokens?: number;
168
+ /**
169
+ * Reasoning ("thinking") tokens reported by reasoning-capable models.
170
+ * For OpenAI-compatible providers these are nested under
171
+ * `completion_tokens_details.reasoning_tokens` and ARE included in
172
+ * the total `completion_tokens`, so they count against `max_tokens`.
173
+ * Surfaced here so traces can show whether reasoning is firing.
174
+ */
175
+ reasoningTokens?: number;
118
176
  };
119
177
  }
120
178
  /**
@@ -165,6 +223,10 @@ export interface ModelClient {
165
223
  tools: ToolSchema[];
166
224
  maxTokens: number;
167
225
  reasoningEffort?: ReasoningEffort;
226
+ /** See `AgentConfig.reasoningMaxTokens`. */
227
+ reasoningMaxTokens?: number;
228
+ /** See `AgentConfig.toolChoice`. Silently downgraded to `"auto"` when `tools` is empty. */
229
+ toolChoice?: ToolChoice;
168
230
  onStream?: (chunk: string) => void;
169
231
  signal?: AbortSignal;
170
232
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"AAoJA;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,GAAG,CAAU;IACb,MAAM,CAAmD;IAElE,YACE,OAAe,EACf,GAAY,EACZ,MAAwD;QAExD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"AA+MA;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,GAAG,CAAU;IACb,MAAM,CAAmD;IAElE,YACE,OAAe,EACf,GAAY,EACZ,MAAwD;QAExD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import Anthropic from "@anthropic-ai/sdk";
2
- import type { AgentConfig, ModelClient, ModelInfo, ModelResponse, OutputSchema, ReasoningEffort, SessionMessage, ToolSchema } from "../agent/types.js";
2
+ import type { AgentConfig, ModelClient, ModelInfo, ModelResponse, OutputSchema, ReasoningEffort, SessionMessage, ToolChoice, ToolSchema } from "../agent/types.js";
3
3
  export declare class AnthropicModelClient implements ModelClient {
4
4
  private readonly client;
5
5
  private readonly timeoutSeconds;
@@ -14,6 +14,8 @@ export declare class AnthropicModelClient implements ModelClient {
14
14
  tools: ToolSchema[];
15
15
  maxTokens: number;
16
16
  reasoningEffort?: ReasoningEffort;
17
+ reasoningMaxTokens?: number;
18
+ toolChoice?: ToolChoice;
17
19
  onStream?: (chunk: string) => void;
18
20
  signal?: AbortSignal;
19
21
  cacheableSystem?: boolean;
@@ -39,6 +41,8 @@ export declare class OpenAICompatibleModelClient implements ModelClient {
39
41
  tools: ToolSchema[];
40
42
  maxTokens: number;
41
43
  reasoningEffort?: ReasoningEffort;
44
+ reasoningMaxTokens?: number;
45
+ toolChoice?: ToolChoice;
42
46
  onStream?: (chunk: string) => void;
43
47
  signal?: AbortSignal;
44
48
  cacheableSystem?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/model/client.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,UAAU,EACX,MAAM,mBAAmB,CAAC;AA8jB3B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,MAAM,qBAAgC,EACtC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE;IAiBrD,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC,aAAa,CAAC;IA6FpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAYzC;AA0HD,qBAAa,2BAA4B,YAAW,WAAW;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAcK,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC,aAAa,CAAC;IAmGpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAmBzC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAclE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/model/client.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,UAAU,EACV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAqoB3B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,MAAM,qBAAgC,EACtC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE;IAiBrD,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC,aAAa,CAAC;IAgHpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAYzC;AAuID,qBAAa,2BAA4B,YAAW,WAAW;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAcK,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC,aAAa,CAAC;IAiHpB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAmBzC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAclE"}