@namzu/cli 14.1.0 → 14.2.1

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 (56) hide show
  1. package/README.md +20 -9
  2. package/dist/commands/login.d.ts +21 -3
  3. package/dist/commands/login.d.ts.map +1 -1
  4. package/dist/commands/login.js +33 -21
  5. package/dist/commands/login.js.map +1 -1
  6. package/dist/integrations/providers/discover.d.ts +4 -0
  7. package/dist/integrations/providers/discover.d.ts.map +1 -1
  8. package/dist/integrations/providers/discover.js +55 -37
  9. package/dist/integrations/providers/discover.js.map +1 -1
  10. package/dist/integrations/providers/harness-credentials.d.ts +44 -9
  11. package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
  12. package/dist/integrations/providers/harness-credentials.js +140 -11
  13. package/dist/integrations/providers/harness-credentials.js.map +1 -1
  14. package/dist/integrations/providers/identity.d.ts +20 -24
  15. package/dist/integrations/providers/identity.d.ts.map +1 -1
  16. package/dist/integrations/providers/identity.js +20 -24
  17. package/dist/integrations/providers/identity.js.map +1 -1
  18. package/dist/integrations/providers/index.d.ts +1 -1
  19. package/dist/integrations/providers/index.d.ts.map +1 -1
  20. package/dist/integrations/providers/index.js +1 -1
  21. package/dist/integrations/providers/index.js.map +1 -1
  22. package/dist/integrations/providers/oauth.d.ts +8 -3
  23. package/dist/integrations/providers/oauth.d.ts.map +1 -1
  24. package/dist/integrations/providers/oauth.js +37 -11
  25. package/dist/integrations/providers/oauth.js.map +1 -1
  26. package/dist/integrations/providers/subscription-login.d.ts +7 -41
  27. package/dist/integrations/providers/subscription-login.d.ts.map +1 -1
  28. package/dist/integrations/providers/subscription-login.js +26 -149
  29. package/dist/integrations/providers/subscription-login.js.map +1 -1
  30. package/dist/tui/App.d.ts.map +1 -1
  31. package/dist/tui/App.js +316 -83
  32. package/dist/tui/App.js.map +1 -1
  33. package/dist/tui/ChoicePicker.d.ts +14 -0
  34. package/dist/tui/ChoicePicker.d.ts.map +1 -0
  35. package/dist/tui/ChoicePicker.js +15 -0
  36. package/dist/tui/ChoicePicker.js.map +1 -0
  37. package/dist/tui/Picker.d.ts +4 -2
  38. package/dist/tui/Picker.d.ts.map +1 -1
  39. package/dist/tui/Picker.js +99 -10
  40. package/dist/tui/Picker.js.map +1 -1
  41. package/dist/tui/StatusBar.d.ts +24 -40
  42. package/dist/tui/StatusBar.d.ts.map +1 -1
  43. package/dist/tui/StatusBar.js +71 -106
  44. package/dist/tui/StatusBar.js.map +1 -1
  45. package/dist/tui/agent.d.ts.map +1 -1
  46. package/dist/tui/agent.js +10 -8
  47. package/dist/tui/agent.js.map +1 -1
  48. package/dist/tui/login-prompt.d.ts +0 -1
  49. package/dist/tui/login-prompt.d.ts.map +1 -1
  50. package/dist/tui/login-prompt.js +1 -6
  51. package/dist/tui/login-prompt.js.map +1 -1
  52. package/dist/tui/slashCommands.d.ts +8 -0
  53. package/dist/tui/slashCommands.d.ts.map +1 -1
  54. package/dist/tui/slashCommands.js +20 -15
  55. package/dist/tui/slashCommands.js.map +1 -1
  56. package/package.json +4 -4
@@ -36,7 +36,7 @@ function keyEntryTarget(keyEntryFor) {
36
36
  }
37
37
  return keyCapableProviders()[0] ?? null;
38
38
  }
