@corenel/web-ui 0.5.6 → 0.5.8

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.
@@ -26,7 +26,7 @@ export interface SlashCommand {
26
26
  section?: string;
27
27
  icon?: React.ReactNode;
28
28
  }
29
- export declare function Composer({ value, onChange, onSend, onStop, running, placeholder, runHint, mode, onModeChange, modes, chips, onRemoveChip, onAddContext, slashCommands, onPickSlash, attachments, onAttach, onRemoveAttachment, onImageClick, inPrice, showContext, onDropFiles, rightSlot, history, sendLater, pending, onQueue, onInject, onRemovePending, onEditPending, sendLabel, ariaLabel, mentionables, }: {
29
+ export declare function Composer({ value, onChange, onSend, onStop, running, placeholder, runHint, mode, onModeChange, modes, chips, onRemoveChip, onAddContext, slashCommands, onPickSlash, attachments, onAttach, onRemoveAttachment, onImageClick, inPrice, showContext, onDropFiles, rightSlot, history, sendLater, pending, onQueue, onInject, onRemovePending, onEditPending, sendLabel, ariaLabel, mentionables, interim, leadSlot, dictating, }: {
30
30
  value: string;
31
31
  onChange: (v: string) => void;
32
32
  onSend: () => void;
@@ -112,5 +112,39 @@ export declare function Composer({ value, onChange, onSend, onStop, running, pla
112
112
  * passes false. Defaults true, which is exactly what every existing caller
113
113
  * was already saying. */
114
114
  runHint?: boolean;
115
+ /** Unstable speech-recognition text, shown while dictation is running.
116
+ *
117
+ * DELIBERATELY NOT PART OF THE DRAFT. A streaming recogniser revises its
118
+ * guesses as more audio arrives ("hello wor" -> "hello world"), so writing
119
+ * them into `value` would rewrite the textarea under the user -- including
120
+ * over words they had started editing by hand, and including anything they
121
+ * typed while still speaking. It renders as its own transient line, it does
122
+ * not arm Send, and only committed text reaches `value`, through the ordinary
123
+ * onChange. Omitted = no line, which is every surface without dictation. */
124
+ interim?: string;
125
+ /** Swap the text box for the dictation surface.
126
+ *
127
+ * THE SAME COMPOSER, not a replacement panel: same shell, same footprint, same
128
+ * bottom row, so nothing around it moves when the mode flips. What changes is
129
+ * what the box is FOR -- it stops being something you type into and becomes
130
+ * something you watch fill up, with committed speech in normal weight and the
131
+ * live guess trailing it as provisional. Stopping swaps back, and the text is
132
+ * sitting in the ordinary composer ready to edit and send. */
133
+ dictating?: boolean;
134
+ /** Rendered FIRST in the bottom row — the one position in this composer that
135
+ * nothing can displace.
136
+ *
137
+ * Every other slot shifts under something. The chip row is right-aligned in a
138
+ * 60%-wide span shared with the task list, whose chip is labelled with the
139
+ * agent's CURRENT task, so it resizes all through a run and shoves its
140
+ * neighbours sideways. Even this row's own contents come and go: `sendLater`
141
+ * hides while running, the token estimate appears only once there is text.
142
+ * Anything placed after those moves as you type or as a run starts.
143
+ *
144
+ * So this is where a control belongs when being in the same place every time
145
+ * matters more than being near anything in particular. Injected rather than
146
+ * imported, like `sendLater` and `rightSlot`, so this component stays
147
+ * presentational and a surface with nothing to put here simply omits it. */
148
+ leadSlot?: React.ReactNode;
115
149
  }): React.JSX.Element;
116
150
  //# sourceMappingURL=Composer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../Composer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../Composer.tsx"],"names":[],"mappings":"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"}
package/dist/Composer.js CHANGED
@@ -48,7 +48,7 @@ function groupBySection(cmds) {
48
48
  }
49
49
  return order.map((s) => [s, map.get(s)]);
50
50
  }
51
- export function Composer({ value, onChange, onSend, onStop, running, placeholder, runHint = true, mode, onModeChange, modes = DEFAULT_MODES, chips = [], onRemoveChip, onAddContext, slashCommands = [], onPickSlash, attachments = [], onAttach, onRemoveAttachment, onImageClick, inPrice, showContext, onDropFiles, rightSlot, history, sendLater, pending, onQueue, onInject, onRemovePending, onEditPending, sendLabel = 'Send', ariaLabel, mentionables = [], }) {
51
+ export function Composer({ value, onChange, onSend, onStop, running, placeholder, runHint = true, mode, onModeChange, modes = DEFAULT_MODES, chips = [], onRemoveChip, onAddContext, slashCommands = [], onPickSlash, attachments = [], onAttach, onRemoveAttachment, onImageClick, inPrice, showContext, onDropFiles, rightSlot, history, sendLater, pending, onQueue, onInject, onRemovePending, onEditPending, sendLabel = 'Send', ariaLabel, mentionables = [], interim, leadSlot, dictating = false, }) {
52
52
  // Named because it is used to decide which LINE the caret sits on, which is
53
53
  // the whole of the Up/Down rule below.
54
54
  const NEWLINE = '\n';
@@ -220,7 +220,11 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
220
220
  // The chip half of the Alt+Enter ladder: cut the model stream
221
221
  // now instead of waiting for the turn to finish.
222
222
  _jsx("button", { style: S.pendingAction, onClick: () => onInject(p.id), children: "Interrupt now" })), p.state === 'held' && onInject && (_jsx("button", { style: S.pendingAction, onClick: () => onInject(p.id), children: "Send now" })), onRemovePending && (_jsx("button", { style: S.pendingX, "aria-label": "Remove queued message", onClick: () => onRemovePending(p.id), children: "x" }))] }, p.id));
