@react-x11/components 0.7.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/README.md +295 -51
  2. package/dist/charts/node.d.ts +1 -1
  3. package/dist/charts/node.d.ts.map +1 -1
  4. package/dist/charts/node.js +6 -2
  5. package/dist/charts/node.js.map +1 -1
  6. package/dist/color-picker/ColorPicker.d.ts.map +1 -1
  7. package/dist/color-picker/ColorPicker.js +43 -33
  8. package/dist/color-picker/ColorPicker.js.map +1 -1
  9. package/dist/embed/client.d.ts +48 -3
  10. package/dist/embed/client.d.ts.map +1 -1
  11. package/dist/embed/client.js +79 -5
  12. package/dist/embed/client.js.map +1 -1
  13. package/dist/embed/index.d.ts +1 -1
  14. package/dist/embed/index.d.ts.map +1 -1
  15. package/dist/embed/index.js +1 -1
  16. package/dist/embed/index.js.map +1 -1
  17. package/dist/html/node.d.ts +3 -1
  18. package/dist/html/node.d.ts.map +1 -1
  19. package/dist/html/node.js +7 -5
  20. package/dist/html/node.js.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/{markdown → internal/markdown}/ast.d.ts +12 -0
  26. package/dist/internal/markdown/ast.d.ts.map +1 -0
  27. package/dist/internal/markdown/ast.js +22 -0
  28. package/dist/internal/markdown/ast.js.map +1 -0
  29. package/dist/internal/markdown/parse.d.ts.map +1 -0
  30. package/dist/{markdown → internal/markdown}/parse.js +112 -22
  31. package/dist/internal/markdown/parse.js.map +1 -0
  32. package/dist/internal/markdown/stringify.d.ts +4 -0
  33. package/dist/internal/markdown/stringify.d.ts.map +1 -0
  34. package/dist/internal/markdown/stringify.js +684 -0
  35. package/dist/internal/markdown/stringify.js.map +1 -0
  36. package/dist/internal/markdown/tags.d.ts.map +1 -0
  37. package/dist/internal/markdown/tags.js.map +1 -0
  38. package/dist/internal/scroll.d.ts +3 -2
  39. package/dist/internal/scroll.d.ts.map +1 -1
  40. package/dist/internal/scroll.js +33 -15
  41. package/dist/internal/scroll.js.map +1 -1
  42. package/dist/internal/units.d.ts +2 -0
  43. package/dist/internal/units.d.ts.map +1 -0
  44. package/dist/internal/units.js +35 -0
  45. package/dist/internal/units.js.map +1 -0
  46. package/dist/internal/window.d.ts.map +1 -1
  47. package/dist/internal/window.js +4 -2
  48. package/dist/internal/window.js.map +1 -1
  49. package/dist/maps/anchors.d.ts +98 -0
  50. package/dist/maps/anchors.d.ts.map +1 -0
  51. package/dist/maps/anchors.js +531 -0
  52. package/dist/maps/anchors.js.map +1 -0
  53. package/dist/maps/controller.d.ts +283 -0
  54. package/dist/maps/controller.d.ts.map +1 -0
  55. package/dist/maps/controller.js +743 -0
  56. package/dist/maps/controller.js.map +1 -0
  57. package/dist/maps/gl/buckets.d.ts +95 -0
  58. package/dist/maps/gl/buckets.d.ts.map +1 -0
  59. package/dist/maps/gl/buckets.js +362 -0
  60. package/dist/maps/gl/buckets.js.map +1 -0
  61. package/dist/maps/gl/build-worker.d.ts +13 -0
  62. package/dist/maps/gl/build-worker.d.ts.map +1 -0
  63. package/dist/maps/gl/build-worker.js +44 -0
  64. package/dist/maps/gl/build-worker.js.map +1 -0
  65. package/dist/maps/gl/color.d.ts +8 -0
  66. package/dist/maps/gl/color.d.ts.map +1 -0
  67. package/dist/maps/gl/color.js +57 -0
  68. package/dist/maps/gl/color.js.map +1 -0
  69. package/dist/maps/gl/cover.d.ts +51 -0
  70. package/dist/maps/gl/cover.d.ts.map +1 -0
  71. package/dist/maps/gl/cover.js +124 -0
  72. package/dist/maps/gl/cover.js.map +1 -0
  73. package/dist/maps/gl/index.d.ts +3 -0
  74. package/dist/maps/gl/index.d.ts.map +1 -0
  75. package/dist/maps/gl/index.js +20 -0
  76. package/dist/maps/gl/index.js.map +1 -0
  77. package/dist/maps/gl/markers.d.ts +28 -0
  78. package/dist/maps/gl/markers.d.ts.map +1 -0
  79. package/dist/maps/gl/markers.js +60 -0
  80. package/dist/maps/gl/markers.js.map +1 -0
  81. package/dist/maps/gl/overlays.d.ts +68 -0
  82. package/dist/maps/gl/overlays.d.ts.map +1 -0
  83. package/dist/maps/gl/overlays.js +300 -0
  84. package/dist/maps/gl/overlays.js.map +1 -0
  85. package/dist/maps/gl/pane.d.ts +12 -0
  86. package/dist/maps/gl/pane.d.ts.map +1 -0
  87. package/dist/maps/gl/pane.js +37 -0
  88. package/dist/maps/gl/pane.js.map +1 -0
  89. package/dist/maps/gl/placement.d.ts +111 -0
  90. package/dist/maps/gl/placement.d.ts.map +1 -0
  91. package/dist/maps/gl/placement.js +567 -0
  92. package/dist/maps/gl/placement.js.map +1 -0
  93. package/dist/maps/gl/renderer.d.ts +352 -0
  94. package/dist/maps/gl/renderer.d.ts.map +1 -0
  95. package/dist/maps/gl/renderer.js +1127 -0
  96. package/dist/maps/gl/renderer.js.map +1 -0
  97. package/dist/maps/gl/shaders.d.ts +120 -0
  98. package/dist/maps/gl/shaders.d.ts.map +1 -0
  99. package/dist/maps/gl/shaders.js +451 -0
  100. package/dist/maps/gl/shaders.js.map +1 -0
  101. package/dist/maps/gl/store.d.ts +115 -0
  102. package/dist/maps/gl/store.d.ts.map +1 -0
  103. package/dist/maps/gl/store.js +469 -0
  104. package/dist/maps/gl/store.js.map +1 -0
  105. package/dist/maps/gl/text.d.ts +154 -0
  106. package/dist/maps/gl/text.d.ts.map +1 -0
  107. package/dist/maps/gl/text.js +382 -0
  108. package/dist/maps/gl/text.js.map +1 -0
  109. package/dist/maps/gl/view.d.ts +54 -0
  110. package/dist/maps/gl/view.d.ts.map +1 -0
  111. package/dist/maps/gl/view.js +974 -0
  112. package/dist/maps/gl/view.js.map +1 -0
  113. package/dist/maps/index.d.ts +1 -1
  114. package/dist/maps/index.d.ts.map +1 -1
  115. package/dist/maps/index.js +216 -52
  116. package/dist/maps/index.js.map +1 -1
  117. package/dist/maps/labels.d.ts +37 -16
  118. package/dist/maps/labels.d.ts.map +1 -1
  119. package/dist/maps/labels.js +188 -119
  120. package/dist/maps/labels.js.map +1 -1
  121. package/dist/maps/node.d.ts +162 -56
  122. package/dist/maps/node.d.ts.map +1 -1
  123. package/dist/maps/node.js +607 -515
  124. package/dist/maps/node.js.map +1 -1
  125. package/dist/maps/overlay.d.ts +72 -9
  126. package/dist/maps/overlay.d.ts.map +1 -1
  127. package/dist/maps/overlay.js +108 -28
  128. package/dist/maps/overlay.js.map +1 -1
  129. package/dist/maps/paint.d.ts +3 -0
  130. package/dist/maps/paint.d.ts.map +1 -1
  131. package/dist/maps/paint.js.map +1 -1
  132. package/dist/maps/proj.d.ts +14 -0
  133. package/dist/maps/proj.d.ts.map +1 -1
  134. package/dist/maps/proj.js +28 -0
  135. package/dist/maps/proj.js.map +1 -1
  136. package/dist/maps/renderer.d.ts +69 -0
  137. package/dist/maps/renderer.d.ts.map +1 -0
  138. package/dist/maps/renderer.js +66 -0
  139. package/dist/maps/renderer.js.map +1 -0
  140. package/dist/maps/sources.d.ts +25 -3
  141. package/dist/maps/sources.d.ts.map +1 -1
  142. package/dist/maps/sources.js +17 -0
  143. package/dist/maps/sources.js.map +1 -1
  144. package/dist/maps/theme.d.ts +19 -0
  145. package/dist/maps/theme.d.ts.map +1 -0
  146. package/dist/maps/theme.js +44 -0
  147. package/dist/maps/theme.js.map +1 -0
  148. package/dist/maps/tiles.d.ts +117 -17
  149. package/dist/maps/tiles.d.ts.map +1 -1
  150. package/dist/maps/tiles.js +163 -30
  151. package/dist/maps/tiles.js.map +1 -1
  152. package/dist/maps/types.d.ts +188 -20
  153. package/dist/maps/types.d.ts.map +1 -1
  154. package/dist/markdown/expressions.d.ts +1 -1
  155. package/dist/markdown/expressions.d.ts.map +1 -1
  156. package/dist/markdown/expressions.js.map +1 -1
  157. package/dist/markdown/index.d.ts +7 -6
  158. package/dist/markdown/index.d.ts.map +1 -1
  159. package/dist/markdown/index.js +9 -7
  160. package/dist/markdown/index.js.map +1 -1
  161. package/dist/markdown/spans.d.ts +1 -1
  162. package/dist/markdown/spans.d.ts.map +1 -1
  163. package/dist/media-player/index.d.ts +11 -3
  164. package/dist/media-player/index.d.ts.map +1 -1
  165. package/dist/media-player/index.js +13 -2
  166. package/dist/media-player/index.js.map +1 -1
  167. package/dist/rich-text-editor/clipboard.d.ts +23 -0
  168. package/dist/rich-text-editor/clipboard.d.ts.map +1 -0
  169. package/dist/rich-text-editor/clipboard.js +307 -0
  170. package/dist/rich-text-editor/clipboard.js.map +1 -0
  171. package/dist/rich-text-editor/collab.d.ts +32 -0
  172. package/dist/rich-text-editor/collab.d.ts.map +1 -0
  173. package/dist/rich-text-editor/collab.js +55 -0
  174. package/dist/rich-text-editor/collab.js.map +1 -0
  175. package/dist/rich-text-editor/commands.d.ts +50 -0
  176. package/dist/rich-text-editor/commands.d.ts.map +1 -0
  177. package/dist/rich-text-editor/commands.js +376 -0
  178. package/dist/rich-text-editor/commands.js.map +1 -0
  179. package/dist/rich-text-editor/drag.d.ts +68 -0
  180. package/dist/rich-text-editor/drag.d.ts.map +1 -0
  181. package/dist/rich-text-editor/drag.js +148 -0
  182. package/dist/rich-text-editor/drag.js.map +1 -0
  183. package/dist/rich-text-editor/html.d.ts +145 -0
  184. package/dist/rich-text-editor/html.d.ts.map +1 -0
  185. package/dist/rich-text-editor/html.js +516 -0
  186. package/dist/rich-text-editor/html.js.map +1 -0
  187. package/dist/rich-text-editor/index.d.ts +263 -0
  188. package/dist/rich-text-editor/index.d.ts.map +1 -0
  189. package/dist/rich-text-editor/index.js +822 -0
  190. package/dist/rich-text-editor/index.js.map +1 -0
  191. package/dist/rich-text-editor/inline.d.ts +94 -0
  192. package/dist/rich-text-editor/inline.d.ts.map +1 -0
  193. package/dist/rich-text-editor/inline.js +252 -0
  194. package/dist/rich-text-editor/inline.js.map +1 -0
  195. package/dist/rich-text-editor/keymap.d.ts +71 -0
  196. package/dist/rich-text-editor/keymap.d.ts.map +1 -0
  197. package/dist/rich-text-editor/keymap.js +393 -0
  198. package/dist/rich-text-editor/keymap.js.map +1 -0
  199. package/dist/rich-text-editor/keys.d.ts +29 -0
  200. package/dist/rich-text-editor/keys.d.ts.map +1 -0
  201. package/dist/rich-text-editor/keys.js +93 -0
  202. package/dist/rich-text-editor/keys.js.map +1 -0
  203. package/dist/rich-text-editor/look.d.ts +71 -0
  204. package/dist/rich-text-editor/look.d.ts.map +1 -0
  205. package/dist/rich-text-editor/look.js +342 -0
  206. package/dist/rich-text-editor/look.js.map +1 -0
  207. package/dist/rich-text-editor/markdown.d.ts +18 -0
  208. package/dist/rich-text-editor/markdown.d.ts.map +1 -0
  209. package/dist/rich-text-editor/markdown.js +496 -0
  210. package/dist/rich-text-editor/markdown.js.map +1 -0
  211. package/dist/rich-text-editor/nodes.d.ts +135 -0
  212. package/dist/rich-text-editor/nodes.d.ts.map +1 -0
  213. package/dist/rich-text-editor/nodes.js +397 -0
  214. package/dist/rich-text-editor/nodes.js.map +1 -0
  215. package/dist/rich-text-editor/render.d.ts +68 -0
  216. package/dist/rich-text-editor/render.d.ts.map +1 -0
  217. package/dist/rich-text-editor/render.js +500 -0
  218. package/dist/rich-text-editor/render.js.map +1 -0
  219. package/dist/rich-text-editor/schema.d.ts +16 -0
  220. package/dist/rich-text-editor/schema.d.ts.map +1 -0
  221. package/dist/rich-text-editor/schema.js +386 -0
  222. package/dist/rich-text-editor/schema.js.map +1 -0
  223. package/dist/rich-text-editor/store.d.ts +11 -0
  224. package/dist/rich-text-editor/store.d.ts.map +1 -0
  225. package/dist/rich-text-editor/store.js +43 -0
  226. package/dist/rich-text-editor/store.js.map +1 -0
  227. package/dist/rich-text-editor/suggest.d.ts +127 -0
  228. package/dist/rich-text-editor/suggest.d.ts.map +1 -0
  229. package/dist/rich-text-editor/suggest.js +0 -0
  230. package/dist/rich-text-editor/suggest.js.map +1 -0
  231. package/dist/rich-text-editor/tables.d.ts +41 -0
  232. package/dist/rich-text-editor/tables.d.ts.map +1 -0
  233. package/dist/rich-text-editor/tables.js +204 -0
  234. package/dist/rich-text-editor/tables.js.map +1 -0
  235. package/dist/rich-text-editor/toolbar.d.ts +58 -0
  236. package/dist/rich-text-editor/toolbar.d.ts.map +1 -0
  237. package/dist/rich-text-editor/toolbar.js +548 -0
  238. package/dist/rich-text-editor/toolbar.js.map +1 -0
  239. package/dist/rich-text-editor/view.d.ts +368 -0
  240. package/dist/rich-text-editor/view.d.ts.map +1 -0
  241. package/dist/rich-text-editor/view.js +1968 -0
  242. package/dist/rich-text-editor/view.js.map +1 -0
  243. package/dist/rich-text-editor/virtual.d.ts +54 -0
  244. package/dist/rich-text-editor/virtual.d.ts.map +1 -0
  245. package/dist/rich-text-editor/virtual.js +262 -0
  246. package/dist/rich-text-editor/virtual.js.map +1 -0
  247. package/dist/richtext/node.d.ts +25 -2
  248. package/dist/richtext/node.d.ts.map +1 -1
  249. package/dist/richtext/node.js +46 -24
  250. package/dist/richtext/node.js.map +1 -1
  251. package/dist/table/index.d.ts.map +1 -1
  252. package/dist/table/index.js +14 -5
  253. package/dist/table/index.js.map +1 -1
  254. package/dist/terminal/backends.d.ts +4 -1
  255. package/dist/terminal/backends.d.ts.map +1 -1
  256. package/dist/terminal/backends.js.map +1 -1
  257. package/dist/terminal/index.d.ts +18 -7
  258. package/dist/terminal/index.d.ts.map +1 -1
  259. package/dist/terminal/index.js +28 -11
  260. package/dist/terminal/index.js.map +1 -1
  261. package/dist/terminal/vt/node.d.ts +56 -3
  262. package/dist/terminal/vt/node.d.ts.map +1 -1
  263. package/dist/terminal/vt/node.js +106 -26
  264. package/dist/terminal/vt/node.js.map +1 -1
  265. package/dist/terminal/vt/renderer.d.ts +4 -0
  266. package/dist/terminal/vt/renderer.d.ts.map +1 -1
  267. package/dist/terminal/vt/renderer.js +14 -5
  268. package/dist/terminal/vt/renderer.js.map +1 -1
  269. package/dist/tree/index.d.ts.map +1 -1
  270. package/dist/tree/index.js +6 -4
  271. package/dist/tree/index.js.map +1 -1
  272. package/package.json +23 -4
  273. package/src/charts/node.ts +6 -2
  274. package/src/color-picker/ColorPicker.ts +107 -81
  275. package/src/embed/client.ts +102 -8
  276. package/src/embed/index.ts +2 -0
  277. package/src/html/node.ts +7 -5
  278. package/src/index.ts +2 -0
  279. package/src/{markdown → internal/markdown}/ast.ts +24 -7
  280. package/src/{markdown → internal/markdown}/parse.ts +134 -24
  281. package/src/internal/markdown/stringify.ts +772 -0
  282. package/src/internal/scroll.ts +39 -18
  283. package/src/internal/units.ts +34 -0
  284. package/src/internal/window.ts +4 -2
  285. package/src/maps/anchors.ts +607 -0
  286. package/src/maps/controller.ts +999 -0
  287. package/src/maps/gl/buckets.ts +457 -0
  288. package/src/maps/gl/build-worker.ts +55 -0
  289. package/src/maps/gl/color.ts +62 -0
  290. package/src/maps/gl/cover.ts +170 -0
  291. package/src/maps/gl/index.ts +23 -0
  292. package/src/maps/gl/markers.ts +83 -0
  293. package/src/maps/gl/overlays.ts +379 -0
  294. package/src/maps/gl/pane.ts +42 -0
  295. package/src/maps/gl/placement.ts +816 -0
  296. package/src/maps/gl/renderer.ts +1576 -0
  297. package/src/maps/gl/shaders.ts +486 -0
  298. package/src/maps/gl/store.ts +566 -0
  299. package/src/maps/gl/text.ts +495 -0
  300. package/src/maps/gl/view.ts +1224 -0
  301. package/src/maps/index.ts +270 -81
  302. package/src/maps/labels.ts +214 -121
  303. package/src/maps/node.ts +763 -629
  304. package/src/maps/overlay.ts +148 -43
  305. package/src/maps/paint.ts +3 -0
  306. package/src/maps/proj.ts +31 -0
  307. package/src/maps/renderer.ts +155 -0
  308. package/src/maps/sources.ts +38 -3
  309. package/src/maps/theme.ts +51 -0
  310. package/src/maps/tiles.ts +191 -33
  311. package/src/maps/types.ts +188 -20
  312. package/src/markdown/expressions.ts +5 -1
  313. package/src/markdown/index.ts +14 -11
  314. package/src/markdown/spans.ts +1 -1
  315. package/src/media-player/index.ts +18 -4
  316. package/src/rich-text-editor/clipboard.ts +439 -0
  317. package/src/rich-text-editor/collab.ts +91 -0
  318. package/src/rich-text-editor/commands.ts +448 -0
  319. package/src/rich-text-editor/dom-globals.d.ts +23 -0
  320. package/src/rich-text-editor/drag.ts +211 -0
  321. package/src/rich-text-editor/html.ts +619 -0
  322. package/src/rich-text-editor/index.ts +1331 -0
  323. package/src/rich-text-editor/inline.ts +345 -0
  324. package/src/rich-text-editor/keymap.ts +510 -0
  325. package/src/rich-text-editor/keys.ts +119 -0
  326. package/src/rich-text-editor/look.ts +427 -0
  327. package/src/rich-text-editor/markdown.ts +653 -0
  328. package/src/rich-text-editor/nodes.ts +497 -0
  329. package/src/rich-text-editor/render.ts +800 -0
  330. package/src/rich-text-editor/schema.ts +431 -0
  331. package/src/rich-text-editor/store.ts +39 -0
  332. package/src/rich-text-editor/suggest.ts +597 -0
  333. package/src/rich-text-editor/tables.ts +272 -0
  334. package/src/rich-text-editor/toolbar.ts +724 -0
  335. package/src/rich-text-editor/view.ts +2287 -0
  336. package/src/rich-text-editor/virtual.ts +347 -0
  337. package/src/richtext/node.ts +59 -30
  338. package/src/table/index.ts +14 -5
  339. package/src/terminal/backends.ts +4 -1
  340. package/src/terminal/index.ts +43 -15
  341. package/src/terminal/vt/node.ts +128 -29
  342. package/src/terminal/vt/renderer.ts +27 -5
  343. package/src/tree/index.ts +6 -4
  344. package/dist/markdown/ast.d.ts.map +0 -1
  345. package/dist/markdown/ast.js +0 -17
  346. package/dist/markdown/ast.js.map +0 -1
  347. package/dist/markdown/parse.d.ts.map +0 -1
  348. package/dist/markdown/parse.js.map +0 -1
  349. package/dist/markdown/tags.d.ts.map +0 -1
  350. package/dist/markdown/tags.js.map +0 -1
  351. /package/dist/{markdown → internal/markdown}/parse.d.ts +0 -0
  352. /package/dist/{markdown → internal/markdown}/tags.d.ts +0 -0
  353. /package/dist/{markdown → internal/markdown}/tags.js +0 -0
  354. /package/src/{markdown → internal/markdown}/tags.ts +0 -0