39
- export function Picker({ detected, currentProvider, selectionKind = 'provider-and-model', currentModel, initialView = 'providers', onSubmit, onCancel, describeModels = describeProviderModels, onCredential, onLogin, verify = verifyCredential, keyEntryFor, notice, }) {
39
+ export function Picker({ detected, currentProvider, selectionKind = 'provider-and-model', currentModel, initialView = 'providers', onSubmit, onCancel, describeModels = describeProviderModels, onCredential, onLogin, onLoginComplete, verify = verifyCredential, keyEntryFor, notice, }) {
40
40
  /**
41
41
  * The one foreign operation still allowed to publish into this picker.
42
42
  *
@@ -79,6 +79,7 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
79
79
  const [modelPhase, setModelPhase] = useState(null);
80
80
  const [loginPhase, setLoginPhase] = useState(initialView === 'subscriptions');
81
81
  useEffect(() => setLoginPhase(initialView === 'subscriptions'), [initialView]);
82
+ const [loginEntry, setLoginEntry] = useState(null);
82
83
  // Key entry. `value` is the secret and never leaves this component except as
83
84
  // a mask or as the credential handed to `onCredential`.
84
85
  //
@@ -136,7 +137,72 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
136
137
  // another choice aborts it, so a late session cannot replace the newer one.
137
138
  onCredential?.(cred, describeDisposition(entry, verification, kind), operation.controller.signal);
138
139
  };
140
+ const acceptLogin = async () => {
141
+ const entry = loginEntry;
142
+ const operation = operationRef.current;
143
+ if (!entry || entry.status !== 'typing' || !operation || !onLoginComplete)
144
+ return;
145
+ if (entry.value.trim().length === 0) {
146
+ setLoginEntry({
147
+ ...entry,
148
+ problem: 'Paste the authorization code or finished address first.',
149
+ });
150
+ return;
151
+ }
152
+ setLoginEntry({ ...entry, status: 'checking', problem: undefined });
153
+ try {
154
+ const disposition = await onLoginComplete(entry.value, operation.controller.signal);
155
+ if (!ownsOperation(operation))
156
+ return;
157
+ if (disposition === 'retry') {
158
+ setLoginEntry({
159
+ ...entry,
160
+ status: 'typing',
161
+ problem: 'That value could not finish this sign-in. Check the address or code and try again.',
162
+ });
163
+ return;
164
+ }
165
+ finishOperation(operation);
166
+ setLoginEntry(null);
167
+ }
168
+ catch (error) {
169
+ if (!ownsOperation(operation))
170
+ return;
171
+ setLoginEntry({
172
+ ...entry,
173
+ status: 'typing',
174
+ problem: `Could not finish sign-in: ${error instanceof Error ? error.message : String(error)}`,
175
+ });
176
+ }
177
+ };
139
178
  useInput((input, key) => {
179
+ if (loginEntry) {
180
+ if (key.escape) {
181
+ invalidateOperation();
182
+ setLoginEntry(null);
183
+ return;
184
+ }
185
+ if (loginEntry.status !== 'typing')
186
+ return;
187
+ if (key.return) {
188
+ void acceptLogin();
189
+ return;
190
+ }
191
+ if (key.backspace || key.delete) {
192
+ setLoginEntry((current) => current
193
+ ? {
194
+ ...current,
195
+ value: current.value.slice(0, -1),
196
+ problem: undefined,
197
+ }
198
+ : current);
199
+ return;
200
+ }
201
+ if (input && !key.ctrl && !key.meta) {
202
+ setLoginEntry((current) => current ? { ...current, value: current.value + input, problem: undefined } : current);
203
+ }
204
+ return;
205
+ }
140
206
  // Key entry owns the keyboard while it is open: every printable character
141
207
  // is part of a secret, so nothing here may fall through to a shortcut.
142
208
  if (keyEntry) {
@@ -236,16 +302,30 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
236
302
  const chosen = choices[cursor];
237
303
  if (!chosen || !chosen.subscriptionLogin)
238
304
  return;
239
- const operation = beginOperation();
240
- try {
241
- onLogin?.(chosen.id, operation.controller.signal);
305
+ if (!onLogin) {
306
+ setErrorHint('Subscription sign-in is not available on this screen.');
307
+ return;
242
308
  }
243
- catch (error) {
244
- if (ownsOperation(operation)) {
245
- finishOperation(operation);
246
- setErrorHint(`Could not start sign-in: ${error instanceof Error ? error.message : String(error)}`);
309
+ const operation = beginOperation();
310
+ setLoginEntry({ entry: chosen, value: '', status: 'starting' });
311
+ void onLogin(chosen.id, operation.controller.signal)
312
+ .then((disposition) => {
313
+ if (!ownsOperation(operation))
314
+ return;
315
+ if (disposition === 'awaiting-input') {
316
+ setLoginEntry({ entry: chosen, value: '', status: 'typing' });
317
+ return;
247
318
  }
248
- }
319
+ finishOperation(operation);
320
+ setLoginEntry(null);
321
+ })
322
+ .catch((error) => {
323
+ if (!ownsOperation(operation))
324
+ return;
325
+ finishOperation(operation);
326
+ setLoginEntry(null);
327
+ setErrorHint(`Could not start sign-in: ${error instanceof Error ? error.message : String(error)}`);
328
+ });
249
329
  return;
250
330
  }
251
331
  const selected = Number.parseInt(input, 10);
@@ -346,6 +426,13 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
346
426
  // Above every screen this picker draws, so the reason is on the same frame as
347
427
  // the choice it is asking for.
348
428
  const noticeBox = notice ? (_jsx(Box, { paddingBottom: 1, children: _jsx(Text, { color: theme.status.warn, children: notice }) })) : null;
429
+ if (loginEntry) {
430
+ const waitsForDeviceApproval = loginEntry.entry.subscriptionLogin === 'device';
431
+ const painted = loginEntry.value
432
+ ? `${'•'.repeat(Math.min(loginEntry.value.length, 32))}${loginEntry.value.length > 32 ? '…' : ''}`
433
+ : '(nothing pasted yet)';
434
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [noticeBox, _jsxs(Text, { color: theme.accent.system, bold: true, children: ["Complete ", loginEntry.entry.label, " sign-in"] }), waitsForDeviceApproval ? (_jsx(Text, { color: theme.text.muted, children: "Approve the device code shown above in your browser. esc cancels." })) : (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.text.muted, children: "Paste the authorization code, or the finished browser address, then press enter. esc cancels." }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: loginEntry.value ? theme.text.primary : theme.text.muted, children: painted }) })] })), _jsxs(Box, { paddingTop: 1, flexDirection: "column", children: [loginEntry.status === 'starting' ? (_jsx(Text, { color: theme.text.muted, children: waitsForDeviceApproval ? 'Waiting for browser approval…' : 'Starting browser sign-in…' })) : loginEntry.status === 'checking' ? (_jsx(Text, { color: theme.text.muted, children: "Finishing sign-in\u2026" })) : null, loginEntry.problem ? _jsx(Text, { color: theme.status.warn, children: loginEntry.problem }) : null] })] }));
435
+ }
349
436
  if (keyEntry) {
350
437
  const { entry } = keyEntry;
351
438
  // What the operator has typed SO FAR, classified live. It settles as they
@@ -367,7 +454,9 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
367
454
  // keyboard cannot drift apart.
368
455
  const entryTarget = keyEntryFor && onCredential ? keyEntryTarget(keyEntryFor) : null;
369
456
  if (detected.length === 0) {
370
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.status.warn, paddingX: 1, children: [noticeBox, _jsx(Text, { color: theme.status.warn, bold: true, children: "No providers detected" }), _jsxs(Box, { paddingTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.text.primary, children: "namzu scans these sources, in order, for an LLM credential:" }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 existing", ' ', subscriptionProviders().map((entry) => entry.label).join(' and '), " sessions on this device"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 subscriptions signed in to from namzu (~/.namzu/credentials.json)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 env vars / API keys (optional alternatives: ANTHROPIC_API_KEY, OPENAI_API_KEY, \u2026)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 local servers (Ollama localhost:11434, LM Studio localhost:1234)"] })] }), onLogin ? (_jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.primary, children: ["Press ", _jsx(Text, { color: theme.accent.system, children: "l" }), " to sign in with a subscription \u2014 no API key, and namzu keeps it for next time."] }) })) : null, _jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.primary, children: ["Or press ", _jsx(Text, { color: theme.accent.system, children: "k" }), " to paste a credential now and use it for this session."] }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.secondary, children: "You can also set one of the env vars above (or start a local server) and restart." }) }), _jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.muted, children: [onLogin ? 'l: sign in · ' : '', "k: enter a credential \u00B7 esc: exit picker"] }) })] }));
457
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.status.warn, paddingX: 1, children: [noticeBox, _jsx(Text, { color: theme.status.warn, bold: true, children: "No providers detected" }), _jsxs(Box, { paddingTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.text.primary, children: "namzu scans these sources, in order, for an LLM credential:" }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 existing", ' ', subscriptionProviders()
458
+ .map((entry) => entry.label)
459
+ .join(' and '), ' ', "sessions on this device"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 subscriptions signed in to from namzu (~/.namzu/credentials.json)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 env vars / API keys (optional alternatives: ANTHROPIC_API_KEY, OPENAI_API_KEY, \u2026)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 local servers (Ollama localhost:11434, LM Studio localhost:1234)"] })] }), onLogin ? (_jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.primary, children: ["Press ", _jsx(Text, { color: theme.accent.system, children: "l" }), " to sign in with a subscription \u2014 no API key, and namzu keeps it for next time."] }) })) : null, _jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.primary, children: ["Or press ", _jsx(Text, { color: theme.accent.system, children: "k" }), " to paste a credential now and use it for this session."] }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.secondary, children: "You can also set one of the env vars above (or start a local server) and restart." }) }), _jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.muted, children: [onLogin ? 'l: sign in · ' : '', "k: enter a credential \u00B7 esc: exit picker"] }) })] }));
371
460
  }
372
461
  return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [noticeBox, _jsxs(Box, { flexDirection: "column", paddingBottom: 1, children: [_jsx(Text, { color: theme.accent.system, bold: true, children: selectionKind === 'signed-in-subscription'
373
462
  ? 'Choose a signed-in subscription'
@@ -1 +1 @@
1
- {"version":3,"file":"Picker.js","sourceRoot":"","sources":["../../src/tui/Picker.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhE,OAAO,EACN,gBAAgB,EAEhB,iBAAiB,EAIjB,0BAA0B,GAC1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAqB,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACxF,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,OAAO,EACP,iBAAiB,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAkB,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AA0FlC,oEAAoE;AACpE,SAAS,mBAAmB;IAC3B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;AACnG,CAAC;AAED,SAAS,qBAAqB;IAC7B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAChD,CAAA;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,WAA0C;IACjE,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAC5C,IAAI,KAAK,EAAE,sBAAsB;YAAE,OAAO,KAAK,CAAA;IAChD,CAAC;IACD,OAAO,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACtB,QAAQ,EACR,eAAe,EACf,aAAa,GAAG,oBAAoB,EACpC,YAAY,EACZ,WAAW,GAAG,WAAW,EACzB,QAAQ,EACR,QAAQ,EACR,cAAc,GAAG,sBAAsB,EACvC,YAAY,EACZ,OAAO,EACP,MAAM,GAAG,gBAAgB,EACzB,WAAW,EACX,MAAM,GACO;IACb;;;;;;;OAOG;IACH,MAAM,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxC,MAAM,YAAY,GAAG,MAAM,CAGjB,IAAI,CAAC,CAAA;IACf,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,sBAAsB,CAAC,OAAO,IAAI,CAAC,CAAA;QACnC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAA;QACxF,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,mBAAmB,EAAE,CAAA;QACrB,MAAM,SAAS,GAAG;YACjB,UAAU,EAAE,sBAAsB,CAAC,OAAO;YAC1C,UAAU,EAAE,IAAI,eAAe,EAAE;SACjC,CAAA;QACD,YAAY,CAAC,OAAO,GAAG,SAAS,CAAA;QAChC,OAAO,SAAS,CAAA;IACjB,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACzB,MAAM,aAAa,GAAG,WAAW,CAChC,CAAC,SAA8D,EAAW,EAAE,CAC3E,YAAY,CAAC,OAAO,KAAK,SAAS;QAClC,sBAAsB,CAAC,OAAO,KAAK,SAAS,CAAC,UAAU;QACvD,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EACrC,EAAE,CACF,CAAA;IACD,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,SAA8D,EAAE,EAAE;QAClE,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS;YAAE,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;IACpE,CAAC,EACD,EAAE,CACF,CAAA;IACD,SAAS,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAC3D,MAAM,YAAY,GACjB,CAAC,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS;QACzD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,eAAe,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACX,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;IACvE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC/D,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAGlC,IAAI,CAAC,CAAA;IACf,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,WAAW,KAAK,eAAe,CAAC,CAAA;IAC7E,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9E,6EAA6E;IAC7E,wDAAwD;IACxD,EAAE;IACF,8EAA8E;IAC9E,qEAAqE;IACrE,8EAA8E;IAC9E,kEAAkE;IAClE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAK9B,IAAI,CAAC,CAAA;IAEf,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAA;QACtB,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QAEvB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACf,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YAClE,OAAM;QACP,CAAC;QAED,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAClD,wEAAwE;QACxE,yEAAyE;QACzE,8DAA8D;QAC9D,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;QAClC,IAAI,YAAgD,CAAA;QACpD,IAAI,CAAC;YACJ,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACzE,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAAE,OAAM;YACrC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC1B,WAAW,CAAC;gBACX,GAAG,KAAK;gBACR,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,+EAA+E;aACxF,CAAC,CAAA;YACF,OAAM;QACP,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAAE,OAAM;QAErC,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC1B,qEAAqE;YACrE,wDAAwD;YACxD,WAAW,CAAC;gBACX,GAAG,KAAK;gBACR,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC;aACvD,CAAC,CAAA;YACF,OAAM;QACP,CAAC;QACD,wEAAwE;QACxE,4EAA4E;QAC5E,YAAY,EAAE,CACb,IAAI,EACJ,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAC9C,SAAS,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAA;IACF,CAAC,CAAA;IAED,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvB,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,mBAAmB,EAAE,CAAA;gBACrB,WAAW,CAAC,IAAI,CAAC,CAAA;gBACjB,OAAM;YACP,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAM;YAC1C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,KAAK,SAAS,EAAE,CAAA;gBAChB,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACjC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrF,OAAM;YACP,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACrC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjF,CAAC;YACD,OAAM;QACP,CAAC;QAED,qEAAqE;QACrE,EAAE;QACF,yEAAyE;QACzE,0CAA0C;QAC1C,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,cAAc;QACd,0EAA0E;QAC1E,6EAA6E;QAC7E,4EAA4E;QAC5E,kEAAkE;QAClE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5E,2EAA2E;QAC3E,mEAAmE;QACnE,2EAA2E;QAC3E,oEAAoE;QACpE,MAAM,QAAQ,GACb,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,aAAa,KAAK,wBAAwB,CAAA;QAC3F,IAAI,QAAQ,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;YAClD,mBAAmB,EAAE,CAAA;YACrB,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,SAAS,CACR,WAAW,EAAE,iBAAiB;gBAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CACR,CAAC,EACD,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CACzE;gBACF,CAAC,CAAC,CAAC,CACJ,CAAA;YACD,OAAM;QACP,CAAC;QAED,IACC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC;YACtC,YAAY;YACZ,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAC/B,CAAC;YACF,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACZ,mBAAmB,EAAE,CAAA;gBACrB,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC5D,CAAC;iBAAM,CAAC;gBACP,YAAY,CAAC,4CAA4C,CAAC,CAAA;YAC3D,CAAC;YACD,OAAM;QACP,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,UAAU,EAAE,CAAC;gBAChB,mBAAmB,EAAE,CAAA;gBACrB,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,SAAS,CAAC,CAAC,CAAC,CAAA;gBACZ,OAAM;YACP,CAAC;YACD,oEAAoE;YACpE,wDAAwD;YACxD,IAAI,UAAU,EAAE,CAAC;gBAChB,mBAAmB,EAAE,CAAA;gBACrB,aAAa,CAAC,IAAI,CAAC,CAAA;gBACnB,OAAM;YACP,CAAC;YACD,mBAAmB,EAAE,CAAA;YACrB,QAAQ,EAAE,CAAA;YACV,OAAM;QACP,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAA;YACvC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;gBAChD,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;gBACjE,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB;oBAAE,OAAM;gBAChD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;gBAClC,IAAI,CAAC;oBACJ,OAAO,EAAE,CAAC,MAAM,CAAC,EAA4B,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBAC5E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC9B,eAAe,CAAC,SAAS,CAAC,CAAA;wBAC1B,YAAY,CACX,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpF,CAAA;oBACF,CAAC;gBACF,CAAC;gBACD,OAAM;YACP,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9E,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YACxB,CAAC;YACD,OAAM;QACP,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;YAC5B,IAAI,CAAC,IAAI;gBAAE,OAAM,CAAC,8DAA8D;YAChF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACpC,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC1D,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACnC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,YAAY,CAAC,qBAAqB,CAAC,CAAA;oBACnC,OAAM;gBACP,CAAC;gBACD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;gBAClC,QAAQ,CACP,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,EAC5D,SAAS,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAA;gBACD,OAAM;YACP,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9E,OAAM;QACP,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACpC,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACnE,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,YAAY,CAAC,wBAAwB,CAAC,CAAA;gBACtC,OAAM;YACP,CAAC;YACD,sEAAsE;YACtE,oEAAoE;YACpE,kEAAkE;YAClE,kEAAkE;YAClE,yBAAyB;YACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAClC,YAAY,CAAC,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1D,OAAM;YACP,CAAC;YACD,IAAI,aAAa,KAAK,wBAAwB,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;gBAClC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBACrE,OAAM;YACP,CAAC;YACD,sEAAsE;YACtE,qEAAqE;YACrE,2DAA2D;YAC3D,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;YAClC,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YACrD,SAAS,CAAC,CAAC,CAAC,CAAA;YACZ,KAAK,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;iBACzE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACjB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;oBAAE,OAAM;gBACrC,eAAe,CAAC,SAAS,CAAC,CAAA;gBAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC,CAAA;gBACtF,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1C,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC7B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACzB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;oBAAE,OAAM;gBACrC,eAAe,CAAC,SAAS,CAAC,CAAA;gBAC1B,MAAM,IAAI,GAAG,SAAS,CACrB,OAAO,CAAC,KAAK,CAAC,YAAY,EAC1B;oBACC,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,EACD,YAAY,IAAI,SAAS,CACzB,CAAA;gBACD,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1C,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YACH,OAAM;QACP,CAAC;QACD,wBAAwB;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1D,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACjB,CAAC;IACF,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,+BAA+B;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAC1B,KAAC,GAAG,IAAC,aAAa,EAAE,CAAC,YACpB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,MAAM,GAAQ,GAC1C,CACN,CAAC,CAAC,CAAC,IAAI,CAAA;IAER,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;QAC1B,0EAA0E;QAC1E,wEAAwE;QACxE,sEAAsE;QACtE,oBAAoB;QACpB,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtD,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC1F,SAAS,EACV,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,aAAa,EAAE,CAAC,aAC3C,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,8CACb,KAAK,CAAC,KAAK,IAC7B,EAIP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,4FAEtB,IACF,EAEN,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,YAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,oCAA4B,GAC/E,EACP,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACxC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CACjC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,kCAAoB,KAAK,CAAC,KAAK,cAAS,CACrE,CAAC,CAAC,CAAC,CACH,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,8EAE1B,CACP,EACA,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAC7D,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,+HAGvB,CACP,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,QAAQ,CAAC,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,IAC/E,IACD,CACN,CAAA;IACF,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,SAAS,EACV,KAAC,aAAa,IACb,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAC9C,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACnB,IACG,CACN,CAAA;IACF,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAA;QACvC,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC1F,SAAS,EACV,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,4CAE/B,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,0GAEtB,EACP,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACvC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,IAAgB,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,aAClF,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAG,KAAK,GAAG,CAAC,QAAI,KAAK,CAAC,KAAK,EACvD,KAAK,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,KAFrE,KAAK,CAAC,EAAE,CAGZ,CACP,CAAC,GACG,EACN,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACzC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,kFAAsD,EAClF,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,SAAS,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjE,IACD,CACN,CAAA;IACF,CAAC;IAED,qEAAqE;IACrE,0EAA0E;IAC1E,+BAA+B;IAC/B,MAAM,WAAW,GAAG,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,aACzF,SAAS,EACV,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4CAE7B,EACP,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACzC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,4EAExB,EAMP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,GAAG,qBACO,GAAG,EACb,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gCAE5D,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,GAAG,gFAEE,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,GAAG,qGAEE,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,GAAG,+EAEE,IACF,EACL,OAAO,CAAC,CAAC,CAAC,CACV,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,uBACxB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,kBAAU,4FAE1C,GACF,CACN,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,0BACrB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,kBAAU,+DAE7C,GACF,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,kGAE1B,GACF,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,qDACzB,GACF,IACD,CACN,CAAA;IACF,CAAC;IAED,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC1F,SAAS,EACV,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,aAAa,EAAE,CAAC,aAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,kBACpC,aAAa,KAAK,wBAAwB;4BAC1C,CAAC,CAAC,iCAAiC;4BACnC,CAAC,CAAC,mBAAmB,GAChB,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAC3B,aAAa,KAAK,wBAAwB;4BAC1C,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,uCAAuC;4BAC3D,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,6EAA6E,GAC5F,IACF,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,KAAC,WAAW,IAEX,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,KAAK,MAAM,EACtB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,eAAe,IAJpC,CAAC,CAAC,KAAK,CAAC,EAAE,CAKd,CACF,CAAC,GACG,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,aAIxC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,2DACA,aAAa,KAAK,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EACxF,WAAW,CAAC,CAAC,CAAC,+BAA+B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EACrE,OAAO,IAAI,aAAa,KAAK,wBAAwB;gCACrD,CAAC,CAAC,6BAA6B;gCAC/B,CAAC,CAAC,EAAE,EAAE,GAAG,yBAEJ,EACN,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,SAAS,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjE,IACD,CACN,CAAA;AACF,CAAC;AAED,SAAS,aAAa,CAAC,EACtB,aAAa,EACb,IAAI,EACJ,MAAM,EACN,SAAS,GAMT;IACA,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC3F,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,aAAa,EAAE,CAAC,aAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,qCAE/B,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAAG,aAAa,GAAQ,IAChD,EACL,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CACrB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,wBAAU,aAAa,0BAAqB,CACzE,CAAC,CAAC,CAAC,CACH,8BACE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACd,KAAC,GAAG,IAAC,aAAa,EAAE,CAAC,YACpB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,IAAI,CAAC,MAAM,GAAQ,GAC/C,CACN,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,MAAC,IAAI,IAAY,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,aAC7E,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC1B,CAAC,GAAG,CAAC,QAAI,CAAC,CAAC,KAAK,EAChB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAHjB,CAAC,CAAC,EAAE,CAIR,CACP,CAAC,GACG,IACJ,CACH,EACD,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,aACxC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,iFAAqD,EACjF,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,SAAS,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjE,IACD,CACN,CAAA;AACF,CAAC;AAED,SAAS,WAAW,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,GAMT;IACA,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACnC,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,CAAA;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAA;IAClC,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,kBAAkB;IAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAA;IAC3C,MAAM,WAAW,GAAG,MAAM;QACzB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAA;IAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;IAClD,OAAO,CACN,MAAC,GAAG,eACH,MAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,aAAG,MAAM,SAAS,EAC/E,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAAG,MAAM,SAAS,EAC/C,KAAC,IAAI,IACJ,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EACvF,IAAI,EAAE,MAAM,IAAI,QAAQ,EACxB,QAAQ,EAAE,CAAC,MAAM,YAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GACX,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,MAAM,YAC3E,WAAW,GACN,EACN,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,YAAG,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,IACrE,CACN,CAAA;AACF,CAAC;AAED,SAAS,cAAc,CAAC,CAAmB;IAC1C,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,KAAK;YACT,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACnC,KAAK,OAAO;YACX,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAA;QAC7D,KAAK,UAAU;YACd,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACxC,KAAK,aAAa;YACjB,OAAO,8BAA8B,CAAA;QACtC,KAAK,YAAY;YAChB,OAAO,6BAA6B,CAAA;QACrC,KAAK,QAAQ;YACZ,sEAAsE;YACtE,2DAA2D;YAC3D,OAAO,0BAA0B,CAAA;QAClC,KAAK,SAAS;YACb,kEAAkE;YAClE,qEAAqE;YACrE,2DAA2D;YAC3D,OAAO,2BAA2B,CAAA;IACpC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"Picker.js","sourceRoot":"","sources":["../../src/tui/Picker.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhE,OAAO,EACN,gBAAgB,EAEhB,iBAAiB,EAIjB,0BAA0B,GAC1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAqB,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACxF,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,OAAO,EACP,iBAAiB,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAkB,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AA+FlC,oEAAoE;AACpE,SAAS,mBAAmB;IAC3B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;AACnG,CAAC;AAED,SAAS,qBAAqB;IAC7B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAChD,CAAA;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,WAA0C;IACjE,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAC5C,IAAI,KAAK,EAAE,sBAAsB;YAAE,OAAO,KAAK,CAAA;IAChD,CAAC;IACD,OAAO,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACtB,QAAQ,EACR,eAAe,EACf,aAAa,GAAG,oBAAoB,EACpC,YAAY,EACZ,WAAW,GAAG,WAAW,EACzB,QAAQ,EACR,QAAQ,EACR,cAAc,GAAG,sBAAsB,EACvC,YAAY,EACZ,OAAO,EACP,eAAe,EACf,MAAM,GAAG,gBAAgB,EACzB,WAAW,EACX,MAAM,GACO;IACb;;;;;;;OAOG;IACH,MAAM,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxC,MAAM,YAAY,GAAG,MAAM,CAGjB,IAAI,CAAC,CAAA;IACf,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,sBAAsB,CAAC,OAAO,IAAI,CAAC,CAAA;QACnC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAA;QACxF,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,mBAAmB,EAAE,CAAA;QACrB,MAAM,SAAS,GAAG;YACjB,UAAU,EAAE,sBAAsB,CAAC,OAAO;YAC1C,UAAU,EAAE,IAAI,eAAe,EAAE;SACjC,CAAA;QACD,YAAY,CAAC,OAAO,GAAG,SAAS,CAAA;QAChC,OAAO,SAAS,CAAA;IACjB,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACzB,MAAM,aAAa,GAAG,WAAW,CAChC,CAAC,SAA8D,EAAW,EAAE,CAC3E,YAAY,CAAC,OAAO,KAAK,SAAS;QAClC,sBAAsB,CAAC,OAAO,KAAK,SAAS,CAAC,UAAU;QACvD,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EACrC,EAAE,CACF,CAAA;IACD,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,SAA8D,EAAE,EAAE;QAClE,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS;YAAE,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;IACpE,CAAC,EACD,EAAE,CACF,CAAA;IACD,SAAS,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAC3D,MAAM,YAAY,GACjB,CAAC,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS;QACzD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,eAAe,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACX,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;IACvE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC/D,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAGlC,IAAI,CAAC,CAAA;IACf,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,WAAW,KAAK,eAAe,CAAC,CAAA;IAC7E,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,KAAK,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAKlC,IAAI,CAAC,CAAA;IACf,6EAA6E;IAC7E,wDAAwD;IACxD,EAAE;IACF,8EAA8E;IAC9E,qEAAqE;IACrE,8EAA8E;IAC9E,kEAAkE;IAClE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAK9B,IAAI,CAAC,CAAA;IAEf,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAA;QACtB,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QAEvB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACf,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YAClE,OAAM;QACP,CAAC;QAED,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAClD,wEAAwE;QACxE,yEAAyE;QACzE,8DAA8D;QAC9D,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;QAClC,IAAI,YAAgD,CAAA;QACpD,IAAI,CAAC;YACJ,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACzE,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAAE,OAAM;YACrC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC1B,WAAW,CAAC;gBACX,GAAG,KAAK;gBACR,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,+EAA+E;aACxF,CAAC,CAAA;YACF,OAAM;QACP,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAAE,OAAM;QAErC,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC1B,qEAAqE;YACrE,wDAAwD;YACxD,WAAW,CAAC;gBACX,GAAG,KAAK;gBACR,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC;aACvD,CAAC,CAAA;YACF,OAAM;QACP,CAAC;QACD,wEAAwE;QACxE,4EAA4E;QAC5E,YAAY,EAAE,CACb,IAAI,EACJ,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAC9C,SAAS,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAA;IACF,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAA;QACxB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAA;QACtC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe;YAAE,OAAM;QACjF,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,aAAa,CAAC;gBACb,GAAG,KAAK;gBACR,OAAO,EAAE,yDAAyD;aAClE,CAAC,CAAA;YACF,OAAM;QACP,CAAC;QACD,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QACnE,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YACnF,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAAE,OAAM;YACrC,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC7B,aAAa,CAAC;oBACb,GAAG,KAAK;oBACR,MAAM,EAAE,QAAQ;oBAChB,OAAO,EACN,oFAAoF;iBACrF,CAAC,CAAA;gBACF,OAAM;YACP,CAAC;YACD,eAAe,CAAC,SAAS,CAAC,CAAA;YAC1B,aAAa,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAAE,OAAM;YACrC,aAAa,CAAC;gBACb,GAAG,KAAK;gBACR,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC9F,CAAC,CAAA;QACH,CAAC;IACF,CAAC,CAAA;IAED,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,UAAU,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,mBAAmB,EAAE,CAAA;gBACrB,aAAa,CAAC,IAAI,CAAC,CAAA;gBACnB,OAAM;YACP,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAM;YAC1C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,KAAK,WAAW,EAAE,CAAA;gBAClB,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACjC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,OAAO;oBACN,CAAC,CAAC;wBACA,GAAG,OAAO;wBACV,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACjC,OAAO,EAAE,SAAS;qBAClB;oBACF,CAAC,CAAC,OAAO,CACV,CAAA;gBACD,OAAM;YACP,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACrC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CACpF,CAAA;YACF,CAAC;YACD,OAAM;QACP,CAAC;QAED,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,mBAAmB,EAAE,CAAA;gBACrB,WAAW,CAAC,IAAI,CAAC,CAAA;gBACjB,OAAM;YACP,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAM;YAC1C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,KAAK,SAAS,EAAE,CAAA;gBAChB,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACjC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrF,OAAM;YACP,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACrC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjF,CAAC;YACD,OAAM;QACP,CAAC;QAED,qEAAqE;QACrE,EAAE;QACF,yEAAyE;QACzE,0CAA0C;QAC1C,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,cAAc;QACd,0EAA0E;QAC1E,6EAA6E;QAC7E,4EAA4E;QAC5E,kEAAkE;QAClE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5E,2EAA2E;QAC3E,mEAAmE;QACnE,2EAA2E;QAC3E,oEAAoE;QACpE,MAAM,QAAQ,GACb,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,aAAa,KAAK,wBAAwB,CAAA;QAC3F,IAAI,QAAQ,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;YAClD,mBAAmB,EAAE,CAAA;YACrB,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,SAAS,CACR,WAAW,EAAE,iBAAiB;gBAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CACR,CAAC,EACD,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CACzE;gBACF,CAAC,CAAC,CAAC,CACJ,CAAA;YACD,OAAM;QACP,CAAC;QAED,IACC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC;YACtC,YAAY;YACZ,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAC/B,CAAC;YACF,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACZ,mBAAmB,EAAE,CAAA;gBACrB,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC5D,CAAC;iBAAM,CAAC;gBACP,YAAY,CAAC,4CAA4C,CAAC,CAAA;YAC3D,CAAC;YACD,OAAM;QACP,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,UAAU,EAAE,CAAC;gBAChB,mBAAmB,EAAE,CAAA;gBACrB,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,SAAS,CAAC,CAAC,CAAC,CAAA;gBACZ,OAAM;YACP,CAAC;YACD,oEAAoE;YACpE,wDAAwD;YACxD,IAAI,UAAU,EAAE,CAAC;gBAChB,mBAAmB,EAAE,CAAA;gBACrB,aAAa,CAAC,IAAI,CAAC,CAAA;gBACnB,OAAM;YACP,CAAC;YACD,mBAAmB,EAAE,CAAA;YACrB,QAAQ,EAAE,CAAA;YACV,OAAM;QACP,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAA;YACvC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;gBAChD,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;gBACjE,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB;oBAAE,OAAM;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,YAAY,CAAC,uDAAuD,CAAC,CAAA;oBACrE,OAAM;gBACP,CAAC;gBACD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;gBAClC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;gBAC/D,KAAK,OAAO,CAAC,MAAM,CAAC,EAA4B,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;qBAC5E,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;oBACrB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;wBAAE,OAAM;oBACrC,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;wBACtC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;wBAC7D,OAAM;oBACP,CAAC;oBACD,eAAe,CAAC,SAAS,CAAC,CAAA;oBAC1B,aAAa,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBACzB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;wBAAE,OAAM;oBACrC,eAAe,CAAC,SAAS,CAAC,CAAA;oBAC1B,aAAa,CAAC,IAAI,CAAC,CAAA;oBACnB,YAAY,CACX,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpF,CAAA;gBACF,CAAC,CAAC,CAAA;gBACH,OAAM;YACP,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9E,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YACxB,CAAC;YACD,OAAM;QACP,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;YAC5B,IAAI,CAAC,IAAI;gBAAE,OAAM,CAAC,8DAA8D;YAChF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACpC,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC1D,OAAM;YACP,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACnC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,YAAY,CAAC,qBAAqB,CAAC,CAAA;oBACnC,OAAM;gBACP,CAAC;gBACD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;gBAClC,QAAQ,CACP,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,EAC5D,SAAS,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAA;gBACD,OAAM;YACP,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9E,OAAM;QACP,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACpC,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACnE,OAAM;QACP,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,YAAY,CAAC,wBAAwB,CAAC,CAAA;gBACtC,OAAM;YACP,CAAC;YACD,sEAAsE;YACtE,oEAAoE;YACpE,kEAAkE;YAClE,kEAAkE;YAClE,yBAAyB;YACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAClC,YAAY,CAAC,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1D,OAAM;YACP,CAAC;YACD,IAAI,aAAa,KAAK,wBAAwB,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;gBAClC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBACrE,OAAM;YACP,CAAC;YACD,sEAAsE;YACtE,qEAAqE;YACrE,2DAA2D;YAC3D,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;YAClC,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YACrD,SAAS,CAAC,CAAC,CAAC,CAAA;YACZ,KAAK,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;iBACzE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACjB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;oBAAE,OAAM;gBACrC,eAAe,CAAC,SAAS,CAAC,CAAA;gBAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC,CAAA;gBACtF,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1C,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC7B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACzB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;oBAAE,OAAM;gBACrC,eAAe,CAAC,SAAS,CAAC,CAAA;gBAC1B,MAAM,IAAI,GAAG,SAAS,CACrB,OAAO,CAAC,KAAK,CAAC,YAAY,EAC1B;oBACC,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,EACD,YAAY,IAAI,SAAS,CACzB,CAAA;gBACD,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1C,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YACH,OAAM;QACP,CAAC;QACD,wBAAwB;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1D,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACjB,CAAC;IACF,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,+BAA+B;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAC1B,KAAC,GAAG,IAAC,aAAa,EAAE,CAAC,YACpB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,MAAM,GAAQ,GAC1C,CACN,CAAC,CAAC,CAAC,IAAI,CAAA;IAER,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,sBAAsB,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,KAAK,QAAQ,CAAA;QAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK;YAC/B,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClG,CAAC,CAAC,sBAAsB,CAAA;QACzB,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC1F,SAAS,EACV,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,gCAC3B,UAAU,CAAC,KAAK,CAAC,KAAK,gBAC1B,EACN,sBAAsB,CAAC,CAAC,CAAC,CACzB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,kFAEtB,CACP,CAAC,CAAC,CAAC,CACH,8BACC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,8GAGtB,EACP,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAG,OAAO,GAAQ,GAClF,IACJ,CACH,EACD,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACxC,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CACnC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAC3B,sBAAsB,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,2BAA2B,GACjF,CACP,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CACtC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,wCAA2B,CACxD,CAAC,CAAC,CAAC,IAAI,EACP,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,UAAU,CAAC,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,IACnF,IACD,CACN,CAAA;IACF,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;QAC1B,0EAA0E;QAC1E,wEAAwE;QACxE,sEAAsE;QACtE,oBAAoB;QACpB,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtD,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC1F,SAAS,EACV,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,aAAa,EAAE,CAAC,aAC3C,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,8CACb,KAAK,CAAC,KAAK,IAC7B,EAIP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,4FAEtB,IACF,EAEN,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,YAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,oCAA4B,GAC/E,EACP,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACxC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CACjC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,kCAAoB,KAAK,CAAC,KAAK,cAAS,CACrE,CAAC,CAAC,CAAC,CACH,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,8EAE1B,CACP,EACA,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAC7D,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,+HAGvB,CACP,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,QAAQ,CAAC,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,IAC/E,IACD,CACN,CAAA;IACF,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,SAAS,EACV,KAAC,aAAa,IACb,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAC9C,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACnB,IACG,CACN,CAAA;IACF,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAA;QACvC,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC1F,SAAS,EACV,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,4CAE/B,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,0GAEtB,EACP,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACvC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,IAAgB,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,aAClF,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAG,KAAK,GAAG,CAAC,QAAI,KAAK,CAAC,KAAK,EACvD,KAAK,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,KAFrE,KAAK,CAAC,EAAE,CAGZ,CACP,CAAC,GACG,EACN,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACzC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,kFAAsD,EAClF,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,SAAS,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjE,IACD,CACN,CAAA;IACF,CAAC;IAED,qEAAqE;IACrE,0EAA0E;IAC1E,+BAA+B;IAC/B,MAAM,WAAW,GAAG,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,aACzF,SAAS,EACV,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4CAE7B,EACP,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACzC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,4EAExB,EAMP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,GAAG,qBACO,GAAG,EACb,qBAAqB,EAAE;qCACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;qCAC3B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,+BAEd,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,GAAG,gFAEE,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,GAAG,qGAEE,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,GAAG,+EAEE,IACF,EACL,OAAO,CAAC,CAAC,CAAC,CACV,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,uBACxB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,kBAAU,4FAE1C,GACF,CACN,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,0BACrB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,kBAAU,+DAE7C,GACF,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,kGAE1B,GACF,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAC3B,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,qDACzB,GACF,IACD,CACN,CAAA;IACF,CAAC;IAED,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC1F,SAAS,EACV,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,aAAa,EAAE,CAAC,aAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,kBACpC,aAAa,KAAK,wBAAwB;4BAC1C,CAAC,CAAC,iCAAiC;4BACnC,CAAC,CAAC,mBAAmB,GAChB,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAC3B,aAAa,KAAK,wBAAwB;4BAC1C,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,uCAAuC;4BAC3D,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,6EAA6E,GAC5F,IACF,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,KAAC,WAAW,IAEX,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,KAAK,MAAM,EACtB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,eAAe,IAJpC,CAAC,CAAC,KAAK,CAAC,EAAE,CAKd,CACF,CAAC,GACG,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,aAIxC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,2DACA,aAAa,KAAK,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EACxF,WAAW,CAAC,CAAC,CAAC,+BAA+B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EACrE,OAAO,IAAI,aAAa,KAAK,wBAAwB;gCACrD,CAAC,CAAC,6BAA6B;gCAC/B,CAAC,CAAC,EAAE,EAAE,GAAG,yBAEJ,EACN,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,SAAS,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjE,IACD,CACN,CAAA;AACF,CAAC;AAED,SAAS,aAAa,CAAC,EACtB,aAAa,EACb,IAAI,EACJ,MAAM,EACN,SAAS,GAMT;IACA,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAC3F,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,aAAa,EAAE,CAAC,aAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,qCAE/B,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAAG,aAAa,GAAQ,IAChD,EACL,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CACrB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,wBAAU,aAAa,0BAAqB,CACzE,CAAC,CAAC,CAAC,CACH,8BACE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACd,KAAC,GAAG,IAAC,aAAa,EAAE,CAAC,YACpB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,IAAI,CAAC,MAAM,GAAQ,GAC/C,CACN,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,MAAC,IAAI,IAAY,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,aAC7E,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC1B,CAAC,GAAG,CAAC,QAAI,CAAC,CAAC,KAAK,EAChB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAHjB,CAAC,CAAC,EAAE,CAIR,CACP,CAAC,GACG,IACJ,CACH,EACD,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,aACxC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,iFAAqD,EACjF,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAAG,SAAS,GAAQ,CAAC,CAAC,CAAC,IAAI,IACjE,IACD,CACN,CAAA;AACF,CAAC;AAED,SAAS,WAAW,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,GAMT;IACA,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACnC,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,CAAA;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAA;IAClC,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,kBAAkB;IAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAA;IAC3C,MAAM,WAAW,GAAG,MAAM;QACzB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAA;IAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;IAClD,OAAO,CACN,MAAC,GAAG,eACH,MAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,aAAG,MAAM,SAAS,EAC/E,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,aAAG,MAAM,SAAS,EAC/C,KAAC,IAAI,IACJ,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EACvF,IAAI,EAAE,MAAM,IAAI,QAAQ,EACxB,QAAQ,EAAE,CAAC,MAAM,YAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GACX,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,MAAM,YAC3E,WAAW,GACN,EACN,SAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,YAAG,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,IACrE,CACN,CAAA;AACF,CAAC;AAED,SAAS,cAAc,CAAC,CAAmB;IAC1C,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,KAAK;YACT,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACnC,KAAK,OAAO;YACX,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAA;QAC7D,KAAK,UAAU;YACd,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACxC,KAAK,aAAa;YACjB,OAAO,8BAA8B,CAAA;QACtC,KAAK,YAAY;YAChB,OAAO,6BAA6B,CAAA;QACrC,KAAK,QAAQ;YACZ,sEAAsE;YACtE,2DAA2D;YAC3D,OAAO,0BAA0B,CAAA;QAClC,KAAK,SAAS;YACb,kEAAkE;YAClE,qEAAqE;YACrE,2DAA2D;YAC3D,OAAO,2BAA2B,CAAA;IACpC,CAAC;AACF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * One-line status footer.
3
3
  *
4
- * Layout: `cwd · provider · model · state hint` (provider/model elided
5
- * when null). A `│` divider separates the metadata cluster from the hint
6
- * so the eye can find the help-text without parsing the whole line.
4
+ * Layout follows the operator's reading order: `model effort · cwd` on the
5
+ * left, current goal or interaction status on the right. The right side owns
6
+ * its columns first so a deep path cannot erase the key that exits a prompt.
7
7
  */
8
8
  import type { CostInfo } from '@namzu/sdk';
9
9
  /**
@@ -23,6 +23,9 @@ export interface StatusBarProps {
23
23
  readonly cwd: string;
24
24
  readonly provider: string | null;
25
25
  readonly model: string | null;
26
+ readonly effort?: string | null;
27
+ /** Ambient durable goal status; interaction hints take precedence. */
28
+ readonly goal?: string | null;
26
29
  readonly state: 'idle' | 'thinking' | 'tool' | 'awaiting-permission';
27
30
  readonly hint?: string;
28
31
  readonly usage?: {
@@ -32,7 +35,7 @@ export interface StatusBarProps {
32
35
  /** Kernel-reported context fill — drives the gauge. */
33
36
  readonly context?: ContextFill | null;
34
37
  }
35
- export declare function StatusBar({ cwd, provider, model, state, hint, usage, context }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
38
+ export declare function StatusBar({ cwd, provider, model, effort, goal, state, hint, usage, context, }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
36
39
  export interface ContextGauge {
37
40
  readonly bar: string;
38
41
  readonly pct: number;
@@ -65,50 +68,31 @@ export declare function buildGauge(context: ContextFill | null | undefined): Con
65
68
  * a word broken in half.
66
69
  */
67
70
  export declare function shortenPathToFit(path: string, max: number): string;
71
+ export interface StatusLineLayout {
72
+ readonly primary: string | null;
73
+ readonly effort: string | null;
74
+ readonly cwd: string | null;
75
+ readonly gap: string;
76
+ readonly right: string;
77
+ }
68
78
  /**
69
- * What fits on the status line, and in what order things yield.
70
- *
71
- * The line is one row that truncates from the end, and the hint sits at the
72
- * end — so anything ahead of it that grows pushes it off the screen. The hint
73
- * is the only place any key is advertised: the trust gate's `Esc`, the
74
- * permission prompt's `y`/`n`/`a`, the picker's exits all exist on screen here
75
- * and nowhere else. Losing it strands the operator on a screen whose exits have
76
- * become undiscoverable, so it is the one thing never dropped.
77
- *
78
- * Everything else is recoverable elsewhere and yields in this order:
79
- *
80
- * 1. **usage** — `/cost` prints it exactly, and this is the abbreviation.
81
- * 2. **the context gauge** — same figure, same command.
82
- * 3. **provider** — the longest segment and the least distinctive, since the
83
- * model name already implies it. A credential-qualified provider label runs
84
- * to about thirty columns and repeats a vendor the model string has already
85
- * named.
86
- * 4. **the working directory, shortened** — a shortened path still orients,
87
- * so it is cut before anything else is given up.
88
- * 5. **model**, and only then the path entirely. Both are on the banner and in
89
- * `/model`, but between them these are the two facts worth keeping longest:
90
- * where you are, and what is answering you.
91
- *
92
- * The order was corrected by the tests: dropping the path first discarded a
93
- * two-character cwd to save five columns while a thirty-column provider label
94
- * survived, which is the wrong trade in every case it can happen.
79
+ * Fit the left identity around an authoritative right-side indicator.
95
80
  *
96
- * Measured rather than assumed, and the measurement changed the design: a
97
- * SHORT path still lost the hint at 100 columns, because a realistic provider
98
- * and model fill the line between them. Shortening the path alone would have
99
- * fixed the case that was easiest to picture and left the common one broken.
81
+ * A hint can be the only on-screen explanation of how to leave a prompt, and
82
+ * a goal label is the durable work state the screenshot is meant to expose.
83
+ * Both therefore reserve their width before a path does. The path shortens
84
+ * from the left; effort then yields; the model is the last left-side fact.
100
85
  */
101
86
  export declare function fitStatusLine(input: {
102
87
  readonly columns: number;
103
88
  readonly cwd: string;
104
89
  readonly provider: string | null;
105
90
  readonly model: string | null;
91
+ readonly effort?: string | null;
106
92
  readonly usage: string | null;
107
- readonly gaugeCells: number;
108
- readonly stateLabel: string;
93
+ readonly context: string | null;
94
+ readonly stateLabel: string | null;
109
95
  readonly hint?: string | undefined;
110
- }): {
111
- readonly meta: string;
112
- readonly showGauge: boolean;
113
- };
96
+ readonly goal?: string | null | undefined;
97
+ }): StatusLineLayout;
114
98
  //# sourceMappingURL=StatusBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAK1C;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAA;CACzE;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,qBAAqB,CAAA;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/D,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACrC;AAED,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,2CAgD9F;AA8CD,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,CAevF;AAUD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUlE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CA8DzD"}
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAK1C;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAA;CACzE;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,qBAAqB,CAAA;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/D,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACrC;AAED,wBAAgB,SAAS,CAAC,EACzB,GAAG,EACH,QAAQ,EACR,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,GACP,EAAE,cAAc,2CAoChB;AA8CD,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,CAgBvF;AAUD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUlE;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CACzC,GAAG,gBAAgB,CA+CnB"}
@@ -1,34 +1,30 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Text, useStdout } from 'ink';
3
3
  import { theme } from './theme.js';
4
- export function StatusBar({ cwd, provider, model, state, hint, usage, context }) {
4
+ export function StatusBar({ cwd, provider, model, effort, goal, state, hint, usage, context, }) {
5
5
  const { stdout } = useStdout();
6
- const gaugeRaw = buildGauge(context);
7
- const stateLabel = stateGlyph(state);
8
- // Decide what fits before rendering, rather than letting the terminal cut
9
- // the line wherever it runs out. `truncate-end` alone always sacrifices the
10
- // hint, because the hint is last — see `fitStatusLine`.
11
- const { meta, showGauge } = fitStatusLine({
12
- columns: stdout?.columns ?? 80,
6
+ const gauge = buildGauge(context);
7
+ const layout = fitStatusLine({
8
+ // App gives the footer one cell of horizontal padding on each side. Ink's
9
+ // stdout width is the whole terminal, so reserve those cells here rather
10
+ // than letting its final two characters be clipped after fitting succeeds.
11
+ columns: Math.max(0, (stdout?.columns ?? 80) - 2),
13
12
  cwd: shortenCwd(cwd),
14
13
  provider,
15
14
  model,
15
+ effort: model ? (effort ?? 'default') : null,
16
16
  usage: usage && usage.totalTokens > 0 ? formatUsage(usage) : null,
17
- // ` · ctx ` + bar + optional `~` + up to `100%`
18
- gaugeCells: gaugeRaw ? GAUGE_WIDTH + 12 : 0,
19
- stateLabel,
17
+ context: gauge ? `ctx ${gauge.bar} ${gauge.approximate ? '~' : ''}${gauge.pct}%` : null,
18
+ stateLabel: stateGlyph(state),
20
19
  hint,
20
+ goal,
21
21
  });
22
- const gauge = showGauge ? gaugeRaw : null;
23
- // A single Text with `truncate-end` keeps the footer to exactly one line
24
- // on narrow terminals (it shrinks with an ellipsis instead of wrapping),
25
- // while nested Text spans preserve per-segment color.
26
- return (_jsxs(Text, { wrap: "truncate-end", children: [_jsx(Text, { color: theme.text.muted, children: meta }), gauge ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.text.muted, children: " \u00B7 ctx " }), _jsxs(Text, { color: gauge.color, children: [gauge.bar, " ", gauge.approximate ? '~' : '', gauge.pct, "%"] })] })) : null, _jsx(Text, { color: theme.text.muted, children: " \u2502 " }), _jsx(Text, { color: colorForState(state), children: stateLabel }), hint ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.text.muted, children: " \u2502 " }), _jsx(Text, { color: theme.text.secondary, children: hint })] })) : null] }));
22
+ return (_jsxs(Text, { wrap: "truncate-end", children: [layout.primary ? (_jsx(Text, { color: theme.status.warn, bold: true, children: layout.primary })) : null, layout.effort ? _jsxs(Text, { color: theme.text.secondary, children: [" ", layout.effort] }) : null, layout.cwd ? (_jsxs(_Fragment, { children: [layout.primary ? _jsx(Text, { color: theme.text.muted, children: " \u00B7 " }) : null, _jsx(Text, { color: theme.status.ok, children: layout.cwd })] })) : null, _jsx(Text, { children: layout.gap }), _jsx(Text, { color: goal && !hint ? theme.accent.system : colorForState(state), children: layout.right })] }));
27
23
  }
