@namzu/cli 2.4.0 → 2.6.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.
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /**
3
3
  * First-run / re-pick provider selector.
4
4
  *
@@ -9,14 +9,125 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  */
10
10
  import { Box, Text, useInput } from 'ink';
11
11
  import { useState } from 'react';
12
+ import { ALL_PROVIDER_IDS, PROVIDER_REGISTRY, } from '../integrations/providers/index.js';
13
+ import { describeProviderModels, verifyCredential } from './agent.js';
14
+ import { describeDisposition, keyLooksUsable, maskKey, sessionCredential } from './credential-entry.js';
15
+ import { modelStep } from './model-choices.js';
12
16
  import { theme } from './theme.js';
13
- export function Picker({ detected, currentProvider, onSubmit, onCancel }) {
17
+ /** Providers that take a typed API key. Local servers do not. */
18
+ function keyCapableProviders() {
19
+ return ALL_PROVIDER_IDS.map((id) => PROVIDER_REGISTRY[id]).filter((e) => e.requiresApiKey);
20
+ }
21
+ export function Picker({ detected, currentProvider, currentModel, onSubmit, onCancel, describeModels = describeProviderModels, onCredential, verify = verifyCredential, }) {
14
22
  const initialIndex = (currentProvider !== null && currentProvider !== undefined
15
23
  ? detected.findIndex((d) => d.entry.id === currentProvider)
16
24
  : 0) || 0;
17
25
  const [cursor, setCursor] = useState(Math.max(0, initialIndex));
18
26
  const [errorHint, setErrorHint] = useState(null);
27
+ // `null` while choosing a provider. Once a provider is accepted this holds
28
+ // the model step, and `undefined` inside it means the listing is in flight.
29
+ const [modelPhase, setModelPhase] = useState(null);
30
+ // Key entry. `value` is the secret and never leaves this component except as
31
+ // a mask or as the credential handed to `onCredential`.
32
+ const [keyEntry, setKeyEntry] = useState(null);
33
+ const acceptKey = async () => {
34
+ const state = keyEntry;
35
+ if (!state)
36
+ return;
37
+ const entry = keyCapableProviders()[state.providerIndex];
38
+ if (!entry)
39
+ return;
40
+ const shape = keyLooksUsable(state.value);
41
+ if (!shape.ok) {
42
+ setKeyEntry({ ...state, status: 'typing', problem: shape.reason });
43
+ return;
44
+ }
45
+ setKeyEntry({ ...state, status: 'checking' });
46
+ const cred = sessionCredential(entry, state.value);
47
+ const verification = await verify(entry.id, cred);
48
+ if (verification.kind === 'rejected') {
49
+ // Stays on the screen with the key intact so a one-character typo is
50
+ // fixable. The reason is the provider's, never the key.
51
+ setKeyEntry({
52
+ ...state,
53
+ status: 'typing',
54
+ problem: describeDisposition(entry, verification),
55
+ });
56
+ return;
57
+ }
58
+ onCredential?.(cred, describeDisposition(entry, verification));
59
+ };
19
60
  useInput((input, key) => {
61
+ // Key entry owns the keyboard while it is open: every printable character
62
+ // is part of a secret, so nothing here may fall through to a shortcut.
63
+ if (keyEntry) {
64
+ if (key.escape) {
65
+ setKeyEntry(null);
66
+ return;
67
+ }
68
+ if (keyEntry.status === 'checking')
69
+ return;
70
+ if (key.return) {
71
+ void acceptKey();
72
+ return;
73
+ }
74
+ if (key.backspace || key.delete) {
75
+ setKeyEntry((k) => (k ? { ...k, value: k.value.slice(0, -1), status: 'typing' } : k));
76
+ return;
77
+ }
78
+ if (input && !key.ctrl && !key.meta) {
79
+ setKeyEntry((k) => (k ? { ...k, value: k.value + input, status: 'typing' } : k));
80
+ }
81
+ return;
82
+ }
83
+ // `k` from the empty screen. Only there: on a populated picker the letter
84
+ // would collide with navigation, and someone with a working credential is
85
+ // not the person this is for.
86
+ if (detected.length === 0 && onCredential && (input === 'k' || input === 'K')) {
87
+ if (keyCapableProviders().length > 0) {
88
+ setKeyEntry({ providerIndex: 0, value: '', status: 'typing' });
89
+ }
90
+ else {
91
+ setErrorHint('No provider here takes a typed key.');
92
+ }
93
+ return;
94
+ }
95
+ if (key.escape) {
96
+ // From the model step, back to the provider list rather than out of
97
+ // the picker: escape should undo one decision, not two.
98
+ if (modelPhase) {
99
+ setModelPhase(null);
100
+ return;
101
+ }
102
+ onCancel();
103
+ return;
104
+ }
105
+ if (modelPhase) {
106
+ const step = modelPhase.step;
107
+ if (!step)
108
+ return; // still listing; ignore input rather than act on a stale list
109
+ if (key.upArrow) {
110
+ setCursor((c) => Math.max(0, c - 1));
111
+ return;
112
+ }
113
+ if (key.downArrow) {
114
+ setCursor((c) => Math.min(step.choices.length - 1, c + 1));
115
+ return;
116
+ }
117
+ if (key.return) {
118
+ const chosen = step.choices[cursor];
119
+ if (!chosen) {
120
+ setErrorHint('No model available.');
121
+ return;
122
+ }
123
+ onSubmit({ provider: modelPhase.provider.entry.id, model: chosen.id });
124
+ return;
125
+ }
126
+ const n = Number.parseInt(input, 10);
127
+ if (Number.isFinite(n) && n >= 1 && n <= step.choices.length)
128
+ setCursor(n - 1);
129
+ return;
130
+ }
20
131
  if (key.upArrow) {
21
132
  setCursor((c) => Math.max(0, c - 1));
22
133
  return;
@@ -31,11 +142,16 @@ export function Picker({ detected, currentProvider, onSubmit, onCancel }) {
31
142
  setErrorHint('No provider available.');
32
143
  return;
33
144
  }
34
- onSubmit({ provider: current.entry.id });
35
- return;
36
- }
37
- if (key.escape) {
38
- onCancel();
145
+ // Ask the provider what it has, then show the model step. The list is
146
+ // raced against 3s inside `describeProviderModels`, so this resolves
147
+ // either way and the step always has at least the default.
148
+ setModelPhase({ provider: current, step: undefined });
149
+ setCursor(0);
150
+ void describeModels(current.entry.id, current).then((listing) => {
151
+ const step = modelStep(current.entry.defaultModel, listing, currentModel ?? undefined);
152
+ setModelPhase({ provider: current, step });
153
+ setCursor(step.initialIndex);
154
+ });
39
155
  return;
40
156
  }
41
157
  // Numeric quick-select.
@@ -44,11 +160,21 @@ export function Picker({ detected, currentProvider, onSubmit, onCancel }) {
44
160
  setCursor(n - 1);
45
161
  }
46
162
  });
163
+ if (keyEntry) {
164
+ const entry = keyCapableProviders()[keyEntry.providerIndex];
165
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [_jsxs(Box, { flexDirection: "column", paddingBottom: 1, children: [_jsxs(Text, { color: theme.accent.system, bold: true, children: ["Paste a key for ", entry?.label ?? 'this provider'] }), _jsx(Text, { color: theme.text.muted, children: "\u2191\u2193 is not needed \u2014 type or paste, then enter. esc cancels." })] }), _jsx(Text, { color: theme.text.primary, children: maskKey(keyEntry.value) || _jsx(Text, { color: theme.text.muted, children: "(nothing typed yet)" }) }), _jsxs(Box, { paddingTop: 1, flexDirection: "column", children: [keyEntry.status === 'checking' ? (_jsxs(Text, { color: theme.text.muted, children: ["Checking it with ", entry?.label, "\u2026"] })) : (_jsx(Text, { color: theme.text.secondary, children: "Used for this session only \u2014 it is not written anywhere." })), keyEntry.problem ? _jsx(Text, { color: theme.status.warn, children: keyEntry.problem }) : null] })] }));
166
+ }
167
+ if (modelPhase) {
168
+ return (_jsx(ModelStepView, { providerLabel: modelPhase.provider.entry.label, step: modelPhase.step, cursor: cursor, errorHint: errorHint }));
169
+ }
47
170
  if (detected.length === 0) {
48
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.status.warn, paddingX: 1, children: [_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 env vars (ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, \u2026)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 macOS Keychain (an existing OAuth sign-in; macOS only)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 local servers (Ollama localhost:11434, LM Studio localhost:1234)"] })] }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.secondary, children: "Set one of the env vars above (or start a local server), then restart namzu." }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.muted, children: "esc: exit picker" }) })] }));
171
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.status.warn, paddingX: 1, children: [_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 env vars (ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, \u2026)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 macOS Keychain (an existing OAuth sign-in; macOS only)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 local servers (Ollama localhost:11434, LM Studio localhost:1234)"] })] }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.secondary, children: "Set one of the env vars above (or start a local server), then restart namzu." }) }), _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 key now and use it for this session."] }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.muted, children: "k: enter a key \u00B7 esc: exit picker" }) })] }));
49
172
  }
