@pentoshi/clai 4.14.0 → 4.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/CONTRIBUTING.md +4 -1
  2. package/MCP.md +182 -0
  3. package/PROVIDERS.md +67 -0
  4. package/README.md +11 -2
  5. package/dist/agent/runner.js +1 -1
  6. package/dist/agent/runner.js.map +1 -1
  7. package/dist/agent/stream-recovery.js +5 -3
  8. package/dist/agent/stream-recovery.js.map +1 -1
  9. package/dist/agent/turn/mcp-agent-tools.d.ts +4 -2
  10. package/dist/agent/turn/mcp-agent-tools.js +15 -6
  11. package/dist/agent/turn/mcp-agent-tools.js.map +1 -1
  12. package/dist/agent/turn/tool-call-preparation.d.ts +2 -1
  13. package/dist/agent/turn/tool-call-preparation.js +20 -4
  14. package/dist/agent/turn/tool-call-preparation.js.map +1 -1
  15. package/dist/agent/turn/tool-execution/single-tool.js +1 -1
  16. package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
  17. package/dist/app/commands/catalog.js +1 -0
  18. package/dist/app/commands/catalog.js.map +1 -1
  19. package/dist/classic/app/action-handlers.js +2 -1
  20. package/dist/classic/app/action-handlers.js.map +1 -1
  21. package/dist/classic/app/app-wiring.js +2 -0
  22. package/dist/classic/app/app-wiring.js.map +1 -1
  23. package/dist/classic/chrome/composer-controller.d.ts +2 -1
  24. package/dist/classic/chrome/composer-controller.js +36 -19
  25. package/dist/classic/chrome/composer-controller.js.map +1 -1
  26. package/dist/classic/chrome/composer-frame.js +1 -1
  27. package/dist/classic/chrome/composer-frame.js.map +1 -1
  28. package/dist/classic/input/input-router.d.ts +2 -1
  29. package/dist/classic/input/input-router.js +9 -0
  30. package/dist/classic/input/input-router.js.map +1 -1
  31. package/dist/classic/input/key-event.d.ts +3 -0
  32. package/dist/classic/input/key-event.js.map +1 -1
  33. package/dist/classic/input/paste-burst.js +5 -0
  34. package/dist/classic/input/paste-burst.js.map +1 -1
  35. package/dist/classic/input/raw-decoder.d.ts +1 -0
  36. package/dist/classic/input/raw-decoder.js +15 -10
  37. package/dist/classic/input/raw-decoder.js.map +1 -1
  38. package/dist/classic/input/terminal-sequences.d.ts +0 -1
  39. package/dist/classic/input/terminal-sequences.js +0 -1
  40. package/dist/classic/input/terminal-sequences.js.map +1 -1
  41. package/dist/commands/providers.js +2 -0
  42. package/dist/commands/providers.js.map +1 -1
  43. package/dist/llm/adapters/mistral-messages.d.ts +1 -0
  44. package/dist/llm/adapters/mistral-messages.js +56 -0
  45. package/dist/llm/adapters/mistral-messages.js.map +1 -0
  46. package/dist/llm/capabilities.js +63 -1
  47. package/dist/llm/capabilities.js.map +1 -1
  48. package/dist/llm/capability/state.d.ts +1 -1
  49. package/dist/llm/capability/tool-dialect.js +8 -1
  50. package/dist/llm/capability/tool-dialect.js.map +1 -1
  51. package/dist/llm/capability/vision-patterns.js +6 -0
  52. package/dist/llm/capability/vision-patterns.js.map +1 -1
  53. package/dist/llm/capability/vision-registry.js +11 -1
  54. package/dist/llm/capability/vision-registry.js.map +1 -1
  55. package/dist/llm/catalog-context.d.ts +6 -0
  56. package/dist/llm/catalog-context.js +15 -0
  57. package/dist/llm/catalog-context.js.map +1 -0
  58. package/dist/llm/catalog-facts.d.ts +2 -0
  59. package/dist/llm/catalog-facts.js.map +1 -1
  60. package/dist/llm/cline-model-catalog.d.ts +4 -0
  61. package/dist/llm/cline-model-catalog.js +197 -0
  62. package/dist/llm/cline-model-catalog.js.map +1 -0
  63. package/dist/llm/cline.d.ts +1 -0
  64. package/dist/llm/cline.js +69 -17
  65. package/dist/llm/cline.js.map +1 -1
  66. package/dist/llm/free-model-limits.d.ts +1 -0
  67. package/dist/llm/free-model-limits.js +101 -0
  68. package/dist/llm/free-model-limits.js.map +1 -0
  69. package/dist/llm/free.js +136 -103
  70. package/dist/llm/free.js.map +1 -1
  71. package/dist/llm/mistral-models.d.ts +2 -0
  72. package/dist/llm/mistral-models.js +23 -0
  73. package/dist/llm/mistral-models.js.map +1 -0
  74. package/dist/llm/mistral.d.ts +2 -0
  75. package/dist/llm/mistral.js +129 -0
  76. package/dist/llm/mistral.js.map +1 -0
  77. package/dist/llm/profile/layer-merge.js +3 -3
  78. package/dist/llm/profile/layer-merge.js.map +1 -1
  79. package/dist/llm/provider-identity.js +5 -0
  80. package/dist/llm/provider-identity.js.map +1 -1
  81. package/dist/llm/provider-info-text.js +19 -0
  82. package/dist/llm/provider-info-text.js.map +1 -1
  83. package/dist/llm/provider-model-layers.js +45 -0
  84. package/dist/llm/provider-model-layers.js.map +1 -1
  85. package/dist/llm/provider-profile-layers.js +25 -0
  86. package/dist/llm/provider-profile-layers.js.map +1 -1
  87. package/dist/llm/provider-profiles.js +28 -4
  88. package/dist/llm/provider-profiles.js.map +1 -1
  89. package/dist/llm/quota-signals.d.ts +1 -0
  90. package/dist/llm/quota-signals.js +8 -0
  91. package/dist/llm/quota-signals.js.map +1 -1
  92. package/dist/llm/reasoning-capability.js +1 -0
  93. package/dist/llm/reasoning-capability.js.map +1 -1
  94. package/dist/llm/request-plan.js +15 -6
  95. package/dist/llm/request-plan.js.map +1 -1
  96. package/dist/llm/router.js +1 -1
  97. package/dist/llm/router.js.map +1 -1
  98. package/dist/llm/routing/attempt-complete.js +4 -3
  99. package/dist/llm/routing/attempt-complete.js.map +1 -1
  100. package/dist/llm/routing/attempt-request.d.ts +5 -1
  101. package/dist/llm/routing/attempt-request.js +22 -2
  102. package/dist/llm/routing/attempt-request.js.map +1 -1
  103. package/dist/llm/routing/attempt-stream.js +4 -3
  104. package/dist/llm/routing/attempt-stream.js.map +1 -1
  105. package/dist/llm/routing/failure-report.js +6 -2
  106. package/dist/llm/routing/failure-report.js.map +1 -1
  107. package/dist/llm/routing/provider-selection.js +3 -0
  108. package/dist/llm/routing/provider-selection.js.map +1 -1
  109. package/dist/llm/tool-protocol.d.ts +1 -1
  110. package/dist/llm/tool-protocol.js +4 -1
  111. package/dist/llm/tool-protocol.js.map +1 -1
  112. package/dist/llm/wire/chat-body.js +51 -28
  113. package/dist/llm/wire/chat-body.js.map +1 -1
  114. package/dist/llm/wire/effort-preflight.js +4 -1
  115. package/dist/llm/wire/effort-preflight.js.map +1 -1
  116. package/dist/llm/wire/mistral-content.d.ts +19 -0
  117. package/dist/llm/wire/mistral-content.js +106 -0
  118. package/dist/llm/wire/mistral-content.js.map +1 -0
  119. package/dist/llm/wire/mistral-model-catalog.d.ts +2 -0
  120. package/dist/llm/wire/mistral-model-catalog.js +73 -0
  121. package/dist/llm/wire/mistral-model-catalog.js.map +1 -0
  122. package/dist/llm/wire/openai-complete.js +10 -4
  123. package/dist/llm/wire/openai-complete.js.map +1 -1
  124. package/dist/llm/wire/openai-stream.js +38 -16
  125. package/dist/llm/wire/openai-stream.js.map +1 -1
  126. package/dist/mcp/auth/device.d.ts +7 -3
  127. package/dist/mcp/auth/device.js +55 -32
  128. package/dist/mcp/auth/device.js.map +1 -1
  129. package/dist/mcp/auth/http.d.ts +12 -0
  130. package/dist/mcp/auth/http.js +62 -0
  131. package/dist/mcp/auth/http.js.map +1 -0
  132. package/dist/mcp/auth/loopback.d.ts +9 -1
  133. package/dist/mcp/auth/loopback.js +80 -8
  134. package/dist/mcp/auth/loopback.js.map +1 -1
  135. package/dist/mcp/auth/metadata.d.ts +2 -3
  136. package/dist/mcp/auth/metadata.js +25 -25
  137. package/dist/mcp/auth/metadata.js.map +1 -1
  138. package/dist/mcp/auth/provider.d.ts +1 -0
  139. package/dist/mcp/auth/provider.js +215 -42
  140. package/dist/mcp/auth/provider.js.map +1 -1
  141. package/dist/mcp/auth/registration.d.ts +2 -3
  142. package/dist/mcp/auth/registration.js +10 -14
  143. package/dist/mcp/auth/registration.js.map +1 -1
  144. package/dist/mcp/auth/token-exchange.d.ts +5 -3
  145. package/dist/mcp/auth/token-exchange.js +15 -15
  146. package/dist/mcp/auth/token-exchange.js.map +1 -1
  147. package/dist/mcp/auth/token-store.d.ts +1 -1
  148. package/dist/mcp/auth/token-store.js +105 -54
  149. package/dist/mcp/auth/token-store.js.map +1 -1
  150. package/dist/mcp/auth/types.d.ts +11 -2
  151. package/dist/mcp/catalog.d.ts +11 -0
  152. package/dist/mcp/catalog.js +58 -0
  153. package/dist/mcp/catalog.js.map +1 -0
  154. package/dist/mcp/client.d.ts +10 -1
  155. package/dist/mcp/client.js +93 -29
  156. package/dist/mcp/client.js.map +1 -1
  157. package/dist/mcp/coerce.js +4 -4
  158. package/dist/mcp/coerce.js.map +1 -1
  159. package/dist/mcp/config-file.js +53 -10
  160. package/dist/mcp/config-file.js.map +1 -1
  161. package/dist/mcp/discovery.js +2 -0
  162. package/dist/mcp/discovery.js.map +1 -1
  163. package/dist/mcp/jsonrpc.js +28 -18
  164. package/dist/mcp/jsonrpc.js.map +1 -1
  165. package/dist/mcp/manager.d.ts +17 -0
  166. package/dist/mcp/manager.js +211 -29
  167. package/dist/mcp/manager.js.map +1 -1
  168. package/dist/mcp/results.js +25 -10
  169. package/dist/mcp/results.js.map +1 -1
  170. package/dist/mcp/runtime.d.ts +6 -6
  171. package/dist/mcp/runtime.js +168 -60
  172. package/dist/mcp/runtime.js.map +1 -1
  173. package/dist/mcp/schema-compact.js +3 -29
  174. package/dist/mcp/schema-compact.js.map +1 -1
  175. package/dist/mcp/storage-lock.d.ts +1 -0
  176. package/dist/mcp/storage-lock.js +80 -0
  177. package/dist/mcp/storage-lock.js.map +1 -0
  178. package/dist/mcp/transport-http.d.ts +13 -2
  179. package/dist/mcp/transport-http.js +245 -77
  180. package/dist/mcp/transport-http.js.map +1 -1
  181. package/dist/mcp/transport-stdio.d.ts +5 -2
  182. package/dist/mcp/transport-stdio.js +96 -52
  183. package/dist/mcp/transport-stdio.js.map +1 -1
  184. package/dist/mcp/transport.d.ts +9 -1
  185. package/dist/mcp/transport.js +38 -0
  186. package/dist/mcp/transport.js.map +1 -1
  187. package/dist/mcp/types.d.ts +8 -2
  188. package/dist/mcp/types.js +1 -5
  189. package/dist/mcp/types.js.map +1 -1
  190. package/dist/mcp/validation.js +81 -12
  191. package/dist/mcp/validation.js.map +1 -1
  192. package/dist/noninteractive/stream-renderer.d.ts +1 -0
  193. package/dist/noninteractive/stream-renderer.js +13 -0
  194. package/dist/noninteractive/stream-renderer.js.map +1 -1
  195. package/dist/session-runtime/view-manager.js +15 -1
  196. package/dist/session-runtime/view-manager.js.map +1 -1
  197. package/dist/store/config/endpoints.js +1 -0
  198. package/dist/store/config/endpoints.js.map +1 -1
  199. package/dist/store/config.js +2 -0
  200. package/dist/store/config.js.map +1 -1
  201. package/dist/store/rtk-usage.d.ts +1 -0
  202. package/dist/store/rtk-usage.js +8 -3
  203. package/dist/store/rtk-usage.js.map +1 -1
  204. package/dist/tools/definitions/aggregate.js +4 -1
  205. package/dist/tools/definitions/aggregate.js.map +1 -1
  206. package/dist/tools/rtk/binary.d.ts +2 -2
  207. package/dist/tools/rtk/binary.js +12 -4
  208. package/dist/tools/rtk/binary.js.map +1 -1
  209. package/dist/tools/rtk/rewrite.js +13 -3
  210. package/dist/tools/rtk/rewrite.js.map +1 -1
  211. package/dist/tui-v2/components/composer/composer-input-box.d.ts +6 -1
  212. package/dist/tui-v2/components/composer/composer-input-box.js +27 -18
  213. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  214. package/dist/tui-v2/components/composer/paste-chip.d.ts +3 -2
  215. package/dist/tui-v2/components/composer/paste-chip.js +17 -48
  216. package/dist/tui-v2/components/composer/paste-chip.js.map +1 -1
  217. package/dist/tui-v2/composer/composer-cursor.d.ts +3 -0
  218. package/dist/tui-v2/composer/composer-cursor.js +21 -0
  219. package/dist/tui-v2/composer/composer-cursor.js.map +1 -0
  220. package/dist/tui-v2/composer/composer-editor.js +91 -100
  221. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  222. package/dist/tui-v2/composer/composer-highlight.d.ts +6 -1
  223. package/dist/tui-v2/composer/composer-highlight.js +9 -2
  224. package/dist/tui-v2/composer/composer-highlight.js.map +1 -1
  225. package/dist/tui-v2/composer/composer-wheel.js +2 -1
  226. package/dist/tui-v2/composer/composer-wheel.js.map +1 -1
  227. package/dist/tui-v2/composer/expand-paste.d.ts +4 -0
  228. package/dist/tui-v2/composer/expand-paste.js +34 -0
  229. package/dist/tui-v2/composer/expand-paste.js.map +1 -0
  230. package/dist/tui-v2/composer/paste-hit-test.d.ts +28 -0
  231. package/dist/tui-v2/composer/paste-hit-test.js +25 -0
  232. package/dist/tui-v2/composer/paste-hit-test.js.map +1 -0
  233. package/dist/tui-v2/composer/use-draft-actions.js +3 -1
  234. package/dist/tui-v2/composer/use-draft-actions.js.map +1 -1
  235. package/dist/tui-v2/input/paste-burst-guard.js +3 -0
  236. package/dist/tui-v2/input/paste-burst-guard.js.map +1 -1
  237. package/dist/types.d.ts +4 -3
  238. package/dist/types.js +1 -0
  239. package/dist/types.js.map +1 -1
  240. package/dist/ui/mentions.js +12 -1
  241. package/dist/ui/mentions.js.map +1 -1
  242. package/dist/ui-core/actions/action-id.d.ts +1 -1
  243. package/dist/ui-core/actions/action-id.js +1 -0
  244. package/dist/ui-core/actions/action-id.js.map +1 -1
  245. package/dist/ui-core/actions/format-shortcuts.js +3 -2
  246. package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
  247. package/dist/ui-core/actions/keymap.js +2 -0
  248. package/dist/ui-core/actions/keymap.js.map +1 -1
  249. package/dist/ui-core/bootstrap/composition-root.js +29 -11
  250. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  251. package/dist/ui-core/commands/mcp-commands.js +3 -3
  252. package/dist/ui-core/commands/mcp-commands.js.map +1 -1
  253. package/dist/ui-core/commands/pickers/search-reasoning.js +21 -6
  254. package/dist/ui-core/commands/pickers/search-reasoning.js.map +1 -1
  255. package/dist/ui-core/commands/rtk-commands.js +3 -3
  256. package/dist/ui-core/commands/rtk-commands.js.map +1 -1
  257. package/dist/ui-core/composer/completion.d.ts +1 -0
  258. package/dist/ui-core/composer/completion.js +31 -3
  259. package/dist/ui-core/composer/completion.js.map +1 -1
  260. package/dist/ui-core/composer/composer-height.d.ts +1 -1
  261. package/dist/ui-core/composer/composer-height.js +26 -3
  262. package/dist/ui-core/composer/composer-height.js.map +1 -1
  263. package/dist/ui-core/composer/paste-placeholder.d.ts +10 -0
  264. package/dist/ui-core/composer/paste-placeholder.js +60 -12
  265. package/dist/ui-core/composer/paste-placeholder.js.map +1 -1
  266. package/dist/ui-core/input/paste-burst.d.ts +2 -1
  267. package/dist/ui-core/input/paste-burst.js +20 -0
  268. package/dist/ui-core/input/paste-burst.js.map +1 -1
  269. package/dist/version.generated.d.ts +2 -2
  270. package/dist/version.generated.js +2 -2
  271. package/package.json +2 -1
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
3
3
  import { memo, useEffect, useRef, useState } from "react";