@@ -23,7 +23,9 @@
23
23
  // rendered as a native element rather than as somebody else's X window. It is
24
24
  // what makes `write()` real — the pty is ours — and what works on a machine
25
25
  // with no emulator installed, which is why `'auto'` ends there rather than at
26
- // the `fallback`.
26
+ // the `fallback`. It is also the only half that works on a react-x11 backend
27
+ // with no XEmbed at all — the native macOS one — so `'auto'` goes straight
28
+ // there when the app cannot host an emulator's window, whatever `PATH` holds.
27
29
  //
28
30
  // **`write()` still returns `false` on the XEmbed backends**, and that is not
29
31
  // an oversight: the pty belongs to xterm, so "type this" would have to be
@@ -33,8 +35,8 @@
33
35
  // Returning `false` rather than throwing lets an app feature-test with the
34
36
  // call itself.
35
37
  import React, { useCallback, useEffect, useMemo, useRef, useState, } from 'react';
36
- import { useTheme } from 'react-x11';
37
- import { BackendUnavailableError, resolveBackend, useEmbeddedClient, } from '../embed/index.js';
38
+ import { useApp, useTheme } from 'react-x11';
39
+ import { BackendUnavailableError, canHostXEmbed, resolveBackend, useEmbeddedClient, } from '../embed/index.js';
38
40
  import { backendsFor } from './backends.js';