223
- }) })), _jsx("textarea", { ref: textareaRef, style: S.textarea, "aria-label": ariaLabel, value: value, onChange: (e) => {
223
+ }) })), dictating ? (
224
+ /* Same box, different job. aria-live so a screen reader follows the
225
+ transcript as it fills, and role=status rather than textbox because
226
+ there is nothing to type into while this is up. */
227
+ _jsx("div", { style: S.dictation, "data-testid": "composer-dictation", role: "status", "aria-live": "polite", children: value || interim ? (_jsxs(_Fragment, { children: [value && _jsx("span", { style: S.dictationCommitted, children: value }), value && interim ? ' ' : null, interim && _jsx("span", { style: S.interim, "data-testid": "composer-interim", children: interim })] })) : (_jsx("span", { style: S.dictationIdle, children: "Listening\u2026 what you say appears here." })) })) : (_jsx("textarea", { ref: textareaRef, style: S.textarea, "aria-label": ariaLabel, value: value, onChange: (e) => {
224
228
  setSlashHidden(false);
225
229
  setMentionHidden(false);
226
230
  // Typing leaves the history: what is in the box is now a draft, and a
@@ -366,7 +370,7 @@ export function Composer({ value, onChange, onSend, onStop, running, placeholder
366
370
  }
367
371
  const base = `${lead} · ↵ send · ⇧↵ newline`;
368
372
  return runHint ? `${base} · ⌘↵ run` : base;
369
- })(), rows: 3 }), _jsxs("div", { style: S.bottom, children: [!running && sendLater, estTok > 0 && (_jsxs("span", { style: S.est, title: "Rough estimate of this message's input tokens and cost (text only)", children: ["~", fmtTok(estTok), " tok", estCost != null ? ` · est ${fmtCost(estCost)}` : ''] })), _jsxs("div", { ref: stanceRef, style: S.stance, children: [hasMode && (modeOpen ? (modeList.map((mm) => (_jsxs("button", { style: S.stanceOpt(mm.id === mode), title: mm.description || mm.label, onClick: () => { onModeChange?.(mm.id); setModeOpen(false); }, children: [_jsx("span", { style: { ...S.modeDot, background: modeAccent(mm) } }), mm.label] }, mm.id)))) : (_jsxs("button", { style: S.stanceCurrent, onClick: () => setModeOpen(true), title: curMode.description || curMode.label, children: [_jsx("span", { style: { ...S.modeDot, background: modeAccent(curMode) } }), _jsx("span", { style: S.stanceName, children: curMode.label }), _jsx(IcChevron, { size: 12 })] }))), hasMode && _jsx("span", { style: S.stanceDivider }), running ? (_jsxs(_Fragment, { children: [onQueue && (_jsx("button", { style: S.queueBtn, onClick: onQueue, disabled: !value.trim() && attachments.length === 0, title: "Park this for after the run (Enter). Alt+Enter pushes it into the run instead.", children: "Queue" })), _jsxs("button", { style: { ...S.sendBtn, background: 'var(--grad-stop)' }, onClick: onStop, children: [_jsx(IcStop, { size: 12 }), " Stop"] })] })) : (
373
+ })(), rows: 3 })), !dictating && interim ? (_jsx("div", { style: S.interim, "data-testid": "composer-interim", "aria-live": "polite", children: interim })) : null, _jsxs("div", { style: S.bottom, children: [leadSlot, !running && sendLater, estTok > 0 && (_jsxs("span", { style: S.est, title: "Rough estimate of this message's input tokens and cost (text only)", children: ["~", fmtTok(estTok), " tok", estCost != null ? ` · est ${fmtCost(estCost)}` : ''] })), _jsxs("div", { ref: stanceRef, style: S.stance, children: [hasMode && (modeOpen ? (modeList.map((mm) => (_jsxs("button", { style: S.stanceOpt(mm.id === mode), title: mm.description || mm.label, onClick: () => { onModeChange?.(mm.id); setModeOpen(false); }, children: [_jsx("span", { style: { ...S.modeDot, background: modeAccent(mm) } }), mm.label] }, mm.id)))) : (_jsxs("button", { style: S.stanceCurrent, onClick: () => setModeOpen(true), title: curMode.description || curMode.label, children: [_jsx("span", { style: { ...S.modeDot, background: modeAccent(curMode) } }), _jsx("span", { style: S.stanceName, children: curMode.label }), _jsx(IcChevron, { size: 12 })] }))), hasMode && _jsx("span", { style: S.stanceDivider }), running ? (_jsxs(_Fragment, { children: [onQueue && (_jsx("button", { style: S.queueBtn, onClick: onQueue, disabled: !value.trim() && attachments.length === 0, title: "Park this for after the run (Enter). Alt+Enter pushes it into the run instead.", children: "Queue" })), _jsxs("button", { style: { ...S.sendBtn, background: 'var(--grad-stop)' }, onClick: onStop, children: [_jsx(IcStop, { size: 12 }), " Stop"] })] })) : (
370
374
  // One primary per app: a host that declares --grad-send (corenel.ai)
371
375
  // paints Send like every other primary button, and mode colour stays
372
376
  // on the dot. Without it (prompd.app) this falls back to the mode
@@ -396,6 +400,21 @@ const S = {
396
400
  thumbX: { position: 'absolute', top: -6, right: -6, display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: 18, height: 18, borderRadius: 999, border: '1px solid var(--border-default)', background: 'var(--surface-1)', color: 'var(--text-secondary)', cursor: 'pointer', padding: 0, boxShadow: 'var(--shadow-1)' },
397
401
  textarea: { width: '100%', boxSizing: 'border-box', resize: 'none', padding: 10, border: '1px solid var(--border-default)', borderRadius: 'var(--radius-md)', background: 'var(--surface-2)', color: 'var(--text-primary)', fontSize: 14, fontFamily: 'inherit', lineHeight: 1.5, outline: 'none', minHeight: 84, maxHeight: TEXTAREA_MAX_H, overflowY: 'auto' },
398
402
  bottom: { display: 'flex', alignItems: 'center', gap: 8 },
403
+ // Tertiary + italic: it reads as provisional at a glance, so the eye does not
404
+ // mistake it for text that has already landed in the draft.
405
+ interim: { fontSize: 13, lineHeight: 1.45, padding: '0 2px', color: 'var(--text-tertiary)', fontStyle: 'italic', wordBreak: 'break-word' },
406
+ /* Deliberately the textarea's own metrics -- same min-height, padding, radius
407
+ and background -- so the swap changes what the box is for without changing
408
+ where anything sits. */
409
+ dictation: {
410
+ width: '100%', boxSizing: 'border-box', padding: 10,
411
+ border: '1px solid var(--accent)', borderRadius: 'var(--radius-md)',
412
+ background: 'var(--surface-2)', color: 'var(--text-primary)',
413
+ fontSize: 14, lineHeight: 1.5, minHeight: 84, maxHeight: TEXTAREA_MAX_H,
414
+ overflowY: 'auto', wordBreak: 'break-word',
415
+ },
416
+ dictationCommitted: { color: 'var(--text-primary)' },
417
+ dictationIdle: { color: 'var(--text-tertiary)', fontStyle: 'italic' },
399
418
  est: { fontSize: 11.5, color: 'var(--text-tertiary)', fontFamily: 'var(--font-mono)', fontVariantNumeric: 'tabular-nums' },
400
419
  modeDot: { width: 8, height: 8, borderRadius: 999, flexShrink: 0 },
401
420
  // Fused stance + Send: one segmented control on the right of the bar.
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../Composer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../Composer.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAWxD,kFAAkF;AAClF,mFAAmF;AACnF,yBAAyB;AACzB,MAAM,iBAAiB,GAA2B;IAChD,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,uBAAuB;IAC7B,UAAU,EAAE,6BAA6B;CAC1C,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,sDAAsD,EAAE;IAClG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,wDAAwD,EAAE;IACpG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,yDAAyD,EAAE;IACrG,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,8CAA8C,EAAE;CACvG,CAAC;AACF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,KAAK,GAAa,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE9D,oGAAoG;AACpG,MAAM,UAAU,UAAU,CAAC,CAAY,IAAY,OAAO,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC;AAE3H,2FAA2F;AAC3F,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;uEAEuE;AACvE,MAAM,eAAe,GAAG,uCAAuC,CAAC;AAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC;AACpC,iFAAiF;AACjF,oFAAoF;AACpF,yCAAyC;AACzC,MAAM,cAAc,GAAG,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC;AAKpG,4FAA4F;AAC5F,SAAS,cAAc,CAAC,IAAoB;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,EACrE,IAAI,EAAE,YAAY,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EACjF,aAAa,GAAG,EAAE,EAAE,WAAW,EAC/B,WAAW,GAAG,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAC5D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAC1D,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,GA2HvF;IACC,4EAA4E;IAC5E,uCAAuC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD;;;;0EAIsE;IACtE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D;;2EAEuE;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B;;kDAE8C;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,gFAAgF;IAChF,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,WAAW,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IACtD,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC;IACrE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ;;uCAEmC;IACnC;;;;;;4CAMwC;IACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7H,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAQ,EAAE;QACzC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,mDAAmD;IACnD,MAAM,aAAa,GAAG,WAAW,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,SAAS,CAAC;IAC7G,MAAM,QAAQ,GAAG,SAAS;QACxB,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,EAAE,CAAC;IACP,SAAS,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAElE,+EAA+E;IAC/E,gFAAgF;IAChF,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;IACtD;gEAC4D;IAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACpH,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC;IAEjE,kFAAkF;IAClF,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpE,+EAA+E;IAC/E,MAAM,aAAa,GAAG,CAAC,CAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,EAAE;QAC7D,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,CAAC,CAAuB,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aAClE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAClD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,MAAM;gBAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,iFAAiF;IACjF,sEAAsE;IACtE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjE;;;;;;;;0CAQsC;IACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC;;;;6BAIyB;IACzB,MAAM,aAAa,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjI,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,eACE,KAAK,EAAE,CAAC,CAAC,IAAI,iBACD,eAAe,EAC3B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACpE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAAC,CAAC,CAAC,cAAc,EAAE,CAAC;gBAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAC,SAAS,aAEZ,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,eAAK,KAAK,EAAE,CAAC,CAAC,KAAK,aAChB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzB,kBAEE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,aAAa,CAAC,EACvC,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAIlC,gBAAM,KAAK,EAAE,CAAC,CAAC,SAAS,kBAAI,CAAC,CAAC,IAAI,IAAQ,EAC1C,eAAM,KAAK,EAAE,CAAC,CAAC,SAAS,YAAG,CAAC,CAAC,IAAI,IAAI,EAAE,GAAQ,KAR1C,CAAC,CAAC,IAAI,CASJ,CACV,CAAC,EACF,eAAK,KAAK,EAAE,CAAC,CAAC,SAAS,aAAE,mDAAwB,EAAA,2CAAqB,EAAA,yCAAwB,IAAM,IAChG,CACP,EAEA,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACnC,eAAK,KAAK,EAAE,CAAC,CAAC,KAAK,aAChB,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAClD,0BACG,OAAO,IAAI,cAAK,KAAK,EAAE,CAAC,CAAC,YAAY,YAAG,OAAO,GAAO,EACtD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gCACf,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gCAChC,OAAO,CACL,kBAEE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,WAAW,CAAC,EACvC,YAAY,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAEpC,eAAM,KAAK,EAAE,CAAC,CAAC,SAAS,YAAG,CAAC,CAAC,IAAI,GAAQ,EACzC,gBAAM,KAAK,EAAE,CAAC,CAAC,SAAS,kBAAI,CAAC,CAAC,IAAI,IAAQ,EAC1C,eAAM,KAAK,EAAE,CAAC,CAAC,SAAS,YAAG,CAAC,CAAC,IAAI,GAAQ,KAPpC,CAAC,CAAC,IAAI,CAQJ,CACV,CAAC;4BACJ,CAAC,CAAC,KAhBM,OAAO,IAAI,GAAG,CAiBlB,CACP,CAAC,EACF,eAAK,KAAK,EAAE,CAAC,CAAC,SAAS,aAAE,mDAAwB,EAAA,2CAAqB,EAAA,yCAAwB,IAAM,IAChG,CACP,EAEA,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CACnD,eAAK,KAAK,EAAE,CAAC,CAAC,KAAK,aAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,gBAAiB,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,aAC3C,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,EACnE,eAAM,KAAK,EAAE,CAAC,CAAC,SAAS,YAAG,CAAC,CAAC,KAAK,GAAQ,EACzC,CAAC,CAAC,SAAS,IAAI,iBAAQ,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAa,gBAAgB,YAAC,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,KAH1H,CAAC,CAAC,EAAE,CAIR,CACR,CAAC,EACD,aAAa,IAAI,kBAAQ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAC,aAAa,aAAC,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,gBAAiB,EAI1H,SAAS,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,UAAU,YAAG,SAAS,GAAQ,IACvD,CACP,EAEA,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,cAAK,KAAK,EAAE,CAAC,CAAC,MAAM,YACjB,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,eAAa,KAAK,EAAE,CAAC,CAAC,SAAS,aAC7B,cAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,iBAAiB,GAAG,EAC/I,iBAAQ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,gBAAa,cAAc,YAAC,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,KAF7G,CAAC,CAGL,CACP,CAAC,GACE,CACP,EAEA,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,cAAK,KAAK,EAAE,CAAC,CAAC,UAAU,YACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjB,MAAM,OAAO,GAAG,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC1C,MAAM,UAAU,GAAG,GAAG,EAAE;wBACtB,mBAAmB,CAAC,IAAI,CAAC,CAAC;wBAC1B,6DAA6D;wBAC7D,0CAA0C;wBAC1C,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;4BAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBAC7E,gEAAgE;wBAChE,uCAAuC;wBACvC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;4BAAE,OAAO;wBAC7C,IAAI,aAAa;4BAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;oBAC7D,CAAC,CAAC;oBACF,OAAO,CACL,gBAAiB,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAC3C,OAAO,CAAC,CAAC,CAAC,CACT,gBACE,SAAS,QACT,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oCACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wCAAC,CAAC,CAAC,cAAc,EAAE,CAAC;wCAAC,UAAU,EAAE,CAAC;wCAAC,OAAO;oCAAC,CAAC;oCACpE,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wCACvB,CAAC,CAAC,cAAc,EAAE,CAAC;wCACnB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;wCACjC,mBAAmB,CAAC,IAAI,CAAC,CAAC;oCAC5B,CAAC;gCACH,CAAC,GACD,CACH,CAAC,CAAC,CAAC,CACF,eACE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAC3E,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE;oCAC5B,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;oCAClC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oCAC1B,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gCAChC,CAAC,CAAC,CAAC,CAAC,SAAS,YACb,CAAC,CAAC,IAAI,GAAQ,CACjB,EACA,CAAC,CAAC,IAAI,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,WAAW,YAAG,CAAC,CAAC,IAAI,GAAQ,EACrD,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,WAAW,sCAA8B,EACnF,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,QAAQ,IAAI;4BACtC,8DAA8D;4BAC9D,iDAAiD;4BACjD,iBAAQ,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,8BAAwB,CACtF,EACA,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,QAAQ,IAAI,CACjC,iBAAQ,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAmB,CACjF,EACA,eAAe,IAAI,CAClB,iBAAQ,KAAK,EAAE,CAAC,CAAC,QAAQ,gBAAa,uBAAuB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAY,CAC/G,KAvCQ,CAAC,CAAC,EAAE,CAwCR,CACR,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,EAEA,SAAS,CAAC,CAAC,CAAC;YACX;;iEAEqD;YACrD,cAAK,KAAK,EAAE,CAAC,CAAC,SAAS,iBAAc,oBAAoB,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,YACvF,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAClB,8BACG,KAAK,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,kBAAkB,YAAG,KAAK,GAAQ,EAC1D,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAC7B,OAAO,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,OAAO,iBAAc,kBAAkB,YAAE,OAAO,GAAQ,IAClF,CACJ,CAAC,CAAC,CAAC,CACF,eAAM,KAAK,EAAE,CAAC,CAAC,aAAa,2DAA8C,CAC3E,GACG,CACP,CAAC,CAAC,CAAC,CACJ,mBACE,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,CAAC,CAAC,QAAQ,gBACL,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,cAAc,CAAC,KAAK,CAAC,CAAC;oBACtB,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACxB,sEAAsE;oBACtE,mEAAmE;oBACnE,aAAa;oBACb,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBACrB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,EACD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oBACf,yEAAyE;oBACzE,oEAAoE;oBACpE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBAC5H,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBACrG,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBAC/E,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BACtF,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC/E,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBACvH,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBACnG,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAAC,CAAC,CAAC,cAAc,EAAE,CAAC;4BAAC,cAAc,CAAC,IAAI,CAAC,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBAC7E,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;4BACtF,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BACzE,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD;;;;;;;;;;;uBAWG;oBACH,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;2BAC5E,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC5D,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;wBAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC;wBAC7B,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC;wBAC3C,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC1D,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACtD,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,WAAW,IAAI,WAAW,CAAC;wBACnE,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,WAAW,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;wBAE/F,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;4BAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,gEAAgE;4BAChE,8CAA8C;4BAC9C,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC;gCAAE,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;4BACnD,MAAM,IAAI,GAAG,QAAQ;gCACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gCACnD,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;4BACxB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;4BACvB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAE,CAAC;4BAChF,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACf,cAAc,CAAC,IAAI,CAAC,CAAC;4BACrB,0DAA0D;4BAC1D,gEAAgE;4BAChE,0DAA0D;4BAC1D,qBAAqB,CAAC,GAAG,EAAE;gCACzB,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;gCAC9B,IAAI,CAAC;oCAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;4BACvD,CAAC,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;wBAAE,OAAO;oBAC9B,mEAAmE;oBACnE,8DAA8D;oBAC9D,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ;wBAAE,OAAO;oBACjD,kDAAkD;oBAClD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBACb,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;4BAAE,OAAO;wBAClC,kEAAkE;wBAClE,kEAAkE;wBAClE,wCAAwC;wBACxC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;4BAAE,OAAO;wBACvE,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,QAAQ,EAAE,CAAC;wBACX,OAAO;oBACT,CAAC;oBACD,oEAAoE;oBACpE,gEAAgE;oBAChE,gEAAgE;oBAChE,kCAAkC;oBAClC,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;wBACvB,IAAI,CAAC,OAAO;4BAAE,OAAO;wBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,OAAO,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,OAAO;wBAAE,OAAO;oBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBACrB,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;oBACvB,MAAM,EAAE,CAAC;gBACX,CAAC,EACD,WAAW,EAAE,CAAC,GAAG,EAAE;oBACjB,oEAAoE;oBACpE,MAAM,IAAI,GAAG,WAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACtE,IAAI,cAAc;wBAAE,OAAO,IAAI,CAAC;oBAChC,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;wBAClC,OAAO,GAAG,IAAI,8CAA8C,CAAC;oBAC/D,CAAC;oBACD,MAAM,IAAI,GAAG,GAAG,IAAI,0BAA0B,CAAC;oBAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAC,EAAE,EACJ,IAAI,EAAE,CAAC,GACP,CACD,EAMA,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CACvB,cAAK,KAAK,EAAE,CAAC,CAAC,OAAO,iBAAc,kBAAkB,eAAW,QAAQ,YAAE,OAAO,GAAO,CACzF,CAAC,CAAC,CAAC,IAAI,EAER,eAAK,KAAK,EAAE,CAAC,CAAC,MAAM,aAIjB,QAAQ,EAKR,CAAC,OAAO,IAAI,SAAS,EACrB,MAAM,GAAG,CAAC,IAAI,CACb,gBAAM,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,oEAAoE,kBAC1F,MAAM,CAAC,MAAM,CAAC,UAAM,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IACpE,CACR,EAGD,eAAK,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,aACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACnB,kBAAoB,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aACtJ,eAAM,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,GAAI,EAAC,EAAE,CAAC,KAAK,KAD3D,EAAE,CAAC,EAAE,CAET,CACV,CAAC,CACH,CAAC,CAAC,CAAC,CACF,kBAAQ,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,aAC3G,eAAM,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,GAAI,EAClE,eAAM,KAAK,EAAE,CAAC,CAAC,UAAU,YAAG,OAAO,CAAC,KAAK,GAAQ,EACjD,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,IAChB,CACV,CAAC,EACD,OAAO,IAAI,eAAM,KAAK,EAAE,CAAC,CAAC,aAAa,GAAI,EAC3C,OAAO,CAAC,CAAC,CAAC,CACT,8BACG,OAAO,IAAI,CACV,iBACE,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EACnD,KAAK,EAAC,gFAAgF,sBACzE,CAChB,EACD,kBAAQ,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,aAAE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,aAAc,IACnH,CACJ,CAAC,CAAC,CAAC;4BACF,qEAAqE;4BACrE,qEAAqE;4BACrE,kEAAkE;4BAClE,+CAA+C;4BAC/C,kBAAQ,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,aAAE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,OAAE,SAAS,IAAU,CAC1O,IACG,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,GAAwB;IAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,gCAAgC,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;IAC1K,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE;IACtR,SAAS,EAAE,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACvT,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC,EAAE;IAC9I,SAAS,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;IACnI,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC9H,YAAY,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC7J,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,kBAAkB,EAAE;IACxM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC1E,gFAAgF;IAChF,8DAA8D;IAC9D,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE;IAC7G,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,gCAAgC,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC/S,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;IACjF,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;IAC/N,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3Q,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;IACrD,SAAS,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1D,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;IACrK,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,iCAAiC,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAC9U,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;IAChW,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;IACzD,8EAA8E;IAC9E,4DAA4D;IAC5D,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE;IAC1I;;8BAE0B;IAC1B,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QACnD,MAAM,EAAE,yBAAyB,EAAE,YAAY,EAAE,kBAAkB;QACnE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB;QAC5D,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc;QACvE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY;KAC3C;IACD,kBAAkB,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACpD,aAAa,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,QAAQ,EAAE;IACrE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE;IAC1H,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE;IAClE,sEAAsE;IACtE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE;IACxP,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE;IACtQ,UAAU,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;IAC3C,SAAS,EAAE,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC3W,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,sBAAsB,EAAE;IACrF,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;IACvL,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;IAC/M,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;IACzD,WAAW,EAAE,CAAC,KAA0B,EAAuB,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM;QACtE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE;QAC1E,UAAU,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,kBAAkB;QACxF,MAAM,EAAE,aAAa,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,sBAAsB,EAAE;QACvF,KAAK,EAAE,uBAAuB;KAC/B,CAAC;IACF,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;IAClG,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IAC9O,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;IACrD,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IAC5H,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;CACpJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { createDictation as realCreateDictation } from '@corenel/tools-web/speech/session';
3
+ import type { ModelHost } from '@corenel/tools-web/speech/model';
4
+ export interface DictateButtonProps {
5
+ host: ModelHost;
6
+ /** A revisable guess. Rendered transiently; never merged into the draft. */
7
+ onInterim(text: string): void;
8
+ /** Committed text, to append to the draft. */
9
+ onFinal(text: string): void;
10
+ /** Injected in tests so no real Worker or microphone is involved. */
11
+ createDictation?: typeof realCreateDictation;
12
+ /** Whether dictation can run here at all. Defaults to a capability probe. */
13
+ supported?: boolean;
14
+ /** Fires whenever recording starts or stops, so the host can swap the composer
15
+ * to its dictation surface for exactly that long. Everything that ends a
16
+ * dictation reports false -- stopping, failing, and unmounting -- or the
17
+ * composer would be left in a mode with nothing feeding it. */
18
+ onListeningChange?(listening: boolean): void;
19
+ }
20
+ export declare function DictateButton({ host, onInterim, onFinal, createDictation, supported, onListeningChange, }: DictateButtonProps): React.JSX.Element;
21
+ //# sourceMappingURL=DictateButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DictateButton.d.ts","sourceRoot":"","sources":["../DictateButton.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAuBjE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,4EAA4E;IAC5E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8CAA8C;IAC9C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,mBAAmB,CAAC;IAC7C,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;mEAG+D;IAC/D,iBAAiB,CAAC,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9C;AAMD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAqC,EAAE,SAAS,EAAE,iBAAiB,GAC9F,EAAE,kBAAkB,qBAgLpB"}
@@ -0,0 +1,218 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* The microphone button: consent, download, listen, release.
3
+ *
4
+ * It owns the whole opt-in funnel, because the moment someone wants to dictate
5
+ * is the only moment the question makes sense. The model is ~50MB on the user's
6
+ * own connection, so the first click asks and says how much; every click after
7
+ * that just works, including after the browser has evicted the cache (intent and
8
+ * presence are stored separately -- see speech/model.ts).
9
+ *
10
+ * The unmount cleanup is not housekeeping. Navigating away, closing the panel,
11
+ * or a parent re-render that drops this subtree all destroy the component with
12
+ * nobody calling stop(), and the session cannot defend itself against that -- it
13
+ * is the one door it does not control. A microphone left open there would make
14
+ * this feature's entire claim ("nothing leaves your device") false in the only
15
+ * way the user cannot see. */
16
+ import { useCallback, useEffect, useRef, useState } from 'react';
17
+ import { IcMic, IcStop } from '@corenel/ui-kit/icons';
18
+ import { createDictation as realCreateDictation } from '@corenel/tools-web/speech/session';
19
+ /** What enabling voice input actually costs on the wire, for the prompt.
20
+ *
21
+ * MEASURED FROM A REAL CACHE, not from the build output. An earlier estimate
22
+ * read the ONNX runtime out of `dist/` and guessed ~60MB -- but that bundled
23
+ * wasm is never fetched: transformers.js pulls its runtime from its own CDN at
24
+ * runtime. What a first dictation actually downloads, read back out of Cache
25
+ * Storage after one run:
26
+ *
27
+ * encoder_model_quantized.onnx 7.9 MB
28
+ * decoder_model_merged_quantized.onnx 20.2 MB
29
+ * tokenizer.json 3.8 MB
30
+ * onnxruntime-web wasm (CDN) 5.5 MB
31
+ * ~37.5 MB
32
+ *
33
+ * The copy rounds UP: the safe direction to be wrong about a download is asking
34
+ * for more than you spend. Approximate on purpose -- the exact figure moves with
35
+ * the artifacts, and an over-precise number is a promise this cannot keep. */
36
+ const DOWNLOAD_SIZE = '~40 MB';
37
+ function canDictate() {
38
+ return typeof navigator !== 'undefined' && !!navigator.mediaDevices?.getUserMedia;
39
+ }
40
+ export function DictateButton({ host, onInterim, onFinal, createDictation = realCreateDictation, supported, onListeningChange, }) {
41
+ const [state, setState] = useState('idle');
42
+ const [error, setError] = useState(null);
43
+ const [progress, setProgress] = useState(null);
44
+ const session = useRef(null);
45
+ const ok = supported ?? canDictate();
46
+ /* Set on unmount, and checked after every await in `begin`.
47
+ *
48
+ * Stopping the session is not enough on its own: `begin` awaits ensureModel --
49
+ * a multi-second, multi-megabyte download -- BEFORE `session.current` exists.
50
+ * Unmounting during that window leaves the cleanup below with a null ref to
51
+ * stop, and `begin` then resumes and opens the microphone on behalf of a
52
+ * component that is gone, with nothing left to close it. */
53
+ const cancelled = useRef(false);
54
+ /* Read through a ref so the unmount cleanup (empty deps, by design) can reach
55
+ * the CURRENT callback rather than the one captured at first mount. */
56
+ const report = useRef(onListeningChange);
57
+ report.current = onListeningChange;
58
+ /* Release on unmount. Empty deps on purpose: this must run exactly once, at
59
+ * teardown, reading the ref -- a dependency that re-ran it would stop a live
60
+ * dictation every time the parent re-rendered.
61
+ *
62
+ * THE RESET IS NOT TIDINESS, IT IS THE WHOLE THING WORKING AT ALL.
63
+ *
64
+ * `cancelled` lives in a ref, so it outlives the effect that sets it. React's
65
+ * StrictMode mounts, unmounts and remounts every component in development:
66
+ * that first unmount latches this flag true, the remount re-registers the
67
+ * effect, and with no reset the flag stays true for the life of the component.
68
+ * `begin()` then awaits ensureModel, gets its worker, gets `ready` -- and
69
+ * returns at the cancelled check one line before it would open the
70
+ * microphone. Silently: no error, no state change. The button sits on its
71
+ * download percentage forever and every later click is swallowed by the
72
+ * `preparing` guard.
73
+ *
74
+ * Any flag a cleanup latches has to be cleared when the effect re-subscribes,
75
+ * StrictMode or not. Reported from use; reproduced in the browser. */
76
+ useEffect(() => {
77
+ cancelled.current = false;
78
+ return () => {
79
+ cancelled.current = true;
80
+ void session.current?.stop();
81
+ session.current = null;
82
+ // The composer must come out of dictation mode even when this disappears
83
+ // from under it.
84
+ report.current?.(false);
85
+ };
86
+ }, []);
87
+ const teardown = useCallback(() => {
88
+ void session.current?.stop();
89
+ session.current = null;
90
+ setState('idle');
91
+ setProgress(null);
92
+ report.current?.(false);
93
+ // Drop the dangling guess: a half-sentence left under the composer after
94
+ // dictation died reads as text the user is about to send.
95
+ onInterim('');
96
+ }, [onInterim]);
97
+ const begin = useCallback(async () => {
98
+ setError(null);
99
+ setState('preparing');
100
+ /* A WARM-UP IS NOT A DOWNLOAD.
101
+ *
102
+ * Reloading the page resets the engine singleton, so the worker is rebuilt
103
+ * and the pipeline re-instantiated every time. That is unavoidable and takes
104
+ * a couple of seconds -- but it is not a fetch. transformers.js fires
105
+ * progress_callback for every file it loads, INCLUDING files served straight
106
+ * from Cache Storage, so wiring the sink unconditionally made every reload
107
+ * display 0→100% as though it were pulling ~40MB again. Nothing was being
108
+ * re-fetched; the UI was lying about what it was doing. Reported from use.
109
+ *
110
+ * So the percentage is reserved for a real download. Cached-but-cold falls
111
+ * through to the indeterminate state, which is what a warm-up honestly is. */
112
+ let cached = false;
113
+ try {
114
+ cached = await host.isCached();
115
+ }
116
+ catch {
117
+ cached = false;
118
+ }
119
+ if (cancelled.current)
120
+ return;
121
+ try {
122
+ await host.ensureModel(cached ? undefined : (p) => setProgress(p));
123
+ }
124
+ catch (e) {
125
+ // Intent stays on (model.ts keeps it), so the next click retries the
126
+ // download rather than re-asking a question already answered.
127
+ setError(e.message || 'The download failed.');
128
+ setState('idle');
129
+ setProgress(null);
130
+ return;
131
+ }
132
+ // Gone while the model was downloading: do not acquire a microphone for a
133
+ // component that no longer exists to release it.
134
+ if (cancelled.current)
135
+ return;
136
+ const d = createDictation({
137
+ onInterim,
138
+ onFinal,
139
+ onError: (err) => { setError(err.message); teardown(); },
140
+ });
141
+ session.current = d;
142
+ setState('listening');
143
+ setProgress(null);
144
+ report.current?.(true);
145
+ await d.start();
146
+ // Unmounted while start() was awaiting the permission prompt. The session's
147
+ // own generation check cancels the run; this closes the handle we hold.
148
+ if (cancelled.current) {
149
+ void d.stop();
150
+ session.current = null;
151
+ }
152
+ }, [host, createDictation, onInterim, onFinal, teardown]);
153
+ const onClick = useCallback(async () => {
154
+ if (state === 'listening') {
155
+ /* Leave dictation mode FIRST. stop() now waits for the tail transcript,
156
+ * and holding the composer in its dictation surface for that wait -- after
157
+ * the user has already pressed stop -- reads as a hang. The tail lands in
158
+ * the draft a moment later, which is where they are looking anyway. */
159
+ setState('idle');
160
+ report.current?.(false);
161
+ await session.current?.stop();
162
+ session.current = null;
163
+ onInterim('');
164
+ return;
165
+ }
166
+ if (state === 'preparing' || state === 'asking')
167
+ return;
168
+ if (!host.isEnabled()) {
169
+ // Only ask when there is something to spend. Consented-but-evicted, and
170
+ // not-consented-but-already-downloaded, both proceed silently.
171
+ if (!(await host.isCached())) {
172
+ setState('asking');
173
+ return;
174
+ }
175
+ host.setEnabled(true);
176
+ }
177
+ await begin();
178
+ }, [state, host, begin, onInterim]);
179
+ const accept = useCallback(async () => {
180
+ host.setEnabled(true);
181
+ setState('idle');
182
+ await begin();
183
+ }, [host, begin]);
184
+ const listening = state === 'listening';
185
+ const label = listening ? 'Stop dictating' : 'Dictate';
186
+ const title = !ok
187
+ ? 'Voice input needs a microphone and a browser that supports one.'
188
+ : listening ? 'Stop dictating' : `Dictate into the composer (${DOWNLOAD_SIZE} one-time download)`;
189
+ return (_jsxs("span", { style: S.wrap, children: [error && _jsx("span", { style: S.err, role: "status", children: error }), state === 'asking' && (_jsxs("span", { style: S.ask, role: "dialog", "aria-label": "Enable voice input", children: [_jsxs("span", { style: S.askText, children: ["Voice input runs entirely on your device. It needs a one-time ", DOWNLOAD_SIZE, " download."] }), _jsx("button", { style: S.askGo, onClick: () => void accept(), children: "Enable" }), _jsx("button", { style: S.askNo, onClick: () => setState('idle'), children: "Not now" })] })), _jsxs("button", { style: S.btn(listening), onClick: () => void onClick(), disabled: !ok, "aria-label": label, title: title, children: [listening ? _jsx(IcStop, { size: 14 }) : _jsx(IcMic, { size: 16 }), state === 'preparing' && (_jsx("span", { style: S.pct, children: progress == null ? '…' : `${progress}%` }))] })] }));
190
+ }
191
+ /* `satisfies` rather than a type annotation: annotating the whole object as a
192
+ * Record widens every member to the union, so TS stops knowing that `btn` is the
193
+ * callable one and the rest are plain styles. `satisfies` validates each entry
194
+ * against the same shape while keeping its precise inferred type. (Composer.tsx
195
+ * next door solves this with Record<string, any>; new code here does not.) */
196
+ const S = {
197
+ wrap: { display: 'inline-flex', alignItems: 'center', gap: 6, minWidth: 0 },
198
+ err: { fontSize: 11, color: 'var(--danger, #c33)', maxWidth: 220, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' },
199
+ ask: { display: 'inline-flex', alignItems: 'center', gap: 6, padding: '3px 6px', borderRadius: 'var(--radius-sm)', background: 'var(--surface-2)', border: '1px solid var(--border-default)' },
200
+ askText: { fontSize: 11.5, color: 'var(--text-secondary)', maxWidth: 280 },
201
+ askGo: { border: 0, background: 'transparent', color: 'var(--accent)', cursor: 'pointer', fontSize: 11.5, fontWeight: 600, padding: 0 },
202
+ askNo: { border: 0, background: 'transparent', color: 'var(--text-tertiary)', cursor: 'pointer', fontSize: 11.5, padding: 0 },
203
+ pct: { fontSize: 10.5, fontFamily: 'var(--font-mono)', color: 'var(--text-tertiary)' },
204
+ /* Deliberately larger than the pill controls it sits beside. It is a
205
+ * press-to-talk target you reach for mid-thought, often on a phone, and the
206
+ * 22px chip height that suits a passive status chip is a poor hit target for
207
+ * something you aim at while composing a sentence. */
208
+ btn: (on) => ({
209
+ display: 'inline-flex', alignItems: 'center', justifyContent: 'center', gap: 5,
210
+ height: 30, minWidth: 34, padding: '0 9px',
211
+ borderRadius: 'var(--radius-pill)',
212
+ background: on ? 'var(--accent-soft)' : 'transparent',
213
+ border: `1px solid ${on ? 'var(--accent)' : 'var(--border-default)'}`,
214
+ color: on ? 'var(--accent)' : 'var(--text-tertiary)',
215
+ cursor: 'pointer',
216
+ }),
217
+ };
218
+ //# sourceMappingURL=DictateButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DictateButton.js","sourceRoot":"","sources":["../DictateButton.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import React from 'react';
2
- export declare function Lightbox({ src, onClose }: {
3
- src: string;
2
+ export declare function Lightbox({ src, children, onClose }: {
3
+ /** An image to fit to the viewport. Omit when passing `children`. */
4
+ src?: string;
5
+ /** Already-rendered content (a diagram's SVG), shown at natural size. */
6
+ children?: React.ReactNode;
4
7
  onClose: () => void;
5
8
  }): React.JSX.Element;
6
9
  //# sourceMappingURL=Lightbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../Lightbox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,qBAS9E"}
1
+ {"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../Lightbox.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACnD,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,qBAmBA"}
package/dist/Lightbox.js CHANGED
@@ -1,14 +1,25 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { IcX } from '@corenel/ui-kit/icons';
3
3
  import { useEscape } from '@corenel/ui-kit/useEscape';
4
- export function Lightbox({ src, onClose }) {
4
+ export function Lightbox({ src, children, onClose }) {
5
5
  useEscape(true, onClose);
6
6
  return (_jsxs("div", { style: S.backdrop, className: "lightbox", onMouseDown: (e) => { if (e.target === e.currentTarget)
7
- onClose(); }, children: [_jsx("button", { style: S.close, onClick: onClose, "aria-label": "Close preview", children: _jsx(IcX, { size: 20 }) }), _jsx("img", { src: src, alt: "Preview", style: S.img })] }));
7
+ onClose(); }, children: [_jsx("button", { style: S.close, onClick: onClose, "aria-label": "Close preview", children: _jsx(IcX, { size: 20 }) }), children !== undefined
8
+ // The holder is what scrolls, and it stops a click INSIDE the content
9
+ // from reaching the backdrop -- reaching into a diagram to scroll or
10
+ // select must not dismiss it, exactly as clicking the image does not.
11
+ // No stopPropagation here: the backdrop closes only when the mousedown
12
+ // target IS the backdrop, so a click on this holder or anything inside
13
+ // it never reaches that branch. A stopPropagation was tried and removed
14
+ // -- a mutation deleting it survived the whole suite, because it can
15
+ // never be the thing that prevents a close.
16
+ ? _jsx("div", { style: S.content, "data-lightbox-content": true, children: children })
17
+ : _jsx("img", { src: src, alt: "Preview", style: S.img })] }));
8
18
  }
9
19
  const S = {
10
20
  backdrop: { position: 'fixed', inset: 0, zIndex: 1100, display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 32, background: 'var(--surface-overlay, rgba(8,12,20,0.72))', backdropFilter: 'blur(4px)' },
11
21
  close: { position: 'absolute', top: 16, right: 16, display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: 36, height: 36, border: '1px solid var(--border-default)', borderRadius: 'var(--radius-sm)', background: 'var(--surface-1)', color: 'var(--text-primary)', cursor: 'pointer' },
12
22
  img: { maxWidth: '92vw', maxHeight: '88vh', objectFit: 'contain', borderRadius: 'var(--radius-lg)', boxShadow: 'var(--shadow-5, 0 24px 64px rgba(0,0,0,0.5))' },
23
+ content: { maxWidth: '92vw', maxHeight: '88vh', overflow: 'auto', padding: 'var(--space-4, 16px)', borderRadius: 'var(--radius-lg)', background: 'var(--surface-1)', boxShadow: 'var(--shadow-5, 0 24px 64px rgba(0,0,0,0.5))' },
13
24
  };
14
25
  //# sourceMappingURL=Lightbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.js","sourceRoot":"","sources":["../Lightbox.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,UAAU,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAwC;IAC7E,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEzB,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAC,UAAU,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC,CAAC,CAAC,aAC/G,iBAAQ,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,gBAAa,eAAe,YAAC,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,EAC/F,cAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC,SAAS,EAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAI,IACzC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,GAAwC;IAC7C,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,4CAA4C,EAAE,cAAc,EAAE,WAAW,EAAE;IAC5N,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE;IAChT,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,8CAA8C,EAAE;CAChK,CAAC"}
1
+ {"version":3,"file":"Lightbox.js","sourceRoot":"","sources":["../Lightbox.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,UAAU,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAMhD;IACC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEzB,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAC,UAAU,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC,CAAC,CAAC,aAC/G,iBAAQ,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,gBAAa,eAAe,YAAC,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,EAC9F,QAAQ,KAAK,SAAS;gBACrB,sEAAsE;gBACtE,qEAAqE;gBACrE,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,wEAAwE;gBACxE,qEAAqE;gBACrE,4CAA4C;gBAC5C,CAAC,CAAC,cAAK,KAAK,EAAE,CAAC,CAAC,OAAO,2CAAyB,QAAQ,GAAO;gBAC/D,CAAC,CAAC,cAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC,SAAS,EAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAI,IAC7C,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,GAAwC;IAC7C,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,4CAA4C,EAAE,cAAc,EAAE,WAAW,EAAE;IAC5N,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE;IAChT,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,8CAA8C,EAAE;IAC/J,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,8CAA8C,EAAE;CACjO,CAAC"}
@@ -8,9 +8,12 @@ export declare function CodeBlock({ lang, code }: {
8
8
  lang: string;
9
9
  code: string;
10
10
  }): React.JSX.Element;
11
- export declare function Markdown({ text, renderFence, mentions, me }: {
11
+ export declare function Markdown({ text, renderFence, mentions, me, resolveImage }: {
12
12
  text: string;
13
13
  renderFence?: (lang: string, code: string) => React.ReactNode | null;
14
+ /** Resolve an `opfs:` image reference to its bytes. Omitted, such an image
15
+ * simply renders without a src -- no surface that does not opt in changes. */
16
+ resolveImage?: (ref: string) => Promise<Blob | null>;
14
17
  /** Which of `mentions` are the reader, so a mention OF THEM reads differently. */
15
18
  me?: readonly string[];
16
19
  /** Handles to mark as mentions -- a room passes its participants. Omitted, no
@@ -22,9 +25,14 @@ export declare function Markdown({ text, renderFence, mentions, me }: {
22
25
  * to emit one) renders as a pretty/highlighted block or a diagram; anything else
23
26
  * (prose, or text with fenced blocks) goes through Markdown, which already turns
24
27
  * ```json / ```mermaid fences into the same rich blocks. */
25
- export declare function RichOutput({ text, renderFence }: {
28
+ export declare function RichOutput({ text, renderFence, resolveImage }: {
26
29
  text: string;
27
30
  renderFence?: (lang: string, code: string) => React.ReactNode | null;
31
+ /** Forwarded to the Markdown fallback, for `opfs:` image references. This is
32
+ * the path every free-form output takes (the Result window, WorkflowRunView,
33
+ * ArtifactView's text artifacts), so a resolver that stopped here would be
34
+ * one no real surface ever supplies. */
35
+ resolveImage?: (ref: string) => Promise<Blob | null>;
28
36
  }): React.JSX.Element | null;
29
37
  /** Render a tool's result with the most useful view for its content/type. */
30
38
  export declare function RichResult({ name, args, result }: {