4
4
  import { countRender } from "../perf/render-counters.js";
5
5
  import { decodePasteBytes, } from "@opentui/core";
6
- import { useKeyboard, usePaste } from "@opentui/react";
6
+ import { useKeyboard, usePaste, useRenderer } from "@opentui/react";
7
7
  import { shouldStoreInPromptHistory } from "../../ui-core/composer/input-history.js";
8
8
  import { sanitizeDisplayText } from "../../ui-core/rendering/sanitize-display.js";
9
9
  import { formatAttachmentReference } from "../../ui/mentions.js";
@@ -12,8 +12,8 @@ import { effectiveThinkingEffort } from "../../llm/capabilities.js";
12
12
  import { chordFromKeyEvent } from "../input/chord-from-opentui-key.js";
13
13
  import { PromptHistory } from "../../ui-core/composer/prompt-history.js";
14
14
  import { ARROW_BURST_WINDOW_MS, resolveArrowIntent, } from "../../ui-core/composer/arrow-intent.js";
15
- import { isLargePaste, PasteRegistry, samePastePlaceholderEntries, } from "../../ui-core/composer/paste-placeholder.js";
16
- import { activateSlashCompletion, resolveCompletionMenu, sameCompletionMenu, } from "../../ui-core/composer/completion.js";
15
+ import { isLargePaste, pastePlaceholderRanges, PasteRegistry, samePastePlaceholderEntries, } from "../../ui-core/composer/paste-placeholder.js";
16
+ import { activateSlashCompletion, completionSelection, resolveCompletionMenu, sameCompletionMenu, } from "../../ui-core/composer/completion.js";
17
17
  import { initialCompletionViewportState, reduceCompletionViewport, } from "../../ui-core/composer/completion-viewport.js";