28
24
  function stateGlyph(state) {
29
25
  switch (state) {
30
26
  case 'idle':
31
- return '● idle';
27
+ return null;
32
28
  case 'thinking':
33
29
  return '◐ thinking';
34
30
  case 'tool':
@@ -129,100 +125,69 @@ export function shortenPathToFit(path, max) {
129
125
  return `…${snapped}`;
130
126
  }
131
127
  /**
132
- * What fits on the status line, and in what order things yield.
128
+ * Fit the left identity around an authoritative right-side indicator.
133
129
  *
134
- * The line is one row that truncates from the end, and the hint sits at the
135
- * end — so anything ahead of it that grows pushes it off the screen. The hint
136
- * is the only place any key is advertised: the trust gate's `Esc`, the
137
- * permission prompt's `y`/`n`/`a`, the picker's exits all exist on screen here
138
- * and nowhere else. Losing it strands the operator on a screen whose exits have
139
- * become undiscoverable, so it is the one thing never dropped.
140
- *
141
- * Everything else is recoverable elsewhere and yields in this order:
142
- *
143
- * 1. **usage** — `/cost` prints it exactly, and this is the abbreviation.
144
- * 2. **the context gauge** — same figure, same command.
145
- * 3. **provider** — the longest segment and the least distinctive, since the
146
- * model name already implies it. A credential-qualified provider label runs
147
- * to about thirty columns and repeats a vendor the model string has already
148
- * named.
149
- * 4. **the working directory, shortened** — a shortened path still orients,
150
- * so it is cut before anything else is given up.
151
- * 5. **model**, and only then the path entirely. Both are on the banner and in
152
- * `/model`, but between them these are the two facts worth keeping longest:
153
- * where you are, and what is answering you.
154
- *
155
- * The order was corrected by the tests: dropping the path first discarded a
156
- * two-character cwd to save five columns while a thirty-column provider label
157
- * survived, which is the wrong trade in every case it can happen.
158
- *
159
- * Measured rather than assumed, and the measurement changed the design: a
160
- * SHORT path still lost the hint at 100 columns, because a realistic provider
161
- * and model fill the line between them. Shortening the path alone would have
162
- * fixed the case that was easiest to picture and left the common one broken.
130
+ * A hint can be the only on-screen explanation of how to leave a prompt, and
131
+ * a goal label is the durable work state the screenshot is meant to expose.
132
+ * Both therefore reserve their width before a path does. The path shortens
133
+ * from the left; effort then yields; the model is the last left-side fact.
163
134
  */
164
135
  export function fitStatusLine(input) {
165
- const { columns, cwd, provider, model, usage, gaugeCells, stateLabel, hint } = input;
166
- // Reserved, in order of what cannot move: the hint and its divider, then the
167
- // state and its divider.
168
- const reserved = (hint ? 3 + hint.length : 0) + 3 + stateLabel.length;
169
- let budget = Math.max(0, columns - reserved);
170
- let showGauge = gaugeCells > 0;
171
- let withUsage = usage !== null;
172
- let withCwd = true;
173
- let withModel = model !== null;
174
- let withProvider = provider !== null;
175
- const build = (cwdText) => {
176
- const parts = [];
177
- if (withCwd && cwdText.length > 0)
178
- parts.push(cwdText);
179
- if (withProvider && provider)
180
- parts.push(provider);
181
- if (withModel && model)
182
- parts.push(model);
183
- if (withUsage && usage)
184
- parts.push(usage);
185
- return parts.join(' · ');
136
+ const columns = Math.max(0, input.columns);
137
+ const ambient = [input.context, input.usage, input.stateLabel].filter((value) => Boolean(value));
138
+ const interaction = [input.stateLabel, input.hint]
139
+ .filter((value) => Boolean(value))
140
+ .join(' · ');
141
+ let right = input.hint
142
+ ? [input.context, input.usage, interaction]
143
+ .filter((value) => Boolean(value))
144
+ .join(' · ')
145
+ : input.goal
146
+ ? input.goal
147
+ : ambient.join(' · ');
148
+ if (right.length > columns)
149
+ right = shortenRightToFit(right, columns);
150
+ const primarySource = input.model ?? input.provider;
151
+ let primary = primarySource;
152
+ let effort = primary && input.model ? (input.effort ?? null) : null;
153
+ let cwd = input.cwd.length > 0 ? input.cwd : null;
154
+ const gapWidth = right.length > 0 ? 1 : 0;
155
+ const leftBudget = Math.max(0, columns - right.length - gapWidth);
156
+ const left = () => {
157
+ const identity = [primary, effort].filter((value) => Boolean(value)).join(' ');
158
+ return [identity, cwd].filter((value) => Boolean(value)).join(' · ');
186
159
  };
187
- const width = (cwdText) => build(cwdText).length + (showGauge ? gaugeCells : 0);
188
- // Everything fits as-is.
189
- if (width(cwd) <= budget)
190
- return { meta: build(cwd), showGauge };
191
- // Drop the two figures `/cost` reprints exactly.
192
- if (withUsage) {
193
- withUsage = false;
194
- if (width(cwd) <= budget)
195
- return { meta: build(cwd), showGauge };
196
- }
197
- if (showGauge) {
198
- showGauge = false;
199
- if (width(cwd) <= budget)
200
- return { meta: build(cwd), showGauge };
201
- }
202
- // Then the provider label, which the model name already implies.
203
- if (withProvider) {
204
- withProvider = false;
205
- if (width(cwd) <= budget)
206
- return { meta: build(cwd), showGauge };
160
+ if (left().length > leftBudget && cwd) {
161
+ const identityWidth = [primary, effort]
162
+ .filter((value) => Boolean(value))
163
+ .join(' ').length;
164
+ const room = leftBudget - identityWidth - (identityWidth > 0 ? 3 : 0);
165
+ cwd = room >= 8 ? shortenPathToFit(cwd, room) : null;
207
166
  }
208
- // Then shorten the path into whatever room is left, before giving it up.
209
- const withoutCwd = build('').length;
210
- const roomForCwd = budget - withoutCwd - (withoutCwd > 0 ? 3 : 0);
211
- if (roomForCwd >= 8) {
212
- const short = shortenPathToFit(cwd, roomForCwd);
213
- if (width(short) <= budget)
214
- return { meta: build(short), showGauge };
167
+ if (left().length > leftBudget)
168
+ effort = null;
169
+ if (left().length > leftBudget)
170
+ cwd = null;
171
+ if (left().length > leftBudget && primary) {
172
+ primary = shortenRightToFit(primary, leftBudget);
215
173
  }
216
- // Then the model, and only then the path entirely.
217
- withModel = false;
218
- if (width(cwd) <= budget)
219
- return { meta: build(cwd), showGauge };
220
- if (roomForCwd >= 8) {
221
- const short = shortenPathToFit(cwd, Math.max(0, budget));
222
- if (width(short) <= budget)
223
- return { meta: build(short), showGauge };
224
- }
225
- withCwd = false;
226
- return { meta: build(''), showGauge };
174
+ if (left().length > leftBudget)
175
+ primary = null;
176
+ const leftWidth = left().length;
177
+ const visibleGap = leftWidth > 0 && right.length > 0 ? 1 : 0;
178
+ const gap = ' '.repeat(Math.max(visibleGap, columns - leftWidth - right.length));
179
+ return { primary, effort, cwd, gap, right };
180
+ }
181
+ /** Preserve both the status identity and its trailing key/action on tiny screens. */
182
+ function shortenRightToFit(value, max) {
183
+ if (max <= 0)
184
+ return '';
185
+ if (value.length <= max)
186
+ return value;
187
+ if (max === 1)
188
+ return '…';
189
+ const available = max - 1;
190
+ const head = Math.ceil(available * 0.45);
191
+ return `${value.slice(0, head)}…${value.slice(-(available - head))}`;
227
192
  }
228
193
  //# sourceMappingURL=StatusBar.js.map