@aiwayds/dsh-tui-pi 0.11.2 → 0.12.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/lib/commands.d.ts CHANGED
@@ -18,6 +18,7 @@ import type { Context } from '@deepseek-ai/cordis';
18
18
  import type { Agent } from '@deepseek-ai/dsh-agent';
19
19
  import { type CommandDescriptor, type CommandExecution, type CommandResult } from '@deepseek-ai/dsh-commands';
20
20
  import type { AutocompleteProvider } from '@earendil-works/pi-tui';
21
+ import type { UsageRecorder } from './usage.ts';
21
22
  import type { DshSessionBridge } from './session.ts';
22
23
  /**
23
24
  * Structural mirror of dsh-attachment's rc.8 `EncodedImageAttachment` —
@@ -56,7 +57,12 @@ export declare class CommandService {
56
57
  private readonly bridge;
57
58
  /** TUI-owned command bodies, dispatchable without a live agent. */
58
59
  private readonly local;
59
- constructor(ctx: Context, bridge: DshSessionBridge);
60
+ /**
61
+ * Optional usage memory backing frequency-sorted completions. Undefined in
62
+ * tests / degraded setups: the completion list then stays name-sorted.
63
+ */
64
+ private readonly usage;
65
+ constructor(ctx: Context, bridge: DshSessionBridge, usage?: UsageRecorder);
60
66
  /**
61
67
  * Register a local command body (the same handler the ctx.commands
62
68
  * registration wraps). It is dispatched directly when no live agent
@@ -88,5 +94,11 @@ export declare class CommandService {
88
94
  private listSkills;
89
95
  /** Native `/name` skill candidates for the mixed `/` command list. */
90
96
  private nativeSkillCandidates;
97
+ /**
98
+ * Whether `name` matches a user-invocable skill in the live registry —
99
+ * the confirmation that a fall-through line is a genuine skill gesture.
100
+ * An absent or failing skills registry answers false (nothing counted).
101
+ */
102
+ private isUserSkillName;
91
103
  }
92
104
  export {};
package/lib/commands.js CHANGED
@@ -15,7 +15,7 @@
15
15
  * and would mint a throwaway session just to run them.
16
16
  */
17
17
  import { parseCommand, } from '@deepseek-ai/dsh-commands';
18
- import { buildNativeSkillCandidates, completionLabel, mergeMixedSkillItems, } from "./skills.js";
18
+ import { buildNativeSkillCandidates, completionLabel, isUserSkill, mergeMixedSkillItems, } from "./skills.js";
19
19
  /**
20
20
  * Token ending at the cursor on one editor line, for command detection.
21
21
  * Returns the leading slash token when the caret sits inside one. The token
@@ -53,9 +53,15 @@ export class CommandService {
53
53
  bridge;
54
54
  /** TUI-owned command bodies, dispatchable without a live agent. */
55
55
  local = new Map();
56
- constructor(ctx, bridge) {
56
+ /**
57
+ * Optional usage memory backing frequency-sorted completions. Undefined in
58
+ * tests / degraded setups: the completion list then stays name-sorted.
59
+ */
60
+ usage;
61
+ constructor(ctx, bridge, usage) {
57
62
  this.ctx = ctx;
58
63
  this.bridge = bridge;
64
+ this.usage = usage;
59
65
  }
60
66
  /**
61
67
  * Register a local command body (the same handler the ctx.commands
@@ -86,6 +92,8 @@ export class CommandService {
86
92
  const result = await localHandler(parsed.rawInput, signal);
87
93
  if (result.kind === 'error')
88
94
  return { handled: true, error: result.text };
95
+ // Successful invocation — count it for frequency-sorted completions.
96
+ this.usage?.record(parsed.name);
89
97
  return { handled: true, ...result.text === undefined ? {} : { text: result.text } };
90
98
  }
91
99
  catch (error) {
@@ -107,6 +115,16 @@ export class CommandService {
107
115
  if (commands.find(agent, parsed.name) === undefined) {
108
116
  // Syntactically a command but unregistered → treat as ordinary text so
109
117
  // the model still sees it (matches "unknown command" falling through).
118
+ // When the name IS a user-invocable skill, this line is the harness's
119
+ // `/name` skill gesture: the prompt lands on the model untouched and
120
+ // tool-skill's agent/pre-step injects the rendered skill content —
121
+ // count it so completions rank the skill by real usage. (Names outside
122
+ // parseCommand's charset never get here; those gestures stay uncounted,
123
+ // an accepted edge. Without a recorder the registry probe is skipped
124
+ // entirely — no skills.list() round-trip for plain fall-throughs.)
125
+ if (this.usage !== undefined && (await this.isUserSkillName(parsed.name))) {
126
+ this.usage.record(parsed.name);
127
+ }
110
128
  return { handled: false };
111
129
  }
112
130
  try {
@@ -115,6 +133,8 @@ export class CommandService {
115
133
  return { handled: false };
116
134
  if (execution.result.kind === 'error')
117
135
  return { handled: true, error: execution.result.text };
136
+ // Successful invocation — count it for frequency-sorted completions.
137
+ this.usage?.record(parsed.name);
118
138
  return { handled: true, ...execution.result.text === undefined ? {} : { text: execution.result.text } };
119
139
  }
120
140
  catch (error) {
@@ -152,8 +172,8 @@ export class CommandService {
152
172
  if (at.start !== 0 && line.slice(0, at.start).trim() !== '')
153
173
  return null;
154
174
  // Generic `/` completion: commands and the user skills' native `/name`
155
- // rows in one mixed list, sorted by display name and filtered by the
156
- // token after the slash.
175
+ // rows in one mixed list, ordered most-used first (usage table) with
176
+ // display name as tie-break, filtered by the token after the slash.
157
177
  const query = at.token.slice(1).toLowerCase();
158
178
  const descriptors = await this.list();
159
179
  const commandItems = descriptors
@@ -165,7 +185,7 @@ export class CommandService {
165
185
  kind: 'command',
166
186
  }));
167
187
  const nativeSkillItems = await this.nativeSkillCandidates();
168
- const items = mergeMixedSkillItems(commandItems, nativeSkillItems, query);
188
+ const items = mergeMixedSkillItems(commandItems, nativeSkillItems, query, this.usage?.snapshot());
169
189
  if (items.length === 0)
170
190
  return null;
171
191
  return { items, prefix: at.token };
@@ -211,5 +231,15 @@ export class CommandService {
211
231
  async nativeSkillCandidates() {
212
232
  return buildNativeSkillCandidates(await this.listSkills());
213
233
  }
234
+ /**
235
+ * Whether `name` matches a user-invocable skill in the live registry —
236
+ * the confirmation that a fall-through line is a genuine skill gesture.
237
+ * An absent or failing skills registry answers false (nothing counted).
238
+ */
239
+ async isUserSkillName(name) {
240
+ const lower = name.toLowerCase();
241
+ const skills = await this.listSkills();
242
+ return skills.some(skill => isUserSkill(skill) && skill.name.toLowerCase() === lower);
243
+ }
214
244
  }
215
245
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -33,6 +33,7 @@ import { reloadPlugin } from "./reload.js";
33
33
  import { inspectPersistedSession, pickPersistedSession, showSessionInfo } from "./sessions.js";
34
34
  import { applySubagentPolicy } from "./subagent-policy.js";
35
35
  import { openSubagentViewer } from "./subagent-viewer.js";
36
+ import { commandUsagePath, CommandUsageTracker } from "./usage.js";
36
37
  import { ansiFg, BOLD, darkTheme, lightTheme, RESET, resolveTheme } from "./theme/index.js";
37
38
  import { rgbIsLight } from "./theme/palette.js";
38
39
  import { clipToWidth } from "./text.js";
@@ -441,7 +442,12 @@ export function apply(ctx) {
441
442
  ? undefined
442
443
  : presets.current(agent.session.events);
443
444
  };
444
- const commands = new CommandService(ctx, bridge);
445
+ // Usage memory for the slash completion list: successful commands and
446
+ // skill gestures bump per-name counters persisted under $DSH_HOME. The
447
+ // disk copy is authoritative — a /reload swaps this plugin fiber and the
448
+ // fresh tracker re-reads the file, so counts survive hot reloads too.
449
+ const commandUsage = new CommandUsageTracker(commandUsagePath());
450
+ const commands = new CommandService(ctx, bridge, commandUsage);
445
451
  // Wiring through the handle: the editor is rebuilt on theme hot-swap, and
446
452
  // these providers are re-applied to the replacement instance.