18
18
  import { buildComposerTextareaOverrides } from "./textarea-keybindings.js";
19
19
  import { composerActionPort } from "../../ui-core/composer/composer-action-port.js";
@@ -23,7 +23,10 @@ import { normalizePasteLineBreaks } from "../../ui-core/input/paste-text.js";
23
23
  import { notify } from "../../ui-core/notify.js";
24
24
  import { CompletionMenuView } from "../components/completion/completion-menu.js";
25
25
  import { ComposerInputBox } from "../components/composer/composer-input-box.js";
26
- import { PasteChipRow } from "../components/composer/paste-chip.js";
26
+ import { PastePreview } from "../components/composer/paste-chip.js";
27
+ import { pasteAtPoint } from "./paste-hit-test.js";
28
+ import { expandComposerPaste, retainComposerText } from "./expand-paste.js";
29
+ import { composerCharacterOffset, setComposerCharacterOffset } from "./composer-cursor.js";
27
30
  import { paintDraftMentions } from "./composer-highlight.js";
28
31
  import { skillNamesSnapshot } from "../../skills/registry.js";
29
32
  import { useOverlayState } from "../../ui-core/react/use-overlay.js";
@@ -38,7 +41,10 @@ const textareaKeyBindings = buildComposerTextareaOverrides();
38
41
  export const ComposerEditor = memo(function ComposerEditor(props) {
39
42
  countRender("ComposerEditor");
40
43
  const { services, theme } = props;
44
+ const renderer = useRenderer();
41
45
  const editorRef = useRef(null);
46
+ const boxRef = useRef(null);
47
+ useEffect(() => retainComposerText(editorRef.current), []);
42
48
  const promptHistory = useRef(new PromptHistory());
43
49
  const pasteRegistry = useRef(new PasteRegistry());
44
50
  const imagePaste = createComposerImagePaste(services, editorRef, () => {
@@ -48,17 +54,14 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
48
54
  const arrowBurst = useRef({ count: 0, lastAt: 0 });
49
55
  const [menu, setMenu] = useState({ kind: "none" });
50
56
  const [completionView, setCompletionView] = useState(initialCompletionViewportState);
51
- const [acceptedSlash, setAcceptedSlash] = useState(undefined);
52
57
  const [contentRows, setContentRows] = useState(1);
53
58
  const [pasteChips, setPasteChips] = useState([]);
59
+ const [hoveredPaste, setHoveredPaste] = useState();
60
+ const pasteClick = useRef({ id: 0, at: 0 });
54
61
  const menuRef = useRef(menu);
55
62
  const completionViewRef = useRef(completionView);
56
- const acceptedSlashRef = useRef(acceptedSlash);
57
- menuRef.current = menu;
58
- completionViewRef.current = completionView;
59
- acceptedSlashRef.current = acceptedSlash;
63
+ const acceptedSlashRef = useRef(undefined);
60
64
  const menuKindRef = useRef(menu.kind);
61
- menuKindRef.current = menu.kind;
62
65
  const selected = completionView.selected;
63
66
  function applyCompletionViewport(action, source = menuRef.current) {
64
67
  const next = reduceCompletionViewport(completionViewRef.current, action, {
@@ -193,13 +196,37 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
193
196
  function expandPasteChip(id) {
194
197
  const editor = editorRef.current;
195
198
  if (!editor)
196
- return;
197
- editor.setText(pasteRegistry.current.expandOne(editor.plainText, id));
198
- editor.gotoBufferEnd();
199
+ return false;
200
+ if (!expandComposerPaste(editor, pasteRegistry.current, renderer.widthMethod, id))
201
+ return false;
202
+ setHoveredPaste(undefined);
203
+ focusComposer();
199
204
  queueMicrotask(() => {
200
205
  syncContentRows();
201
206
  refreshMenu();
202
207
  });
208
+ return true;
209
+ }
210
+ function hoverPaste(event) {
211
+ const entry = pasteAtPoint(editorRef.current, pasteChips, event.x, event.y);
212
+ if (entry)
213
+ setHoveredPaste((current) => current?.id === entry.id ? current : entry);
214
+ }
215
+ function clickPaste(event) {
216
+ focusComposer();
217
+ const entry = pasteAtPoint(editorRef.current, pasteChips, event.x, event.y);
218
+ const now = Date.now();
219
+ if (entry &&
220
+ event.button === 0 &&
221
+ pasteClick.current.id === entry.id &&
222
+ now - pasteClick.current.at <= 400) {
223
+ event.preventDefault();
224
+ event.stopPropagation();
225
+ pasteClick.current = { id: 0, at: 0 };
226
+ expandPasteChip(entry.id);
227
+ return;
228
+ }
229
+ pasteClick.current = { id: entry?.id ?? 0, at: now };
203
230
  }
204
231
  function syncMentions() {
205
232
  const editor = editorRef.current;
@@ -214,6 +241,8 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
214
241
  skillColor: theme.activity,
215
242
  servers,
216
243
  serverColor: theme.aqua,
244
+ pasteRanges: pastePlaceholderRanges(text, pasteRegistry.current.activeIn(text)),
245
+ pasteColor: theme.cyan,
217
246
  });
218
247
  services.mcp.applyMentionSelection(text);
219
248
  }
@@ -226,58 +255,38 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
226
255
  }
227
256
  syncMentions();
228
257
  const wrapWidth = Math.max(10, props.width - 6);
229
- const estimatedRows = countComposerVisualLines(editor.plainText, wrapWidth);
258
+ const estimatedRows = countComposerVisualLines(editor.plainText, wrapWidth, props.height);
230
259
  const nextRows = measureComposerLines(editor, estimatedRows);
231
260
  setContentRows((current) => (current === nextRows ? current : nextRows));
232
261
  const nextChips = pasteRegistry.current.activeIn(editor.plainText);
233
262
  setPasteChips((current) => samePastePlaceholderEntries(current, nextChips) ? current : nextChips);
263
+ setHoveredPaste((current) => current && nextChips.some((entry) => entry.id === current.id) ? current : undefined);
234
264
  composerActionPort.setHasDraft(editor.plainText.trim().length > 0);
235
265
  }
236
266
  function refreshMenu() {
237
267
  const editor = editorRef.current;
238
268
  if (!editor)
239
- return;
240
- const next = resolveCompletionMenu(services.commands, editor.plainText, editor.cursorOffset);
241
- setAcceptedSlash((accepted) => {
242
- if (!accepted || next.kind !== "slash")
243
- return undefined;
244
- const token = editor.plainText.slice(next.start, next.end);
245
- const suffix = editor.plainText.slice(next.end);
246
- const kept = token === accepted && !/\S/.test(suffix) ? accepted : undefined;
247
- acceptedSlashRef.current = kept;
248
- return kept;
249
- });
250
- setMenu((prev) => {
251
- if (sameCompletionMenu(prev, next)) {
252
- menuRef.current = prev;
253
- menuKindRef.current = prev.kind;
254
- return prev;
255
- }
256
- if (prev.kind === next.kind && next.kind !== "none" && prev.kind !== "none") {
257
- const sel = completionViewRef.current.selected;
258
- const prevName = prev.kind === "slash"
259
- ? prev.items[sel]?.name
260
- : prev.items[sel]?.value;
261
- if (prevName) {
262
- const idx = next.kind === "slash"
263
- ? next.items.findIndex((i) => i.name === prevName)
264
- : next.items.findIndex((i) => i.value === prevName);
265
- applyCompletionViewport({ type: "reconcile", selected: idx >= 0 ? idx : 0 }, next);
266
- }
267
- else {
268
- applyCompletionViewport({ type: "reconcile", selected: 0 }, next);
269
- }
270
- }
271
- else {
272
- applyCompletionViewport({ type: "reset" }, next);
273
- if (next.kind !== "none") {
274
- arrowBurst.current = { count: 0, lastAt: 0 };
275
- }
276
- }
277
- menuRef.current = next;
278
- menuKindRef.current = next.kind;
279
- return next;
280
- });
269
+ return menuRef.current;
270
+ const value = editor.plainText;
271
+ const next = resolveCompletionMenu(services.commands, value, composerCharacterOffset(editor, value));
272
+ if (next.kind !== "slash" || value.slice(next.start, next.end) !== acceptedSlashRef.current) {
273
+ acceptedSlashRef.current = undefined;
274
+ }
275
+ const previous = menuRef.current;
276
+ if (sameCompletionMenu(previous, next))
277
+ return previous;
278
+ const exact = next.kind === "slash"
279
+ ? services.commands.resolve(value.slice(next.start, next.end))
280
+ : undefined;
281
+ const selected = exact ? 0 : completionSelection(previous, next, completionViewRef.current.selected);
282
+ applyCompletionViewport({ type: "reconcile", selected }, next);
283
+ if (previous.kind !== next.kind && next.kind !== "none") {
284
+ arrowBurst.current = { count: 0, lastAt: 0 };
285
+ }
286
+ menuRef.current = next;
287
+ menuKindRef.current = next.kind;
288
+ setMenu(next);
289
+ return next;
281
290
  }
282
291
  function acceptSuggestion(opts) {
283
292
  const editor = editorRef.current;
@@ -288,8 +297,8 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
288
297
  }
289
298
  if (!editor || current.kind === "none")
290
299
  return;
291
- const cursor = editor.cursorOffset;
292
300
  const value = editor.plainText;
301
+ const cursor = composerCharacterOffset(editor, value);
293
302
  let replacement;
294
303
  let start;
295
304
  let replacementEnd;
@@ -303,9 +312,6 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
303
312
  replacementEnd = /^\s*$/.test(value.slice(current.end))
304
313
  ? value.length
305
314
  : current.end;
306
- const accepted = `/${item.name}`;
307
- acceptedSlashRef.current = accepted;
308
- setAcceptedSlash(accepted);
309
315
  }
310
316
  else {
311
317
  const item = current.items[sel];
@@ -313,8 +319,6 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
313
319
  return;
314
320
  start = current.start;
315
321
  replacementEnd = cursor;
316
- acceptedSlashRef.current = undefined;
317
- setAcceptedSlash(undefined);
318
322
  if (item.isDir) {
319
323
  if (item.value === "") {
320
324
  replacement = opts?.attachDir ? `@. ` : `@`;
@@ -340,18 +344,9 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
340
344
  }
341
345
  }
342
346
  const next = value.slice(0, start) + replacement + value.slice(replacementEnd);
343
- editor.setText(next);
344
- try {
345
- editor.editBuffer.setCursorByOffset?.(start + replacement.length);
346
- }
347
- catch {
348
- try {
349
- editor.setCursor(0, start + replacement.length);
350
- }
351
- catch {
352
- editor.gotoBufferEnd();
353
- }
354
- }
347
+ editor.replaceText(next);
348
+ setComposerCharacterOffset(editor, next, start + replacement.length, renderer.widthMethod);
349
+ acceptedSlashRef.current = current.kind === "slash" ? `/${current.items[sel].name}` : undefined;
355
350
  applyCompletionViewport({ type: "reset" }, current);
356
351
  services.focus.focusRegion("composer");
357
352
  editor.focus();
@@ -360,46 +355,35 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
360
355
  menuKindRef.current = "none";
361
356
  setMenu({ kind: "none" });
362
357
  }
363
- queueMicrotask(() => {
364
- refreshMenu();
365
- syncContentRows();
366
- });
358
+ refreshMenu();
359
+ queueMicrotask(syncContentRows);
367
360
  }
368
361
  function runSlashCompletion(index) {
369
362
  const editor = editorRef.current;
370
363
  if (!editor)
371
364
  return;
372
- const activated = activateSlashCompletion(menuRef.current, editor.plainText, index);
365
+ const previous = menuRef.current;
366
+ const current = refreshMenu();
367
+ const activated = activateSlashCompletion(current, editor.plainText, completionSelection(previous, current, index));
373
368
  if (!activated)
374
369
  return;
375
- editor.setText(activated.value);
376
- try {
377
- editor.editBuffer.setCursorByOffset?.(activated.cursorOffset);
378
- }
379
- catch {
380
- try {
381
- editor.setCursor(0, activated.cursorOffset);
382
- }
383
- catch {
384
- editor.gotoBufferEnd();
385
- }
386
- }
370
+ editor.replaceText(activated.value);
371
+ setComposerCharacterOffset(editor, activated.value, activated.cursorOffset, renderer.widthMethod);
387
372
  menuRef.current = { kind: "none" };
388
373
  menuKindRef.current = "none";
389
374
  acceptedSlashRef.current = undefined;
390
375
  setMenu({ kind: "none" });
391
- setAcceptedSlash(undefined);
392
376
  applyCompletionViewport({ type: "reset" }, { kind: "none" });
393
377
  services.focus.focusRegion("composer");
394
378
  editor.focus();
395
379
  syncContentRows();
396
- void dispatchOrRunTurn(activated.command);
380
+ void dispatchOrRunTurn(pasteRegistry.current.expand(activated.command));
397
381
  }
398
382
  function submit() {
399
383
  const editor = editorRef.current;
400
384
  if (!editor)
401
385
  return;
402
- const current = menuRef.current;
386
+ const current = refreshMenu();
403
387
  if (current.kind === "slash") {
404
388
  runSlashCompletion(completionViewRef.current.selected);
405
389
  return;
@@ -482,7 +466,14 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
482
466
  if (!editor)
483
467
  return;
484
468
  const chord = chordFromKeyEvent(key);
485
- const current = menuRef.current;
469
+ const current = chord === "tab" || (menuRef.current.kind !== "none" && chord !== "escape")
470
+ ? refreshMenu()
471
+ : menuRef.current;
472
+ if (chord === "ctrl+e" || chord === "alt+e") {
473
+ if (expandPasteChip() || chord === "alt+e")
474
+ key.preventDefault();
475
+ return;
476
+ }
486
477
  if (current.kind === "none" &&
487
478
  chord === "escape" &&
488
479
  (services.session.getState().running ||
@@ -506,7 +497,7 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
506
497
  return;
507
498
  }
508
499
  if (chord === "enter" && current.kind === "slash") {
509
- runSlashCompletion(completionViewRef.current.selected);
500
+ submit();
510
501
  key.preventDefault();
511
502
  return;
512
503
  }
@@ -625,8 +616,9 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
625
616
  // eslint-disable-next-line react-hooks/exhaustive-deps -- width-only reflow
626
617
  }, [props.width]);
627
618
  const inputWidth = Math.max(20, props.width);
628
- const textRows = resolveComposerTextRows(contentRows, props.height);
629
- const boxHeight = textRows + 2;
619
+ const previewRows = hoveredPaste ? Math.min(4, hoveredPaste.lines + 1, Math.max(0, props.height - 1)) : 0;
620
+ const textRows = resolveComposerTextRows(contentRows, props.height - previewRows);
621
+ const boxHeight = textRows + previewRows + 2;
630
622
  const metaShown = clipComposerMeta(metaLabel, inputWidth);
631
623
  const chromeFg = shouldOwnKeyboard ? theme.inputBorder : theme.muted;
632
624
  function focusComposer() {
@@ -641,7 +633,6 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
641
633
  menuKindRef.current = "none";
642
634
  acceptedSlashRef.current = undefined;
643
635
  setMenu({ kind: "none" });
644
- setAcceptedSlash(undefined);
645
636
  applyCompletionViewport({ type: "reset" }, { kind: "none" });
646
637
  };
647
638
  const draftActions = useDraftActions({
@@ -682,7 +673,7 @@ export const ComposerEditor = memo(function ComposerEditor(props) {
682
673
  }
683
674
  acceptSuggestion({ index });
684
675
  }
685
- return (_jsxs("box", { style: { flexDirection: "column", width: "100%", flexShrink: 0 }, onMouseScroll: onComposerWheel, children: [_jsx(CompletionMenuView, { menu: menu, selected: selected, hoveredIndex: completionView.hovered, viewportOffset: completionView.offset, theme: theme, width: inputWidth, maxRows: props.maxSuggestions ?? 10, onHoverIndex: hoverCompletion, onActivateIndex: activateCompletion, onScrollRows: scrollCompletion }), _jsx(PasteChipRow, { entries: pasteChips, theme: theme, width: inputWidth, onExpand: expandPasteChip }), _jsx(ComposerInputBox, { theme: theme, editorRef: editorRef, focused: shouldOwnKeyboard, running: props.running, width: inputWidth, boxHeight: boxHeight, metaShown: metaShown, chromeFg: chromeFg, keyBindings: textareaKeyBindings, onMouseDown: focusComposer, onMouseScroll: onComposerWheel, onSubmit: submit, onContentChange: () => {
676
+ return (_jsxs("box", { style: { flexDirection: "column", width: "100%", flexShrink: 0 }, onMouseScroll: onComposerWheel, children: [_jsx(CompletionMenuView, { menu: menu, selected: selected, hoveredIndex: completionView.hovered, viewportOffset: completionView.offset, theme: theme, width: inputWidth, maxRows: props.maxSuggestions ?? 10, onHoverIndex: hoverCompletion, onActivateIndex: activateCompletion, onScrollRows: scrollCompletion }), _jsx(ComposerInputBox, { theme: theme, boxRef: boxRef, editorRef: editorRef, focused: shouldOwnKeyboard, running: props.running, width: inputWidth, boxHeight: boxHeight, metaShown: metaShown, chromeFg: chromeFg, keyBindings: textareaKeyBindings, onMouseDown: focusComposer, onTextareaMouseDown: clickPaste, onTextareaMouseMove: hoverPaste, onMouseOut: () => setHoveredPaste(undefined), pastePreview: hoveredPaste && previewRows > 0 ? (_jsx(PastePreview, { entry: hoveredPaste, theme: theme, width: inputWidth - 4, maxRows: previewRows, onExpand: expandPasteChip })) : null, onMouseScroll: onComposerWheel, onSubmit: submit, onContentChange: () => {
686
677
  refreshMenu();
687
678
  queueMicrotask(syncContentRows);
688
679
  }, onCursorChange: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"composer-editor.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composer-editor.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-editor.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,gBAAgB,GAKjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,2BAA2B,GAE5B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,GAEzB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAclF,MAAM,mBAAmB,GAAG,8BAA8B,EAAW,CAAC;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,cAAc,CAAC,KAA0B;IACnF,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC9B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;QACpE,eAAe,EAAE,CAAC;QAClB,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,8BAA8B,CAC/B,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;IAEzC,SAAS,uBAAuB,CAC9B,MAAgC,EAChC,SAAyB,OAAO,CAAC,OAAO;QAExC,MAAM,IAAI,GAAG,wBAAwB,CACnC,iBAAiB,CAAC,OAAO,EACzB,MAAM,EACN;YACE,SAAS,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;YAC3D,OAAO,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;SACpC,CACF,CAAC;QACF,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,uBAAuB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,kBAAkB,CAClC,cAAc,EACd,WAAW,EACX,GAAG,CAAC,WAAW,EACf,uBAAuB,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,CACnE,CAAC;IAEF,MAAM,iBAAiB,GACrB,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB;YAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;;YAC7C,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB;YAAE,OAAO;QAC9B,IAAI,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACvC,OAAO,EAAE,CAAC;YACV,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,aAAa,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;QAC7B,IACE,CAAC,IAAI;YACL,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO;YACpC,KAAK,CAAC,cAAc,EACpB,CAAC;YACD,OAAO;QACT,CAAC;QACD,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;QACjB,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,oFAAoF;IACtF,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAEnD,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO;QACxC,IAAI,KAAK,CAAC,cAAc;YAAE,OAAO;QACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO;QAE7D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAEpC,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzD,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,MAAM;gBAChB,KAAK,KAAK,KAAK;gBACf,KAAK,KAAK,OAAO;gBACjB,KAAK,KAAK,QAAQ,EAClB,CAAC;gBACD,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC3B,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB;YAAE,OAAO;QAE9B,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACrD,IAAI,aAAa,KAAK,mBAAmB;YAAE,OAAO;QAClD,IACE,KAAK,KAAK,IAAI;YACd,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,QAAQ;YAClB,KAAK,KAAK,UAAU;YACpB,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,KAAK;YACf,GAAG,CAAC,IAAI,KAAK,IAAI;YACjB,GAAG,CAAC,IAAI,KAAK,MAAM,EACnB,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO;QAC3E,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3B,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,IAAI,KAAK,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;QAChD,IAAI,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;QACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,OAAO;QAChC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,cAAc,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,eAAe,CAAC,EAAW;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAChG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3B,aAAa,EAAE,CAAC;QAChB,cAAc,CAAC,GAAG,EAAE;YAClB,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,UAAU,CAAC,KAAiB;QACnC,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK;YAAE,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,UAAU,CAAC,KAAiB;QACnC,aAAa,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IACE,KAAK;YACL,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;YAClC,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAClC,CAAC;YACD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,UAAU,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,UAAU,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;IACvD,CAAC;IAED,SAAS,YAAY;QACnB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3C,kBAAkB,CAAC;YACjB,MAAM;YACN,IAAI;YACJ,MAAM,EAAE,kBAAkB,EAAE;YAC5B,UAAU,EAAE,KAAK,CAAC,QAAQ;YAC1B,OAAO;YACP,WAAW,EAAE,KAAK,CAAC,IAAI;YACvB,WAAW,EAAE,sBAAsB,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/E,UAAU,EAAE,KAAK,CAAC,IAAI;SACvB,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,eAAe;QACtB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,cAAc,CAAC,CAAC,CAAC,CAAC;YAClB,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,YAAY,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC7D,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,2BAA2B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;QACF,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACpF,CAAC;QACF,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,WAAW;QAClB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,MAAM,IAAI,GAAG,qBAAqB,CAChC,QAAQ,CAAC,QAAQ,EACjB,KAAK,EACL,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CACvC,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5F,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC;QACvC,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO;YACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrG,uBAAuB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxD,UAAU,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,gBAAgB,CAAC,IAIzB;QACC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,EAAE,KAAK,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9D,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAa,CAAC;QAClB,IAAI,cAAsB,CAAC;QAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;YAC/B,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACtB,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACtB,cAAc,GAAG,MAAM,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;oBACtB,WAAW,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC5C,eAAe,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACvC,CAAC,CAAC,IAAI,CAAC,KAAK;wBACZ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;oBACrB,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;wBACpB,WAAW,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;wBACjD,eAAe,GAAG,KAAK,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,WAAW,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC7B,eAAe,GAAG,IAAI,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC1D,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/E,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3F,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,WAAW,EAAE,CAAC;QACd,cAAc,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAa;QACvC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,uBAAuB,CACvC,OAAO,EACP,MAAM,CAAC,SAAS,EAChB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAC9C,CAAC;QACF,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpC,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClG,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1B,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7D,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,KAAK,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,SAAS,MAAM;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;gBAChB,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,gBAAgB,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,0BAA0B,CAAC,QAAQ,CAAC;YAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,UAAU,iBAAiB,CAAC,MAAc;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;gBACnD,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,oBAAoB,KAAK,aAAa,CACvC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,YAAY,UAAU,CAAC,IAAI,6BAA6B,CACzD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;gBACxC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC7C,aAAa,EAAE,QAAQ,CAAC,aAAa;iBACtC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAClD,aAAa,EAAE,QAAQ,CAAC,aAAa;iBACtC,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;YACxC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,SAAS,eAAe,CAAC,KAAiB;QACxC,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxD,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvE,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;QACH,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,EAAE,KAAK,CAAC;YAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,uBAAuB,CAAC,GAAa;QAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC;YACxF,CAAC,CAAC,WAAW,EAAE;YACf,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAEpB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5C,IAAI,eAAe,EAAE,IAAI,KAAK,KAAK,OAAO;gBAAE,GAAG,CAAC,cAAc,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;YACvB,KAAK,KAAK,QAAQ;YAClB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO;gBAClC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EACzC,CAAC;YACD,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,GACR,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;gBACnE,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBAClE,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBAClE,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBAClE,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClD,MAAM,EAAE,CAAC;gBACT,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IACE,KAAK,KAAK,KAAK;gBACf,OAAO,CAAC,IAAI,KAAK,OAAO;gBACxB,gBAAgB,CAAC,OAAO,EACxB,CAAC;gBACD,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACzC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;wBAChB,gBAAgB,CACd,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAC3D,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,gBAAgB,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gBAAgB,EAAE,CAAC;gBACrB,CAAC;gBACD,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,cAAc,EAAE,CAAC;gBACjB,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,oBAAoB,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,KAAK,YAAY,CAAC,GAAG,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,oBAAoB,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;gBAC7D,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;YAEhC,MAAM,MAAM,GAAG,kBAAkB,CAAC;gBAChC,KAAK;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG;gBAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,WAAW,CAAC,OAAO,KAAK,MAAM;gBACxC,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE;gBACrD,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK;aACrC,CAAC,CAAC;YAEH,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7B,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,oBAAoB,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,QAAQ,GACZ,KAAK,KAAK,IAAI;oBACZ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC9C,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,GAAG,CAAC,cAAc,EAAE,CAAC;oBACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACzB,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,SAAS,CAAC,GAAa;QAC9B,IAAI,KAAK,CAAC,cAAc;YAAE,OAAO;QACjC,IAAI,CAAC,iBAAiB,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACzC,4EAA4E;IAC9E,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,MAAM,QAAQ,GAAG,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAErE,SAAS,aAAa;QACpB,IAAI,KAAK,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1B,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,SAAS;QACT,QAAQ;QACR,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1D,eAAe,EAAE,GAAG,EAAE;YACpB,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9B,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,cAAc;QACd,cAAc;QACd,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,aAAa;QACb,WAAW;QACX,eAAe;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAC9B,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAE3C,SAAS,eAAe,CAAC,KAAyB;QAChD,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,gBAAgB,CAAC,IAAY;QACpC,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAa;QACvC,aAAa,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;YAChC,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAChE,aAAa,EAAE,eAAe,aAE9B,KAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,cAAc,CAAC,OAAO,EACpC,cAAc,EAAE,cAAc,CAAC,MAAM,EACrC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE,EACnC,YAAY,EAAE,eAAe,EAC7B,eAAe,EAAE,kBAAkB,EACnC,YAAY,EAAE,gBAAgB,GAC9B,EACF,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,aAAa,EAC1B,mBAAmB,EAAE,UAAU,EAC/B,mBAAmB,EAAE,UAAU,EAC/B,UAAU,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAC5C,YAAY,EAAE,YAAY,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9C,KAAC,YAAY,IACX,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,GAAG,CAAC,EACrB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,eAAe,GACzB,CACH,CAAC,CAAC,CAAC,IAAI,EACR,aAAa,EAAE,eAAe,EAC9B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,GAAG,EAAE;oBACpB,WAAW,EAAE,CAAC;oBACd,cAAc,CAAC,eAAe,CAAC,CAAC;gBAClC,CAAC,EACD,cAAc,EAAE,GAAG,EAAE;oBACnB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,CAAC;gBACpB,CAAC,EACD,SAAS,EAAE,SAAS,GACpB,IACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type TextareaRenderable } from "@opentui/core";
2
- export type MentionKind = "skill" | "mcp";
2
+ export type MentionKind = "skill" | "mcp" | "paste";
3
3
  export interface MentionPaint {
4
4
  readonly kind: MentionKind;
5
5
  readonly ranges: readonly {
@@ -17,4 +17,9 @@ export declare function paintDraftMentions(input: {
17
17
  readonly skillColor: string;
18
18
  readonly servers: ReadonlySet<string>;
19
19
  readonly serverColor: string;
20
+ readonly pasteRanges?: readonly {
21
+ readonly start: number;
22
+ readonly end: number;
23
+ }[];
24
+ readonly pasteColor?: string;
20
25
  }): void;
@@ -4,6 +4,7 @@ import { findSkillMentions } from "../../skills/mentions.js";
4
4
  const STYLE_NAMES = {
5
5
  skill: "clai.skill.mention",
6
6
  mcp: "clai.mcp.mention",
7
+ paste: "clai.paste.placeholder",
7
8
  };
8
9
  let style;
9
10
  let styleIds = {};
@@ -12,13 +13,14 @@ let unsupported = false;
12
13
  function ensureStyle(colors) {
13
14
  if (unsupported)
14
15
  return false;
15
- const signature = `${colors.skill}|${colors.mcp}`;
16
+ const signature = `${colors.skill}|${colors.mcp}|${colors.paste}`;
16
17
  if (style && styleSignature === signature)
17
18
  return true;
18
19
  try {
19
20
  style = SyntaxStyle.fromStyles({
20
21
  [STYLE_NAMES.skill]: { fg: colors.skill, bold: true },
21
22
  [STYLE_NAMES.mcp]: { fg: colors.mcp, bold: true },
23
+ [STYLE_NAMES.paste]: { fg: colors.paste, bold: true },
22
24
  });
23
25
  const ids = {};
24
26
  for (const kind of Object.keys(STYLE_NAMES)) {
@@ -51,7 +53,7 @@ export function paintComposerMentions(editor, paints) {
51
53
  const total = paints.reduce((sum, paint) => sum + paint.ranges.length, 0);
52
54
  if (total === 0 && !style)
53
55
  return;
54
- const colors = { skill: "", mcp: "" };
56
+ const colors = { skill: "", mcp: "", paste: "" };
55
57
  for (const paint of paints)
56
58
  colors[paint.kind] = paint.color;
57
59
  if (!ensureStyle(colors))
@@ -92,6 +94,11 @@ export function paintDraftMentions(input) {
92
94
  ranges: findMcpMentions(input.text, input.servers),
93
95
  color: input.serverColor,
94
96
  },
97
+ {
98
+ kind: "paste",
99
+ ranges: input.pasteRanges ?? [],
100
+ color: input.pasteColor ?? input.serverColor,
101
+ },
95
102
  ]);
96
103
  }
97
104
  //# sourceMappingURL=composer-highlight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composer-highlight.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-highlight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composer-highlight.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-highlight.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { countLines } from "../../ui-core/composer/paste-placeholder.js";
1
2
  export function composerDraftOverflows(contentLines, visibleRows) {
2
3
  return Math.max(1, contentLines) > Math.max(1, visibleRows);
3
4
  }
@@ -26,7 +27,7 @@ export function measureComposerLines(editor, contentLinesFallback) {
26
27
  0;
27
28
  const logical = editor.lineCount ?? 0;
28
29
  const hardBreaks = editor.plainText
29
- ? Math.max(1, editor.plainText.split("\n").length)
30
+ ? Math.max(1, countLines(editor.plainText))
30
31
  : 1;
31
32
  return Math.max(1, contentLinesFallback, fromView, logical, hardBreaks);
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"composer-wheel.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-wheel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composer-wheel.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-wheel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type TextareaRenderable, type WidthMethod } from "@opentui/core";
2
+ import type { PasteRegistry } from "../../ui-core/composer/paste-placeholder.js";
3
+ export declare function retainComposerText(editor: TextareaRenderable | null): () => void;
4
+ export declare function expandComposerPaste(editor: TextareaRenderable, registry: PasteRegistry, widthMethod: WidthMethod, id?: number): boolean;
@@ -0,0 +1,34 @@
1
+ import { resolveRenderLib, } from "@opentui/core";
2
+ import { composerCharacterOffset, setComposerCharacterOffset } from "./composer-cursor.js";
3
+ const decoder = new TextDecoder();
4
+ export function retainComposerText(editor) {
5
+ if (!editor)
6
+ return () => undefined;
7
+ const buffer = editor.editBuffer;
8
+ const lib = resolveRenderLib();
9
+ const textBuffer = lib.editBufferGetTextBuffer(buffer.ptr);
10
+ const original = buffer.getText;
11
+ buffer.getText = () => {
12
+ const pointer = buffer.ptr;
13
+ const size = lib.textBufferGetByteSize(textBuffer);
14
+ if (size <= 1024 * 1024)
15
+ return original.call(buffer);
16
+ const bytes = lib.editBufferGetText(pointer, size);
17
+ return bytes ? decoder.decode(bytes) : "";
18
+ };
19
+ return () => {
20
+ buffer.getText = original;
21
+ };
22
+ }
23
+ export function expandComposerPaste(editor, registry, widthMethod, id) {
24
+ const text = editor.plainText;
25
+ if (registry.activeIn(text).length === 0)
26
+ return false;
27
+ const next = registry.expandNearest(text, composerCharacterOffset(editor, text), id);
28
+ if (!next)
29
+ return false;
30
+ editor.replaceText(next.text);
31
+ setComposerCharacterOffset(editor, next.text, next.cursor, widthMethod);
32
+ return true;
33
+ }
34
+ //# sourceMappingURL=expand-paste.js.map