50
173
  return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [_jsxs(Box, { flexDirection: "column", paddingBottom: 1, children: [_jsx(Text, { color: theme.accent.system, bold: true, children: "Choose a provider" }), _jsxs(Text, { color: theme.text.muted, children: [detected.length, " detected \u00B7 credentials resolved from env / keychain / local probes"] })] }), _jsx(Box, { flexDirection: "column", children: detected.map((d, i) => (_jsx(ProviderRow, { detected: d, index: i, selected: i === cursor, isCurrent: d.entry.id === currentProvider }, d.entry.id))) }), _jsxs(Box, { flexDirection: "column", paddingTop: 1, children: [_jsx(Text, { color: theme.text.muted, children: "\u2191\u2193 or 1-9 navigate \u00B7 enter accept \u00B7 esc cancel" }), errorHint ? _jsx(Text, { color: theme.status.warn, children: errorHint }) : null] })] }));
51
174
  }
175
+ function ModelStepView({ providerLabel, step, cursor, errorHint, }) {
176
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [_jsxs(Box, { flexDirection: "column", paddingBottom: 1, children: [_jsx(Text, { color: theme.accent.system, bold: true, children: "Choose a model" }), _jsx(Text, { color: theme.text.muted, children: providerLabel })] }), step === undefined ? (_jsxs(Text, { color: theme.text.muted, children: ["Asking ", providerLabel, " what it has\u2026"] })) : (_jsxs(_Fragment, { children: [step.notice ? (_jsx(Box, { paddingBottom: 1, children: _jsx(Text, { color: theme.status.warn, children: step.notice }) })) : null, _jsx(Box, { flexDirection: "column", children: step.choices.map((c, i) => (_jsxs(Text, { color: i === cursor ? theme.accent.system : theme.text.primary, children: [i === cursor ? '❯ ' : ' ', i + 1, ". ", c.label, c.note ? ` ${c.note}` : ''] }, c.id))) })] })), _jsxs(Box, { flexDirection: "column", paddingTop: 1, children: [_jsx(Text, { color: theme.text.muted, children: "\u2191\u2193 or 1-9 navigate \u00B7 enter accept \u00B7 esc back" }), errorHint ? _jsx(Text, { color: theme.status.warn, children: errorHint }) : null] })] }));
177
+ }
52
178
  function ProviderRow({ detected, index, selected, isCurrent, }) {
53
179
  const cursor = selected ? '›' : ' ';
54
180
  const number = `${index + 1}.`;
@@ -65,6 +191,11 @@ function describeSource(d) {
65
191
  return `local · ${d.source.url.replace(/^https?:\/\//, '')}`;
66
192
  case 'keychain':
67
193
  return `keychain · ${d.source.service}`;
194
+ case 'session':
195
+ // Named as temporary wherever it is listed. Someone scanning this
196
+ // column should be able to see which credential disappears when they
197
+ // close the terminal without having to remember typing it.
198
+ return 'typed · this session only';
68
199
  }
69
200
  }