447
453
  ui.setEditorAutocompleteProvider(commands.autocompleteProvider());
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAA4B,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,eAAe,EAA2C,MAAM,aAAa,CAAA;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,oBAAoB,EAAwB,MAAM,cAAc,CAAA;AACzI,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAuC,MAAM,kBAAkB,CAAA;AAChI,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAkB,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,EAAE,QAAQ,EAAkB,MAAM,UAAU,CAAA;AAEnD,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAA;AAEhC;;;;;GAKG;AACH,MAAM,eAAe,GAAG,GAAG,CAAA;AAE3B;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,GAAG,CAAA;AAE3B,qEAAqE;AACrE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAE5C,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,IAAI,MAA6B,CAAA;IACjC,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,6DAA6D;IAC7D,EAAE;IACF,wEAAwE;IACxE,sEAAsE;IACtE,8DAA8D;IAC9D,KAAK,sBAAsB,EAAE,CAAA;IAC7B,KAAK,0BAA0B,EAAE,CAAA;IACjC;;;;;OAKG;IACH,IAAI,aAA4D,CAAA;IAChE;;;;OAIG;IACH,IAAI,mBAAgE,CAAA;IACpE;;;;OAIG;IACH,IAAI,mBAA+D,CAAA;IACnE;;;;;;OAMG;IACH,IAAI,eAAqD,CAAA;IAEzD,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACpB,kEAAkE;QAClE,yEAAyE;QACzE,yEAAyE;QACzE,kEAAkE;QAClE,mEAAmE;QACnE,0EAA0E;QAC1E,yEAAyE;QACzE,uBAAuB;QACvB,sEAAsE;QACtE,wEAAwE;QACxE,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,0CAA0C;QAC1C,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;YAChE,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAA;YAC7B,aAAa,EAAE,CAAC,IAAI,CAAC,CAAA;YACrB,mBAAmB,EAAE,CAAC,WAAW,CAAC,CAAA;YAClC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QACF,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAA;QACxD,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAA;QACxD,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,iEAAiE;QACjE,kEAAkE;QAClE,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAC1D,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,EAAE,CAAA;QACzD,YAAY,CAAC,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAA;QAClE,IAAI,QAAkC,CAAA;QACtC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAA;QACjF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oEAAoE;YACpE,uEAAuE;YACvE,kEAAkE;YAClE,uCAAuC;YACvC,MAAM,EAAE,OAAO,EAAE,CAAA;YACjB,MAAM,GAAG,SAAS,CAAA;YAClB,MAAM,KAAK,CAAA;QACb,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAEvB;;;;;;;OAOG;IACH,SAAS,MAAM,CAAC,eAAgC,EAAE,WAAwB,EAAE,WAAwB,EAAE,iBAA0B;QAC9H,yEAAyE;QACzE,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1C,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACf,KAAK,MAAM,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC;YACD,WAAW,EAAE,WAAW,CAAC,QAAQ;YACjC,kEAAkE;YAClE,kEAAkE;YAClE,oEAAoE;YACpE,gEAAgE;YAChE,wEAAwE;YACxE,sEAAsE;YACtE,iEAAiE;YACjE,qEAAqE;YACrE,qBAAqB;YACrB,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;YACnC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM;YACvD,WAAW,EAAE,CAAC,MAAiB,EAAE,EAAE;gBACjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,oBAAoB;wBACvB,gEAAgE;wBAChE,iEAAiE;wBACjE,8DAA8D;wBAC9D,8DAA8D;wBAC9D,QAAQ,CAAC,YAAY,CAAC,0CAA0C,EAAE,MAAM,CAAC,CAAA;wBACzE,MAAK;oBACP,KAAK,kBAAkB,CAAC,CAAC,CAAC;wBACxB,gEAAgE;wBAChE,4DAA4D;wBAC5D,iEAAiE;wBACjE,+DAA+D;wBAC/D,8DAA8D;wBAC9D,kEAAkE;wBAClE,gEAAgE;wBAChE,6DAA6D;wBAC7D,8DAA8D;wBAC9D,2DAA2D;wBAC3D,kCAAkC;wBAClC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;4BACnC,YAAY,CAAC,gBAAgB,CAAC,CAAA;4BAC9B,gBAAgB,GAAG,SAAS,CAAA;4BAC5B,KAAK,QAAQ,EAAE,CAAA;4BACf,MAAK;wBACP,CAAC;wBACD,QAAQ,CAAC,YAAY,CAAC,GAAG,QAAQ,EAAE,oCAAoC,EAAE,MAAM,CAAC,CAAA;wBAChF,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;4BACjC,gBAAgB,GAAG,SAAS,CAAA;4BAC5B,KAAK,QAAQ,EAAE,CAAA;wBACjB,CAAC,EAAE,eAAe,CAAC,CAAA;wBACnB,MAAK;oBACP,CAAC;oBACD,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,4DAA4D;wBAC5D,8DAA8D;wBAC9D,0CAA0C;wBAC1C,KAAK,QAAQ,EAAE,CAAA;wBACf,MAAK;oBACP,CAAC;oBACD,KAAK,kBAAkB;wBACrB,+DAA+D;wBAC/D,+DAA+D;wBAC/D,mDAAmD;wBACnD,KAAK,cAAc,CAAC,EAAE,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAA;wBACrD,MAAK;oBACP,KAAK,cAAc;wBACjB,8DAA8D;wBAC9D,mCAAmC;wBACnC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;wBACrB,EAAE,CAAC,aAAa,EAAE,CAAA;wBAClB,MAAK;oBACP,KAAK,aAAa,CAAC,CAAC,CAAC;wBACnB,8DAA8D;wBAC9D,mEAAmE;wBACnE,8DAA8D;wBAC9D,gEAAgE;wBAChE,mDAAmD;wBACnD,kEAAkE;wBAClE,kEAAkE;wBAClE,+CAA+C;wBAC/C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;4BACnC,YAAY,CAAC,gBAAgB,CAAC,CAAA;4BAC9B,gBAAgB,GAAG,SAAS,CAAA;4BAC5B,KAAK,cAAc,CAAC,CAAC,CAAC,CAAA;4BACtB,MAAK;wBACP,CAAC;wBACD,QAAQ,CAAC,YAAY,CAAC,GAAG,QAAQ,EAAE,wBAAwB,EAAE,MAAM,CAAC,CAAA;wBACpE,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;4BACjC,gBAAgB,GAAG,SAAS,CAAA;4BAC5B,KAAK,cAAc,CAAC,CAAC,CAAC,CAAA;wBACxB,CAAC,EAAE,eAAe,CAAC,CAAA;wBACnB,MAAK;oBACP,CAAC;oBACD,KAAK,YAAY;wBACf,8DAA8D;wBAC9D,4DAA4D;wBAC5D,gCAAgC;wBAChC,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;4BAC9D,YAAY,CAAC,gBAAgB,CAAC,CAAA;4BAC9B,gBAAgB,GAAG,SAAS,CAAA;4BAC5B,QAAQ,CAAC,YAAY,CAAC,oDAAoD,EAAE,MAAM,CAAC,CAAA;wBACrF,CAAC;wBACD,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;4BAC9D,YAAY,CAAC,gBAAgB,CAAC,CAAA;4BAC9B,gBAAgB,GAAG,SAAS,CAAA;4BAC5B,QAAQ,CAAC,YAAY,CAAC,iDAAiD,EAAE,MAAM,CAAC,CAAA;wBAClF,CAAC;wBACD,MAAK;oBACP,KAAK,aAAa;wBAChB,KAAK,cAAc,CAAC,CAAC,CAAC,CAAA;wBACtB,MAAK;oBACP,KAAK,cAAc;wBACjB,6DAA6D;wBAC7D,KAAK,YAAY,CAAC,EAAE,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAA;wBACnD,MAAK;oBACP,KAAK,iBAAiB;wBACpB,6DAA6D;wBAC7D,uDAAuD;wBACvD,KAAK,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;wBACxF,MAAK;oBACP;wBACE,MAAK;gBACT,CAAC;YACH,CAAC;YACD,eAAe;SAChB,CAAC,CAAA;QACF,MAAM,GAAG,EAAE,CAAA;QACX,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,kBAAkB,GAAoB,eAAe,CAAA;QACzD;;;;WAIG;QACH,IAAI,gBAA2D,CAAA;QAC/D;;;;;;WAMG;QACH,IAAI,gBAA2D,CAAA;QAC/D;;;;;WAKG;QACH,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;YACzC,QAAQ,CAAC,YAAY,CAAC,GAAG,QAAQ,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAA;YACtE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAA;YACjD,sEAAsE;YACtE,+DAA+D;YAC/D,IAAI,CAAC,SAAS;gBAAE,QAAQ,CAAC,YAAY,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;QAC7E,CAAC,CAAA;QACD,0EAA0E;QAC1E,aAAa,GAAG,CAAC,IAAqB,EAAQ,EAAE;YAC9C,kBAAkB,GAAG,IAAI,CAAA;YACzB,mEAAmE;YACnE,kEAAkE;YAClE,EAAE,CAAC,GAAG,CAAC,mCAAmC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;YAC3D,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAA;QAC1F,2EAA2E;QAC3E,yEAAyE;QACzE,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3C,QAAQ,CAAC,YAAY,CAAC,gBAAgB,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;QAC3D,CAAC;QACD,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,mEAAmE;QACnE,oEAAoE;QACpE,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,WAAW,CACjC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,WAAW;QAC3E,yEAAyE;QACzE,2DAA2D;QAC3D,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CACxC,CAAA;QACD,0EAA0E;QAC1E,iEAAiE;QACjE,qEAAqE;QACrE,mBAAmB,GAAG,CAAC,MAAmB,EAAQ,EAAE;YAClD,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAA;QAED,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,mEAAmE;QACnE,wEAAwE;QACxE,2BAA2B;QAC3B,IAAI,aAAyC,CAAA;QAC7C,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,aAAa,KAAK,SAAS;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAA;YAC5D,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,aAAa,GAAG,SAAS,CAAA;gBACzB,QAAQ,CAAC,QAAQ,EAAE,CAAA;YACrB,CAAC,EAAE,CAAC,CAAC,CAAA;QACP,CAAC,CAAA;QACD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAErC,gEAAgE;QAChE,IAAI,MAA0B,CAAA;QAC9B,IAAI,WAAW,GAAuB,MAAM,CAAA;QAC5C,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAQ,EAAE;YACrD,WAAW,GAAG,MAAM,CAAA;YACpB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,GAAG,IAAI,MAAM,CACjB,EAAE,CAAC,GAAG,EACN,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,EAC7D,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,EAC7D,UAAU,CACX,CAAA;oBACD,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;oBAC1B,MAAM,CAAC,KAAK,EAAE,CAAA;gBAChB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,EAAE,CAAA;gBACb,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAC7B,MAAM,GAAG,SAAS,CAAA;gBAClB,EAAE,CAAC,aAAa,EAAE,CAAA;YACpB,CAAC;QACH,CAAC,CAAA;QAED,wEAAwE;QACxE,kEAAkE;QAClE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAA;QAChG,MAAM,eAAe,GAAoB;YACvC,OAAO,EAAE,CAAC,KAAmB,EAAE,EAAE;gBAC/B,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC1B,oEAAoE;gBACpE,+DAA+D;gBAC/D,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC3C,CAAC;gBACD,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,uBAAuB,EAAE,CAAA;oBACzB,EAAE,CAAC,aAAa,EAAE,CAAA;gBACpB,CAAC;YACH,CAAC;YACD,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,CAAC,MAA4B,EAAE,EAAE;gBACvC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAClC,CAAC;SACF,CAAA;QACD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;QACzD,0EAA0E;QAC1E,sEAAsE;QACtE,oEAAoE;QACpE,wEAAwE;QACxE,wEAAwE;QACxE,6DAA6D;QAC7D,wBAAwB;QACxB,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,EAAE;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;YACvC,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YACvD,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;SACrD,CAAC,CAAA;QACF,eAAe,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAE9F;;;;;;;WAOG;QACH,IAAI,gBAAoC,CAAA;QACxC,MAAM,uBAAuB,GAAG,GAAS,EAAE;YACzC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YAC/B,gBAAgB,GAAG,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;gBAC7D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC3C,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAChD,0EAA0E;QAC1E,8DAA8D;QAC9D,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAA;QAEjE,0EAA0E;QAC1E,yEAAyE;QACzE,iEAAiE;QACjE,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,iEAAiE;QAEjE,MAAM,YAAY,GAAwB,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAC5C,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CACjC,CAAA;YACD,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAA;YACvF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,GAAG,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;YACjF,CAAC;YACD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAC3B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC3D,EAAE,CAAC,aAAa,EAAE,CAAA;YAClB,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,KAAK,SAAS;gBACpD,CAAC,CAAC,UAAU,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE;gBAC7C,CAAC,CAAC,UAAU,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAA;YACzF,OAAO;gBACL,IAAI,EAAE,SAAkB;gBACxB,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,uBAAuB,YAAY,EAAE;aACjG,CAAA;QACH,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC5E,CAAC,EAAE,oBAAoB,CAAC,CAAA;QAEzB,uEAAuE;QACvE,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,aAAa,GAAwB,KAAK,EAAC,QAAQ,EAAC,EAAE;YAC1D,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YACtC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EACvD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CACrC,CAAA;YACD,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;YACxF,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QACnD,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gFAAgF;YAC7F,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC7E,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAE1B,uEAAuE;QACvE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,gBAAgB,GAAwB,KAAK,IAAI,EAAE;YACvD,MAAM,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YACzF,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAA;QACtE,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;QACrD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAChF,CAAC,EAAE,wBAAwB,CAAC,CAAA;QAE7B,wEAAwE;QACxE,sEAAsE;QACtE,uEAAuE;QACvE,MAAM,YAAY,GAAwB,KAAK,IAAI,EAAE;YACnD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;YACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,iDAAiD,EAAE,CAAA;YAC5F,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YACjG,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAClC,OAAO;oBACL,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,sCAAsC;iBACjF,CAAA;YACH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAA;YACpG,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;gBACjE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBACzB,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBACzD,EAAE,CAAC,aAAa,EAAE,CAAA;gBAClB,MAAM,SAAS,GAAG,4BAA4B,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,CAAA;gBACnF,OAAO;oBACL,IAAI,EAAE,SAAkB;oBACxB,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,uBAAuB,YAAY,EAAE;iBACjG,CAAA;YACH,CAAC;YACD,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,eAAe,EAAE,MAAM,CAAC,MAAM;aAC/B,CAAA;YACD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YACzB,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACzD,EAAE,CAAC,aAAa,EAAE,CAAA;YAClB,MAAM,SAAS,GAAG,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,CAAA;YAC3F,OAAO;gBACL,IAAI,EAAE,SAAkB;gBACxB,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,uBAAuB,YAAY,EAAE;aACjG,CAAA;QACH,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,qDAAqD;YAClE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC5E,CAAC,EAAE,oBAAoB,CAAC,CAAA;QAEzB,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,qEAAqE;QACrE,gDAAgD;QAChD,MAAM,gBAAgB,GAAwB,KAAK,IAAI,EAAE;YACvD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAA+C,CAAA;YACpF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAA;YACjF,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;YACxC,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QACnD,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;QACvD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,8EAA8E;YAC3F,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAChF,CAAC,EAAE,0BAA0B,CAAC,CAAA;QAE/B,2EAA2E;QAC3E,2EAA2E;QAC3E,uEAAuE;QACvE,mEAAmE;QACnE,mEAAmE;QACnE,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,sBAAsB,GAAwB,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC7E,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAA;YAC7E,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAA;YACxE,CAAC;YACD,OAAO,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9D,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAA;QAC5D,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,oFAAoF;YACjG,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SACtF,CAAC,EAAE,yBAAyB,CAAC,CAAA;QAE9B,MAAM,cAAc,GAAwB,KAAK,IAAI,EAAE;YACrD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;YACvC,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,MAAM,CAAA;YACpC,MAAM,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE;gBACtC,EAAE,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,GAAG,EAAE,MAAM,EAAE,GAAG;gBAChB,SAAS,EAAE,MAAM,EAAE,SAAS;gBAC5B,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE;gBACvF,MAAM,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS;oBACxE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBAC5D,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;gBACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;gBAClD,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;gBACzE,aAAa,EAAE,MAAM,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aAC9F,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YACpC,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAA;QAC/G,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QACjD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,qDAAqD;YAClE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC9E,CAAC,EAAE,sBAAsB,CAAC,CAAA;QAE3B,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,aAAa,GAAwB,KAAK,IAAI,EAAE;YACpD,IAAI,MAAwD,CAAA;YAC5D,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;gBACvC,MAAM,GAAG,MAAM,oBAAoB,CACjC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EACvD,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CACjC,CAAA;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtE,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;YAClD,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAA;YACnF,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;YAE/F,mEAAmE;YACnE,qDAAqD;YACrD,IAAI,CAAC;gBACH,MAAM,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;YAC/C,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtE,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,iBAAiB,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE,EAAE,CAAA;YAC3G,CAAC;YAED,IAAI,OAAwD,CAAA;YAC5D,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtE,OAAO;oBACL,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,kBAAkB,OAAO,uEAAuE;iBACvG,CAAA;YACH,CAAC;YACD,uEAAuE;YACvE,gEAAgE;YAChE,uBAAuB,EAAE,CAAA;YACzB,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;YACtE,4CAA4C;YAC5C,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,WAAW,CAAC,KAAK,EAAE,CAAA;YACnB,iEAAiE;YACjE,kEAAkE;YAClE,mEAAmE;YACnE,sEAAsE;YACtE,kEAAkE;YAClE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;YACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;YAC/E,EAAE,CAAC,aAAa,EAAE,CAAA;YAClB,OAAO;gBACL,IAAI,EAAE,SAAkB;gBACxB,IAAI,EAAE,WAAW,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,UAAU;aACxF,CAAA;QACH,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC7E,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAE1B,qEAAqE;QACrE,mEAAmE;QACnE,qEAAqE;QACrE,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,4EAA4E;QAC5E,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,oBAAoB,EAAE,CAAA;QAC/C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;oBACrD,mEAAmE;oBACnE,4DAA4D;oBAC5D,uBAAuB,EAAE,CAAA;oBACzB,QAAQ,CAAC,KAAK,EAAE,CAAA;oBAChB,WAAW,CAAC,KAAK,EAAE,CAAA;oBACnB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;oBACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;oBAC/E,EAAE,CAAC,aAAa,EAAE,CAAA;gBACpB,CAAC;gBAAC,MAAM,CAAC,CAAC,qDAAqD,CAAC,CAAC;YACnE,CAAC,CAAC,EAAE,CAAA;QACN,CAAC;QAED,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,OAAgB;YACtB,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC,CAAA;QACH,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;YAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,KAAK,EAAC,UAAU,EAAC,EAAE;gBAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;gBACzH,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;gBACjG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACjD,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;gBACrF,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,YAAY,MAAM,CAAC,MAAM,aAAa,MAAM,EAAE,EAAE,CAAA;YAC3F,CAAC;SACF,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAE1B,sEAAsE;QACtE,kEAAkE;QAClE,wEAAwE;QACxE,iEAAiE;QACjE,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,UAAU,GAAwB,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC9D,qEAAqE;YACrE,gDAAgD;YAChD,uBAAuB,EAAE,CAAA;YACzB,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,wEAAwE;YACxE,oCAAoC;YACpC,WAAW,CAAC,KAAK,EAAE,CAAA;YACnB,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAA;QACnE,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QACzC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC1E,CAAC,EAAE,kBAAkB,CAAC,CAAA;QAEvB,yEAAyE;QACzE,wEAAwE;QACxE,4EAA4E;QAC5E,gEAAgE;QAChE,MAAM,eAAe,GAAwB,KAAK,IAAI,EAAE;YACtD,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAA;YAC/E,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;gBACxC,GAAG;gBACH,GAAG,EAAE,EAAE,CAAC,GAAG;gBACX,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;gBAC9C,OAAO,EAAE,OAAO,CAAC,EAAE;oBACjB,mEAAmE;oBACnE,gEAAgE;oBAChE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBACzC,CAAC;aACF,CAAC,CAAA;YACF,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAA;YAClG,OAAO;gBACL,IAAI,EAAE,SAAkB;gBACxB,IAAI,EAAE,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,aAAa,OAAO,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW;aACtE,CAAA;QACH,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QACnD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC/E,CAAC,EAAE,uBAAuB,CAAC,CAAA;QAE5B,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,aAAa,GAAwB,KAAK,IAAI,EAAE;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YAC/B,sBAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC7G,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAA;QACrE,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC7E,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAE1B,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,mEAAmE;QACnE,oEAAoE;QACpE,MAAM,YAAY,GAAwB,KAAK,IAAI,EAAE;YACnD,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAA;YAC/E,CAAC;YACD,uEAAuE;YACvE,gEAAgE;YAChE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/G,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAA;YACvF,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC1D,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;YACjF,sEAAsE;YACtE,qEAAqE;YACrE,qEAAqE;YACrE,8DAA8D;YAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACjD,UAAU,CAAC,OAAO,CAAC,CAAA;YACnB,MAAM,QAAQ,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;YAC5F,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACnD,OAAO;oBACL,IAAI,EAAE,SAAkB;oBACxB,IAAI,EAAE,+DAA+D,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE;iBACjG,CAAA;YACH,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,UAAU,MAAM,aAAa,EAAE,CAAA;QAC1E,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,qDAAqD;YAClE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC5E,CAAC,EAAE,oBAAoB,CAAC,CAAA;QAEzB,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,aAAa,GAAwB,KAAK,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,EAAE,SAAkB;YACxB,IAAI,EAAE,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SAC/C,CAAC,CAAA;QACF,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oFAAoF;YACjG,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC7E,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAE1B,yEAAyE;QACzE,kEAAkE;QAClE,oEAAoE;QACpE,MAAM,cAAc,GAAwB,KAAK,IAAI,EAAE;YACrD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE;gBACzD,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC9C,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;aAC/C,CAAC,CAAA;YACF,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,OAAO,IAAI,wBAAwB,EAAE,CAAA;QAChF,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QACjD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,qEAAqE;YAClF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC9E,CAAC,EAAE,sBAAsB,CAAC,CAAA;QAE3B,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,6BAA6B;QAC7B,MAAM,YAAY,GAAwB,KAAK,EAAC,QAAQ,EAAC,EAAE;YACzD,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAA;YAC/E,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBACjC,GAAG;gBACH,GAAG,EAAE,EAAE,CAAC,GAAG;gBACX,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;gBAC9C,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC3D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;aAC/B,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO;oBACL,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,qBAAqB,MAAM,CAAC,MAAM,4CAA4C;iBACrF,CAAA;YACH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAA;YAC9F,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,YAAY,MAAM,CAAC,IAAI,cAAc,EAAE,CAAA;QAClF,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,gEAAgE;YAC7E,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC5E,CAAC,EAAE,oBAAoB,CAAC,CAAA;QAEzB,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,+DAA+D;QAC/D,qEAAqE;QACrE,8CAA8C;QAC9C,MAAM,aAAa,GAAwB,KAAK,IAAI,EAAE;YACpD,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAA;YAC/E,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,GAAG;gBACH,GAAG,EAAE,EAAE,CAAC,GAAG;gBACX,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;gBAC9C,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;aAC5D,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAA;YAC/E,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;YAC/F,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAA;gBACnE,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,uCAAuC,MAAM,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAA;YACxG,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACzC,OAAO;oBACL,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,2BAA2B,MAAM,CAAC,IAAI,2CAA2C,MAAM,CAAC,KAAK,EAAE;0BACjG,2DAA2D;iBAChE,CAAA;YACH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACvC,OAAO;oBACL,IAAI,EAAE,SAAkB;oBACxB,IAAI,EAAE,2BAA2B,MAAM,CAAC,IAAI,kDAAkD;0BAC1F,4DAA4D;iBACjE,CAAA;YACH,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,SAAkB;gBACxB,IAAI,EAAE,cAAc,MAAM,CAAC,IAAI,gDAAgD;aAChF,CAAA;QACH,CAAC,CAAA;QACD,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qEAAqE;YAClF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;SAC7E,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAE1B,8EAA8E;QAC9E,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC/C,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAA;QACvC,EAAE,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;QACjD,sEAAsE;QACtE,qEAAqE;QACrE,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,iEAAiE;QACjE,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,mBAAmB;QACnB,EAAE,CAAC,2BAA2B,CAAC,GAAG,EAAE;YAClC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YAC/B,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YAClE,MAAM,OAAO,GAAG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACzE,OAAO,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;QACzE,CAAC,CAAC,CAAA;QAEF,IAAI,aAAiC,CAAA;QACrC,IAAI,gBAAgB,GAAG,EAAE,CAAA;QACzB,MAAM,YAAY,GAAqB;YACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;YACjC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;YACzC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE;YAChC,gBAAgB,EAAE,GAAG,EAAE;gBACrB,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;gBACvC,IAAI,SAAS,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAA;gBAC7C,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAA;gBACtD,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;oBAC7B,gBAAgB,GAAG,GAAG,CAAA;oBACtB,aAAa,GAAG,SAAS,CAAA;oBACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACtB,KAAK,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BACzE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAA;4BAC1C,IAAI,gBAAgB,KAAK,GAAG,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gCAC3D,aAAa,GAAG,MAAM,CAAA;gCACtB,EAAE,CAAC,aAAa,EAAE,CAAA;4BACpB,CAAC;wBACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAqD,CAAC,CAAC,CAAA;oBACvE,CAAC;gBACH,CAAC;gBACD,OAAO,aAAa,CAAA;YACtB,CAAC;SACF,CAAA;QACD,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACjB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,gEAAgE;QAChE,IAAI,cAAc,GAAgB,WAAW,CAAA;QAC7C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAA;QACvE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC9B,yEAAyE;QACzE,mBAAmB,GAAG,CAAC,KAAkB,EAAQ,EAAE;YACjD,cAAc,GAAG,KAAK,CAAA;YACtB,EAAE,CAAC,aAAa,EAAE,CAAA;QACpB,CAAC,CAAA;QACD,0EAA0E;QAC1E,oEAAoE;QACpE,0EAA0E;QAC1E,2DAA2D;QAC3D,eAAe,GAAG,CAAC,GAAY,EAAQ,EAAE;YACvC,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAA;YACpD,EAAE,CAAC,aAAa,EAAE,CAAA;QACpB,CAAC,CAAA;QAED;;;;;;;;WAQG;QACH,MAAM,UAAU,GAAG,CAAC,KAAe,EAAQ,EAAE;YAC3C,IAAI,KAAK,KAAK,EAAE,CAAC,KAAK;gBAAE,OAAM;YAC9B,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACxB,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC3B,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACpB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,EAAE,CAAA;gBACb,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAC7B,MAAM,GAAG,SAAS,CAAA;gBAClB,SAAS,CAAC,WAAW,CAAC,CAAA;YACxB,CAAC;QACH,CAAC,CAAA;QAED,yEAAyE;QACzE,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;YAC/B,EAAE,CAAC,GAAG,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAA;YAChD,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBAC/F,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC5C,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;oBAC7C,OAAM;gBACR,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBACvG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAClF,CAAC;YACH,CAAC,CAAC,EAAE,CAAA;QACN,CAAC;QACD,wEAAwE;QACxE,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,kBAAkB,GAAG,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE;YACrE,IAAI,kBAAkB,KAAK,MAAM;gBAAE,OAAM;YACzC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QAEF,qEAAqE;QACrE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAA;QAC9D,UAAU,CAAC,KAAK,EAAE,EAAE,CAAA;QAEpB,qEAAqE;QACrE,oDAAoD;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAA;QAC1E,SAAS,CAAC,KAAK,EAAE,EAAE,CAAA;QAEnB;;;;;;WAMG;QACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAE9J,8EAA8E;QAC9E,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACxB,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAM;YACvB,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACrE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;YACrC,IAAI,WAAW,GAAG,IAAI,CAAA;YACtB,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC3D,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM;gBAC9B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/B,qEAAqE;YACrE,4DAA4D;YAC5D,qEAAqE;YACrE,wEAAwE;YACxE,mEAAmE;YACnE,kEAAkE;YAClE,4DAA4D;YAC5D,IAAI,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;gBAC5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;oBAC/B,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACvF,IAAI,MAA0B,CAAA;oBAC9B,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;oBACjG,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,oEAAoE;wBACpE,kEAAkE;wBAClE,gEAAgE;wBAChE,mEAAmE;wBACnE,qEAAqE;wBACrE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBACtE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;wBACvC,OAAM;oBACR,CAAC;oBACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAChD,iEAAiE;wBACjE,0DAA0D;wBAC1D,0CAA0C;wBAC1C,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAA;wBACpE,OAAM;oBACR,CAAC;oBACD,WAAW,GAAG,eAAe,MAAM,EAAE,CAAA;gBACvC,CAAC;YACH,CAAC;YACD,IAAI,OAA0D,CAAA;YAC9D,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YAC1D,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,oEAAoE;gBACpE,mEAAmE;gBACnE,qDAAqD;gBACrD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBACvC,OAAM;YACR,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC7D,OAAM;YACR,CAAC;YACD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,qDAAqD;gBACrD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACzC,CAAC;YACD,uEAAuE;YACvE,oEAAoE;YACpE,mDAAmD;YACnD,uBAAuB,EAAE,CAAA;QAC3B,CAAC,CAAA;QAED;;;;WAIG;QACH,IAAI,QAAmC,CAAA;QACvC,MAAM,cAAc,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;YAC3D,QAAQ,KAAK,CAAC,KAAK,IAAI,EAAE;gBACvB,aAAa,CAAC,UAAU,CAAC,CAAA;gBACzB,aAAa,CAAC,SAAS,CAAC,CAAA;gBACxB,GAAG,CAAC,OAAO,EAAE,CAAA;gBACb,IAAI,CAAC;oBAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;gBACxD,EAAE,CAAC,OAAO,EAAE,CAAA;gBACZ,IAAI,CAAC;oBAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC,CAAC,EAAE,CAAA;YACJ,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAA;QAED,OAAO,KAAK,IAAI,EAAE;YAChB,IAAI,aAAa,KAAK,SAAS;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAA;YAC5D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACjD,kBAAkB,EAAE,CAAA;YACpB,aAAa,CAAC,UAAU,CAAC,CAAA;YACzB,aAAa,CAAC,SAAS,CAAC,CAAA;YACxB,GAAG,CAAC,OAAO,EAAE,CAAA;YACb,aAAa,GAAG,SAAS,CAAA;YACzB,mBAAmB,GAAG,SAAS,CAAA;YAC/B,mBAAmB,GAAG,SAAS,CAAA;YAC/B,qEAAqE;YACrE,oEAAoE;YACpE,qEAAqE;YACrE,qEAAqE;YACrE,mEAAmE;YACnE,iEAAiE;YACjE,MAAM,EAAE,OAAO,EAAE,CAAA;YACjB,MAAM,GAAG,SAAS,CAAA;YAClB,sEAAsE;YACtE,uEAAuE;YACvE,wEAAwE;YACxE,6DAA6D;YAC7D,uBAAuB,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;YAC9C,IAAI,gBAAgB,KAAK,SAAS;gBAAE,YAAY,CAAC,gBAAgB,CAAC,CAAA;YAClE,IAAI,gBAAgB,KAAK,SAAS;gBAAE,YAAY,CAAC,gBAAgB,CAAC,CAAA;YAClE,cAAc,CAAC,OAAO,EAAE,CAAA;YACxB,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC1D,CAAC,CAAA;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/skills.d.ts CHANGED
@@ -24,6 +24,7 @@
24
24
  */