39
41
  import { useForeignTitle } from './title.js';
40
42
  import { hx } from './hx.js';
@@ -95,12 +97,17 @@ function warnVtOnly(props) {
95
97
  * while the pointer is *over* an embedded emulator, keys go straight to it.
96
98
  *
97
99
  * **The vt backend is the floor.** With `backend="auto"` (the default), a
98
- * machine with no emulator installed gets this package's own — so `fallback`
99
- * renders only when the pty module or `@xterm/headless` is missing too.
100
+ * machine with no emulator installed gets this package's own, and so does an
101
+ * app on a react-x11 backend with no XEmbed — the native macOS one — whatever
102
+ * is installed. `fallback` renders only when the pty module or
103
+ * `@xterm/headless` is missing too.
100
104
  */
101
105
  export function Terminal(props) {
102
106
  const { backend = 'auto', enabled = true, focusable, processes, stopSignal, } = props;
103
107
  const theme = useTheme();
108
+ // Whether an emulator's window can be hosted here at all. It decides the
109
+ // ladder below before `PATH` is asked anything.
110
+ const embeddable = canHostXEmbed(useApp());
104
111
  // Everything that goes into the command line, as one string.
105
112
  //
106
113
  // This is the restart key, and it is a string rather than a dependency list
@@ -170,12 +177,14 @@ export function Terminal(props) {
170
177
  // --- which half of the component is running ------------------------------
171
178
  //
172
179
  // `'vt'` asks for it outright; `'auto'` arrives here only after the PATH
173
- // probe found no emulator, which is what makes vt the floor rather than a
174
- // parallel option. Both halves' hooks run unconditionally — the one that is
175
- // not in use is simply disabled — because that is what hooks require and
176
- // because a `<Terminal>` that flips backends must not remount the other one.
180
+ // probe found no emulator — or without probing at all on an app that could
181
+ // not host one it found, which on a Mac with XQuartz is exactly what `PATH`
182
+ // offers. That is what makes vt the floor rather than a parallel option.
183
+ // Both halves' hooks run unconditionally — the one that is not in use is
184
+ // simply disabled — because that is what hooks require and because a
185
+ // `<Terminal>` that flips backends must not remount the other one.
177
186
  const [vtFallback, setVtFallback] = useState(false);
178
- const vt = backend === 'vt' || (backend === 'auto' && vtFallback);
187
+ const vt = backend === 'vt' || (backend === 'auto' && (vtFallback || !embeddable));
179
188
  useEffect(() => {
180
189
  if (backend !== 'auto')
181
190
  setVtFallback(false);
@@ -320,10 +329,18 @@ export function Terminal(props) {
320
329
  }
321
330
  // No backend installed is an ordinary state of a perfectly healthy machine,
322
331
  // not an error to report — the same call `useDesktopCalendarEvents` makes
323
- // about a desktop with no Evolution Data Server.
332
+ // about a desktop with no Evolution Data Server. So is an emulator named on
333
+ // an app that cannot host one.
324
334
  if (client.status === 'unavailable' && props.fallback !== undefined) {
325
335
  return h(React.Fragment, null, props.fallback);
326
336
  }
337
+ // …and without a `fallback` that app still gets no `<foreign>`, which has
338
+ // no socket to be there: on the Cocoa backend it hands `onReady` a window id
339
+ // of `undefined`, and on core's headless mock mounting one throws from the
340
+ // commit. A box in the terminal's own background holds the layout, as it
341
+ // does while the vt module loads.
342
+ if (!embeddable)
343
+ return hx('box', { style: styles });
327
344
  const foreign = {
328
345
  onReady: client.handleReady,
329
346
  onEmbedded: title.onEmbedded,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/terminal/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/terminal/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Node } from 'react-x11/node';
2
2
  import type { Context2D, MeasureConstraints, MeasuredSize } from 'react-x11/node';
3
- import type { KeyboardEvent, MouseEvent, WheelEvent } from 'react-x11';
3
+ import type { KeyboardEvent, MouseEvent, Rect, WheelEvent } from 'react-x11';
4
4
  import type { Style } from 'react-x11/style';
5
5
  import type { TerminalColors } from '../backends.js';
6
6
  import type { RendererStats } from './renderer.js';
@@ -60,7 +60,17 @@ export declare class VtTermNode extends Node {
60
60
  applyProps(next: Record<string, unknown>, prev: Record<string, unknown>): void;
61
61
  destroySubtree(): void;
62
62
  /**
63
- * Subscribe to everything that means "the screen may look different".
63
+ * Subscribe to what means "the screen may look different".
64
+ *
65
+ * One event carries every change program output can make: `onWriteParsed`
66
+ * fires once per parsed batch, after the text, the scroll and the cursor
67
+ * move it caused have all landed in the buffer. `onScroll` fires once per
68
+ * scrolled *line* — a 300,000-line flood was 336,000 claims — and
69
+ * `onCursorMove` once per parse, and each only ever announced what
70
+ * `onWriteParsed` was about to; core coalesces the claims, but at 2% of a
71
+ * flood's wall time they were the untidiest thing in it. The scrolls this
72
+ * node performs itself — `handleWheel`, `scrollLines`, `_typed`, a drag
73
+ * past an edge — repaint on their own.
64
74
  *
65
75
  * Only render-relevant events: the component keeps `onData`, `onTitleChange`
66
76
  * and `onBell`, which are about the process rather than about pixels.
@@ -149,8 +159,51 @@ export declare class VtTermNode extends Node {
149
159
  resizeToFit(): void;
150
160
  get cols(): number;
151
161
  get rows(): number;
162
+ /**
163
+ * The screen may look different: claim the grid.
164
+ *
165
+ * The grid rect rather than a tighter one, because which cells are dirty
166
+ * is not known until the diff runs inside paint — damage is a clip and a
167
+ * cull bound rather than a promise to redraw everything, and the diff still
168
+ * decides what is *rendered*, which is where the cost is. And the rect
169
+ * rather than the node: a node claim is inflated by a pixel of slop that
170
+ * lies outside `opaqueRect()`, so the fills core skips under an opaque
171
+ * pass — the window's background and this node's own, 0.7ms of a 6ms
172
+ * Cocoa frame — would be painted after all. Before the first paint there
173
+ * is no cover to promise and the node is the claim.
174
+ */
152
175
  private _repaint;
153
- paint(ctx: Context2D): void;
176
+ /** Everything, ring included: the palette or the grid's shape changed. */
177
+ private _repaintAll;
178
+ /**
179
+ * Where the grid goes and how big it is, in window coordinates.
180
+ *
181
+ * The content box's corner and as many whole cells as fit both the box and
182
+ * the emulator — which resizes a beat later, through the component and off
183
+ * the paint stack, so until it catches up the grid is the intersection.
184
+ * The corner is snapped to whole pixels: cells are integers, the composite
185
+ * is a copy of whole pixels, and a half-pixel of drift against the box is
186
+ * invisible where a resampled composite is not. `fits` is whether those
187
+ * cells lie inside the box on whole pixels, which is the condition for
188
+ * promising them opaque; a box smaller than one cell still draws one,
189
+ * clipped, and promises nothing.
190
+ */
191
+ private _gridGeometry;
192
+ /**
193
+ * The grid — what the renderer writes every pixel of, every paint.
194
+ *
195
+ * Core's word for it (react-x11#497): a pass inside this rect is painted
196
+ * without the fills that would be under it, and the composite in
197
+ * `present()` replaces those pixels rather than blending over them. Null
198
+ * until the first paint has built a renderer — the mock backend never
199
+ * does, and a promise about pixels nothing will draw is a hole where the
200
+ * background should be — null without fonts or an emulator, when
201
+ * `paintContent` draws nothing, and null when the grid does not fit the
202
+ * box on whole pixels, because the answer is taken literally: an
203
+ * antialiased edge is not opaque.
204
+ */
205
+ opaqueRect(): Rect | null;
206
+ paintContent(ctx: Context2D): void;
154
207
  private _ensureRenderer;
155
208
  private _cursorState;
156
209
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/terminal/vt/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/terminal/vt/node.ts"],"names":[],"mappings":"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"}
@@ -113,16 +113,18 @@ export class VtTermNode extends Node {
113
113
  this._paletteKey = key;
114
114
  this._palette = buildPalette(paletteColors(props));
115
115
  // The palette generation is a signature input, so the ordinary diff
116
- // repaints every cell whose colours actually moved. Nothing else here
117
- // needs to know a theme changed.
118
- this._repaint();
116
+ // repaints every cell whose colours actually moved. The one thing
117
+ // outside the diff's reach is the padding ring around the grid — the
118
+ // node's own background, and outside the rect `_repaint` claims — so
119
+ // this is the claim that covers the whole node.
120
+ this._repaintAll('props');
119
121
  }
120
122
  const { family, size } = this._fontStyle();
121
123
  if (`${family}|${size}` !== this._fontKey) {
122
124
  this._fonts = null;
123
125
  this._mirror.invalidate();
124
126
  this.invalidateMeasure('measure');
125
- this._repaint();
127
+ this._repaintAll('props');
126
128
  }
127
129
  if (props.cursorBlink !== prev.cursorBlink) {
128
130
  this._syncBlink();
@@ -138,7 +140,17 @@ export class VtTermNode extends Node {
138
140
  }
139
141
  // --- the emulator --------------------------------------------------------
140
142
  /**
141
- * Subscribe to everything that means "the screen may look different".
143
+ * Subscribe to what means "the screen may look different".
144
+ *
145
+ * One event carries every change program output can make: `onWriteParsed`
146
+ * fires once per parsed batch, after the text, the scroll and the cursor
147
+ * move it caused have all landed in the buffer. `onScroll` fires once per
148
+ * scrolled *line* — a 300,000-line flood was 336,000 claims — and
149
+ * `onCursorMove` once per parse, and each only ever announced what
150
+ * `onWriteParsed` was about to; core coalesces the claims, but at 2% of a
151
+ * flood's wall time they were the untidiest thing in it. The scrolls this
152
+ * node performs itself — `handleWheel`, `scrollLines`, `_typed`, a drag
153
+ * past an edge — repaint on their own.
142
154
  *
143
155
  * Only render-relevant events: the component keeps `onData`, `onTitleChange`
144
156
  * and `onBell`, which are about the process rather than about pixels.
@@ -149,10 +161,12 @@ export class VtTermNode extends Node {
149
161
  this._mirror.invalidate();
150
162
  if (!term)
151
163
  return;
152
- const dirty = () => this._repaint();
153
- this._disposables.push(term.onWriteParsed(dirty), term.onScroll(dirty), term.onCursorMove(dirty), term.onResize(() => {
164
+ this._disposables.push(term.onWriteParsed(() => this._repaint()), term.onResize(() => {
154
165
  this._mirror.invalidate();
155
- this._repaint();
166
+ // The grid may have changed shape, and the strip a smaller one no
167
+ // longer covers owes its background — a fill that a claim inside
168
+ // the opaque rect would skip.
169
+ this._repaintAll('text');
156
170
  }), term.buffer.onBufferChange(() => {
157
171
  // The alternate screen is a different buffer with a different
158
172
  // coordinate origin; nothing on the surface survives the switch.
@@ -342,18 +356,89 @@ export class VtTermNode extends Node {
342
356
  return this._rows;
343
357
  }
344
358
  // --- painting ------------------------------------------------------------
359
+ /**
360
+ * The screen may look different: claim the grid.
361
+ *
362
+ * The grid rect rather than a tighter one, because which cells are dirty
363
+ * is not known until the diff runs inside paint — damage is a clip and a
364
+ * cull bound rather than a promise to redraw everything, and the diff still
365
+ * decides what is *rendered*, which is where the cost is. And the rect
366
+ * rather than the node: a node claim is inflated by a pixel of slop that
367
+ * lies outside `opaqueRect()`, so the fills core skips under an opaque
368
+ * pass — the window's background and this node's own, 0.7ms of a 6ms
369
+ * Cocoa frame — would be painted after all. Before the first paint there
370
+ * is no cover to promise and the node is the claim.
371
+ */
345
372
  _repaint() {
346
373
  if (this.destroyed)
347
374
  return;
348
- // The grid rect, not a tighter one: which cells are dirty is not known
349
- // until the diff runs inside paint. Damage is a clip and a cull bound
350
- // rather than a promise to redraw everything, and the diff still decides
351
- // what is *rendered* — which is where the cost is.
352
- this.invalidate(false, this, 'text');
375
+ this.invalidate(false, this.opaqueRect() ?? this, 'text');
353
376
  }
354
- paint(ctx) {
355
- // background, border, and the clip to this node's rect
356
- super.paint(ctx);
377
+ /** Everything, ring included: the palette or the grid's shape changed. */
378
+ _repaintAll(reason) {
379
+ if (this.destroyed)
380
+ return;
381
+ this.invalidate(false, this, reason);
382
+ }
383
+ /**
384
+ * Where the grid goes and how big it is, in window coordinates.
385
+ *
386
+ * The content box's corner and as many whole cells as fit both the box and
387
+ * the emulator — which resizes a beat later, through the component and off
388
+ * the paint stack, so until it catches up the grid is the intersection.
389
+ * The corner is snapped to whole pixels: cells are integers, the composite
390
+ * is a copy of whole pixels, and a half-pixel of drift against the box is
391
+ * invisible where a resampled composite is not. `fits` is whether those
392
+ * cells lie inside the box on whole pixels, which is the condition for
393
+ * promising them opaque; a box smaller than one cell still draws one,
394
+ * clipped, and promises nothing.
395
+ */
396
+ _gridGeometry(fonts, term) {
397
+ const box = this.contentBox();
398
+ const { cellWidth, cellHeight } = fonts.metrics;
399
+ const cols = Math.max(1, Math.min(Math.floor(box.width / cellWidth), term.cols));
400
+ const rows = Math.max(1, Math.min(Math.floor(box.height / cellHeight), term.rows));
401
+ const width = cols * cellWidth;
402
+ const height = rows * cellHeight;
403
+ return {
404
+ x: Math.round(box.x),
405
+ y: Math.round(box.y),
406
+ cols,
407
+ rows,
408
+ width,
409
+ height,
410
+ fits: Number.isInteger(box.x) &&
411
+ Number.isInteger(box.y) &&
412
+ width <= box.width &&
413
+ height <= box.height,
414
+ };
415
+ }
416
+ /**
417
+ * The grid — what the renderer writes every pixel of, every paint.
418
+ *
419
+ * Core's word for it (react-x11#497): a pass inside this rect is painted
420
+ * without the fills that would be under it, and the composite in
421
+ * `present()` replaces those pixels rather than blending over them. Null
422
+ * until the first paint has built a renderer — the mock backend never
423
+ * does, and a promise about pixels nothing will draw is a hole where the
424
+ * background should be — null without fonts or an emulator, when
425
+ * `paintContent` draws nothing, and null when the grid does not fit the
426
+ * box on whole pixels, because the answer is taken literally: an
427
+ * antialiased edge is not opaque.
428
+ */
429
+ opaqueRect() {
430
+ const term = this._term;
431
+ if (!term || !this._renderer)
432
+ return null;
433
+ const fonts = this._fontSet();
434
+ if (!fonts)
435
+ return null;
436
+ const grid = this._gridGeometry(fonts, term);
437
+ if (!grid.fits)
438
+ return null;
439
+ return { x: grid.x, y: grid.y, width: grid.width, height: grid.height };
440
+ }
441
+ paintContent(ctx) {
357
442
  const fonts = this._fontSet();
358
443
  if (!fonts)
359
444
  return;
@@ -368,14 +453,8 @@ export class VtTermNode extends Node {
368
453
  const renderer = this._ensureRenderer(cell);
369
454
  if (!renderer)
370
455
  return; // mock backend: no pixel API, so nothing to draw
371
- const box = this.contentBox();
372
- const { cellWidth, cellHeight } = fonts.metrics;
373
- const fitCols = Math.max(1, Math.floor(box.width / cellWidth));
374
- const fitRows = Math.max(1, Math.floor(box.height / cellHeight));
375
- // The emulator resizes a beat later (through the component, off this
376
- // stack), so draw the intersection until it catches up.
377
- const cols = Math.max(1, Math.min(fitCols, term.cols));
378
- const rows = Math.max(1, Math.min(fitRows, term.rows));
456
+ const grid = this._gridGeometry(fonts, term);
457
+ const { cols, rows } = grid;
379
458
  this._cols = cols;
380
459
  this._rows = rows;
381
460
  if (!renderer.ensure(cols, rows, fonts.metrics))
@@ -394,8 +473,8 @@ export class VtTermNode extends Node {
394
473
  }, this._workCell ?? undefined);
395
474
  const result = this._mirror.diff(snapshot);
396
475
  renderer.begin(cell, {
397
- originX: box.x,
398
- originY: box.y,
476
+ originX: grid.x,
477
+ originY: grid.y,
399
478
  cols,
400
479
  rows,
401
480
  metrics: fonts.metrics,
@@ -685,6 +764,7 @@ export class VtTermNode extends Node {
685
764
  return;
686
765
  if (term.buffer.active.viewportY !== term.buffer.active.baseY) {
687
766
  term.scrollToBottom();
767
+ this._repaint();
688
768
  }
689
769
  if (this._selection)
690
770
  this.clearSelection();
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/terminal/vt/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/terminal/vt/node.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,2EAA2E;AAC3E,kDAAkD;AAClD,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,SAAS,EACT,SAAS,EACT,MAAM,EACN,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,MAAM,EACN,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAO/C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIrE,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEhC,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,sDAAsD;AACtD,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,kEAAkE;AAClE,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB;;;;;GAKG;AACH,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,SAAS,eAAe;IACtB,IAAI,iBAAiB;QAAE,OAAO;IAC9B,iBAAiB,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,GAAG,UAGT,CAAC;IACF,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,YAAY;QAAE,OAAO;IACtD,CAAC,CAAC,OAAO,EAAE,IAAI,CACb,0EAA0E;QACxE,oEAAoE;QACpE,8DAA8D;QAC9D,4DAA4D;QAC5D,kEAAkE;QAClE,qDAAqD,CACxD,CAAC;AACJ,CAAC;AACD,8EAA8E;AAC9E,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,gEAAgE;AAChE,MAAM,SAAS,GAAG,wBAAwB,CAAC;AA8C3C,MAAM,OAAO,UAAW,SAAQ,IAAI;IAC1B,KAAK,GAAyB,IAAI,CAAC;IACnC,YAAY,GAAsB,EAAE,CAAC;IACrC,MAAM,GAAmB,IAAI,CAAC;IAC9B,QAAQ,GAAG,EAAE,CAAC;IACd,QAAQ,CAAU;IAClB,WAAW,GAAG,EAAE,CAAC;IACjB,SAAS,GAAuB,IAAI,CAAC;IACrC,OAAO,GAAG,IAAI,MAAM,EAAE,CAAC;IACvB,SAAS,GAAwB,IAAI,CAAC;IACtC,SAAS,GAAqB,IAAI,CAAC;IACnC,KAAK,GAAG,CAAC,CAAC;IACV,KAAK,GAAG,CAAC,CAAC;IACV,aAAa,GAAG,CAAC,CAAC;IAClB,aAAa,GAAG,CAAC,CAAC;IAClB,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,GAAG,IAAI,CAAC;IACjB,MAAM,GAAY,IAAI,CAAC;IAC/B,iEAAiE;IACzD,OAAO,GAAyC,IAAI,CAAC;IACrD,KAAK,GAAyC,IAAI,CAAC;IACnD,UAAU,GAA0B,IAAI,CAAC;IACzC,SAAS,GAAoC,IAAI,CAAC;IAC1D,4EAA4E;IACpE,WAAW,GAAG,KAAK,CAAC;IAC5B,sEAAsE;IAC9D,cAAc,GAAkB,SAAS,CAAC;IAC1C,gBAAgB,GAAG,IAAI,CAAC;IAEhC,YAAY,KAA8B,EAAE,GAAY;QACtD,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,GAA4C,CAAC,CAAC;QACpE,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,wEAAwE;QACxE,uEAAuE;QACvE,kEAAkE;QAClE,gEAAgE;QAChE,qDAAqD;QACrD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEO,MAAM;QACZ,OAAO,IAAI,CAAC,KAA+B,CAAC;IAC9C,CAAC;IAED,4EAA4E;IAEnE,UAAU,CACjB,IAA6B,EAC7B,IAA6B;QAE7B,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE5B,IAAI,KAAK,CAAC,IAAI,KAAM,IAAI,CAAC,IAAyC,EAAE,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,oEAAoE;YACpE,kEAAkE;YAClE,qEAAqE;YACrE,qEAAqE;YACrE,gDAAgD;YAChD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAM,IAAI,CAAC,WAAmC,EAAE,CAAC;YACpE,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAEQ,cAAc;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;;;;;OAeG;IACK,OAAO,CAAC,IAA0B;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1B,kEAAkE;YAClE,iEAAiE;YACjE,8BAA8B;YAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,EACF,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE;YAC9B,8DAA8D;YAC9D,iEAAiE;YACjE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,OAAO;QACb,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;;;;;;;OASG;IACK,WAAW,CAAC,IAAmB;QACrC,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,MAA6B,EAAE,EAAE;YAClE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,QAAQ;oBAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/D,IAAI,KAAK,KAAK,IAAI;oBAAE,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;YAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAC5B,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAC3B,OAAO,CAAC,IAAI,CAAC,CACd,EACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAC5B,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAC3B,OAAO,CAAC,KAAK,CAAC,CACf,EACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;OAWG;IACH,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CAAC,EAAmD;QAItE,MAAM,MAAM,GAAG,EAAE,CAAC,WAAkD,CAAC;QACrE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,OAAO;YACL,CAAC,EAAE,OAAO,MAAM,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;YACtD,CAAC,EAAE,OAAO,MAAM,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,UAAU;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAmD,CAAC;QACvE,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,UAAU,IAAI,cAAc;YAC1C,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACK,QAAQ;QACd,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,GAAG,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC9C,MAAM,KAAK,GAAI,IAAI,CAAC,GAA+C,EAAE,KAAK,CAAC;QAC3E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACM,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAsB;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,sEAAsE;QACtE,0EAA0E;QAC1E,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,MAAM,SAAS,GAAG,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,YAAY,GAAG,GAAG,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,YAAY,GAAG,GAAG,GAAG,CAAC,CAAC;QACvE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,SAAS,EAAE,KAAK,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,UAAU,EAAE,MAAM,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,QAAQ;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SACrE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,WAAW;QACT,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa;YAAE,OAAO;QACvE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC;QAC1C,IAAI,MAAM;YAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;;OAYG;IACK,QAAQ;QACd,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,0EAA0E;IAClE,WAAW,CAAC,MAAwB;QAC1C,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,aAAa,CAAC,KAAc,EAAE,IAAmB;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CACvD,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;QACjC,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACpB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACpB,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,MAAM;YACN,IAAI,EACF,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,KAAK,IAAI,GAAG,CAAC,KAAK;gBAClB,MAAM,IAAI,GAAG,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACM,UAAU;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1E,CAAC;IAEQ,YAAY,CAAC,GAAc;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,0EAA0E;QAC1E,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,IAAI,GAAG,GAAkB,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,iDAAiD;QAExE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3E,IACE,CAAC,IAAI,CAAC,SAAS;YACf,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,EAC5B,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAC3B,IAAI,EACJ,IAAI,CAAC,SAAS,EACd;YACE,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;YACrC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,0BAA0B,KAAK,KAAK;SAC9D,EACD,IAAI,CAAC,SAAS,IAAI,SAAS,CAC5B,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;YACnB,OAAO,EAAE,IAAI,CAAC,CAAC;YACf,OAAO,EAAE,IAAI,CAAC,CAAC;YACf,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC9C,qEAAqE;gBACrE,qEAAqE;gBACrE,8BAA8B;gBAC9B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,GAAgB;QACtC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1C,yEAAyE;QACzE,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,CAAC,SAAS,GAAG,cAAc,CAC7B,IAAI,CAAC,GAAG,EACR,GAAG,EACH,CAAC,OAAO,IAAI,IAAI,CAAkC,CACnD,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,qEAAqE;YACrE,sEAAsE;YACtE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,YAAY,CAAC,IAAmB,EAAE,IAAY;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,GACP,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,KAAK,GAAG,QAAQ,CAAC;aAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,KAAK,GAAG,MAAM,CAAC;QACzC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1D,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CACf,QAAqB,EACrB,QAAsB,EACtB,IAAiD,EACjD,KAAc;QAEd,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;QAExB,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAChB,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC9C,KAAK,GAAG,CAAC,CAAC;gBACV,EAAE,GAAG,IAAI,CAAC;YACZ,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;YACvB,wEAAwE;YACxE,gEAAgE;YAChE,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG;gBAAE,SAAS;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CACnB,KAAK,EACL,SAAS,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CACxE,CAAC;YACF,IAAI,GAAG;gBAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAEO,aAAa,CACnB,QAAqB,EACrB,QAAsB,EACtB,GAAW,EACX,GAAW,EACX,GAAW;QAEX,MAAM,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,MAAM,IAAI,GAAG,cAAc,GAAG,WAAW,GAAG,aAAa,CAAC;QAC1D,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,CAAC,KAAa,EAAQ,EAAE;YACpC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrC,MAAM,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;YAC/B,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;gBAC7B,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC1B,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,OAAO,GAAG,aAAa,EAAE,CAAC;gBAC5B,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;YACD,QAAQ,GAAG,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,KAAK,OAAO,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBACrC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACT,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,GAAG,EAAE,CAAC;gBACX,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;2CACuC;IAC/B,WAAW,CACjB,QAAqB,EACrB,GAAW,EACX,GAAW,EACX,GAAW;QAEX,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG;YAAE,OAAO;QACrE,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,KAAK;gBACR,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClE,MAAM;YACR,KAAK,WAAW;gBACd,QAAQ,CAAC,QAAQ,CACf,GAAG,EACH,KAAK,CAAC,GAAG,EACT,CAAC,EACD,iBAAiB,EACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrB,CAAC;gBACF,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClE,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,4EAA4E;IAEnE,YAAY;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEQ,WAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,YAAY,CAAC,OAAgB;QACnC,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,KAAK,KAAK,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO;QACT,CAAC;QACD,gEAAgE;QAChE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,EAAE,cAAc,CAAC,CAAC;IACrB,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;;;;OAcG;IACM,cAAc,CAAC,EAAiB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,OAAO,CAAC,sCAAsC;QAChD,CAAC;QACD,IAAI,CAAC,WAAW;YACd,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;QAErE,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,EAAE,CAAC,cAAc,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACK,eAAe,CAAC,EAAiB;QACvC,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,IAAI,EAAE,CAAC,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;gBAClC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,iBAAiB,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;QACpE,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QACrC,QAAQ,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,KAAK,IAAI,EAAE,IAAI;gBACb,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,KAAK,IAAI,EAAE,IAAI;gBACb,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,KAAK,IAAI,EAAE,IAAI;gBACb,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACM,kBAAkB,CAAC,EAAkC;QAC5D,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,EAAE,CAAC,IAAI;YAAE,OAAO;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;0BACsB;IACd,MAAM;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,IAAY;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,4EAA4E;IAE5E;;;2DAGuD;IAC/C,OAAO,CAAC,EAAmD;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QACnD,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/C,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;SAChD,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,GAAW;QAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,EAAyB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,iBAAiB,IAAI,MAAM,CAAC;QAC/D,OAAO,QAAQ,KAAK,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;IAC7C,CAAC;IAEQ,gBAAgB,CAAC,EAAc;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,sEAAsE;YACtE,qBAAqB;YACrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtB,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CACR,WAAW,CACT;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,GAAG;gBACH,GAAG;gBACH,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,OAAO,EAAE,IAAI;aACd,EACD;gBACE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;gBACtC,QAAQ,EAAE,IAAI,CAAC,cAAc;aAC9B,CACF,IAAI,EAAE,CACR,CAAC;YACF,uEAAuE;YACvE,oEAAoE;YACpE,gCAAgC;YAChC,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS;YACZ,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,cAAc,EAAE,CAAC;IACtB,CAAC;IAEQ,gBAAgB,CAAC,EAAc;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CACR,WAAW,CACT;oBACE,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,GAAG;oBACH,GAAG;oBACH,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,OAAO,EAAE,IAAI;iBACd,EACD;oBACE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;oBACtC,QAAQ,EAAE,IAAI,CAAC,cAAc;iBAC9B,CACF,IAAI,EAAE,CACR,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,sEAAsE;QACtE,0DAA0D;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM;YAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEQ,cAAc,CAAC,EAAc;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CACR,WAAW,CACT;gBACE,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,GAAG;gBACH,GAAG;gBACH,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,OAAO,EAAE,KAAK;aACf,EACD;gBACE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;gBACtC,QAAQ,EAAE,IAAI,CAAC,cAAc;aAC9B,CACF,IAAI,EAAE,CACR,CAAC;YACF,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,IAAI,EAAE,CAAC;YACT,oEAAoE;YACpE,IAAI,CAAC,UAAU,EAAE;gBACf,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;iBACtC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,EAAc;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,OAAO,GAAG,WAAW,CAAC;QAEpC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CACR,WAAW,CACT;gBACE,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,GAAG;gBACH,GAAG;gBACH,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,OAAO,EAAE,KAAK;aACf,EACD;gBACE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;gBACtC,QAAQ,EAAE,IAAI,CAAC,cAAc;aAC9B,CACF,IAAI,EAAE,CACR,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5C,uEAAuE;YACvE,kEAAkE;YAClE,wBAAwB;YACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO,KAAK,CAAC;YACzC,IAAI,CAAC,KAAK,CACR,qBAAqB,CACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EACf,KAAK,GAAG,CAAC,EACT,IAAI,CAAC,KAAK,CAAC,yBAAyB,CACrC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAEpE,gBAAgB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAClD,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9C,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE5C,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,CAAC;YACT,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC;YACnE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,sEAAsE;YACtE,mBAAmB;YACnB,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC;YACnE,IAAI,OAAO;gBAAE,IAAI,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,UAAU,CAAC,IAAY,EAAE,GAAW;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC1E,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,IAAI,GAAG,GAAG,CAAC;QACf,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAClE,OAAO,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAAE,IAAI,EAAE,CAAC;QACjE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAAE,EAAE,EAAE,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IAED,4EAA4E;IAC5E,aAAa;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,EAAE,GAAG,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;YACrE,GAAG,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,IAAI,GAAG,SAAS,CAAC,OAAO,IAAI,CAAC,OAAO;gBAAE,GAAG,IAAI,IAAI,CAAC;QACxD,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,0EAA0E;IAC1E,+DAA+D;IACtD,cAAc;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,SAAS;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG;YAChB,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAEpE,UAAU;QAChB,OAAO,CACJ,IAAI,CAAC,GAAwD;YAC5D,EAAE,SAAS,IAAI,IAAI,CACtB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,SAAS,GAAG,WAAW;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,UAAU,EAAE;YACf,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;aAC3B,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAS,GAAG,WAAW;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,UAAU,EAAE;YACf,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;aACpB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;gBAAE,OAAO;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;;;OASG;IACK,QAAQ,CAAC,IAAY;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,mBAAmB,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE;YACf,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;aACxC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAE5E,WAAW,CAAC,MAAc;QACxB,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CACtE,CAAC;QACJ,CAAC;QACD,sEAAsE;QACtE,OAAO,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;gCAC4B;IAC5B,IAAI,aAAa;QAKf,MAAM,KAAK,GAAkB;YAC3B,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;SACf,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,MAAM;YAC9B,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,KAAK;YAC/B,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,GAAG,KAAK,EAAE;SACzC,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAkB;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,SAAS;QAC3C,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,SAAS;KAC5C,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CAAC,KAAkB;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAChC,MAAM,EAAE,UAAU,IAAI,EAAE;QACxB,MAAM,EAAE,UAAU,IAAI,EAAE;QACxB,MAAM,EAAE,MAAM,IAAI,EAAE;QACpB,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,GAAG,GAAG,kEAAkE,CAAC;AAE/E;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/B,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QAClC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YACd,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YACd,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YACd,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,CAAC,EAAE,CAAC;QACJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -8,6 +8,10 @@ export interface PositionedRun {
8
8
  /** The slice of ntk's 2d context the renderers draw through. */
9
9
  export interface CellContext {
10
10
  fillStyle: unknown;
11
+ /** Canvas's compositing operator. `'copy'` replaces rather than blends;
12
+ * a backend that cannot draw it refuses the assignment, so read it back
13
+ * rather than assume. Absent on a context with no notion of it. */
14
+ globalCompositeOperation?: string;
11
15
  fillRect(x: number, y: number, w: number, h: number): void;
12
16
  fillRects?(rects: number[]): void;
13
17
  drawGlyphs?(op: number, src: unknown, positioned: PositionedRun[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/terminal/vt/renderer.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,QAAQ,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,UAAU,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACzE,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzE,SAAS,CAAC,CACR,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAAC;IACR,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACtD,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED,yDAAyD;AACzD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IACtC,yDAAyD;IACzD,UAAU,CACR,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC5D,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IACX,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,KACxB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KACxD,WAAW,CAAC;AAEjB,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,QAAQ,GACR,UAAU;AACZ,sCAAsC;GACpC,KAAK;AACP,+DAA+D;GAC7D,KAAK;AACP;kDACkD;GAChD,iBAAiB,CAAC;AAEtB,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IACrC;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAClE,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAChD;mEAC+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,GACV,IAAI,CAAC;IACR,uBAAuB;IACvB,GAAG,IAAI,IAAI,CAAC;IACZ,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;2EAEuE;IACvE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,OAAO,IAAI,IAAI,CAAC;CACjB;AAiBD;;;;;;GAMG;AACH,uBAAe,gBAAiB,YAAW,WAAW;IACpD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC9C,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAQ;IACzC,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAQ;IACzC,2EAA2E;IAC3E,SAAS,CAAC,OAAO,SAAK;IACtB,SAAS,CAAC,OAAO,SAAK;IACtB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,KAAK,CAAsC;IACnD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAe;IAC5C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAe;IAE7C;4CACwC;IACxC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,aAAa,EAAE,EAAE,SAAI,GAAG,IAAI,CAGtD;IAED,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAC3E,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1E,iEAAiE;IACjE,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAW,GAAG,IAAI,CAAC;IAChD,uEAAuE;IACvE,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC;IAEzB,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAY9C;IAED,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAWpE;IAED,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAiBlE;IAED,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,GACV,IAAI,CAkDN;IAED,GAAG,IAAI,IAAI,CAWV;IAED,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;CAuBrB;AAYD;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IACpC,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAA4B;IAE5C,YAAY,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAI7C;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAgChE;IAED,SAAS,CAAC,MAAM,IAAI,WAAW,GAAG,IAAI,CAErC;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CA2B/D;IAED,SAAS,CAAC,OAAO,IAAI,IAAI,CA2BxB;IAED,OAAO,CAAC,QAAQ;IAOhB,OAAO,IAAI,IAAI,CAEd;IAED,yEAAyE;IACzE,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,MAAM,IAAI,OAAO,CAIhB;IAEQ,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAIvD;IAED,SAAS,CAAC,MAAM,IAAI,WAAW,GAAG,IAAI,CAErC;IAED,QAAQ,IAAI,OAAO,CAElB;IAED,SAAS,CAAC,OAAO,IAAI,IAAI,CAExB;IAED,OAAO,IAAI,IAAI,CAEd;CACF;AAeD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,WAAW,GAAG,IAAI,GAC1B,WAAW,GAAG,IAAI,CAWpB"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/terminal/vt/renderer.ts"],"names":[],"mappings":"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"}