70
201
  //# sourceMappingURL=Picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Picker.js","sourceRoot":"","sources":["../../src/tui/Picker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Picker.js","sourceRoot":"","sources":["../../src/tui/Picker.tsx"],"names":[],"mappings":"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"}
@@ -243,12 +243,67 @@ export interface AgentSessionOptions {
243
243
  }
244
244
  export declare function createAgentSession(prefs: Preferences, detected: readonly DetectedProvider[], options?: AgentSessionOptions): Promise<AgentSession>;
245
245
  /**
246
- * Best-effort live model list for a detected provider, for host-UI pickers (the
247
- * desktop Namzu tab). Instantiates the provider (only the drivers that
248
- * openrouter/ollama are wired in constructProvider — others throw) and calls
249
- * its optional listModels(). Returns [] on any failure so a picker degrades to
250
- * free-text + the provider's defaultModel. Wrapped in a 3s race so a wedged
251
- * local provider (Ollama) or a slow catalog (OpenRouter) can't stall the UI.
246
+ * What happened when we asked a provider for its models.
247
+ *
248
+ * A union rather than an array, because "the list is empty" had four causes and
249
+ * the caller could not tell them apart: the driver has no `listModels`, the
250
+ * provider genuinely publishes none, it did not answer inside the deadline, or
251
+ * it errored. A picker that renders all four as "no models" tells the operator
252
+ * something false in three of them — and the timeout case is the one where the
253
+ * truth ("it did not answer in time") most changes what they should do next.
254
+ */
255
+ export type ModelListing = {
256
+ readonly kind: 'ok';
257
+ readonly models: ReadonlyArray<{
258
+ id: string;
259
+ name: string;
260
+ }>;
261
+ }
262
+ /** The driver does not implement `listModels`. */
263
+ | {
264
+ readonly kind: 'unsupported';
265
+ } | {
266
+ readonly kind: 'timeout';
267
+ } | {
268
+ readonly kind: 'failed';
269
+ readonly reason: string;
270
+ };
271
+ /**
272
+ * Ask a detected provider what models it has.
273
+ *
274
+ * Instantiates the provider and calls its optional `listModels()`, inside a 3s
275
+ * race so a wedged local server or a slow catalog cannot stall the UI.
276
+ */
277
+ export declare function describeProviderModels(id: ProviderId, det: DetectedProvider): Promise<ModelListing>;
278
+ /**
279
+ * Check a key the operator just typed, without spending a turn.
280
+ *
281
+ * Uses the provider's own `listModels` where it has one: a successful listing
282
+ * is proof the credential authenticates, and it costs nothing. A driver without
283
+ * one cannot be checked cheaply, and that is reported as `unverifiable` rather
284
+ * than dressed up as success — claiming a check that did not happen is the
285
+ * failure this whole surface is built to avoid.
286
+ *
287
+ * The key never appears in the returned reason. Provider errors are passed
288
+ * through, and a driver that echoes a credential into its own error message
289
+ * would defeat this; that is a driver bug and not one this can paper over, so
290
+ * the reason is also truncated.
291
+ */
292
+ export declare function verifyCredential(id: ProviderId, det: DetectedProvider): Promise<{
293
+ kind: 'verified';
294
+ } | {
295
+ kind: 'unverifiable';
296
+ } | {
297
+ kind: 'rejected';
298
+ reason: string;
299
+ }>;
300
+ /**
301
+ * The same question, flattened to a list for callers that cannot act on why.
302
+ *
303
+ * `providers-json` emits a JSON roster for a host UI and has always rendered an
304
+ * empty list as "fall back to free text". That contract is unchanged, and this
305
+ * is the one place the reason is deliberately discarded — everywhere else uses
306
+ * `describeProviderModels` and says which case it hit.
252
307
  */
253
308
  export declare function listProviderModels(id: ProviderId, det: DetectedProvider): Promise<Array<{
254
309
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/tui/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/tui/agent.ts"],"names":[],"mappings":"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"}
package/dist/tui/agent.js CHANGED
@@ -361,31 +361,68 @@ function constructProvider(id, det, model) {
361
361
  }
362
362
  }