25
25
  import type { AutocompleteItem } from '@earendil-works/pi-tui';
26
26
  import type { SkillSummary } from '@deepseek-ai/dsh-skill';
27
+ import type { UsageSnapshot } from './usage.ts';
27
28
  /**
28
29
  * Enabled state of a skill for a human user: visible and loadable on every
29
30
  * surface (model catalog, `skill` tool, user gesture) only when both
@@ -151,16 +152,24 @@ export declare function isSkillCompletionItem(item: AutocompleteItem): boolean;
151
152
  * the value after the leading `/`.
152
153
  */
153
154
  export declare function completionName(item: AutocompleteItem): string;
154
- /** Sort completion rows by their native display name (stable, locale-aware). */
155
- export declare function sortCompletionItems(items: readonly AutocompleteItem[]): AutocompleteItem[];
155
+ /**
156
+ * Sort completion rows for the generic `/` dropdown (stable, never mutates
157
+ * the input). With a non-empty `usage` table (name → count), most-used rows
158
+ * come first and native display name only breaks ties; without usage data
159
+ * every row has count 0, which degenerates to exactly the historical
160
+ * name-only ordering.
161
+ */
162
+ export declare function sortCompletionItems(items: readonly AutocompleteItem[], usage?: UsageSnapshot): AutocompleteItem[];
156
163
  /**
157
164
  * Merge command rows with the user skills' native `/name` rows into one
158
165
  * mixed completion list (the generic `/` completion), each filtered by the
159
- * query prefix and the combined set sorted by native display name. Extracted
160
- * from the autocomplete provider so the interleave/filter/sort is unit-testable
161
- * without a live CommandService.
166
+ * query prefix and the combined set sorted by usage frequency (when a usage
167
+ * table is supplied) with native display name as tie-break. Extracted from
168
+ * the autocomplete provider so the interleave/filter/sort is unit-testable
169
+ * without a live CommandService. Because sorting runs after filtering, a
170
+ * filtered-down subset keeps its frequency-first ordering.
162
171
  */
163
- export declare function mergeMixedSkillItems(commandItems: readonly AutocompleteItem[], nativeSkillItems: readonly AutocompleteItem[], query: string): AutocompleteItem[];
172
+ export declare function mergeMixedSkillItems(commandItems: readonly AutocompleteItem[], nativeSkillItems: readonly AutocompleteItem[], query: string, usage?: UsageSnapshot): AutocompleteItem[];
164
173
  /**
165
174
  * Autocomplete items for a skill under its own native `/name`, for the generic
166
175
  * `/` command list where commands and skills mix. Carries
package/lib/skills.js CHANGED
@@ -207,20 +207,47 @@ export function isSkillCompletionItem(item) {
207
207
  export function completionName(item) {
208
208
  return item.value.slice(1);
209
209
  }
210
- /** Sort completion rows by their native display name (stable, locale-aware). */
211
- export function sortCompletionItems(items) {
212
- return [...items].sort((a, b) => completionName(a).localeCompare(completionName(b)));
210
+ /**
211
+ * Frequency-first comparator over usage counts: higher count wins; equal
212
+ * counts fall back to native name order. `Array.prototype.sort` is stable,
213
+ * so rows the comparator cannot separate (same count AND same name) keep
214
+ * their input order — the non-mutation/stability guarantees of the plain
215
+ * sort hold here too.
216
+ */
217
+ function usageFirstCompare(a, b, usage) {
218
+ const byUsage = (usage.get(completionName(b)) ?? 0) - (usage.get(completionName(a)) ?? 0);
219
+ if (byUsage !== 0)
220
+ return byUsage;
221
+ return completionName(a).localeCompare(completionName(b));
222
+ }
223
+ /**
224
+ * Sort completion rows for the generic `/` dropdown (stable, never mutates
225
+ * the input). With a non-empty `usage` table (name → count), most-used rows
226
+ * come first and native display name only breaks ties; without usage data
227
+ * every row has count 0, which degenerates to exactly the historical
228
+ * name-only ordering.
229
+ */
230
+ export function sortCompletionItems(items, usage) {
231
+ const ordered = [...items];
232
+ if (usage === undefined || usage.size === 0) {
233
+ ordered.sort((a, b) => completionName(a).localeCompare(completionName(b)));
234
+ return ordered;
235
+ }
236
+ ordered.sort((a, b) => usageFirstCompare(a, b, usage));
237
+ return ordered;
213
238
  }
214
239
  /**
215
240
  * Merge command rows with the user skills' native `/name` rows into one
216
241
  * mixed completion list (the generic `/` completion), each filtered by the
217
- * query prefix and the combined set sorted by native display name. Extracted
218
- * from the autocomplete provider so the interleave/filter/sort is unit-testable
219
- * without a live CommandService.
242
+ * query prefix and the combined set sorted by usage frequency (when a usage
243
+ * table is supplied) with native display name as tie-break. Extracted from
244
+ * the autocomplete provider so the interleave/filter/sort is unit-testable
245
+ * without a live CommandService. Because sorting runs after filtering, a
246
+ * filtered-down subset keeps its frequency-first ordering.
220
247
  */
221
- export function mergeMixedSkillItems(commandItems, nativeSkillItems, query) {
248
+ export function mergeMixedSkillItems(commandItems, nativeSkillItems, query, usage) {
222
249
  const filtered = [...commandItems, ...nativeSkillItems].filter(item => query === '' || completionName(item).toLowerCase().startsWith(query));
223
- return sortCompletionItems(filtered);
250
+ return sortCompletionItems(filtered, usage);
224
251
  }
225
252
  /**
226
253
  * Autocomplete items for a skill under its own native `/name`, for the generic
package/lib/skills.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,OAAyC;IACpE,OAAO,OAAO,CAAC,UAAU,CAAC,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAA;AAC9E,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW,CAAC,OAAyC;IACnE,OAAO,OAAO,CAAC,UAAU,CAAC,aAAa,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA6C;IAC9E,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAA;AACzC,CAAC;AAkBD,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAiD;IAC7E,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,KAAK;IACrB,OAAO,EAAE,KAAK;CACf,CAAA;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CACjC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAC1C,iBAAiB,CAAC,OAAO,CAAC,MAAM,CACjC,CAAA;AAED,sEAAsE;AACtE,MAAM,UAAU,SAAS,CAAC,IAAwB;IAChD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,IAAwB,EAAE,KAAa;IACrE,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAA;AACtC,CAAC;AAED,+EAA+E;AAE/E,sEAAsE;AACtE,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,2DAA2D;AAC3D,6EAA6E;AAC7E,8EAA8E;AAC9E,oEAAoE;AACpE,MAAM,SAAS,GAAG,SAAS,CAAA;AAC3B,MAAM,UAAU,GAAG,UAAU,CAAA,CAAC,8EAA8E;AAE5G;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,KAAa;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACzC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,EAAE,CAAA;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,EAAE,CAAA;AACrE,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAElC;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,IAAY;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IACxC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAA;AACxF,CAAC;AAeD,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAc;IAC7D,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACzB,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACxB,IAAI,MAAM,IAAI,MAAM;QAAE,OAAO,MAAM,GAAG,CAAC,CAAA;IACvC,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAAmB,EAAE,MAAc,EAAE,aAAqB;IAC1G,IAAI,MAAM,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAC7C,IAAI,MAAM,GAAG,aAAa;QAAE,OAAO,MAAM,CAAA;IACzC,IAAI,MAAM,IAAI,aAAa,GAAG,WAAW;QAAE,OAAO,MAAM,GAAG,WAAW,GAAG,CAAC,CAAA;IAC1E,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AAKjC;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,MAAc,EACd,IAAe,EACf,QAAQ,GAAG,eAAe;IAE1B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI;YACP,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7C,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7C,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpD,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpD,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACpC,KAAK,KAAK;YACR,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA8B,EAC9B,KAAa;IAEb,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IACjC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AACvF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB,EAAE,OAAgB,EAAE,IAAY;IACjF,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,CAAA;AACtF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,QAAQ,CAAC,IAAsB;IAC7C,MAAM,MAAM,GAAG,IAAqC,CAAA;IACpD,OAAO,MAAM,CAAC,IAAI,IAAI,SAAS,CAAA;AACjC,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3B,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,gBAAgB,CAAA;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CAAC,KAAkC;IACpE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACtF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAyC,EACzC,gBAA6C,EAC7C,KAAa;IAEb,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC,MAAM,CAC5D,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAC7E,CAAA;IACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA4E;IAE5E,OAAO,MAAM;SACV,MAAM,CAAC,WAAW,CAAC;SACnB,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;QAC9B,OAAO;YACL,KAAK;YACL,KAAK,EAAE,qBAAqB,CAAC,cAAc,EAAE,KAAK,CAAC;YACnD,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC;YACjD,IAAI,EAAE,cAAuB;SAC9B,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC;AAED,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAA;AACrE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAAgD;IAEhD,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,2BAA2B,IAAI,EAAE,CAAA;IAC1C,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjC,yEAAyE;IACzE,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,kDAAkD,CAAA;IACzF,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YAC9B,KAAK,GAAG,CAAC,CAAA;YACT,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,mCAAmC,CAAA;IACzD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAA;QAC3D,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,2EAA2E;YAC3E,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC/C,KAAK,GAAG,CAAC,CAAA;gBACT,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBACtB,KAAK,EAAE,CAAA;gBACP,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACrC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;gBACvB,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;YAChC,KAAK,EAAE,CAAA;YACP,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAClE,IAAI,CAAC;QACH,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACvB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,4BAA4B,OAAO,EAAE,CAAA;IAC9C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY;IAEZ,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YAC9B,KAAK,GAAG,CAAC,CAAA;YACT,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;YACjE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9D,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
package/lib/usage.d.ts ADDED
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Slash-command / skill usage memory for frequency-sorted completions.
3
+ *
4
+ * Every successful command execution and every `/name` skill gesture bumps a
5
+ * per-name counter; the generic `/` completion dropdown orders candidates by
6
+ * that count (most used first) instead of plain name order, and the ordering
7
+ * survives the query filter (whatever remains after prefix filtering is still
8
+ * frequency-first).
9
+ *
10
+ * Persistence: `$DSH_HOME/tui-command-usage.json` — a small JSON document the
11
+ * TUI owns outright (it never touches settings.yaml or any other live dsh
12
+ * file). The disk copy is authoritative across restarts AND across /reload:
13
+ * the reload swaps the plugin fiber, a fresh tracker is constructed by the new
14
+ * fiber and simply re-reads the file. Reads never throw (a missing or corrupt
15
+ * file degrades to an empty table); writes are atomic (tmp sibling + rename)
16
+ * and best-effort silent — a failed write must never take the UI down.
17
+ *
18
+ * Write policy: synchronous save on every record, no timer/flush queue.
19
+ * Usage events are inherently low-frequency (one human-invoked command or
20
+ * skill at a time) and the file stays tiny (bounded by MAX_ENTRIES), so the
21
+ * simplicity of write-through beats batching — and avoids teardown hazards
22
+ * for timers across hot-reload. Concurrent dsh processes share one store:
23
+ * each write merges only its own unsaved delta onto a fresh read of the
24
+ * file (baseline+delta, see CommandUsageTracker.persist) instead of
25
+ * clobbering the whole table with this fiber's in-memory view.
26
+ */
27
+ /** On-disk schema version; bump only for breaking changes. */
28
+ export declare const USAGE_FILE_VERSION = 1;
29
+ /** One name's usage record: how often + how recently it was invoked. */
30
+ export interface UsageEntry {
31
+ /** Successful invocation count (>= 1 for every stored entry). */
32
+ count: number;
33
+ /** Epoch ms of the most recent invocation. */
34
+ lastUsed: number;
35
+ }
36
+ /** Name → count view handed to the completion sort (no recency exposed). */
37
+ export type UsageSnapshot = ReadonlyMap<string, number>;
38
+ /**
39
+ * Structural consumer contract so CommandService stays stub-friendly in
40
+ * tests (and decoupled from the concrete tracker's file concerns).
41
+ */
42
+ export interface UsageRecorder {
43
+ /** Count one invocation of `name` (leading slash tolerated, stripped). */
44
+ record(name: string): void;
45
+ /** Current name → count table (may be empty). */
46
+ snapshot(): UsageSnapshot;
47
+ }
48
+ /** Storage cap: above this many names, lowest-count entries are evicted. */
49
+ export declare const MAX_USAGE_ENTRIES = 500;
50
+ /** `$DSH_HOME/tui-command-usage.json` (or an explicit home override). */
51
+ export declare function commandUsagePath(home?: string): string;
52
+ /**
53
+ * Read + validate a usage file into entries. Never throws: a missing,
54
+ * corrupt, wrong-version or malformed document yields an empty table.
55
+ * Individual bad entries are skipped, good siblings kept.
56
+ */
57
+ export declare function loadUsageEntries(path: string): Map<string, UsageEntry>;
58
+ /**
59
+ * Atomically persist entries as `{ version, counts }`. Creates the target
60
+ * directory when missing (a fresh DSH_HOME must not silently drop the first
61
+ * record), writes a tmp sibling then renames over the target so a crash
62
+ * never leaves half a file; on any failure the tmp sibling is cleaned up and
63
+ * the error swallowed (the caller treats persistence as best-effort — the
64
+ * in-memory table keeps working). Returns whether the write landed.
65
+ */
66
+ export declare function saveUsageEntries(path: string, entries: ReadonlyMap<string, UsageEntry>): boolean;
67
+ /**
68
+ * Evict entries beyond `maxEntries`, lowest count first, oldest use first
69
+ * among equal counts. A freshly recorded entry always survives within its
70
+ * count tier (its lastUsed is the newest of that tier).
71
+ */
72
+ export declare function pruneUsageEntries(entries: Map<string, UsageEntry>, maxEntries?: number): void;
73
+ /**
74
+ * In-memory usage table persisted through `path`. Constructed once per
75
+ * plugin fiber (so a /reload re-reads the authoritative disk state) and
76
+ * shared by the CommandService for both recording and completion sorting.
77
+ *
78
+ * Several dsh processes can run concurrently against the same $DSH_HOME, so
79
+ * persistence is baseline+delta instead of whole-table clobber: the tracker
80
+ * remembers what the file looked like at its last synchronization and each
81
+ * write folds only its own unsaved increments on top of a fresh read of the
82
+ * file (see `persist`).
83
+ */
84
+ export declare class CommandUsageTracker implements UsageRecorder {
85
+ private readonly path;
86
+ private readonly maxEntries;
87
+ private readonly now;
88
+ /** Working table, including this fiber's not-yet-flushed increments. */
89
+ private entries;
90
+ /** Per-name counts the file had at the last successful sync — the delta zero-point. */
91
+ private baseline;
92
+ constructor(path: string, options?: {
93
+ maxEntries?: number;
94
+ now?: () => number;
95
+ });
96
+ /** Count one invocation of `name` and persist synchronously (best-effort). */
97
+ record(name: string): void;
98
+ /** Current name → count table for the completion sort. */
99
+ snapshot(): UsageSnapshot;
100
+ /**
101
+ * Fold this fiber's unsaved delta onto a fresh read of the file and write
102
+ * the union back atomically.
103
+ *
104
+ * Per-name arithmetic is `file_count + (memory_count - baseline_count)`
105
+ * clamped at zero: plain max() would drop this fiber's unsaved increments,
106
+ * blind summing would double-count what this fiber already flushed. An
107
+ * entry this fiber pruned away contributes a zero delta, so peer-process
108
+ * counts survive untouched.
109
+ *
110
+ * Loss model: the read-modify-write below is deliberately not locked —
111
+ * another process writing between our read and our rename loses exactly
112
+ * that one concurrent record (bounded, single-record granularity; accepted
113
+ * for a UX-ordering hint). If the file is unreadable/corrupt at read time,
114
+ * the merge degrades to this fiber's own table for that pass.
115
+ */
116
+ private persist;
117
+ }
package/lib/usage.js ADDED
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Slash-command / skill usage memory for frequency-sorted completions.
3
+ *
4
+ * Every successful command execution and every `/name` skill gesture bumps a
5
+ * per-name counter; the generic `/` completion dropdown orders candidates by
6
+ * that count (most used first) instead of plain name order, and the ordering
7
+ * survives the query filter (whatever remains after prefix filtering is still
8
+ * frequency-first).
9
+ *
10
+ * Persistence: `$DSH_HOME/tui-command-usage.json` — a small JSON document the
11
+ * TUI owns outright (it never touches settings.yaml or any other live dsh
12
+ * file). The disk copy is authoritative across restarts AND across /reload:
13
+ * the reload swaps the plugin fiber, a fresh tracker is constructed by the new
14
+ * fiber and simply re-reads the file. Reads never throw (a missing or corrupt
15
+ * file degrades to an empty table); writes are atomic (tmp sibling + rename)
16
+ * and best-effort silent — a failed write must never take the UI down.
17
+ *
18
+ * Write policy: synchronous save on every record, no timer/flush queue.
19
+ * Usage events are inherently low-frequency (one human-invoked command or
20
+ * skill at a time) and the file stays tiny (bounded by MAX_ENTRIES), so the
21
+ * simplicity of write-through beats batching — and avoids teardown hazards
22
+ * for timers across hot-reload. Concurrent dsh processes share one store:
23
+ * each write merges only its own unsaved delta onto a fresh read of the
24
+ * file (baseline+delta, see CommandUsageTracker.persist) instead of
25
+ * clobbering the whole table with this fiber's in-memory view.
26
+ */
27
+ import { mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
28
+ import { dirname, join } from 'node:path';
29
+ import { dshHome } from "./append-system.js";
30
+ /** On-disk schema version; bump only for breaking changes. */
31
+ export const USAGE_FILE_VERSION = 1;
32
+ /** Storage cap: above this many names, lowest-count entries are evicted. */
33
+ export const MAX_USAGE_ENTRIES = 500;
34
+ /** `$DSH_HOME/tui-command-usage.json` (or an explicit home override). */
35
+ export function commandUsagePath(home = dshHome()) {
36
+ return join(home, 'tui-command-usage.json');
37
+ }
38
+ /** Normalize one usage key: completion-name form (no leading slashes), non-empty. */
39
+ function normalizeUsageName(name) {
40
+ const key = name.replace(/^\/+/, '');
41
+ return key === '' ? undefined : key;
42
+ }
43
+ /**
44
+ * Read + validate a usage file into entries. Never throws: a missing,
45
+ * corrupt, wrong-version or malformed document yields an empty table.
46
+ * Individual bad entries are skipped, good siblings kept.
47
+ */
48
+ export function loadUsageEntries(path) {
49
+ const empty = new Map();
50
+ let text;
51
+ try {
52
+ text = readFileSync(path, 'utf8');
53
+ }
54
+ catch {
55
+ return empty;
56
+ }
57
+ let raw;
58
+ try {
59
+ raw = JSON.parse(text);
60
+ }
61
+ catch {
62
+ return empty;
63
+ }
64
+ if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
65
+ return empty;
66
+ const doc = raw;
67
+ if (doc.version !== USAGE_FILE_VERSION)
68
+ return empty;
69
+ const counts = doc.counts;
70
+ if (counts === null || typeof counts !== 'object' || Array.isArray(counts))
71
+ return empty;
72
+ const entries = new Map();
73
+ for (const [name, value] of Object.entries(counts)) {
74
+ const key = normalizeUsageName(name);
75
+ if (key === undefined || value === null || typeof value !== 'object')
76
+ continue;
77
+ const { count, lastUsed } = value;
78
+ if (typeof count !== 'number' || !Number.isInteger(count) || count <= 0)
79
+ continue;
80
+ entries.set(key, {
81
+ count,
82
+ lastUsed: typeof lastUsed === 'number' && Number.isFinite(lastUsed) && lastUsed >= 0 ? lastUsed : 0,
83
+ });
84
+ }
85
+ return entries;
86
+ }
87
+ /**
88
+ * Atomically persist entries as `{ version, counts }`. Creates the target
89
+ * directory when missing (a fresh DSH_HOME must not silently drop the first
90
+ * record), writes a tmp sibling then renames over the target so a crash
91
+ * never leaves half a file; on any failure the tmp sibling is cleaned up and
92
+ * the error swallowed (the caller treats persistence as best-effort — the
93
+ * in-memory table keeps working). Returns whether the write landed.
94
+ */
95
+ export function saveUsageEntries(path, entries) {
96
+ const doc = {
97
+ version: USAGE_FILE_VERSION,
98
+ counts: Object.fromEntries(entries),
99
+ };
100
+ const dir = dirname(path);
101
+ const pathBase = path.split('/').pop() ?? 'tui-command-usage.json';
102
+ const tmp = join(dir, `.${pathBase}.tmp-${process.pid}`);
103
+ try {
104
+ mkdirSync(dir, { recursive: true });
105
+ writeFileSync(tmp, JSON.stringify(doc));
106
+ renameSync(tmp, path);
107
+ return true;
108
+ }
109
+ catch {
110
+ // A failed write/rename can leave the `.…tmp-<pid>` sibling behind; clean
111
+ // up so no stray dotfile accumulates next to the store.
112
+ try {
113
+ rmSync(tmp, { force: true });
114
+ }
115
+ catch {
116
+ // Best-effort — persistence failures stay silent by design.
117
+ }
118
+ return false;
119
+ }
120
+ }
121
+ /**
122
+ * Evict entries beyond `maxEntries`, lowest count first, oldest use first
123
+ * among equal counts. A freshly recorded entry always survives within its
124
+ * count tier (its lastUsed is the newest of that tier).
125
+ */
126
+ export function pruneUsageEntries(entries, maxEntries = MAX_USAGE_ENTRIES) {
127
+ if (entries.size <= maxEntries)
128
+ return;
129
+ const ordered = [...entries.entries()].sort((a, b) => a[1].count - b[1].count || a[1].lastUsed - b[1].lastUsed);
130
+ for (let i = 0; i < ordered.length - maxEntries; i++)
131
+ entries.delete(ordered[i][0]);
132
+ }
133
+ /**
134
+ * In-memory usage table persisted through `path`. Constructed once per
135
+ * plugin fiber (so a /reload re-reads the authoritative disk state) and
136
+ * shared by the CommandService for both recording and completion sorting.
137
+ *
138
+ * Several dsh processes can run concurrently against the same $DSH_HOME, so
139
+ * persistence is baseline+delta instead of whole-table clobber: the tracker
140
+ * remembers what the file looked like at its last synchronization and each
141
+ * write folds only its own unsaved increments on top of a fresh read of the
142
+ * file (see `persist`).
143
+ */
144
+ export class CommandUsageTracker {
145
+ path;
146
+ maxEntries;
147
+ now;
148
+ /** Working table, including this fiber's not-yet-flushed increments. */
149
+ entries;
150
+ /** Per-name counts the file had at the last successful sync — the delta zero-point. */
151
+ baseline;
152
+ constructor(path, options) {
153
+ this.path = path;
154
+ this.maxEntries = Math.max(1, options?.maxEntries ?? MAX_USAGE_ENTRIES);
155
+ this.now = options?.now ?? Date.now;
156
+ const loaded = loadUsageEntries(path);
157
+ // Deep-copy into `entries`: record() mutates entry objects in place and
158
+ // must never disturb the frozen baseline. A hand-edited or pre-cap file
159
+ // may exceed the cap — normalize the working set on load.
160
+ this.entries = new Map([...loaded].map(([key, entry]) => [key, { ...entry }]));
161
+ this.baseline = loaded;
162
+ pruneUsageEntries(this.entries, this.maxEntries);
163
+ }
164
+ /** Count one invocation of `name` and persist synchronously (best-effort). */
165
+ record(name) {
166
+ const key = normalizeUsageName(name);
167
+ if (key === undefined)
168
+ return;
169
+ const entry = this.entries.get(key) ?? { count: 0, lastUsed: 0 };
170
+ entry.count += 1;
171
+ entry.lastUsed = this.now();
172
+ this.entries.set(key, entry);
173
+ this.persist();
174
+ }
175
+ /** Current name → count table for the completion sort. */
176
+ snapshot() {
177
+ return new Map([...this.entries].map(([name, entry]) => [name, entry.count]));
178
+ }
179
+ /**
180
+ * Fold this fiber's unsaved delta onto a fresh read of the file and write
181
+ * the union back atomically.
182
+ *
183
+ * Per-name arithmetic is `file_count + (memory_count - baseline_count)`
184
+ * clamped at zero: plain max() would drop this fiber's unsaved increments,
185
+ * blind summing would double-count what this fiber already flushed. An
186
+ * entry this fiber pruned away contributes a zero delta, so peer-process
187
+ * counts survive untouched.
188
+ *
189
+ * Loss model: the read-modify-write below is deliberately not locked —
190
+ * another process writing between our read and our rename loses exactly
191
+ * that one concurrent record (bounded, single-record granularity; accepted
192
+ * for a UX-ordering hint). If the file is unreadable/corrupt at read time,
193
+ * the merge degrades to this fiber's own table for that pass.
194
+ */
195
+ persist() {
196
+ const disk = loadUsageEntries(this.path);
197
+ const merged = new Map();
198
+ for (const key of new Set([...disk.keys(), ...this.entries.keys()])) {
199
+ const mine = this.entries.get(key);
200
+ const baseCount = this.baseline.get(key)?.count ?? 0;
201
+ const delta = Math.max(0, (mine?.count ?? 0) - baseCount);
202
+ const theirs = disk.get(key);
203
+ if (theirs === undefined && delta === 0)
204
+ continue;
205
+ merged.set(key, {
206
+ count: (theirs?.count ?? 0) + delta,
207
+ lastUsed: Math.max(theirs?.lastUsed ?? 0, mine?.lastUsed ?? 0),
208
+ });
209
+ }
210
+ pruneUsageEntries(merged, this.maxEntries);
211
+ if (!saveUsageEntries(this.path, merged))
212
+ return;
213
+ // Success: the written table becomes both the working set and the new
214
+ // delta zero-point. `entries` gets its own copies so later in-place
215
+ // record mutations leave the frozen baseline intact.
216
+ this.baseline = merged;
217
+ this.entries = new Map([...merged].map(([key, entry]) => [key, { ...entry }]));
218
+ }
219
+ }
220
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiwayds/dsh-tui-pi",
3
- "version": "0.11.2",
3
+ "version": "0.12.0",
4
4
  "description": "pi-style terminal UI for DeepSeek Harness (dsh) — pi-tui look & feel, dsh slash commands, GitHub light/dark themes, powerline footer",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@aiwayds/dsh-dcp": "0.5.1",
49
- "@aiwayds/dsh-subagent-registry": "0.2.0",
49
+ "@aiwayds/dsh-subagent-registry": "0.3.0",
50
50
  "@earendil-works/pi-tui": "0.84.2"
51
51
  },
52
52
  "devDependencies": {