363
363
  /**
364
- * Best-effort live model list for a detected provider, for host-UI pickers (the
365
- * desktop Namzu tab). Instantiates the provider (only the drivers that
366
- * openrouter/ollama are wired in constructProvider — others throw) and calls
367
- * its optional listModels(). Returns [] on any failure so a picker degrades to
368
- * free-text + the provider's defaultModel. Wrapped in a 3s race so a wedged
369
- * local provider (Ollama) or a slow catalog (OpenRouter) can't stall the UI.
364
+ * Ask a detected provider what models it has.
365
+ *
366
+ * Instantiates the provider and calls its optional `listModels()`, inside a 3s
367
+ * race so a wedged local server or a slow catalog cannot stall the UI.
370
368
  */
371
- export async function listProviderModels(id, det) {
369
+ export async function describeProviderModels(id, det) {
372
370
  try {
373
371
  // constructProvider calls ProviderRegistry.create, which throws
374
372
  // "Unsupported provider type" until the vendor package has registered
375
373
  // itself. The run path registers lazily via ensureRegistered; the
376
- // host-UI listing path must do the same or every provider returns [].
374
+ // listing path must do the same or every provider returns nothing.
377
375
  await ensureRegistered(id);
378
376
  const provider = constructProvider(id, det, det.entry.defaultModel);
379
377
  if (typeof provider.listModels !== 'function')
380
- return [];
381
- const timeout = new Promise((_, reject) => setTimeout(() => reject(new Error('listModels timeout')), 3000));
378
+ return { kind: 'unsupported' };
379
+ const TIMEOUT = Symbol('timeout');
380
+ const timeout = new Promise((resolve) => setTimeout(() => resolve(TIMEOUT), 3000));
382
381
  const models = await Promise.race([provider.listModels(), timeout]);
383
- return models.map((m) => ({ id: m.id, name: m.name || m.id }));
382
+ if (models === TIMEOUT)
383
+ return { kind: 'timeout' };
384
+ return { kind: 'ok', models: models.map((m) => ({ id: m.id, name: m.name || m.id })) };
384
385
  }
385
- catch {
386
- return [];
386
+ catch (err) {
387
+ return { kind: 'failed', reason: err instanceof Error ? err.message : String(err) };
387
388
  }
388
389
  }
390
+ /**
391
+ * Check a key the operator just typed, without spending a turn.
392
+ *
393
+ * Uses the provider's own `listModels` where it has one: a successful listing
394
+ * is proof the credential authenticates, and it costs nothing. A driver without
395
+ * one cannot be checked cheaply, and that is reported as `unverifiable` rather
396
+ * than dressed up as success — claiming a check that did not happen is the
397
+ * failure this whole surface is built to avoid.
398
+ *
399
+ * The key never appears in the returned reason. Provider errors are passed
400
+ * through, and a driver that echoes a credential into its own error message
401
+ * would defeat this; that is a driver bug and not one this can paper over, so
402
+ * the reason is also truncated.
403
+ */
404
+ export async function verifyCredential(id, det) {
405
+ const listing = await describeProviderModels(id, det);
406
+ if (listing.kind === 'ok')
407
+ return { kind: 'verified' };
408
+ if (listing.kind === 'unsupported')
409
+ return { kind: 'unverifiable' };
410
+ if (listing.kind === 'timeout')
411
+ return { kind: 'unverifiable' };
412
+ return { kind: 'rejected', reason: listing.reason.slice(0, 200) };
413
+ }
414
+ /**
415
+ * The same question, flattened to a list for callers that cannot act on why.
416
+ *
417
+ * `providers-json` emits a JSON roster for a host UI and has always rendered an
418
+ * empty list as "fall back to free text". That contract is unchanged, and this
419
+ * is the one place the reason is deliberately discarded — everywhere else uses
420
+ * `describeProviderModels` and says which case it hit.
421
+ */
422
+ export async function listProviderModels(id, det) {
423
+ const listing = await describeProviderModels(id, det);
424
+ return listing.kind === 'ok' ? [...listing.models] : [];
425
+ }
389
426
  /** One scope per launched TUI session; runId is minted fresh per turn by the SDK. */
390
427
  function mintScope() {
391
428
  const suffix = `tui-${Date.now().toString(36)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/tui/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/tui/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACN,eAAe,EACf,aAAa,EAKb,gBAAgB,EAIhB,eAAe,EAQf,YAAY,EAEZ,gBAAgB,EAChB,eAAe,EACf,KAAK,GACL,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAIN,iBAAiB,GACjB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAEN,iBAAiB,EAGjB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,GACf,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAkLpE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACtC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAC1C,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,IAAI;YACR,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;QACtE,KAAK,SAAS;YACb,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;QAChE,KAAK,cAAc;YAClB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;IACxE,CAAC;AACF,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAc,CAAA;AAExC,KAAK,UAAU,gBAAgB,CAAC,EAAc;IAC7C,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAM;IAC9B,QAAQ,EAAE,EAAE,CAAC;QACZ,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;YAC5C,GAAG,CAAC,iBAAiB,EAAE,CAAA;YACvB,MAAK;QACN,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YACzC,GAAG,CAAC,cAAc,EAAE,CAAA;YACpB,MAAK;QACN,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAC7C,GAAG,CAAC,kBAAkB,EAAE,CAAA;YACxB,MAAK;QACN,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YACzC,GAAG,CAAC,cAAc,EAAE,CAAA;YACpB,MAAK;QACN,CAAC;QACD;YACC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,sDAAsD,CAAC,CAAA;IACxF,CAAC;IACD,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACnB,CAAC;AAED,wEAAwE;AACxE,4EAA4E;AAC5E,kEAAkE;AAClE,+BAA+B;AAC/B,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAA;AAErD,4EAA4E;AAC5E,uEAAuE;AACvE,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,4CAA4C;AAC5C,MAAM,cAAc,GAAG;IACtB,uFAAuF;IACvF,8FAA8F;IAC9F,iFAAiF;IACjF,+EAA+E;IAC/E,kFAAkF;IAClF,oFAAoF;IACpF,EAAE;IACF,wHAAwH;IACxH,qKAAqK;IACrK,6NAA6N;IAC7N,iKAAiK;IACjK,8KAA8K;IAC9K,ijBAAijB;CACjjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,SAAS,iBAAiB,CAAC,GAAW;IACrC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClF,4EAA4E;IAC5E,wEAAwE;IACxE,8CAA8C;IAC9C,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,qDAAqD;IACrD,OAAO,QAAQ,CAAA;AAChB,CAAC;AAkCD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,KAAkB,EAClB,QAAqC,EACrC,UAA+B,EAAE;IAEjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAA;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,YAAY,CAAC,qBAAqB,KAAK,CAAC,QAAQ,mBAAmB,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClD,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,YAAY,CAClB,2BAA2B,KAAK,CAAC,KAAK,iBAAiB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAC7G,CAAA;IACF,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,YAAY,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAA;IAC/C,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACJ,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,YAAY,CAClB,uBAAuB,KAAK,CAAC,KAAK,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACzF,CAAA;IACF,CAAC;IACD,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,8EAA8E;IAC9E,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7E,IAAI,YAAY,GAAG,GAAG,EAAE,MAAM,CAAA;IAC9B,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;QACtD,IAAI,CAAC,eAAe;YAAE,OAAM;QAC5B,MAAM,IAAI,GAAG,2BAA2B,EAAE,CAAA;QAC1C,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE;YAC/D,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAA;QACF,IAAI,KAAK,KAAK,YAAY;YAAE,OAAM;QAClC,YAAY,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC;YACJ,QAAQ,GAAG,iBAAiB,CAC3B,WAAW,EACX,EAAE,GAAI,GAAwB,EAAE,MAAM,EAAE,KAAK,EAAE,EAC/C,KAAK,CACL,CAAA;QACF,CAAC;QAAC,MAAM,CAAC;YACR,oEAAoE;QACrE,CAAC;IACF,CAAC,CAAA;IACD,2DAA2D;IAC3D,EAAE;IACF,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACvC,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAChE,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3D,0EAA0E;IAC1E,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;IACpC,0EAA0E;IAC1E,4EAA4E;IAC5E,qEAAqE;IACrE,IAAI,eAAwC,CAAA;IAC5C,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,kCAAkC;IAClC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,6EAA6E;IAC7E,uEAAuE;IACvE,yEAAyE;IACzE,wCAAwC;IACxC,IAAI,eAAe,GAAsB,EAAE,CAAA;IAC3C,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC;YACvC,GAAG;YACH,KAAK;YACL,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,mEAAmE;YACnE,mCAAmC;YACnC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,wEAAwE;YACxE,uEAAuE;YACvE,gEAAgE;YAChE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACtF,aAAa,EAAE,GAAG,EAAE,CACnB,iBAAiB,CAChB,KAAK,CAAC,QAAQ,EACd,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EAC1D,KAAK,CACL;YACF,UAAU,EAAE,GAAG,EAAE;gBAChB,gEAAgE;gBAChE,iEAAiE;gBACjE,sDAAsD;gBACtD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;YACD,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YACxC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACjC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjE,CAAC;YACF,CAAC;SACD,CAAC,CAAA;QACF,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QAClC,eAAe,GAAG,GAAG,CAAC,OAAO,CAAA;QAC7B,eAAe,GAAG,GAAG,CAAC,eAAe,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACR,mDAAmD;IACpD,CAAC;IACD,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACtE,wEAAwE;IACxE,6EAA6E;IAC7E,wDAAwD;IACxD,EAAE;IACF,8EAA8E;IAC9E,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,SAAS,GAAc,IAAI,aAAa,CAAC;QAC9C,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC5B,YAAY,EAAE,eAAwB;QACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACxB,CAAC,CAAA;IACF,uEAAuE;IACvE,iDAAiD;IACjD,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;IAC/B,OAAO;QACN,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,KAAK,CAAC,KAAK;QAC5B,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,eAAe;QACzB,gBAAgB,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,uBAAuB,EAAE,mBAAmB,CAAC,OAAO;QACpD,YAAY,EAAE,GAAG,CAAC,SAAS;QAC3B,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE;QACxB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI;YACpC,mEAAmE;YACnE,wCAAwC;YACxC,MAAM,oBAAoB,EAAE,CAAA;YAC5B,qEAAqE;YACrE,qEAAqE;YACrE,2DAA2D;YAC3D,qDAAqD;YACrD,EAAE;YACF,sEAAsE;YACtE,8DAA8D;YAC9D,sEAAsE;YACtE,+DAA+D;YAC/D,EAAE;YACF,qEAAqE;YACrE,sEAAsE;YACtE,oEAAoE;YACpE,wEAAwE;YACxE,yDAAyD;YACzD,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAA;YACtD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;YACnF,MAAM,YAAY,GACjB;gBACC,cAAc;gBACd,iBAAiB;gBACjB,YAAY;gBACZ,mBAAmB,CAAC,MAAM;gBAC1B,IAAI,EAAE,WAAW;aACjB;iBACC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,CAAA;YAC5B,KAAK,CAAC,CAAC,OAAO,CAAC;gBACd,QAAQ;gBACR,KAAK;gBACL,KAAK,EAAE,QAAQ;gBACf,KAAK;gBACL,gBAAgB,EAAE,GAAG;gBACrB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,QAAQ;gBACR,SAAS;gBACT,YAAY;gBACZ,QAAQ;gBACR,IAAI;gBACJ,WAAW,EAAE,eAAe;gBAC5B,UAAU;aACV,CAAC,CAAA;QACH,CAAC;KACD,CAAA;AACF,CAAC;AAED,SAAS,iBAAiB,CACzB,EAAc,EACd,GAA4B,EAC5B,KAAa;IAEb,QAAQ,EAAE,EAAE,CAAC;QACZ,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,MAAM,KAAK,GAAG,GAAG,EAAE,MAAM,IAAI,EAAE,CAAA;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAA;YAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC5C,IAAI,EAAE,WAAW;gBACjB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACvD,OAAO,EAAE,GAAG,EAAE,OAAO;gBACrB,KAAK;aACL,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QAChB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC5C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE;gBACzB,OAAO,EAAE,GAAG,EAAE,OAAO;gBACrB,KAAK;aACL,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QAChB,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC5C,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE;gBACzB,OAAO,EAAE,GAAG,EAAE,OAAO;aACrB,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QAChB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC5C,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,GAAG,EAAE,OAAO;gBAClB,KAAK;aACL,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QAChB,CAAC;QACD;YACC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,wCAAwC,CAAC,CAAA;IAC1E,CAAC;AACF,CAAC;AAmBD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,EAAc,EACd,GAAqB;IAErB,IAAI,CAAC;QACJ,gEAAgE;QAChE,sEAAsE;QACtE,kEAAkE;QAClE,mEAAmE;QACnE,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAC1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACnE,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;QAE7E,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE,CACvD,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CACxC,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;QACnE,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QAElD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAA;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACpF,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,EAAc,EACd,GAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACtD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;IACnE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;IAC/D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,EAAc,EACd,GAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACrD,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACxD,CAAC;AASD,qFAAqF;AACrF,SAAS,SAAS;IACjB,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;IAC/C,OAAO;QACN,SAAS,EAAE,OAAO,MAAM,EAAE;QAC1B,QAAQ,EAAE,OAAO,MAAM,EAAE;QACzB,SAAS,EAAE,OAAO,MAAM,EAAE;QAC1B,QAAQ,EAAE,OAAO,MAAM,EAAE;KACzB,CAAA;AACF,CAAC;AAED,mEAAmE;AACnE,wEAAwE;AACxE,6EAA6E;AAC7E,yEAAyE;AACzE,uEAAuE;AACvE,iEAAiE;AACjE,MAAM,iBAAiB,GAAG;IACzB,OAAO,EAAE,IAAI;IACb,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,IAAI;IAC3B,YAAY,EAAE,KAAK;IACnB,KAAK,EAAE,EAAwB;CAC/B,CAAA;AAED;;;;;;;;;GASG;AACH,SAAS,OAAO,CAAC,KAA8C;IAC9D,OAAO,EAAE,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;AAC3D,CAAC;AAED,2EAA2E;AAC3E,uEAAuE;AACvE,8EAA8E;AAC9E,0EAA0E;AAC1E,yCAAyC;AACzC,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG;IACzB,QAAQ,EAAE,YAAqB;IAC/B,gBAAgB,EAAE,GAAG;IACrB,cAAc,EAAE,GAAG;IACnB,kBAAkB,EAAE,CAAC;IACrB,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,gBAAgB,EAAE,IAAI;IACtB,qBAAqB,EAAE,CAAC;IACxB,yBAAyB,EAAE,KAAK;IAChC,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,kEAAkE;IAClE,yDAAyD;IACzD,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,KAAK;IACtB,wBAAwB,EAAE,IAAI;IAC9B,kBAAkB,EAAE,EAAE;IACtB,eAAe,EAAE,MAAM;IACvB,mBAAmB,EAAE,CAAC;IACtB,eAAe,EAAE,GAAG;IACpB,sBAAsB,EAAE,GAAG;IAC3B,eAAe,EAAE,GAAG;CACpB,CAAA;AA0BD,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,UAAU,GACK;IACf,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;IAC3B,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,KAAK,CAAC;YACpB,QAAQ;YACR,KAAK;YACL,SAAS;YACT,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,wEAAwE;YACxE,wEAAwE;YACxE,iEAAiE;YACjE,kCAAkC;YAClC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC;YAChC,gBAAgB,EAAE,iBAAiB;YACnC,iEAAiE;YACjE,gEAAgE;YAChE,2DAA2D;YAC3D,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE;gBACV,KAAK;gBACL,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,SAAS;gBACtB,aAAa,EAAE,EAAE;gBACjB,iBAAiB,EAAE,IAAI;gBACvB,cAAc,EAAE,MAAM;aACtB;YACD,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,OAAO;YAClB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;YACvB,gBAAgB;YAChB,aAAa,EAAE,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC;YAC9E,MAAM;YACN,GAAG,KAAK;SACR,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAClC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;gBAC3C,OAAM;YACP,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAClC,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACrB,kEAAkE;YAClE,gEAAgE;YAChE,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,IACC,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBAC/B,KAAK,CAAC,QAAQ,KAAK,OAAO;gBAC1B,UAAU,CAAC,MAAM,GAAG,CAAC;gBACrB,MAAM,CAAC,IAAI,KAAK,UAAU,EACzB,CAAC;gBACF,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAA;gBAC9E,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;gBACrB,SAAQ;YACT,CAAC;YACD,MAAM,MAAM,CAAA;QACb,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACzD,CAAA;IACF,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAChC,QAA0B,EAC1B,YAAsC,EACtC,OAAuB,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;IAEvD,OAAO,KAAK,EAAE,OAAO,EAA+B,EAAE;QACrD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;QAC9F,CAAC;QACD,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,kDAAkD;QAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO;gBACN,MAAM,EAAE,cAAc;gBACtB,QAAQ,EACP,oMAAoM;aACrM,CAAA;QACF,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACtD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA;QACnC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzC,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrC,aAAa,EAAE,EAAE,CAAC,aAAa;gBAC/B,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC;aAC5C,CAAC,CAAC;SACH,CAAC,CAAA;QACF,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,SAAS;gBACb,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA;YACnC,KAAK,aAAa;gBACjB,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAA;gBACnB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA;YACnC,KAAK,QAAQ;gBACZ,OAAO;oBACN,MAAM,EAAE,cAAc;oBACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,4CAA4C;iBAC3E,CAAA;QACH,CAAC;IACF,CAAC,CAAA;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,gBAAgB;IAChB,mFAAmF;IACnF,eAAe;IACf,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,WAAW;CACX,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAqC;IACrE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAC/F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAe;IAC3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,YAAY;YAChB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QAC3C,KAAK,gBAAgB;YACpB,OAAO;gBACN,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;gBACxC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;aACpD,CAAA;QACF,KAAK,gBAAgB;YACpB,OAAO;gBACN,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;gBAChC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;aACnD,CAAA;QACF,KAAK,qBAAqB;YACzB,+DAA+D;YAC/D,mEAAmE;YACnE,oEAAoE;YACpE,oEAAoE;YACpE,+DAA+D;YAC/D,8DAA8D;YAC9D,0DAA0D;YAC1D,OAAO;gBACN,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gBACpC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;gBAC7B,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;oBAC1C,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE;oBACpD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjF,CAAA;QACF,KAAK,cAAc;YAClB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;QACtE,KAAK,cAAc;YAClB,mEAAmE;YACnE,kEAAkE;YAClE,OAAO,KAAK,CAAC,MAAM,KAAK,WAAW;gBAClC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;gBAChE,CAAC,CAAC,IAAI,CAAA;QACR,KAAK,eAAe;YACnB,oEAAoE;YACpE,6DAA6D;YAC7D,mEAAmE;YACnE,kEAAkE;YAClE,sBAAsB;YACtB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QACvF,KAAK,YAAY;YAChB,6DAA6D;YAC7D,2DAA2D;YAC3D,2DAA2D;YAC3D,kDAAkD;YAClD,OAAO;gBACN,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;aAC/E,CAAA;QACF,KAAK,sBAAsB;YAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACxE,KAAK,mBAAmB;YACvB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QAChF;YACC,OAAO,IAAI,CAAA;IACb,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CAAC,KAM3B;IACA,MAAM,CAAC,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACrF,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;IACvE,OAAO,uBAAuB,KAAK,CAAC,cAAc,yBAAyB,KAAK,CAAC,aAAa,MAAM,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,SAAS,EAAE,CAAA;AAC1K,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,yBAAyB,CAAC,KAIlC;IACA,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,qBAAqB,CAAA;IACnD,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,eAAe;YACnB,OAAO,6CAA6C,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,4BAA4B,CAAA;QAC/H,KAAK,cAAc;YAClB,oEAAoE;YACpE,8DAA8D;YAC9D,6DAA6D;YAC7D,OAAO,gEAAgE,IAAI,qCAAqC,CAAA;QACjH,KAAK,iBAAiB;YACrB,oEAAoE;YACpE,mCAAmC;YACnC,OAAO,oHAAoH,IAAI,gCAAgC,CAAA;IACjK,CAAC;AACF,CAAC;AAED,8EAA8E;AAC9E,SAAS,MAAM,CAAC,KAAwB;IACvC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;AAC3E,CAAC;AAED,6EAA6E;AAC7E,SAAS,kBAAkB,CAAC,KAAc;IACzC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,KAAgC,CAAA;QAC5C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACzF,MAAM,OAAO,GACZ,IAAI,CAAC,SAAS,CAAC;YACf,IAAI,CAAC,MAAM,CAAC;YACZ,IAAI,CAAC,WAAW,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC;YACf,IAAI,CAAC,OAAO,CAAC;YACb,iEAAiE;YACjE,mEAAmE;YACnE,kEAAkE;YAClE,gEAAgE;YAChE,0DAA0D;YAC1D,0DAA0D;YAC1D,IAAI,CAAC,aAAa,CAAC,CAAA;QACpB,IAAI,OAAO;YAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC1D,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1C,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;AACxE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAc;IAChE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACzD,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACxF,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9B,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA;QACnC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA;QACnC,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,SAAS;YAAE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACrF,IAAI,SAAS;YAAE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACrF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;IACnC,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,GAAW;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7D,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG,cAAc,CAAC,CAAA;IAC1E,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,SAAS,UAAU,CAAC,KAAa;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnD,OAAO,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAClF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,KAAc;IAC/D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACzD,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACxF,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9B,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA;QACnC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA;QACnC,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,SAAS;YAAE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAChF,IAAI,SAAS;YAAE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAChF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5C,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,6EAA6E;AAC7E,SAAS,eAAe,CAAC,CAAS;IACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAClB,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1D,IAAI,CAAC;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACvB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,IAAI,CAAA;IACnF,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,CAAS;IAC/B,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IACjD,OAAO,CAAC;SACN,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC;SAClC,IAAI,EAAE,CAAA;AACT,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CAAC,MAAc;IACpC,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAA;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5F,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,6EAA6E;AAC7E,SAAS,aAAa,CAAC,MAAc;IACpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACnC,IAAI,GAAG;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,MAAc;IAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACnC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IACzD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAChD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,qEAAqE;IACrE,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;AAC7C,CAAC;AAED,kEAAkE;AAClE,SAAS,SAAS,CAAC,MAAc;IAChC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACnC,IAAI,GAAG,EAAE,CAAC;QACT,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI;YACrE,CAAC,CAAC,IAAI,CAAA;IACR,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5C,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;AACjF,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACtC,OAAO;QACN,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,EAAE;QACb,wEAAwE;QACxE,6CAA6C;QAC7C,QAAQ,EAAE,EAAE;QACZ,uEAAuE;QACvE,yEAAyE;QACzE,gBAAgB,EAAE,EAAE;QACpB,uBAAuB,EAAE,EAAE;QAC3B,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,SAAS;QACT,IAAI,EAAE,KAAK,SAAS,CAAC;YACpB,MAAM,EAAE,IAAI,EAAE,OAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;QACrD,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YACjB,2CAA2C;QAC5C,CAAC;KACD,CAAA;AACF,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Typing a credential into a running namzu, for this session only.
3
+ *
4
+ * Someone who has just installed namzu and has no key reaches a screen that
5
+ * lists three sources and says "then restart namzu". That is accurate and it is
6
+ * a cliff: the product tells them to leave it in order to use it.
7
+ *
8
+ * ## Why session-only, stated as a decision rather than a limitation
9
+ *
10
+ * The obvious durable home is the OS keychain, and here it does not exist. The
11
+ * keychain helper in this package is macOS-only, and it reads and writes a
12
+ * DIFFERENT product's credential store — namzu borrows an OAuth token from it.
13
+ * Writing a namzu key into that envelope would put our secret under their name.
14
+ * On Windows, which is where this was asked for, there is no keychain path at
15
+ * all.
16
+ *
17
+ * So the durable options were a plaintext file or a per-platform credential
18
+ * store nobody has written. Keeping the key in memory for the session is the
19
+ * honest third answer: nothing lands on disk, it works everywhere, and the
20
+ * screen names the environment variable that makes it durable. A secret at rest
21
+ * should be something the operator chose, not something that arrived because
22
+ * they typed into a text field.
23
+ *
24
+ * Everything decidable lives here rather than in the component, because this
25
+ * package has no component tests and a secret is the worst thing to leave
26
+ * unverifiable.
27
+ */
28
+ import type { DetectedProvider, ProviderRegistryEntry } from '../integrations/providers/index.js';
29
+ /**
30
+ * What a key looks like on screen. Never the key.
31
+ *
32
+ * Enough tail to tell two keys apart when you have pasted the wrong one, and
33
+ * never enough to reconstruct one from a screen recording or a scrollback that
34
+ * outlives the session. The length is not revealed either: a fixed-width mask
35
+ * would leak it, and key length distinguishes vendors and sometimes tiers.
36
+ */
37
+ export declare function maskKey(key: string): string;
38
+ /**
39
+ * Whether a typed key is worth trying at all.
40
+ *
41
+ * Deliberately shallow. Anything beyond "not empty, no whitespace, not obviously
42
+ * a shell fragment" is guessing at vendor formats that change, and a validator
43
+ * that rejects a NEW valid key format is worse than one that lets the provider
44
+ * answer. The provider is the authority; this only catches the paste that
45
+ * plainly went wrong.
46
+ */
47
+ export declare function keyLooksUsable(key: string): {
48
+ ok: true;
49
+ } | {
50
+ ok: false;
51
+ reason: string;
52
+ };
53
+ /** How the key was checked before being accepted. */
54
+ export type Verification = {
55
+ readonly kind: 'verified';
56
+ }
57
+ /** The driver has no way to check a key without spending a turn. */
58
+ | {
59
+ readonly kind: 'unverifiable';
60
+ } | {
61
+ readonly kind: 'rejected';
62
+ readonly reason: string;
63
+ };
64
+ /**
65
+ * What namzu tells the operator it did with what they typed.
66
+ *
67
+ * Every branch says three things: that it worked or did not, that the key is
68
+ * held for this session only, and the environment variable that persists it.
69
+ * The middle one is the part a person is most likely to assume otherwise —
70
+ * typing a credential into an application usually means it was saved.
71
+ */
72
+ export declare function describeDisposition(entry: ProviderRegistryEntry, verification: Verification): string;
73
+ /**
74
+ * The detected-provider record a typed key produces.
75
+ *
76
+ * Shaped exactly like a discovered one so every downstream path — session
77
+ * construction, the model picker, `/provider` — treats it identically. The only
78
+ * difference is `source`, so a surface can say where it came from.
79
+ */
80
+ export declare function sessionCredential(entry: ProviderRegistryEntry, key: string): DetectedProvider;
81
+ //# sourceMappingURL=credential-entry.d.ts.map