@adoptai/genui-components 0.1.65 → 0.1.67

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 (378) hide show
  1. package/dist/builders/BlockForm.d.ts +35 -0
  2. package/dist/builders/BlockForm.d.ts.map +1 -0
  3. package/dist/builders/BuilderForm.d.ts +76 -0
  4. package/dist/builders/BuilderForm.d.ts.map +1 -0
  5. package/dist/builders/BuilderRecap.d.ts +12 -0
  6. package/dist/builders/BuilderRecap.d.ts.map +1 -0
  7. package/dist/builders/ContextSlot.d.ts +12 -0
  8. package/dist/builders/ContextSlot.d.ts.map +1 -0
  9. package/dist/builders/FieldRenderer.d.ts +19 -0
  10. package/dist/builders/FieldRenderer.d.ts.map +1 -0
  11. package/dist/builders/StepperBuilder.d.ts +27 -0
  12. package/dist/builders/StepperBuilder.d.ts.map +1 -0
  13. package/dist/builders/fields.d.ts +52 -0
  14. package/dist/builders/fields.d.ts.map +1 -0
  15. package/dist/builders/hooks.d.ts +39 -0
  16. package/dist/builders/hooks.d.ts.map +1 -0
  17. package/dist/builders/index.d.ts +20 -0
  18. package/dist/builders/index.d.ts.map +1 -0
  19. package/dist/builders/resolver.d.ts +24 -0
  20. package/dist/builders/resolver.d.ts.map +1 -0
  21. package/dist/builders/schemas.d.ts +351 -0
  22. package/dist/builders/schemas.d.ts.map +1 -0
  23. package/dist/builders/validateBuilder.d.ts +10 -0
  24. package/dist/builders/validateBuilder.d.ts.map +1 -0
  25. package/dist/composites/aging-report/resolver.d.ts +3 -0
  26. package/dist/composites/aging-report/resolver.d.ts.map +1 -0
  27. package/dist/composites/alert/resolver.d.ts +3 -0
  28. package/dist/composites/alert/resolver.d.ts.map +1 -0
  29. package/dist/composites/allocation-donut/resolver.d.ts +3 -0
  30. package/dist/composites/allocation-donut/resolver.d.ts.map +1 -0
  31. package/dist/composites/amortization-table/resolver.d.ts +3 -0
  32. package/dist/composites/amortization-table/resolver.d.ts.map +1 -0
  33. package/dist/composites/area-chart/resolver.d.ts +3 -0
  34. package/dist/composites/area-chart/resolver.d.ts.map +1 -0
  35. package/dist/composites/audit-trail/resolver.d.ts +3 -0
  36. package/dist/composites/audit-trail/resolver.d.ts.map +1 -0
  37. package/dist/composites/balance-sheet/resolver.d.ts +3 -0
  38. package/dist/composites/balance-sheet/resolver.d.ts.map +1 -0
  39. package/dist/composites/bullet-chart/resolver.d.ts +3 -0
  40. package/dist/composites/bullet-chart/resolver.d.ts.map +1 -0
  41. package/dist/composites/cash-flow-statement/resolver.d.ts +3 -0
  42. package/dist/composites/cash-flow-statement/resolver.d.ts.map +1 -0
  43. package/dist/composites/chart-of-accounts/resolver.d.ts +3 -0
  44. package/dist/composites/chart-of-accounts/resolver.d.ts.map +1 -0
  45. package/dist/composites/cited-answer/resolver.d.ts +3 -0
  46. package/dist/composites/cited-answer/resolver.d.ts.map +1 -0
  47. package/dist/composites/combo-chart/resolver.d.ts +3 -0
  48. package/dist/composites/combo-chart/resolver.d.ts.map +1 -0
  49. package/dist/composites/comparative-bar-chart/resolver.d.ts +3 -0
  50. package/dist/composites/comparative-bar-chart/resolver.d.ts.map +1 -0
  51. package/dist/composites/compliance-checklist/resolver.d.ts +3 -0
  52. package/dist/composites/compliance-checklist/resolver.d.ts.map +1 -0
  53. package/dist/composites/connect-integration/resolver.d.ts +3 -0
  54. package/dist/composites/connect-integration/resolver.d.ts.map +1 -0
  55. package/dist/composites/data-table/resolver.d.ts +3 -0
  56. package/dist/composites/data-table/resolver.d.ts.map +1 -0
  57. package/dist/composites/decision-card/resolver.d.ts +20 -0
  58. package/dist/composites/decision-card/resolver.d.ts.map +1 -0
  59. package/dist/composites/decision-queue/resolver.d.ts +33 -0
  60. package/dist/composites/decision-queue/resolver.d.ts.map +1 -0
  61. package/dist/composites/depreciation-schedule/resolver.d.ts +3 -0
  62. package/dist/composites/depreciation-schedule/resolver.d.ts.map +1 -0
  63. package/dist/composites/document-field-extraction/FieldAuditLog.d.ts +27 -0
  64. package/dist/composites/document-field-extraction/FieldAuditLog.d.ts.map +1 -0
  65. package/dist/composites/document-field-extraction/FieldDetail.d.ts +22 -0
  66. package/dist/composites/document-field-extraction/FieldDetail.d.ts.map +1 -0
  67. package/dist/composites/document-field-extraction/FieldDetails.d.ts +18 -0
  68. package/dist/composites/document-field-extraction/FieldDetails.d.ts.map +1 -0
  69. package/dist/composites/document-field-extraction/bboxTransform.d.ts +25 -0
  70. package/dist/composites/document-field-extraction/bboxTransform.d.ts.map +1 -0
  71. package/dist/composites/document-field-extraction/fieldLabels.d.ts +2 -0
  72. package/dist/composites/document-field-extraction/fieldLabels.d.ts.map +1 -0
  73. package/dist/composites/document-field-extraction/resolver.d.ts +16 -0
  74. package/dist/composites/document-field-extraction/resolver.d.ts.map +1 -0
  75. package/dist/composites/document-preview/ExcelViewer.d.ts +8 -0
  76. package/dist/composites/document-preview/ExcelViewer.d.ts.map +1 -0
  77. package/dist/composites/document-preview/PdfViewer.d.ts +10 -0
  78. package/dist/composites/document-preview/PdfViewer.d.ts.map +1 -0
  79. package/dist/composites/document-preview/resolver.d.ts +3 -0
  80. package/dist/composites/document-preview/resolver.d.ts.map +1 -0
  81. package/dist/composites/document-preview/useFullscreen.d.ts +8 -0
  82. package/dist/composites/document-preview/useFullscreen.d.ts.map +1 -0
  83. package/dist/composites/download-card/resolver.d.ts +3 -0
  84. package/dist/composites/download-card/resolver.d.ts.map +1 -0
  85. package/dist/composites/engagement-pipeline/resolver.d.ts +3 -0
  86. package/dist/composites/engagement-pipeline/resolver.d.ts.map +1 -0
  87. package/dist/composites/entity-card-grid/resolver.d.ts +3 -0
  88. package/dist/composites/entity-card-grid/resolver.d.ts.map +1 -0
  89. package/dist/composites/escalation-card/resolver.cjs +35 -4
  90. package/dist/composites/escalation-card/resolver.cjs.map +1 -1
  91. package/dist/composites/escalation-card/resolver.d.ts +3 -0
  92. package/dist/composites/escalation-card/resolver.d.ts.map +1 -0
  93. package/dist/composites/escalation-card/resolver.js +35 -4
  94. package/dist/composites/escalation-card/resolver.js.map +1 -1
  95. package/dist/composites/file-browser/resolver.d.ts +3 -0
  96. package/dist/composites/file-browser/resolver.d.ts.map +1 -0
  97. package/dist/composites/flow-canvas/DiagramStreamParser.d.ts +15 -0
  98. package/dist/composites/flow-canvas/DiagramStreamParser.d.ts.map +1 -0
  99. package/dist/composites/flow-canvas/ElementStreamParser.d.ts +19 -0
  100. package/dist/composites/flow-canvas/ElementStreamParser.d.ts.map +1 -0
  101. package/dist/composites/flow-canvas/ExcalidrawCanvas.d.ts +8 -0
  102. package/dist/composites/flow-canvas/ExcalidrawCanvas.d.ts.map +1 -0
  103. package/dist/composites/flow-canvas/FlowGraph.d.ts +11 -0
  104. package/dist/composites/flow-canvas/FlowGraph.d.ts.map +1 -0
  105. package/dist/composites/flow-canvas/layoutFlow.d.ts +18 -0
  106. package/dist/composites/flow-canvas/layoutFlow.d.ts.map +1 -0
  107. package/dist/composites/flow-canvas/parseMermaidFlow.d.ts +24 -0
  108. package/dist/composites/flow-canvas/parseMermaidFlow.d.ts.map +1 -0
  109. package/dist/composites/flow-canvas/resolver.d.ts +12 -0
  110. package/dist/composites/flow-canvas/resolver.d.ts.map +1 -0
  111. package/dist/composites/funnel-chart/resolver.d.ts +3 -0
  112. package/dist/composites/funnel-chart/resolver.d.ts.map +1 -0
  113. package/dist/composites/gauge-chart/resolver.d.ts +3 -0
  114. package/dist/composites/gauge-chart/resolver.d.ts.map +1 -0
  115. package/dist/composites/general-ledger/resolver.d.ts +3 -0
  116. package/dist/composites/general-ledger/resolver.d.ts.map +1 -0
  117. package/dist/composites/grouped-table/resolver.d.ts +3 -0
  118. package/dist/composites/grouped-table/resolver.d.ts.map +1 -0
  119. package/dist/composites/heatmap-table/resolver.d.ts +3 -0
  120. package/dist/composites/heatmap-table/resolver.d.ts.map +1 -0
  121. package/dist/composites/income-statement/resolver.d.ts +3 -0
  122. package/dist/composites/income-statement/resolver.d.ts.map +1 -0
  123. package/dist/composites/integrations-list/resolver.d.ts +3 -0
  124. package/dist/composites/integrations-list/resolver.d.ts.map +1 -0
  125. package/dist/composites/invoice-detail/resolver.d.ts +3 -0
  126. package/dist/composites/invoice-detail/resolver.d.ts.map +1 -0
  127. package/dist/composites/job-tracker/resolver.d.ts +3 -0
  128. package/dist/composites/job-tracker/resolver.d.ts.map +1 -0
  129. package/dist/composites/journal-entry/resolver.d.ts +3 -0
  130. package/dist/composites/journal-entry/resolver.d.ts.map +1 -0
  131. package/dist/composites/key-value-list/resolver.d.ts +3 -0
  132. package/dist/composites/key-value-list/resolver.d.ts.map +1 -0
  133. package/dist/composites/legal-test-result/resolver.d.ts +3 -0
  134. package/dist/composites/legal-test-result/resolver.d.ts.map +1 -0
  135. package/dist/composites/line-chart/resolver.d.ts +3 -0
  136. package/dist/composites/line-chart/resolver.d.ts.map +1 -0
  137. package/dist/composites/news-feed/resolver.d.ts +3 -0
  138. package/dist/composites/news-feed/resolver.d.ts.map +1 -0
  139. package/dist/composites/ops-dashboard/resolver.d.ts +3 -0
  140. package/dist/composites/ops-dashboard/resolver.d.ts.map +1 -0
  141. package/dist/composites/pipeline-preview/layout.d.ts +39 -0
  142. package/dist/composites/pipeline-preview/layout.d.ts.map +1 -0
  143. package/dist/composites/pipeline-preview/opMeta.d.ts +9 -0
  144. package/dist/composites/pipeline-preview/opMeta.d.ts.map +1 -0
  145. package/dist/composites/pipeline-preview/resolver.d.ts +3 -0
  146. package/dist/composites/pipeline-preview/resolver.d.ts.map +1 -0
  147. package/dist/composites/provenance-chain/resolver.d.ts +3 -0
  148. package/dist/composites/provenance-chain/resolver.d.ts.map +1 -0
  149. package/dist/composites/radar-chart/resolver.d.ts +3 -0
  150. package/dist/composites/radar-chart/resolver.d.ts.map +1 -0
  151. package/dist/composites/reconciliation-view/resolver.d.ts +3 -0
  152. package/dist/composites/reconciliation-view/resolver.d.ts.map +1 -0
  153. package/dist/composites/scatter-chart/resolver.d.ts +3 -0
  154. package/dist/composites/scatter-chart/resolver.d.ts.map +1 -0
  155. package/dist/composites/screener-table/resolver.d.ts +3 -0
  156. package/dist/composites/screener-table/resolver.d.ts.map +1 -0
  157. package/dist/composites/search-results/resolver.d.ts +3 -0
  158. package/dist/composites/search-results/resolver.d.ts.map +1 -0
  159. package/dist/composites/sparkline-table/resolver.d.ts +3 -0
  160. package/dist/composites/sparkline-table/resolver.d.ts.map +1 -0
  161. package/dist/composites/stacked-breakdown/resolver.d.ts +3 -0
  162. package/dist/composites/stacked-breakdown/resolver.d.ts.map +1 -0
  163. package/dist/composites/stat-grid/resolver.d.ts +3 -0
  164. package/dist/composites/stat-grid/resolver.d.ts.map +1 -0
  165. package/dist/composites/status-card/resolver.d.ts +3 -0
  166. package/dist/composites/status-card/resolver.d.ts.map +1 -0
  167. package/dist/composites/tabby-auth/resolver.d.ts +3 -0
  168. package/dist/composites/tabby-auth/resolver.d.ts.map +1 -0
  169. package/dist/composites/tabs-panel/resolver.d.ts +3 -0
  170. package/dist/composites/tabs-panel/resolver.d.ts.map +1 -0
  171. package/dist/composites/transaction-feed/resolver.d.ts +3 -0
  172. package/dist/composites/transaction-feed/resolver.d.ts.map +1 -0
  173. package/dist/composites/treemap-chart/resolver.d.ts +3 -0
  174. package/dist/composites/treemap-chart/resolver.d.ts.map +1 -0
  175. package/dist/composites/trial-balance/resolver.d.ts +3 -0
  176. package/dist/composites/trial-balance/resolver.d.ts.map +1 -0
  177. package/dist/composites/variance-analysis/resolver.d.ts +3 -0
  178. package/dist/composites/variance-analysis/resolver.d.ts.map +1 -0
  179. package/dist/composites/waterfall-chart/resolver.d.ts +3 -0
  180. package/dist/composites/waterfall-chart/resolver.d.ts.map +1 -0
  181. package/dist/composites/workflow-stepper/resolver.d.ts +20 -0
  182. package/dist/composites/workflow-stepper/resolver.d.ts.map +1 -0
  183. package/dist/index.cjs +89 -11
  184. package/dist/index.cjs.map +1 -1
  185. package/dist/index.d.ts +67 -0
  186. package/dist/index.d.ts.map +1 -0
  187. package/dist/index.js +89 -12
  188. package/dist/index.js.map +1 -1
  189. package/dist/renderer.cjs +64 -9
  190. package/dist/renderer.cjs.map +1 -1
  191. package/dist/renderer.d.ts +7 -0
  192. package/dist/renderer.d.ts.map +1 -0
  193. package/dist/renderer.js +64 -9
  194. package/dist/renderer.js.map +1 -1
  195. package/dist/resolver.cjs +64 -9
  196. package/dist/resolver.cjs.map +1 -1
  197. package/dist/resolver.d.ts +6 -0
  198. package/dist/resolver.d.ts.map +1 -0
  199. package/dist/resolver.js +64 -9
  200. package/dist/resolver.js.map +1 -1
  201. package/dist/schemas/aging-report.d.ts +74 -0
  202. package/dist/schemas/aging-report.d.ts.map +1 -0
  203. package/dist/schemas/alert.d.ts +39 -0
  204. package/dist/schemas/alert.d.ts.map +1 -0
  205. package/dist/schemas/allocation-donut.d.ts +53 -0
  206. package/dist/schemas/allocation-donut.d.ts.map +1 -0
  207. package/dist/schemas/amortization-table.d.ts +102 -0
  208. package/dist/schemas/amortization-table.d.ts.map +1 -0
  209. package/dist/schemas/area-chart.d.ts +61 -0
  210. package/dist/schemas/area-chart.d.ts.map +1 -0
  211. package/dist/schemas/audit-trail.d.ts +88 -0
  212. package/dist/schemas/audit-trail.d.ts.map +1 -0
  213. package/dist/schemas/balance-sheet.d.ts +170 -0
  214. package/dist/schemas/balance-sheet.d.ts.map +1 -0
  215. package/dist/schemas/buildRenderUITool.d.ts +7 -0
  216. package/dist/schemas/buildRenderUITool.d.ts.map +1 -0
  217. package/dist/schemas/bullet-chart.d.ts +58 -0
  218. package/dist/schemas/bullet-chart.d.ts.map +1 -0
  219. package/dist/schemas/cash-flow-statement.d.ts +165 -0
  220. package/dist/schemas/cash-flow-statement.d.ts.map +1 -0
  221. package/dist/schemas/chart-of-accounts.d.ts +93 -0
  222. package/dist/schemas/chart-of-accounts.d.ts.map +1 -0
  223. package/dist/schemas/cited-answer.d.ts +76 -0
  224. package/dist/schemas/cited-answer.d.ts.map +1 -0
  225. package/dist/schemas/coercePayload.d.ts +16 -0
  226. package/dist/schemas/coercePayload.d.ts.map +1 -0
  227. package/dist/schemas/combo-chart.d.ts +111 -0
  228. package/dist/schemas/combo-chart.d.ts.map +1 -0
  229. package/dist/schemas/comparative-bar-chart.d.ts +83 -0
  230. package/dist/schemas/comparative-bar-chart.d.ts.map +1 -0
  231. package/dist/schemas/compliance-checklist.d.ts +91 -0
  232. package/dist/schemas/compliance-checklist.d.ts.map +1 -0
  233. package/dist/schemas/connect-integration.d.ts +47 -0
  234. package/dist/schemas/connect-integration.d.ts.map +1 -0
  235. package/dist/schemas/data-table.d.ts +63 -0
  236. package/dist/schemas/data-table.d.ts.map +1 -0
  237. package/dist/schemas/decision-card.d.ts +186 -0
  238. package/dist/schemas/decision-card.d.ts.map +1 -0
  239. package/dist/schemas/decision-queue.d.ts +227 -0
  240. package/dist/schemas/decision-queue.d.ts.map +1 -0
  241. package/dist/schemas/depreciation-schedule.d.ts +125 -0
  242. package/dist/schemas/depreciation-schedule.d.ts.map +1 -0
  243. package/dist/schemas/document-field-extraction.d.ts +258 -0
  244. package/dist/schemas/document-field-extraction.d.ts.map +1 -0
  245. package/dist/schemas/document-preview.d.ts +128 -0
  246. package/dist/schemas/document-preview.d.ts.map +1 -0
  247. package/dist/schemas/download-card.d.ts +62 -0
  248. package/dist/schemas/download-card.d.ts.map +1 -0
  249. package/dist/schemas/engagement-pipeline.d.ts +119 -0
  250. package/dist/schemas/engagement-pipeline.d.ts.map +1 -0
  251. package/dist/schemas/entity-card-grid.d.ts +101 -0
  252. package/dist/schemas/entity-card-grid.d.ts.map +1 -0
  253. package/dist/schemas/escalation-card.d.ts +75 -0
  254. package/dist/schemas/escalation-card.d.ts.map +1 -0
  255. package/dist/schemas/file-browser.d.ts +81 -0
  256. package/dist/schemas/file-browser.d.ts.map +1 -0
  257. package/dist/schemas/flow-canvas.d.ts +58 -0
  258. package/dist/schemas/flow-canvas.d.ts.map +1 -0
  259. package/dist/schemas/funnel-chart.d.ts +53 -0
  260. package/dist/schemas/funnel-chart.d.ts.map +1 -0
  261. package/dist/schemas/gauge-chart.d.ts +58 -0
  262. package/dist/schemas/gauge-chart.d.ts.map +1 -0
  263. package/dist/schemas/general-ledger.d.ts +120 -0
  264. package/dist/schemas/general-ledger.d.ts.map +1 -0
  265. package/dist/schemas/grouped-table.d.ts +101 -0
  266. package/dist/schemas/grouped-table.d.ts.map +1 -0
  267. package/dist/schemas/heatmap-table.d.ts +76 -0
  268. package/dist/schemas/heatmap-table.d.ts.map +1 -0
  269. package/dist/schemas/income-statement.d.ts +170 -0
  270. package/dist/schemas/income-statement.d.ts.map +1 -0
  271. package/dist/schemas/index.cjs +29 -5
  272. package/dist/schemas/index.cjs.map +1 -1
  273. package/dist/schemas/index.d.ts +5973 -0
  274. package/dist/schemas/index.d.ts.map +1 -0
  275. package/dist/schemas/index.js +29 -5
  276. package/dist/schemas/index.js.map +1 -1
  277. package/dist/schemas/integrations-list.d.ts +62 -0
  278. package/dist/schemas/integrations-list.d.ts.map +1 -0
  279. package/dist/schemas/invoice-detail.d.ts +157 -0
  280. package/dist/schemas/invoice-detail.d.ts.map +1 -0
  281. package/dist/schemas/job-tracker.d.ts +114 -0
  282. package/dist/schemas/job-tracker.d.ts.map +1 -0
  283. package/dist/schemas/journal-entry.d.ts +90 -0
  284. package/dist/schemas/journal-entry.d.ts.map +1 -0
  285. package/dist/schemas/key-value-list.d.ts +108 -0
  286. package/dist/schemas/key-value-list.d.ts.map +1 -0
  287. package/dist/schemas/legal-test-result.d.ts +130 -0
  288. package/dist/schemas/legal-test-result.d.ts.map +1 -0
  289. package/dist/schemas/line-chart.d.ts +71 -0
  290. package/dist/schemas/line-chart.d.ts.map +1 -0
  291. package/dist/schemas/news-feed.d.ts +63 -0
  292. package/dist/schemas/news-feed.d.ts.map +1 -0
  293. package/dist/schemas/ops-dashboard.d.ts +92 -0
  294. package/dist/schemas/ops-dashboard.d.ts.map +1 -0
  295. package/dist/schemas/pipeline-preview.d.ts +209 -0
  296. package/dist/schemas/pipeline-preview.d.ts.map +1 -0
  297. package/dist/schemas/provenance-chain.d.ts +121 -0
  298. package/dist/schemas/provenance-chain.d.ts.map +1 -0
  299. package/dist/schemas/radar-chart.d.ts +70 -0
  300. package/dist/schemas/radar-chart.d.ts.map +1 -0
  301. package/dist/schemas/reconciliation-view.d.ts +156 -0
  302. package/dist/schemas/reconciliation-view.d.ts.map +1 -0
  303. package/dist/schemas/scatter-chart.d.ts +90 -0
  304. package/dist/schemas/scatter-chart.d.ts.map +1 -0
  305. package/dist/schemas/screener-table.d.ts +74 -0
  306. package/dist/schemas/screener-table.d.ts.map +1 -0
  307. package/dist/schemas/search-results.d.ts +87 -0
  308. package/dist/schemas/search-results.d.ts.map +1 -0
  309. package/dist/schemas/sparkline-table.d.ts +74 -0
  310. package/dist/schemas/sparkline-table.d.ts.map +1 -0
  311. package/dist/schemas/stacked-breakdown.d.ts +70 -0
  312. package/dist/schemas/stacked-breakdown.d.ts.map +1 -0
  313. package/dist/schemas/stat-grid.d.ts +55 -0
  314. package/dist/schemas/stat-grid.d.ts.map +1 -0
  315. package/dist/schemas/status-card.d.ts +84 -0
  316. package/dist/schemas/status-card.d.ts.map +1 -0
  317. package/dist/schemas/tabby-auth.d.ts +58 -0
  318. package/dist/schemas/tabby-auth.d.ts.map +1 -0
  319. package/dist/schemas/tabs-panel.d.ts +42 -0
  320. package/dist/schemas/tabs-panel.d.ts.map +1 -0
  321. package/dist/schemas/transaction-feed.d.ts +82 -0
  322. package/dist/schemas/transaction-feed.d.ts.map +1 -0
  323. package/dist/schemas/treemap-chart.d.ts +53 -0
  324. package/dist/schemas/treemap-chart.d.ts.map +1 -0
  325. package/dist/schemas/trial-balance.d.ts +85 -0
  326. package/dist/schemas/trial-balance.d.ts.map +1 -0
  327. package/dist/schemas/validatePayload.d.ts +10 -0
  328. package/dist/schemas/validatePayload.d.ts.map +1 -0
  329. package/dist/schemas/variance-analysis.d.ts +73 -0
  330. package/dist/schemas/variance-analysis.d.ts.map +1 -0
  331. package/dist/schemas/waterfall-chart.d.ts +53 -0
  332. package/dist/schemas/waterfall-chart.d.ts.map +1 -0
  333. package/dist/schemas/workflow-stepper.d.ts +183 -0
  334. package/dist/schemas/workflow-stepper.d.ts.map +1 -0
  335. package/dist/shared/ColumnSettingsPanel.d.ts +13 -0
  336. package/dist/shared/ColumnSettingsPanel.d.ts.map +1 -0
  337. package/dist/shared/ComponentActions.d.ts +20 -0
  338. package/dist/shared/ComponentActions.d.ts.map +1 -0
  339. package/dist/shared/FileCard.d.ts +35 -0
  340. package/dist/shared/FileCard.d.ts.map +1 -0
  341. package/dist/shared/FitText.d.ts +22 -0
  342. package/dist/shared/FitText.d.ts.map +1 -0
  343. package/dist/shared/InteractionContext.d.ts +40 -0
  344. package/dist/shared/InteractionContext.d.ts.map +1 -0
  345. package/dist/shared/Markdown.d.ts +23 -0
  346. package/dist/shared/Markdown.d.ts.map +1 -0
  347. package/dist/shared/PreviewModal.d.ts +19 -0
  348. package/dist/shared/PreviewModal.d.ts.map +1 -0
  349. package/dist/shared/ThemeContext.d.ts +34 -0
  350. package/dist/shared/ThemeContext.d.ts.map +1 -0
  351. package/dist/shared/brandIcons.d.ts +3 -0
  352. package/dist/shared/brandIcons.d.ts.map +1 -0
  353. package/dist/shared/downloadCSV.d.ts +5 -0
  354. package/dist/shared/downloadCSV.d.ts.map +1 -0
  355. package/dist/shared/fileType.d.ts +19 -0
  356. package/dist/shared/fileType.d.ts.map +1 -0
  357. package/dist/shared/styles.d.ts +14 -0
  358. package/dist/shared/styles.d.ts.map +1 -0
  359. package/dist/shared/theme.d.ts +80 -0
  360. package/dist/shared/theme.d.ts.map +1 -0
  361. package/dist/shared/useColumnVisibility.d.ts +13 -0
  362. package/dist/shared/useColumnVisibility.d.ts.map +1 -0
  363. package/dist/shared/useSeriesToggle.d.ts +8 -0
  364. package/dist/shared/useSeriesToggle.d.ts.map +1 -0
  365. package/dist/shared/viewers/CsvViewer.d.ts +13 -0
  366. package/dist/shared/viewers/CsvViewer.d.ts.map +1 -0
  367. package/dist/shared/viewers/DocxViewer.d.ts +8 -0
  368. package/dist/shared/viewers/DocxViewer.d.ts.map +1 -0
  369. package/dist/shared/viewers/PreviewHost.d.ts +17 -0
  370. package/dist/shared/viewers/PreviewHost.d.ts.map +1 -0
  371. package/dist/shared/viewers/TextViewer.d.ts +13 -0
  372. package/dist/shared/viewers/TextViewer.d.ts.map +1 -0
  373. package/dist/shared/viewers/decode.d.ts +14 -0
  374. package/dist/shared/viewers/decode.d.ts.map +1 -0
  375. package/dist/tool-definitions.json +5456 -0
  376. package/dist/types.d.ts +8 -0
  377. package/dist/types.d.ts.map +1 -0
  378. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/data-table.ts","../../src/schemas/status-card.ts","../../src/schemas/alert.ts","../../src/schemas/stat-grid.ts","../../src/schemas/tabs-panel.ts","../../src/schemas/sparkline-table.ts","../../src/schemas/heatmap-table.ts","../../src/schemas/screener-table.ts","../../src/schemas/grouped-table.ts","../../src/schemas/news-feed.ts","../../src/schemas/area-chart.ts","../../src/schemas/allocation-donut.ts","../../src/schemas/waterfall-chart.ts","../../src/schemas/flow-canvas.ts","../../src/schemas/trial-balance.ts","../../src/schemas/journal-entry.ts","../../src/schemas/aging-report.ts","../../src/schemas/variance-analysis.ts","../../src/schemas/stacked-breakdown.ts","../../src/schemas/comparative-bar-chart.ts","../../src/schemas/compliance-checklist.ts","../../src/schemas/reconciliation-view.ts","../../src/schemas/audit-trail.ts","../../src/schemas/document-preview.ts","../../src/schemas/provenance-chain.ts","../../src/schemas/search-results.ts","../../src/schemas/legal-test-result.ts","../../src/schemas/engagement-pipeline.ts","../../src/schemas/entity-card-grid.ts","../../src/schemas/job-tracker.ts","../../src/schemas/cited-answer.ts","../../src/schemas/transaction-feed.ts","../../src/schemas/file-browser.ts","../../src/schemas/download-card.ts","../../src/schemas/ops-dashboard.ts","../../src/schemas/key-value-list.ts","../../src/schemas/balance-sheet.ts","../../src/schemas/income-statement.ts","../../src/schemas/cash-flow-statement.ts","../../src/schemas/general-ledger.ts","../../src/schemas/chart-of-accounts.ts","../../src/schemas/invoice-detail.ts","../../src/schemas/amortization-table.ts","../../src/schemas/depreciation-schedule.ts","../../src/schemas/escalation-card.ts","../../src/schemas/line-chart.ts","../../src/schemas/combo-chart.ts","../../src/schemas/gauge-chart.ts","../../src/schemas/treemap-chart.ts","../../src/schemas/radar-chart.ts","../../src/schemas/funnel-chart.ts","../../src/schemas/bullet-chart.ts","../../src/schemas/scatter-chart.ts","../../src/schemas/connect-integration.ts","../../src/schemas/integrations-list.ts","../../src/schemas/pipeline-preview.ts","../../src/schemas/workflow-stepper.ts","../../src/schemas/document-field-extraction.ts","../../src/schemas/decision-card.ts","../../src/schemas/decision-queue.ts","../../src/schemas/tabby-auth.ts","../../src/schemas/buildRenderUITool.ts","../../src/schemas/coercePayload.ts","../../src/schemas/validatePayload.ts","../../src/schemas/index.ts"],"names":["z"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEO,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO;AAAA,EACtC,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,SAAS,CAAA,CACN,KAAA;AAAA,IACC,EAAE,MAAA,CAAO;AAAA,MACP,GAAA,EAAK,EAAE,MAAA,EAAO;AAAA,MACd,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAO,CAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,UAAU,KAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO;AAAA,KAC1D;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,MAAM,CAAA,CACH,KAAA;AAAA,IACC,CAAA,CAAE,OAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,IAAW,CAAA,CAAE,IAAA,EAAM,CAAC,CAAC;AAAA,GAC/E,CACC,IAAI,GAAG,CAAA;AAAA,EACV,UAAA,EAAY,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AACvC,CAAC,CAAA;AAEM,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAA,EAAM,mBAAA;AAAA,EACN,WAAA,EAAa,8DAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,YAAY,CAAA,EAAE;AAAA,MAC7C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACtB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,OAAA,EAAS,QAAA,EAAU,KAAK,CAAA;AAAE,WAC5D;AAAA,UACA,QAAA,EAAU,CAAC,KAAA,EAAO,OAAO;AAAA;AAC3B,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,sBAAsB,IAAA;AAAK,OACtD;AAAA,MACA,UAAA,EAAY,EAAE,IAAA,EAAM,SAAA;AAAU,KAChC;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,MAAM;AAAA;AAExC,CAAA;ACjDA,IAAM,UAAA,GAAqC;AAAA,EACzC,QAAA,EAAU,UAAA;AAAA,EAAY,OAAA,EAAS,UAAA;AAAA,EAAY,MAAA,EAAQ,OAAA;AAAA,EACnD,KAAA,EAAO,OAAA;AAAA,EAAS,QAAA,EAAU,UAAA;AAAA,EAAY,KAAA,EAAO,OAAA;AAAA,EAAS,IAAA,EAAM,MAAA;AAAA,EAAQ,KAAA,EAAO;AAC7E,CAAA;AAEA,IAAM,QAAA,GAAmC;AAAA,EACvC,OAAA,EAAS,SAAA;AAAA,EAAW,OAAA,EAAS,SAAA;AAAA,EAAW,SAAA,EAAW,WAAA;AAAA,EACnD,OAAA,EAAS,SAAA;AAAA,EAAW,OAAA,EAAS,SAAA;AAAA,EAAW,MAAA,EAAQ,QAAA;AAAA,EAChD,KAAA,EAAO,QAAA;AAAA,EAAU,IAAA,EAAM,SAAA;AAAA,EAAW,OAAA,EAAS;AAC7C,CAAA;AAKO,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EAC7B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQA,CAAAA,CACL,IAAA,CAAK,CAAC,SAAA,EAAW,SAAA,EAAW,SAAA,EAAW,QAAA,EAAU,SAAS,CAAC,CAAA,CAC3D,OAAA,CAAQ,SAAS,CAAA;AAAA,EACpB,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,SAAA,EAAWA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AAAA,KACrC;AAAA,GACH,CACC,IAAI,EAAE,CAAA;AAAA,EACT,SAASA,CAAAA,CACN,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,SAASA,CAAAA,CACN,MAAA,EAAO,CACP,SAAA,CAAU,CAAC,CAAA,KAAG;AAtCzB,QAAA,IAAA,EAAA;AAsC6B,QAAA,OAAA,CAAA,EAAA,GAAA,UAAA,CAAW,CAAC,MAAZ,IAAA,GAAA,EAAA,GAAiB,UAAA;AAAA,MAAA,CAA2C,CAAA,CAC9E,QAAQ,UAAU,CAAA;AAAA,MACrB,OAAOA,CAAAA,CACJ,MAAA,EAAO,CACP,SAAA,CAAU,CAAC,CAAA,KAAG;AA1CzB,QAAA,IAAA,EAAA;AA0C6B,QAAA,OAAA,CAAA,EAAA,GAAA,QAAA,CAAS,CAAC,MAAV,IAAA,GAAA,EAAA,GAAe,SAAA;AAAA,MAAA,CAAwC,CAAA,CACzE,QAAQ,SAAS;AAAA,KACrB;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EAAa,uEAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,aAAa,CAAA,EAAE;AAAA,MAC9C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,MAAM,CAAC,SAAA,EAAW,SAAA,EAAW,SAAA,EAAW,UAAU,SAAS;AAAA,OAC7D;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA;AAAU,WAC/B;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAAA;AAC7B,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,WAC1B;AAAA,UACA,QAAA,EAAU,CAAC,OAAO;AAAA;AACpB;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,QAAQ;AAAA;AAExC,CAAA;ACxFO,IAAM,WAAA,GAAcA,EAAE,MAAA,CAAO;AAAA,EAClC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,EACvB,KAAA,EAAOA,EAAE,IAAA,CAAK;AAAA,IACZ,SAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC1B,CAAC,CAAA;AAEM,IAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAM,cAAA;AAAA,EACN,WAAA,EAAa,0EAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,OAAO,CAAA,EAAE;AAAA,MACxC,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,QAAA;AAAA,QACN,MAAM,CAAC,SAAA,EAAW,WAAW,WAAA,EAAa,SAAA,EAAW,WAAW,QAAQ;AAAA,OAC1E;AAAA,MACA,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA;AAAS,KAChC;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,OAAO;AAAA;AAEvC,CAAA;AC9BO,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,WAAW,CAAA;AAAA,EAC3B,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC5B,UAAA,EAAYA,EAAE,IAAA,CAAK,CAAC,YAAY,UAAA,EAAY,SAAS,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,MACjE,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAClC;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC;AACV,CAAC,CAAA;AAEM,IAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM,kBAAA;AAAA,EACN,WAAA,EAAa,+CAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,WAAW,CAAA,EAAE;AAAA,MAC5C,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,UAAA,EAAY;AAAA,cACV,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,UAAA,EAAY,UAAA,EAAY,SAAS;AAAA,aAC1C;AAAA,YACA,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA;AAAS,WAChC;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAAA;AAC7B;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;AC3CO,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,MAAMA,CAAAA,CACH,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,MACd,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,OAAA,EAASA,EAAE,MAAA;AAAO,KACnB;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC;AACV,CAAC,CAAA;AAEM,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAA,EAAM,mBAAA;AAAA,EACN,WAAA,EAAa,+DAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,YAAY,CAAA,EAAE;AAAA,MAC7C,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACtB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA;AAAS,WAC5B;AAAA,UACA,QAAA,EAAU,CAAC,KAAA,EAAO,OAAA,EAAS,SAAS;AAAA;AACtC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM;AAAA;AAE7B,CAAA;ACpCO,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,iBAAiB,CAAA;AAAA,EACjC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,OAAO,CAAA;AAAA,EAC1C,OAAA,EAASA,CAAAA,CACN,KAAA,CAAMA,CAAAA,CAAE,OAAO,EAAE,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,EAAG,KAAA,EAAOA,CAAAA,CAAE,MAAA,IAAU,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAA,EAAU,KAAK,CAAC,EAAE,OAAA,CAAQ,OAAO,CAAA,EAAG,CAAC,CAAA,CAClH,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,MAAMA,CAAAA,CACH,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,SAAA,EAAWA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE;AAAA,KAC7C,CAAA,CAAE,QAAA,CAASA,EAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,EAAE,MAAA,EAAO,EAAGA,EAAE,OAAA,EAAQ,EAAGA,EAAE,IAAA,EAAM,CAAC,CAAC;AAAA,GACtE,CACC,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,kBAAA,GAAqB;AAAA,EAChC,IAAA,EAAM,wBAAA;AAAA,EACN,WAAA,EAAa,kHAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,iBAAiB,CAAA,EAAE;AAAA,MAClD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,cAAA,EAAgB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACjC,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY,EAAE,GAAA,EAAK,EAAE,MAAM,QAAA,EAAS,EAAG,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,IAAY,KAAA,EAAO,EAAE,MAAM,QAAA,EAAU,IAAA,EAAM,CAAC,OAAA,EAAS,QAAA,EAAU,KAAK,CAAA,EAAE,EAAE;AAAA,UAC9H,QAAA,EAAU,CAAC,KAAA,EAAO,OAAO;AAAA;AAC3B,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY,EAAE,SAAA,EAAW,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAE,EAAE;AAAA,UACtE,QAAA,EAAU,CAAC,WAAW,CAAA;AAAA,UACtB,oBAAA,EAAsB;AAAA;AACxB;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,MAAM;AAAA;AAExC,CAAA;AC9CA,IAAM,iBAAA,GAAoBA,CAAAA,CAAE,MAAA,CAAO,EAAE,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,EAAG,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,EAAG,CAAA;AAErE,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,OAAA,EAASA,EACN,KAAA,CAAMA,CAAAA,CAAE,OAAO,EAAE,GAAA,EAAKA,EAAE,MAAA,EAAO,EAAG,OAAOA,CAAAA,CAAE,MAAA,IAAU,CAAC,EACtD,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,EAAE,CAAA;AAAA,EACT,MAAMA,CAAAA,CACH,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,MACnB,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,iBAAiB;AAAA,KACjC;AAAA,GACH,CACC,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EAAa,qHAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,YAAY,EAAE,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,IAAY,KAAA,EAAO,EAAE,MAAM,QAAA,EAAS,IAAK,QAAA,EAAU,CAAC,KAAA,EAAO,OAAO,CAAA;AAAE,OAC1H;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY,EAAE,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAG,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS,EAAE;AAAA,gBACpE,QAAA,EAAU,CAAC,OAAA,EAAS,QAAQ;AAAA;AAC9B;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,UAAA,EAAY,OAAO;AAAA;AAChC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,MAAM;AAAA;AAExC,CAAA;ACpDO,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,gBAAgB,CAAA;AAAA,EAChC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,SAASA,CAAAA,CACN,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,MACd,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,UAAU,KAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,MACzD,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,MACnC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC/B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,IAAA,EAAMA,CAAAA,CACH,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,OAAA,EAAQ,EAAGA,CAAAA,CAAE,IAAA,EAAM,CAAC,CAAC,CAAC,CAAA,CACpF,GAAA,CAAI,GAAG,CAAA;AAAA,EACV,aAAA,EAAeA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AAC/C,CAAC,CAAA;AAEM,IAAM,iBAAA,GAAoB;AAAA,EAC/B,IAAA,EAAM,uBAAA;AAAA,EACN,WAAA,EAAa,mHAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,gBAAgB,CAAA,EAAE;AAAA,MACjD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACtB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,OAAA,EAAS,QAAA,EAAU,KAAK,CAAA,EAAE;AAAA,YAC1D,QAAA,EAAU,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,YAC5B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA;AAAS,WAC7B;AAAA,UACA,QAAA,EAAU,CAAC,KAAA,EAAO,OAAO;AAAA;AAC3B,OACF;AAAA,MACA,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,oBAAA,EAAsB,IAAA,EAAK,EAAE;AAAA,MAC7E,aAAA,EAAe,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS;AAAE,KAC5D;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,MAAM;AAAA;AAExC,CAAA;AChDA,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,OAAA,IAAWA,CAAAA,CAAE,IAAA,EAAM,CAAC,CAAC,CAAA;AAEtG,IAAM,WAAA,GAIDA,EAAE,MAAA,CAAO;AAAA,EACZ,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,MAAMA,CAAAA,CAAE,KAAA,CAAM,gBAAgB,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EACtC,SAAA,EAAWA,EAAE,KAAA,CAAMA,CAAAA,CAAE,OAAO,EAAE,UAAA,EAAYA,EAAE,MAAA,EAAO,EAAG,MAAMA,CAAAA,CAAE,KAAA,CAAM,gBAAgB,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,EAAG,CAAC,CAAA,CAAE,QAAA;AACpG,CAAC,CAAA;AAEM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,OAAA,EAASA,CAAAA,CACN,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACd,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,IACd,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,OAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAA,CAAU,CAAC,CAAA,KAAM;AArBzC,MAAA,IAAA,EAAA;AAsBQ,MAAA,MAAM,GAAA,GAA8B,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,QAAA,EAAU,GAAA,EAAK,KAAA,EAAM;AAChH,MAAA,OAAA,CAAQ,EAAA,GAAA,GAAA,CAAI,CAAC,CAAA,KAAL,IAAA,GAAA,EAAA,GAAU,OAAA;AAAA,IACpB,CAAC,CAAA,CAAE,OAAA,CAAQ,OAAO;AAAA,GACnB,CAAC,CAAA,CACD,IAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,MAAA,EAAQA,EAAE,KAAA,CAAM,WAAW,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE;AAC5C,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EAAa,4GAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,UAAA,EAAY,EAAE,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS,EAAG,KAAA,EAAO,EAAE,MAAM,QAAA,EAAS,EAAG,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAE,EAAG,QAAA,EAAU,CAAC,KAAA,EAAO,OAAO,CAAA;AAAE,OACrJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC7B,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,oBAAA,EAAsB,IAAA,EAAK,EAAE;AAAA,YAC7E,SAAA,EAAW;AAAA,cACT,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC7B,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,oBAAA,EAAsB,IAAA,EAAK;AAAE,iBAC/E;AAAA,gBACA,QAAA,EAAU,CAAC,YAAA,EAAc,MAAM;AAAA;AACjC;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,YAAA,EAAc,MAAM;AAAA;AACjC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,QAAQ;AAAA;AAE1C,CAAA;AClEO,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EACrC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,WAAW,CAAA;AAAA,EAC3B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,MACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,MACpB,WAAWA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,SAAA,EAAW,UAAU,CAAC,CAAA;AAAA,MACrD,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC7B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC1B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM,kBAAA;AAAA,EACN,WAAA,EAAa,8FAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,WAAW,CAAA,EAAE;AAAA,MAC5C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,UAAA,EAAY,SAAA,EAAW,UAAU,CAAA,EAAE;AAAA,YACvE,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA;AAAS,WACxB;AAAA,UACA,QAAA,EAAU,CAAC,UAAA,EAAY,QAAA,EAAU,aAAa,WAAW;AAAA;AAC3D;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;AC5CO,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,CAAAA,CACL,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,EAAG,OAAA,EAASA,CAAAA,CAAE,QAAO,EAAG,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,EAAG,CAAC,CAAA,CAC5E,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,CAAC,CAAA;AAAA,EACR,IAAA,EAAMA,CAAAA,CACH,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAOA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAC7D,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,GAAG;AACZ,CAAC,CAAA;AAEM,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAA,EAAM,mBAAA;AAAA,EACN,WAAA,EAAa,2GAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,YAAY,CAAA,EAAE;AAAA,MAC7C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iEAAA,EAAkE;AAAA,MACvG,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,YAAY,EAAE,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,IAAY,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,IAAY,KAAA,EAAO,EAAE,MAAM,QAAA,EAAU,WAAA,EAAa,2BAA0B,EAAE;AAAA,UACvI,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,OAAO;AAAA;AACvC,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,sBAAsB,IAAA,EAAK;AAAA,QACpD,WAAA,EAAa;AAAA;AACf,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,UAAU,MAAM;AAAA;AAE/C,CAAA;ACvCO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAClC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC3B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAChC;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EAAa,uGAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,kBAAkB,CAAA,EAAE;AAAA,MACnD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,kBAAA,EAAmB;AAAA,YACzD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,oBAAA,EAAqB;AAAA,YAC3D,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,4CAAA;AAA6C,WACzF;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAAA;AAC7B;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAE/B,CAAA;ACxCO,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,iBAAiB,CAAA;AAAA,EACjC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAMA,CAAAA,CACH,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,OAAA,EAASA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AAAA,KACnC;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,GAAG;AAC9B,CAAC,CAAA;AAEM,IAAM,kBAAA,GAAqB;AAAA,EAChC,IAAA,EAAM,wBAAA;AAAA,EACN,WAAA,EAAa,6HAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,iBAAiB,CAAA,EAAE;AAAA,MAClD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,mCAAA,EAAoC;AAAA,YAC1E,OAAA,EAAS,EAAE,IAAA,EAAM,SAAA,EAAW,aAAa,4BAAA;AAA6B,WACxE;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAAA;AAC7B,OACF;AAAA,MACA,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,+BAAA;AAAgC,KACvE;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM;AAAA;AAE7B,CAAA;ACxCO,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA,EAI7B,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA;AAAA,EAGzB,aAAaA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,UAAU,MAAA,EAAQ,OAAO,CAAC,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAE3F,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACxB,CAAC,CAAA;AAEM,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EAAa,CAAA,sPAAA,CAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,aAAa,CAAA,EAAE;AAAA,MAC9C,EAAA,EAAI;AAAA,QACF,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EACE;AAAA,OACJ;AAAA,MACA,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uCAAA,EAAwC;AAAA,MAC9E,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,gDAAA,EAAiD;AAAA,MAC7F,WAAA,EAAa;AAAA,QACX,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EACE,uOAAA;AAAA,QACF,oBAAA,EAAsB,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,SAAA,EAAW,QAAA,EAAU,MAAA,EAAQ,OAAO,CAAA;AAAE,OACvF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,SAAA;AAAA,QACN,WAAA,EACE;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa,CAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4CAAA;AAAA;AAwCf,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS;AAAA;AAEhC,CAAA;ACvFO,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,eAAe,QAAA,EAAU,SAAA,EAAW,UAAA,EAAY,OAAO,CAAC,CAAA;AAAA,MACpF,UAAUA,CAAAA,CACP,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,UACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,UACf,KAAA,EAAOA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,UAClC,MAAA,EAAQA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,QAAQ,CAAC;AAAA,SACpC;AAAA,OACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AAAA,KACV;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC;AACV,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EACE,gHAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,4BAAA,EAA6B;AAAA,MACtE,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6BAAA,EAA8B;AAAA,MACvE,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,QAAA,EAAU;AAAA,cACR,IAAA,EAAM,QAAA;AAAA,cACN,MAAM,CAAC,QAAA,EAAU,eAAe,QAAA,EAAU,SAAA,EAAW,YAAY,OAAO;AAAA,aAC1E;AAAA,YACA,QAAA,EAAU;AAAA,cACR,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACvB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,kBACpC,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA;AAAE,iBACvC;AAAA,gBACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM;AAAA;AAC3B;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,UAAA,EAAY,UAAU;AAAA;AACnC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAE/B,CAAA;AClEO,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,SAASA,CAAAA,CACN,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,MAClB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC1B,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAA,EAAU,UAAA,EAAY,kBAAkB,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,MACpF,OAAOA,CAAAA,CACJ,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,UAClB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UACjC,KAAA,EAAOA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,UAClC,MAAA,EAAQA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,QAAQ,CAAC;AAAA,SACpC;AAAA,OACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AAAA,KACV;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK;AACpC,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EACE,iGAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,UAAA,EAAW;AAAA,YAChD,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,OAAA,EAAS,QAAA,EAAU,UAAA,EAAY,kBAAkB,CAAA,EAAE;AAAA,YACpF,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC1B,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC9B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,kBACpC,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA;AAAE,iBACvC;AAAA,gBACA,QAAA,EAAU,CAAC,SAAS;AAAA;AACtB;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,SAAA,EAAW,MAAA,EAAQ,OAAO;AAAA;AACvC,OACF;AAAA,MACA,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA;AAAS,KAC7B;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS;AAAA;AAEhC,CAAA;ACnEO,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAC9B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,UAAA,EAAYA,EAAE,IAAA,CAAK,CAAC,cAAc,SAAS,CAAC,CAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAClE,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EACzC,UAAUA,CAAAA,CACP,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,MACzC,KAAA,EAAOA,EAAE,MAAA;AAAO,KACjB;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,eAAA,GAAkB;AAAA,EAC7B,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EACE,qGAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,cAAc,CAAA,EAAE;AAAA,MAC/C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,YAAA,EAAc,SAAS,CAAA,EAAE;AAAA,MAC9D,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,QACxB,WAAA,EAAa;AAAA,OACf;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAG,WAAA,EAAa,uBAAA,EAAwB;AAAA,YAC1F,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,WAC1B;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,OAAO;AAAA;AACvC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,UAAU;AAAA;AAE5C,CAAA;ACnDO,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EACnC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,MAAMA,CAAAA,CACH,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,MACnB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,MACrC,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC;AAAA,KAC3C;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,kBAAA,EAAoBA,EAAE,IAAA,CAAK,CAAC,UAAU,OAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ;AAClE,CAAC,CAAA;AAEM,IAAM,oBAAA,GAAuB;AAAA,EAClC,IAAA,EAAM,0BAAA;AAAA,EACN,WAAA,EACE,mGAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,mBAAmB,CAAA,EAAE;AAAA,MACpD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACzB,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,UAAA,EAAY,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,YAC9B,QAAQ,EAAE,IAAA,EAAM,UAAU,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA;AAAE,WACnD;AAAA,UACA,QAAA,EAAU,CAAC,UAAA,EAAY,QAAA,EAAU,QAAQ;AAAA;AAC3C,OACF;AAAA,MACA,kBAAA,EAAoB;AAAA,QAClB,IAAA,EAAM,QAAA;AAAA,QACN,IAAA,EAAM,CAAC,QAAA,EAAU,OAAO,CAAA;AAAA,QACxB,WAAA,EAAa;AAAA;AACf,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM;AAAA;AAE7B,CAAA;ACrDO,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EACnC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EAC1C,YAAYA,CAAAA,CACT,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC3B,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE;AAAA,KAC1C;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC,CAAA;AAAA,EACR,QAAQA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA;AAC9B,CAAC,CAAA;AAEM,IAAM,oBAAA,GAAuB;AAAA,EAClC,IAAA,EAAM,0BAAA;AAAA,EACN,WAAA,EACE,uJAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,mBAAmB,CAAA,EAAE;AAAA,MACpD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,QACxB,WAAA,EAAa;AAAA,OACf;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAG,WAAA,EAAa,sBAAA;AAAuB,WAC1F;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAC7B,OACF;AAAA,MACA,MAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAG,WAAA,EAAa,yCAAA;AAA0C,KAC7G;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,YAAY;AAAA;AAE9C,CAAA;ACjDO,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,uBAAuB,CAAA;AAAA,EACvC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,IAAA,EAAMA,EAAE,IAAA,CAAK,CAAC,WAAW,SAAS,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA;AAAA,EACtD,WAAA,EAAaA,EAAE,IAAA,CAAK,CAAC,YAAY,YAAY,CAAC,CAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,EAClE,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,MAClB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC5B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC,CAAA;AAAA,EACR,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAOA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EACpF,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC3B,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AACvC,CAAC,CAAA;AAEM,IAAM,uBAAA,GAA0B;AAAA,EACrC,IAAA,EAAM,8BAAA;AAAA,EACN,WAAA,EACE,0GAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,uBAAuB,CAAA,EAAE;AAAA,MACxD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,SAAA,EAAW,SAAS,CAAA,EAAE;AAAA,MACrD,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,UAAA,EAAY,YAAY,CAAA,EAAE;AAAA,MAChE,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uCAAA,EAAwC;AAAA,MAC7E,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,WAC1B;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS;AAAA;AAC9B,OACF;AAAA,MACA,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,oBAAA,EAAsB,IAAA,EAAK,EAAE;AAAA,MAC7E,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACvB,UAAA,EAAY,EAAE,IAAA,EAAM,SAAA;AAAU,KAChC;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,UAAU,MAAM;AAAA;AAE/C,CAAA;ACnDO,IAAM,yBAAA,GAA4BA,EAAE,MAAA,CAAO;AAAA,EAChD,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,sBAAsB,CAAA;AAAA,EACtC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,UAAUA,CAAAA,CACP,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,MACvB,OAAOA,CAAAA,CACJ,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,UACb,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,UACtB,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,eAAe,aAAA,EAAe,SAAA,EAAW,SAAA,EAAW,IAAI,CAAC,CAAA;AAAA,UACtF,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UAC7B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UAC9B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UAC3B,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,MAAA,EAAQ,QAAA,EAAU,KAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ;AAAA,SACzE;AAAA,OACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AAAA,KACV;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,uBAAA,GAA0B;AAAA,EACrC,IAAA,EAAM,6BAAA;AAAA,EACN,WAAA,EACE,kGAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,sBAAsB,CAAA,EAAE;AAAA,MACvD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC/B,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACrB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC9B,MAAA,EAAQ;AAAA,oBACN,IAAA,EAAM,QAAA;AAAA,oBACN,MAAM,CAAC,WAAA,EAAa,eAAe,aAAA,EAAe,SAAA,EAAW,WAAW,IAAI;AAAA,mBAC9E;AAAA,kBACA,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC1B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC3B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,UAAA,EAAY,MAAA,EAAQ,QAAA,EAAU,KAAK,CAAA;AAAE,iBAC1E;AAAA,gBACA,QAAA,EAAU,CAAC,IAAA,EAAM,aAAA,EAAe,QAAQ;AAAA;AAC1C;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,cAAA,EAAgB,OAAO;AAAA;AACpC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,UAAU;AAAA;AAEjC,CAAA;ACpEO,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,qBAAqB,CAAA;AAAA,EACrC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,OAAA,EAASA,EAAE,MAAA,CAAO,EAAE,OAAOA,CAAAA,CAAE,MAAA,IAAU,CAAA;AAAA,EACvC,OAAA,EAASA,EAAE,MAAA,CAAO,EAAE,OAAOA,CAAAA,CAAE,MAAA,IAAU,CAAA;AAAA,EACvC,SAASA,CAAAA,CACN,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,MACtB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,MAClB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,MAClB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAChC;AAAA,IAEF,GAAA,CAAI,EAAE,CAAA,CACN,OAAA,CAAQ,EAAE,CAAA;AAAA,EACb,YAAYA,CAAAA,CACT,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,MACtB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAChC;AAAA,IAEF,GAAA,CAAI,EAAE,CAAA,CACN,OAAA,CAAQ,EAAE,CAAA;AAAA,EACb,YAAYA,CAAAA,CACT,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,MACtB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAChC;AAAA,IAEF,GAAA,CAAI,EAAE,CAAA,CACN,OAAA,CAAQ,EAAE,CAAA;AAAA,EACb,OAAA,EAASA,EACN,MAAA,CAAO;AAAA,IACN,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,IACnB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,IACnB,UAAA,EAAYA,EAAE,MAAA;AAAO,GACtB,EACA,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,sBAAA,GAAyB;AAAA,EACpC,IAAA,EAAM,4BAAA;AAAA,EACN,WAAA,EACE,8FAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,qBAAqB,CAAA,EAAE;AAAA,MACtD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,YAAY,EAAE,KAAA,EAAO,EAAE,IAAA,EAAM,UAAS,EAAE;AAAA,QACxC,QAAA,EAAU,CAAC,OAAO;AAAA,OACpB;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,YAAY,EAAE,KAAA,EAAO,EAAE,IAAA,EAAM,UAAS,EAAE;AAAA,QACxC,QAAA,EAAU,CAAC,OAAO;AAAA,OACpB;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA;AAAS,WAC9B;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,aAAA,EAAe,WAAW,SAAS;AAAA;AACxD,OACF;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA;AAAS,WAC9B;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,aAAA,EAAe,QAAQ;AAAA;AAC5C,OACF;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA;AAAS,WAC9B;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,aAAA,EAAe,QAAQ;AAAA;AAC5C,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC3B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC3B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA;AAAS,SAC/B;AAAA,QACA,QAAA,EAAU,CAAC,UAAA,EAAY,UAAA,EAAY,YAAY;AAAA;AACjD,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,SAAS;AAAA;AAE3C,CAAA;ACzHO,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,MACpB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,MAAA,EAAQA,EAAE,IAAA,CAAK;AAAA,QACb,SAAA;AAAA,QACA,UAAA;AAAA,QACA,UAAA;AAAA,QACA,UAAA;AAAA,QACA,SAAA;AAAA,QACA,UAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACD,CAAA;AAAA,MACD,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,MAClB,SAASA,CAAAA,CACN,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,UAChB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UAC9B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,SAC/B;AAAA,OACH,CACC,GAAA,CAAI,EAAE,CAAA,CACN,QAAA;AAAS,KACb;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EACE,6FAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,aAAa,CAAA,EAAE;AAAA,MAC9C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC7B,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,cAAA,EAAe;AAAA,YACzD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,SAAA,EAAW,UAAA,EAAY,YAAY,UAAA,EAAY,SAAA,EAAW,UAAA,EAAY,WAAA,EAAa,WAAW;AAAA,aACvG;AAAA,YACA,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,OAAA,EAAS;AAAA,cACP,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC3B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA;AAAS,iBAC7B;AAAA,gBACA,QAAA,EAAU,CAAC,OAAO;AAAA;AACpB;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,WAAA,EAAa,OAAA,EAAS,UAAU,SAAS;AAAA;AACtD;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAE/B,CAAA;AC7EO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAClC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,cAAcA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,OAAO,CAAC,CAAA;AAAA,EACrC,MAAA,EAAQA,EAAE,MAAA,CAAO;AAAA,IACf,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACzB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC5B,QAAA,EAAUA,EAAE,MAAA;AAAO,GACpB,CAAA;AAAA,EACD,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC7B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC/B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,GAAG,CAAA;AAAA,EACV,QAAA,EAAUA,EACP,MAAA,CAAO;AAAA,IACN,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC/B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GACnC,EACA,QAAA,EAAS;AAAA,EACZ,YAAYA,CAAAA,CACT,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,MACpB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,KAAA,EAAO,OAAA,EAAS,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,MAClE,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC3B;AAAA,GACH,CACC,GAAA,CAAI,EAAE,CAAA,CACN,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EACE,iWAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,kBAAkB,CAAA,EAAE;AAAA,MACnD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,KAAA,EAAO,OAAO,CAAA,EAAE;AAAA,MACvD,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACtB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACzB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA;AAAS,SAC7B;AAAA,QACA,QAAA,EAAU,CAAC,UAAU;AAAA,OACvB;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,gCAAA,EAAiC;AAAA,YACzE,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6BAAA;AAA8B,WACzE;AAAA,UACA,QAAA,EAAU,CAAC,OAAO;AAAA;AACpB,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC5B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC3B,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA;AAAS;AACjC,OACF;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,QAAA,EAAU,KAAA,EAAO,OAAA,EAAS,MAAM,CAAA,EAAE;AAAA,YAClE,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS,WACzB;AAAA,UACA,QAAA,EAAU,CAAC,WAAA,EAAa,MAAM;AAAA;AAChC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,cAAA,EAAgB,UAAU,OAAO;AAAA;AAExD,CAAA;AC9FO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAClC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAA,EAAQA,EAAE,MAAA,CAAO;AAAA,IACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,KAAA,EAAOA,EAAE,MAAA;AAAO,GACjB,CAAA;AAAA,EACD,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,UAAU,YAAA,EAAc,WAAA,EAAa,WAAA,EAAa,aAAa,CAAC,CAAA;AAAA,MAClF,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC5B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC9B,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,MAC9C,QAAA,EAAUA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA;AAAS,KACrD;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,UAAA,EAAYA,EAAE,MAAA,CAAO;AAAA,IACnB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,UAAA,EAAYA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,IACnC,QAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,qBAAA,EAAuB,eAAe,CAAC;AAAA,GACrE;AACH,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EACE,iNAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,kBAAkB,CAAA,EAAE;AAAA,MACnD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,SAC1B;AAAA,QACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,OAAO;AAAA,OACpC;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,QAAA,EAAU;AAAA,cACR,IAAA,EAAM,QAAA;AAAA,cACN,MAAM,CAAC,QAAA,EAAU,YAAA,EAAc,WAAA,EAAa,aAAa,aAAa;AAAA,aACxE;AAAA,YACA,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,YAAY,EAAE,IAAA,EAAM,UAAU,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA,EAAE;AAAA,YACrD,QAAA,EAAU;AAAA,cACR,IAAA,EAAM,QAAA;AAAA,cACN,oBAAA,EAAsB,EAAE,IAAA,EAAM,QAAA;AAAS;AACzC,WACF;AAAA,UACA,QAAA,EAAU,CAAC,UAAA,EAAY,OAAA,EAAS,QAAQ;AAAA;AAC1C,OACF;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACxB,YAAY,EAAE,IAAA,EAAM,UAAU,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA,EAAE;AAAA,UACrD,MAAA,EAAQ;AAAA,YACN,IAAA,EAAM,QAAA;AAAA,YACN,IAAA,EAAM,CAAC,WAAA,EAAa,qBAAA,EAAuB,eAAe;AAAA;AAC5D,SACF;AAAA,QACA,QAAA,EAAU,CAAC,OAAA,EAAS,YAAA,EAAc,QAAQ;AAAA;AAC5C,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAA,EAAU,SAAS,YAAY;AAAA;AAEtD,CAAA;ACpFO,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,gBAAgB,CAAA;AAAA,EAChC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACxB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,UAAA,EAAYA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,eAAA,EAAiB,UAAA,EAAY,WAAA,EAAa,YAAA,EAAc,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IAC5G,SAAA,EAAWA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,IAClC,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,IAClB,YAAYA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,IACzC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC1B,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE;AACnB,CAAC,CAAA;AAEM,IAAM,iBAAA,GAAoB;AAAA,EAC/B,IAAA,EAAM,uBAAA;AAAA,EACN,WAAA,EACE,iKAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,gBAAgB,CAAA,EAAE;AAAA,MACjD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC/B,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,UAAA,EAAY;AAAA,cACV,IAAA,EAAM,QAAA;AAAA,cACN,MAAM,CAAC,WAAA,EAAa,iBAAiB,UAAA,EAAY,WAAA,EAAa,cAAc,OAAO;AAAA,aACrF;AAAA,YACA,WAAW,EAAE,IAAA,EAAM,UAAU,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA,EAAE;AAAA,YACpD,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,UAAA,EAAY,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS,EAAE;AAAA,YACvD,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA;AAAS,WACxB;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,QAAA,EAAU,aAAa,SAAS;AAAA;AACtD;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,gBAAgB,SAAS;AAAA;AAEzD,CAAA;ACnDO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EACnC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,aAAA,EAAeA,EAAE,IAAA,CAAK,CAAC,QAAQ,MAAA,EAAQ,cAAA,EAAgB,SAAS,CAAC,CAAA;AAAA,EACjE,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,MACpB,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,QAAQ,MAAA,EAAQ,cAAA,EAAgB,IAAI,CAAC,CAAA;AAAA,MACrD,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,MACpB,iBAAiBA,CAAAA,CACd,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,UAChB,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,QAAQ,MAAA,EAAQ,cAAA,EAAgB,IAAI,CAAC,CAAA;AAAA,UACrD,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UAC5B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UAC/B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,SAC/B;AAAA,OACH,CACC,GAAA,CAAI,EAAE,CAAA,CACN,QAAA,EAAS;AAAA,MACZ,UAAUA,CAAAA,CACP,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,UACnB,SAAA,EAAWA,EAAE,OAAA,EAAQ;AAAA,UACrB,WAAA,EAAaA,EAAE,MAAA;AAAO,SACvB;AAAA,OACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,QAAA;AAAS,KACb;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC;AACV,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,0BAAA;AAAA,EACN,WAAA,EACE,uNAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,mBAAmB,CAAA,EAAE;AAAA,MACpD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,aAAA,EAAe;AAAA,QACb,IAAA,EAAM,QAAA;AAAA,QACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAA,EAAQ,gBAAgB,SAAS;AAAA,OAClD;AAAA,MACA,gBAAA,EAAkB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACnC,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAA,EAAQ,gBAAgB,IAAI;AAAA,aAC7C;AAAA,YACA,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,eAAA,EAAiB;AAAA,cACf,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,MAAA,EAAQ;AAAA,oBACN,IAAA,EAAM,QAAA;AAAA,oBACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAA,EAAQ,gBAAgB,IAAI;AAAA,mBAC7C;AAAA,kBACA,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACzB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC5B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA;AAAS,iBAC7B;AAAA,gBACA,QAAA,EAAU,CAAC,OAAA,EAAS,QAAQ;AAAA;AAC9B,aACF;AAAA,YACA,QAAA,EAAU;AAAA,cACR,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC3B,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,kBAC7B,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA;AAAS,iBAChC;AAAA,gBACA,QAAA,EAAU,CAAC,UAAA,EAAY,WAAA,EAAa,aAAa;AAAA;AACnD;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,WAAA,EAAa,QAAA,EAAU,WAAW;AAAA;AAC/C;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,eAAA,EAAiB,OAAO;AAAA;AAE/C,CAAA;ACtGO,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,qBAAqB,CAAA;AAAA,EACrC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,aAAa,aAAA,EAAe,SAAA,EAAW,SAAS,CAAC,CAAA;AAAA,MACjE,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MACnC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,MAC9C,YAAYA,CAAAA,CACT,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,UAChB,SAAA,EAAWA,EAAE,OAAA,EAAQ;AAAA,UACrB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,SAC3B;AAAA,OACH,CACC,GAAA,CAAI,EAAE,CAAA,CACN,QAAA,EAAS;AAAA,MACZ,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA;AAAS,KAC/C;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC,CAAA;AAAA,EACR,OAAA,EAASA,EACN,MAAA,CAAO;AAAA,IACN,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACnC,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GACnC,EACA,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,sBAAA,GAAyB;AAAA,EACpC,IAAA,EAAM,4BAAA;AAAA,EACN,WAAA,EACE,8KAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,qBAAqB,CAAA,EAAE;AAAA,MACtD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC7B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC1B,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC/B,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,WAAA,EAAa,aAAA,EAAe,WAAW,SAAS;AAAA,aACzD;AAAA,YACA,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAChC,UAAU,EAAE,IAAA,EAAM,UAAU,OAAA,EAAS,CAAA,EAAG,SAAS,GAAA,EAAI;AAAA,YACrD,UAAA,EAAY;AAAA,cACV,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,kBAC7B,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS,iBACzB;AAAA,gBACA,QAAA,EAAU,CAAC,OAAA,EAAS,WAAW;AAAA;AACjC,aACF;AAAA,YACA,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS;AAAE,WACvD;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,QAAQ;AAAA;AAC9B,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC9B,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAChC,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA;AAAS;AACjC;AACF,KACF;AAAA,IACA,UAAU,CAAC,MAAA,EAAQ,YAAA,EAAc,SAAA,EAAW,gBAAgB,QAAQ;AAAA;AAExE,CAAA;ACzFO,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAClC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,SAASA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,EAAGA,CAAAA,CAAE,QAAQ,CAAC,CAAA,EAAGA,EAAE,OAAA,CAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,EACtE,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,MACb,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC9B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC5B,QAAQA,CAAAA,CACL,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,UAChB,KAAA,EAAOA,CAAAA,CACJ,IAAA,CAAK,CAAC,OAAA,EAAS,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAC,CAAA,CACxD,QAAQ,MAAM;AAAA,SAClB;AAAA,QAEF,QAAA,EAAS;AAAA,MACZ,MAAA,EAAQA,EACL,KAAA,CAAMA,CAAAA,CAAE,OAAO,EAAE,KAAA,EAAOA,EAAE,MAAA,EAAO,EAAG,OAAOA,CAAAA,CAAE,MAAA,IAAU,CAAC,EACxD,GAAA,CAAI,CAAC,EACL,QAAA;AAAS,KACb;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,kBAAA,GAAqB;AAAA,EAChC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EACE,6GAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,kBAAkB,CAAA,EAAE;AAAA,MACnD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA,EAAE;AAAA,MAC3C,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,KAAA,EAAO;AAAA,oBACL,IAAA,EAAM,QAAA;AAAA,oBACN,MAAM,CAAC,OAAA,EAAS,OAAO,OAAA,EAAS,MAAA,EAAQ,UAAU,MAAM;AAAA;AAC1D,iBACF;AAAA,gBACA,QAAA,EAAU,CAAC,OAAO;AAAA;AACpB,aACF;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,iBAC1B;AAAA,gBACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAAA;AAC7B;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,IAAA,EAAM,MAAM;AAAA;AACzB;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;AClFO,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,UAAU,SAAA,EAAW,WAAA,EAAa,QAAA,EAAU,WAAW,CAAC,CAAA;AAAA,EACxE,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC9C,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACtB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,WAAW,SAAA,EAAW,WAAA,EAAa,QAAA,EAAU,SAAS,CAAC,CAAA;AAAA,IACvE,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC/B,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACb,MAAA,EAAQA,EAAE,MAAA,CAAO;AAAA,IACf,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,IAClB,IAAA,EAAMA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAAS,GAClD,EAAE,QAAA,EAAS;AAAA,EACZ,KAAA,EAAOA,EAAE,MAAA,CAAO;AAAA,IACd,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,IAClB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC3B,EAAE,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EAAa,gIAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,aAAa,CAAA,EAAE;AAAA,MAC9C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,QAAA,EAAU,SAAA,EAAW,WAAA,EAAa,QAAA,EAAU,WAAW,CAAA,EAAE;AAAA,MAC1F,UAAU,EAAE,IAAA,EAAM,UAAU,OAAA,EAAS,CAAA,EAAG,SAAS,GAAA,EAAI;AAAA,MACrD,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC5B,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC9B,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,SAAA,EAAW,SAAA,EAAW,WAAA,EAAa,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,YACzF,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA;AAAS,WAC7B;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,QAAQ;AAAA;AAC9B,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC1B,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS,SACzB;AAAA,QACA,QAAA,EAAU,CAAC,SAAS;AAAA,OACtB;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC1B,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS,SACzB;AAAA,QACA,QAAA,EAAU,CAAC,SAAS;AAAA;AACtB,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,QAAQ;AAAA;AAExC,CAAA;ACnEO,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAC9B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,SAAA,EAAWA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IAC1B,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,IACb,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,IAClB,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACzB,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA;AAAS,GAC/C,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EACjB,SAAA,EAAWA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA;AACxC,CAAC,CAAA;AAEM,IAAM,eAAA,GAAkB;AAAA,EAC7B,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EAAa,qJAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,cAAc,CAAA,EAAE;AAAA,MAC/C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uCAAA,EAAwC;AAAA,MAC/E,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC7B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACtB,YAAY,EAAE,IAAA,EAAM,UAAU,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA;AAAE,WACvD;AAAA,UACA,QAAA,EAAU,CAAC,IAAA,EAAM,OAAA,EAAS,UAAU,SAAS;AAAA;AAC/C,OACF;AAAA,MACA,SAAA,EAAW,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS;AAAE,KACxD;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAA,EAAU,WAAW;AAAA;AAE5C,CAAA;AC7CO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAClC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,YAAA,EAAcA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IAC7B,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACxB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,IACtB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAClC,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC7B,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,WAAW,UAAU,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA;AAAA,IACpE,QAAA,EAAUA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA;AAAS,GACrD,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG;AACpB,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EAAa,kJAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,kBAAkB,CAAA,EAAE;AAAA,MACnD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,YAAA,EAAc;AAAA,QACZ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC/B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,SAAA,EAAW,SAAA,EAAW,UAAU,CAAA,EAAE;AAAA,YACnE,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,sBAAsB,EAAE,IAAA,EAAM,UAAS;AAAE,WACvE;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,aAAA,EAAe,QAAQ;AAAA;AAC5C;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,cAAc;AAAA;AAErC,CAAA;AC/CO,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAC9B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACtB,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,IACb,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC3B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC/B,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC5B,MAAMA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA;AAAA;AAAA,IAGnC,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACzB,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC9B,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE;AACnB,CAAC,CAAA;AAEM,IAAM,eAAA,GAAkB;AAAA,EAC7B,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EAAa,8IAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,cAAc,CAAA,EAAE;AAAA,MAC/C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC7B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS,EAAE;AAAA,YACjD,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACtB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA;AAAS,WAC5B;AAAA,UACA,QAAA,EAAU,CAAC,IAAA,EAAM,MAAM;AAAA;AACzB;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;ACnDO,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACtB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,IACnB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,IACd,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC/B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA;AAAA;AAAA,IAIjC,OAAA,EAASA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAAS,GAC/B,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE;AACnB,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EAAa,oIAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACtB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,OAAA,EAAS,EAAE,IAAA,EAAM,SAAA;AAAU,WAC7B;AAAA,UACA,QAAA,EAAU,CAAC,UAAA,EAAY,KAAK;AAAA;AAC9B;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;AC5CO,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACtB,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,IACb,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,KAAA,EAAOA,EAAE,IAAA,CAAK,CAAC,WAAW,QAAA,EAAU,SAAA,EAAW,OAAO,CAAC,CAAA;AAAA,IACvD,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC/B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC/B,OAAA,EAASA,EAAE,KAAA,CAAMA,CAAAA,CAAE,OAAO,EAAE,KAAA,EAAOA,EAAE,MAAA,EAAO,EAAG,OAAOA,CAAAA,CAAE,MAAA,IAAU,CAAC,EAAE,GAAA,CAAI,CAAC,EAAE,QAAA,EAAS;AAAA,IACrF,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,WAAW,UAAA,EAAY,MAAM,CAAC,CAAA,CAAE,QAAA;AAAS,GAC1D,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE;AACnB,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EAAa,mJAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,SAAA,EAAW,QAAA,EAAU,SAAA,EAAW,OAAO,CAAA,EAAE;AAAA,YACzE,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,UAAA,EAAY,EAAE,KAAA,EAAO,EAAE,IAAA,EAAM,UAAS,EAAG,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAE,EAAG,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO,CAAA,EAAE,EAAE;AAAA,YACxJ,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,SAAA,EAAW,UAAA,EAAY,MAAM,CAAA;AAAE,WAClE;AAAA,UACA,QAAA,EAAU,CAAC,IAAA,EAAM,MAAA,EAAQ,OAAO;AAAA;AAClC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;AC3CA,IAAM,YAAA,GAAeA,EAAE,MAAA,CAAO;AAAA,EAC5B,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAA,EAAO,SAAA,EAAW,MAAA,EAAQ,UAAU,CAAC,CAAA,CAAE,QAAQ,MAAM,CAAA;AAAA,EACnF,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AACrC,CAAC,CAAA;AAEM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,gBAAgB,CAAA;AAAA,EAChC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAA,EAAQA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO;AAAA,IACvB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,KAAA,EAAOA,EAAE,KAAA,CAAM,YAAY,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE;AAAA,GAC3C,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACb,KAAA,EAAOA,EAAE,KAAA,CAAM,YAAY,EAAE,GAAA,CAAI,EAAE,EAAE,QAAA;AACvC,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,uBAAA;AAAA,EACN,WAAA,EAAa,6JAAA;AAAA,EACb,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,gBAAgB,CAAA,EAAE;AAAA,MACjD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACtB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAA,EAAO,SAAA,EAAW,MAAA,EAAQ,UAAU,CAAA,EAAE;AAAA,kBACrF,QAAA,EAAU,EAAE,IAAA,EAAM,SAAA;AAAU,iBAC9B;AAAA,gBACA,QAAA,EAAU,CAAC,KAAA,EAAO,OAAO;AAAA;AAC3B;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAAA;AAC7B,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACtB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAA,EAAO,SAAA,EAAW,MAAA,EAAQ,UAAU,CAAA,EAAE;AAAA,YACrF,QAAA,EAAU,EAAE,IAAA,EAAM,SAAA;AAAU,WAC9B;AAAA,UACA,QAAA,EAAU,CAAC,KAAA,EAAO,OAAO;AAAA;AAC3B;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAM;AAAA;AAErB,CAAA;AChEA,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EAC/B,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC1B,CAAC,CAAA;AAEM,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,QAAA,EAAUA,EAAE,MAAA,CAAO;AAAA,IACjB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,kBAAkB,UAAA,EAAY,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IAC1E,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC3B,EAAE,QAAA,EAAS;AAAA,EACZ,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,UAAUA,CAAAA,CACP,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,UAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,aAAA,EAAe,QAAQ,CAAC,CAAA;AAAA,MACpD,aAAaA,CAAAA,CACV,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,UAChB,OAAOA,CAAAA,CACJ,KAAA;AAAA,YACCA,EAAE,MAAA,CAAO;AAAA,cACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,cACf,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,cACxB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,aAClC;AAAA,WACH,CACC,IAAI,EAAE,CAAA;AAAA,UACT,QAAA,EAAU,gBAAgB,QAAA;AAAS,SACpC;AAAA,OACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC,CAAA;AAAA,MACR,KAAA,EAAO,gBAAgB,QAAA;AAAS,KACjC;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC,CAAA;AAAA,EACR,yBAAA,EAA2B,gBAAgB,QAAA;AAC7C,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EACE,mIAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6BAAA,EAA8B;AAAA,MACvE,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC9B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,OAAA,EAAS,gBAAA,EAAkB,UAAA,EAAY,OAAO,CAAA,EAAE;AAAA,UACjF,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS;AACzB,OACF;AAAA,MACA,kBAAA,EAAoB,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,oDAAA,EAAqD;AAAA,MACxG,gBAAA,EAAkB,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,kDAAA,EAAmD;AAAA,MACpG,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,QAAA,EAAU;AAAA,cACR,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,QAAA,EAAU,aAAA,EAAe,QAAQ;AAAA,aAC1C;AAAA,YACA,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uCAAA,EAAwC;AAAA,kBAC9E,KAAA,EAAO;AAAA,oBACL,IAAA,EAAM,OAAA;AAAA,oBACN,KAAA,EAAO;AAAA,sBACL,IAAA,EAAM,QAAA;AAAA,sBACN,UAAA,EAAY;AAAA,wBACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,wBACvB,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,wBAChC,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA;AAAS,uBAChC;AAAA,sBACA,QAAA,EAAU,CAAC,MAAA,EAAQ,eAAe;AAAA;AACpC,mBACF;AAAA,kBACA,QAAA,EAAU;AAAA,oBACR,IAAA,EAAM,QAAA;AAAA,oBACN,UAAA,EAAY;AAAA,sBACV,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,sBAChC,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA;AAAS,qBAChC;AAAA,oBACA,QAAA,EAAU,CAAC,eAAe;AAAA;AAC5B,iBACF;AAAA,gBACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAAA;AAC7B;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,UAAA,EAAY,aAAa;AAAA;AACtC,OACF;AAAA,MACA,yBAAA,EAA2B;AAAA,QACzB,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAChC,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA;AAAS,SAChC;AAAA,QACA,QAAA,EAAU,CAAC,eAAe;AAAA;AAC5B,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,oBAAA,EAAsB,UAAU;AAAA;AAEvD,CAAA;AC9HO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAClC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,QAAA,EAAUA,EAAE,MAAA,CAAO;AAAA,IACjB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,kBAAkB,UAAA,EAAY,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IAC1E,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC3B,EAAE,QAAA,EAAS;AAAA,EACZ,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EACzC,oBAAA,EAAsBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EAC/C,UAAUA,CAAAA,CACP,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,WAAWA,CAAAA,CACR,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,UACf,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA;AAAA,UAC3B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,UAC1C,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAAS,SAClC;AAAA,OACH,CACC,IAAI,EAAE,CAAA;AAAA,MACT,WAAA,EAAaA,EAAE,IAAA,CAAK,CAAC,UAAU,UAAU,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ;AAAA,KAC7D;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,gBAAA,EAAkBA,EAAE,MAAA,CAAO;AAAA,IACzB,aAAaA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,IAC1C,iBAAiBA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,IAC9C,SAAA,EAAWA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ;AAAA,GAC9B;AACH,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EACE,yIAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,kBAAkB,CAAA,EAAE;AAAA,MACnD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6BAAA,EAA8B;AAAA,MACvE,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC9B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,OAAA,EAAS,gBAAA,EAAkB,UAAA,EAAY,OAAO,CAAA,EAAE;AAAA,UACjF,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS;AACzB,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,QACxB,QAAA,EAAU,CAAA;AAAA,QACV,QAAA,EAAU,CAAA;AAAA,QACV,WAAA,EAAa;AAAA,OACf;AAAA,MACA,oBAAA,EAAsB;AAAA,QACpB,IAAA,EAAM,SAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,SAAA,EAAW;AAAA,cACT,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACvB,OAAA,EAAS;AAAA,oBACP,IAAA,EAAM,OAAA;AAAA,oBACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,oBACxB,WAAA,EAAa;AAAA,mBACf;AAAA,kBACA,MAAA,EAAQ;AAAA,oBACN,IAAA,EAAM,QAAA;AAAA,oBACN,OAAA,EAAS,CAAA;AAAA,oBACT,OAAA,EAAS,CAAA;AAAA,oBACT,WAAA,EAAa;AAAA,mBACf;AAAA,kBACA,UAAA,EAAY;AAAA,oBACV,IAAA,EAAM,SAAA;AAAA,oBACN,WAAA,EACE;AAAA;AAEJ,iBACF;AAAA,gBACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS;AAAA;AAC9B,aACF;AAAA,YACA,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,QAAA,EAAU,UAAU;AAAA;AAC7B,WACF;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,WAAW;AAAA;AACjC,OACF;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,WAAA,EAAa;AAAA,YACX,IAAA,EAAM,OAAA;AAAA,YACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,WAAA,EAAa;AAAA,WACf;AAAA,UACA,eAAA,EAAiB;AAAA,YACf,IAAA,EAAM,OAAA;AAAA,YACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,WAAA,EAAa;AAAA,WACf;AAAA,UACA,SAAA,EAAW;AAAA,YACT,IAAA,EAAM,OAAA;AAAA,YACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,WAAA,EAAa;AAAA;AACf,SACF;AAAA,QACA,QAAA,EAAU,CAAC,WAAW;AAAA;AACxB,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,YAAY,kBAAkB;AAAA;AAEhE,CAAA;ACzIO,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,qBAAqB,CAAA;AAAA,EACrC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,QAAA,EAAUA,EAAE,MAAA,CAAO;AAAA,IACjB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,kBAAkB,UAAA,EAAY,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IAC1E,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC3B,EAAE,QAAA,EAAS;AAAA,EACZ,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,YAAYA,CAAAA,CACT,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,cAAcA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,WAAA,EAAa,WAAW,CAAC,CAAA;AAAA,MAC5D,WAAWA,CAAAA,CACR,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,UACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,UACjB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UACjC,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,UAC1C,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AAAA,SACtC;AAAA,OACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,MACT,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,MAClB,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KACnC;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC,CAAA;AAAA,EACR,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,kBAAA,EAAoBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxC,eAAA,EAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC9B,CAAC,CAAA;AAEM,IAAM,qBAAA,GAAwB;AAAA,EACnC,IAAA,EAAM,4BAAA;AAAA,EACN,WAAA,EACE,qIAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,qBAAqB,CAAA,EAAE;AAAA,MACtD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6BAAA,EAA8B;AAAA,MACvE,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC9B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,OAAA,EAAS,gBAAA,EAAkB,UAAA,EAAY,OAAO,CAAA,EAAE;AAAA,UACjF,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS;AACzB,OACF;AAAA,MACA,WAAA,EAAa;AAAA,QACX,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,QAAA,EAAU,CAAA;AAAA,QACV,QAAA,EAAU,CAAA;AAAA,QACV,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,YAAA,EAAc;AAAA,cACZ,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,WAAA,EAAa,WAAA,EAAa,WAAW;AAAA,aAC9C;AAAA,YACA,SAAA,EAAW;AAAA,cACT,IAAA,EAAM,OAAA;AAAA,cACN,QAAA,EAAU,CAAA;AAAA,cACV,QAAA,EAAU,EAAA;AAAA,cACV,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACvB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACzB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC9B,MAAA,EAAQ;AAAA,oBACN,IAAA,EAAM,QAAA;AAAA,oBACN,OAAA,EAAS,CAAA;AAAA,oBACT,OAAA,EAAS,CAAA;AAAA,oBACT,WAAA,EAAa;AAAA,mBACf;AAAA,kBACA,UAAA,EAAY,EAAE,IAAA,EAAM,SAAA;AAAU,iBAChC;AAAA,gBACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAC7B,aACF;AAAA,YACA,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA;AAAS,WACjC;AAAA,UACA,QAAA,EAAU,CAAC,cAAA,EAAgB,WAAA,EAAa,SAAS;AAAA;AACnD,OACF;AAAA,MACA,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC5B,cAAA,EAAgB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACjC,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAChC,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC7B,kBAAA,EAAoB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACrC,eAAA,EAAiB,EAAE,IAAA,EAAM,QAAA;AAAS,KACpC;AAAA,IACA,UAAU,CAAC,MAAA,EAAQ,YAAA,EAAc,WAAA,EAAa,iBAAiB,YAAY;AAAA;AAE/E,CAAA;ACxHO,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,gBAAgB,CAAA;AAAA,EAChC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,OAAA,EAASA,EAAE,MAAA,CAAO;AAAA,IAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,WAAA,EAAaA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,WAAA,EAAa,QAAA,EAAU,SAAA,EAAW,SAAS,CAAC,CAAA,CAAE,QAAA;AAAS,GACtF,CAAA;AAAA,EACD,SAAA,EAAWA,EAAE,MAAA,CAAO;AAAA,IAClB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,EAAA,EAAIA,EAAE,MAAA;AAAO,GACd,EAAE,QAAA,EAAS;AAAA,EACZ,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,EACpC,cAAcA,CAAAA,CACX,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,MACtB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC/B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC5B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,MAC3B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,MAC5B,cAAA,EAAgBA,EAAE,MAAA;AAAO,KAC1B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,GAAG,CAAA;AAAA,EACV,cAAA,EAAgBA,EAAE,MAAA;AACpB,CAAC,CAAA;AAEM,IAAM,iBAAA,GAAoB;AAAA,EAC/B,IAAA,EAAM,uBAAA;AAAA,EACN,WAAA,EACE,oIAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,gBAAgB,CAAA,EAAE;AAAA,MACjD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6BAAA,EAA8B;AAAA,MACvE,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,WAAA,EAAa;AAAA,YACX,IAAA,EAAM,QAAA;AAAA,YACN,MAAM,CAAC,OAAA,EAAS,WAAA,EAAa,QAAA,EAAU,WAAW,SAAS;AAAA;AAC7D,SACF;AAAA,QACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM;AAAA,OAC3B;AAAA,MACA,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA;AAAS,SACvB;AAAA,QACA,QAAA,EAAU,CAAC,MAAA,EAAQ,IAAI;AAAA,OACzB;AAAA,MACA,cAAA,EAAgB,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,gCAAA,EAAiC;AAAA,MAChF,YAAA,EAAc;AAAA,QACZ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,0CAAA,EAA2C;AAAA,YAClF,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,cAAA,EAAgB,EAAE,IAAA,EAAM,QAAA;AAAS,WACnC;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,aAAA,EAAe,gBAAgB;AAAA;AACpD,OACF;AAAA,MACA,cAAA,EAAgB,EAAE,IAAA,EAAM,QAAA;AAAS,KACnC;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAA,EAAW,gBAAgB,gBAAgB;AAAA;AAElE,CAAA;AClFO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EACnC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,YAAA,EAAcA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACvC,UAAUA,CAAAA,CACP,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,WAAA,EAAaA,EAAE,IAAA,CAAK,CAAC,SAAS,WAAA,EAAa,QAAA,EAAU,SAAA,EAAW,SAAS,CAAC,CAAA;AAAA,MAC1E,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC7B,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,UAAU,UAAU,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,MACvD,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC1C,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,MACnC,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC9B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,GAAG;AACZ,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,0BAAA;AAAA,EACN,WAAA,EACE,yIAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,mBAAmB,CAAA,EAAE;AAAA,MACpD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6BAAA,EAA8B;AAAA,MACvE,YAAA,EAAc,EAAE,IAAA,EAAM,SAAA,EAAW,aAAa,gCAAA,EAAiC;AAAA,MAC/E,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,yBAAA,EAA0B;AAAA,YAC/D,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,cAAA,EAAe;AAAA,YACpD,WAAA,EAAa;AAAA,cACX,IAAA,EAAM,QAAA;AAAA,cACN,MAAM,CAAC,OAAA,EAAS,WAAA,EAAa,QAAA,EAAU,WAAW,SAAS;AAAA,aAC7D;AAAA,YACA,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iDAAA,EAAkD;AAAA,YAC1F,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,QAAA,EAAU,UAAU,CAAA,EAAE;AAAA,YACvD,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uBAAA,EAAwB;AAAA,YAC/D,QAAA,EAAU,EAAE,IAAA,EAAM,SAAA,EAAW,aAAa,sCAAA,EAAuC;AAAA,YACjF,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iBAAA;AAAkB,WAC5D;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,aAAa;AAAA;AAC1C;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,UAAU;AAAA;AAEjC,CAAA;ACxDO,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,gBAAgB,CAAA;AAAA,EAChC,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,MAAA,EAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,QAAQ,MAAA,EAAQ,SAAA,EAAW,SAAA,EAAW,MAAM,CAAC,CAAA;AAAA,EACtE,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,MAAA,EAAQA,EAAE,MAAA,CAAO;AAAA,IACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC5B,CAAA;AAAA,EACD,WAAWA,CAAAA,CACR,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,MACtB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,MACnB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,MACpB,MAAA,EAAQA,EAAE,MAAA;AAAO,KAClB;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,EAC/B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,EAC9B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,EAChC,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,UAAUA,CAAAA,CACP,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAChC;AAAA,IAEF,QAAA,EAAS;AAAA,EACZ,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACpB,CAAC,CAAA;AAEM,IAAM,iBAAA,GAAoB;AAAA,EAC/B,IAAA,EAAM,uBAAA;AAAA,EACN,WAAA,EACE,uHAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,gBAAgB,CAAA,EAAE;AAAA,MACjD,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAChC,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,MAAM,CAAC,OAAA,EAAS,QAAQ,MAAA,EAAQ,SAAA,EAAW,WAAW,MAAM;AAAA,OAC9D;AAAA,MACA,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC5B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC1B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,SAC1B;AAAA,QACA,QAAA,EAAU,CAAC,MAAM;AAAA,OACnB;AAAA,MACA,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA;AAAS,WAC3B;AAAA,UACA,QAAA,EAAU,CAAC,aAAA,EAAe,UAAA,EAAY,aAAa,QAAQ;AAAA;AAC7D,OACF;AAAA,MACA,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC5B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC7B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC5B,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA;AAAS,WAC9B;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAA,EAAU,QAAQ;AAAA;AACvC,OACF;AAAA,MACA,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,KAC1B;AAAA,IACA,QAAA,EAAU;AAAA,MACR,MAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA;AACF;AAEJ,CAAA;ACtHO,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,oBAAoB,CAAA;AAAA,EACpC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,OAAA,EAASA,EACN,MAAA,CAAO;AAAA,IACN,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,IACzB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,IACvB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,cAAA,EAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACpC,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACnC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAChC,EACA,QAAA,EAAS;AAAA,EACZ,UAAUA,CAAAA,CACP,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MACjC,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,MAClB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,MACpB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,MACnB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,MAClB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC;AAAA,KAC5B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,GAAG;AACZ,CAAC,CAAA;AAEM,IAAM,qBAAA,GAAwB;AAAA,EACnC,IAAA,EAAM,2BAAA;AAAA,EACN,WAAA,EACE,uJAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,oBAAoB,CAAA,EAAE;AAAA,MACrD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,SAAS,KAAA,EAAM;AAAA,MAC3C,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,cAAA,EAAgB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACjC,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC/B,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,cAAA,EAAgB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACjC,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAChC,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA;AAAS,SAC9B;AAAA,QACA,QAAA,EAAU,CAAC,gBAAA,EAAkB,cAAA,EAAgB,MAAM;AAAA,OACrD;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA;AAAE,WACtC;AAAA,UACA,UAAU,CAAC,QAAA,EAAU,SAAA,EAAW,WAAA,EAAa,YAAY,SAAS;AAAA,SACpE;AAAA,QACA,QAAA,EAAU,CAAA;AAAA,QACV,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,UAAU;AAAA;AAEjC,CAAA;ACzEO,IAAM,0BAAA,GAA6BA,EAAE,MAAA,CAAO;AAAA,EACjD,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,uBAAuB,CAAA;AAAA,EACvC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EAClC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,MACb,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,QAAA,EAAUA,CAAAA,CACP,IAAA,CAAK,CAAC,WAAA,EAAa,aAAa,UAAA,EAAY,WAAW,CAAC,CAAA,CACxD,QAAA,EAAS;AAAA,MACZ,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,MACvB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,MAClC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAChC,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC5B,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,MAClC,uBAAA,EAAyBA,EAAE,MAAA,EAAO;AAAA,MAClC,SAAA,EAAWA,EAAE,MAAA;AAAO,KACrB;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE,CAAA;AAAA,EACT,MAAA,EAAQA,EACL,MAAA,CAAO;AAAA,IACN,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,IACpB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,IAC3B,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,IAC3B,cAAA,EAAgBA,EAAE,MAAA;AAAO,GAC1B,EACA,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,wBAAA,GAA2B;AAAA,EACtC,IAAA,EAAM,8BAAA;AAAA,EACN,WAAA,EACE,sLAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,uBAAuB,CAAA,EAAE;AAAA,MACxD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EACE;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,QAAA,EAAU;AAAA,cACR,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,WAAA,EAAa,WAAA,EAAa,YAAY,WAAW;AAAA,aAC1D;AAAA,YACA,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC/B,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC/B,UAAA,EAAY;AAAA,cACV,IAAA,EAAM,QAAA;AAAA,cACN,WAAA,EAAa;AAAA,aACf;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,QAAA;AAAA,cACN,WAAA,EAAa;AAAA,aACf;AAAA,YACA,uBAAA,EAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1C,uBAAA,EAAyB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1C,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA;AAAS,WAC9B;AAAA,UACA,QAAA,EAAU;AAAA,YACR,IAAA;AAAA,YACA,MAAA;AAAA,YACA,cAAA;AAAA,YACA,MAAA;AAAA,YACA,yBAAA;AAAA,YACA,yBAAA;AAAA,YACA;AAAA;AACF;AACF,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC5B,gBAAA,EAAkB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACnC,gBAAA,EAAkB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACnC,cAAA,EAAgB,EAAE,IAAA,EAAM,QAAA;AAAS,SACnC;AAAA,QACA,QAAA,EAAU;AAAA,UACR,WAAA;AAAA,UACA,kBAAA;AAAA,UACA,kBAAA;AAAA,UACA;AAAA;AACF;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAE/B,CAAA;ACjHO,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,iBAAiB,CAAA;AAAA,EACjC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,OAAO,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,QAAA;AAC9C,CAAC,CAAA;AAEM,IAAM,kBAAA,GAAqB;AAAA,EAChC,IAAA,EAAM,wBAAA;AAAA,EACN,WAAA,EACE,uQAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,iBAAiB,CAAA,EAAE;AAAA,MAClD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC9B,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACtB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,KAAA,EAAO,QAAA,EAAU,MAAM,CAAA;AAAE,KAC9D;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,KAAK;AAAA;AAE5B,CAAA;ACzBO,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,MAAA,EAAQA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC7B,MAAA,EAAQA,CAAAA,CACL,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,EAAG,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,EAAG,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG,CAAC,CAAA,CACvF,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,CAAC,CAAA;AAAA,EACR,IAAA,EAAMA,CAAAA,CACH,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAOA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAC7D,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,GAAG;AACZ,CAAC,CAAA;AAEM,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAA,EAAM,mBAAA;AAAA,EACN,WAAA,EACE,wPAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,YAAY,CAAA,EAAE;AAAA,MAC7C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,0DAAA,EAA2D;AAAA,MAChG,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,yCAAA,EAA0C;AAAA,MAC/E,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAA,EAAW,aAAa,2DAAA,EAA4D;AAAA,MACpG,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,2DAAA;AAA4D,WACpG;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS;AAAA;AAC9B,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,sBAAsB,IAAA,EAAK;AAAA,QACpD,WAAA,EAAa;AAAA;AACf,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,UAAU,MAAM;AAAA;AAE/C,CAAA;AChDA,IAAM,SAAA,GAAYA,EAAE,MAAA,CAAO;AAAA,EACzB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,IAAA,EAAMA,EAAE,IAAA,CAAK,CAAC,QAAQ,OAAO,CAAC,EAAE,QAAA;AAClC,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmBA,EAC7B,MAAA,CAAO;AAAA,EACN,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,IAAA,EAAMA,EAAE,KAAA,CAAM,SAAS,EAAE,GAAA,CAAI,CAAC,EAAE,QAAA,EAAS;AAAA,EACzC,KAAA,EAAOA,EAAE,KAAA,CAAM,SAAS,EAAE,GAAA,CAAI,CAAC,EAAE,QAAA,EAAS;AAAA,EAC1C,IAAA,EAAMA,CAAAA,CACH,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAOA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAC7D,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,GAAG;AACZ,CAAC,CAAA,CACA,MAAA,CAAO,CAAC,CAAA,KAAG;AAvBd,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAuBkB,EAAA,OAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAE,IAAA,KAAF,IAAA,GAAA,MAAA,GAAA,EAAA,CAAQ,MAAA,KAAR,IAAA,GAAA,EAAA,GAAkB,CAAA,KAAA,CAAM,aAAE,KAAA,KAAF,IAAA,GAAA,MAAA,GAAA,EAAA,CAAS,MAAA,KAAT,IAAA,GAAA,EAAA,GAAmB,CAAA,CAAA,IAAM,CAAA;AAAA,CAAA,EAAG;AAAA,EAClE,OAAA,EAAS;AACX,CAAC,CAAA;AAEI,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EACE,gTAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,aAAa,CAAA,EAAE;AAAA,MAC9C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,2CAAA,EAA4C;AAAA,MACjF,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,qCAAA,EAAsC;AAAA,MAC/E,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,sCAAA,EAAuC;AAAA,MACjF,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO,CAAA,EAAG,WAAA,EAAa,4BAAA;AAA6B,WAC7F;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS;AAAA;AAC9B,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO,CAAA,EAAG,WAAA,EAAa,6BAAA;AAA8B,WAC9F;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS;AAAA;AAC9B,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,sBAAsB,IAAA,EAAK;AAAA,QACpD,WAAA,EAAa;AAAA;AACf,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,MAAM;AAAA;AAErC,CAAA;ACvEO,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,MACd,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC5B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC3B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC;AACV,CAAC,CAAA;AAEM,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EACE,8PAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,aAAa,CAAA,EAAE;AAAA,MAC9C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,eAAA,EAAgB;AAAA,YACtD,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,8BAAA,EAA+B;AAAA,YACnE,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,2CAAA,EAA4C;AAAA,YACnF,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uBAAA;AAAwB,WAC/D;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAA,EAAS,KAAK;AAAA;AACpC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;AC3CO,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC5B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EACE,2PAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6CAAA,EAA8C;AAAA,MACvF,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,yCAAA,EAA0C;AAAA,YAChF,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iDAAA;AAAkD,WAC1F;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAC5B;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;ACzCO,IAAM,gBAAA,GAAmBA,EAAE,MAAA,CAAO;AAAA,EACvC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,MAAA,EAAQA,CAAAA,CACL,KAAA,CAAMA,CAAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,EAAG,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,EAAG,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG,CAAC,CAAA,CACvF,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,CAAC,CAAA;AAAA,EACR,MAAMA,CAAAA,CACH,KAAA;AAAA,IACCA,CAAAA,CACG,OAAO,EAAE,MAAA,EAAQA,EAAE,MAAA,EAAO,EAAG,CAAA,CAC7B,QAAA,CAASA,EAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,EAAE,MAAA,EAAQ,CAAC,CAAC;AAAA,GAC/C,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EACE,iSAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,aAAa,CAAA,EAAE;AAAA,MAC9C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,oCAAA,EAAqC;AAAA,MAC1E,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC1B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iDAAA;AAAkD,WAC1F;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS;AAAA;AAC9B,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY,EAAE,MAAA,EAAQ,EAAE,MAAM,QAAA,EAAU,WAAA,EAAa,cAAa,EAAE;AAAA,UACpE,QAAA,EAAU,CAAC,QAAQ,CAAA;AAAA,UACnB,oBAAA,EAAsB;AAAA,SACxB;AAAA,QACA,WAAA,EAAa;AAAA;AACf,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM;AAAA;AAEvC,CAAA;ACrDO,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAC9B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC5B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC;AACV,CAAC,CAAA;AAEM,IAAM,eAAA,GAAkB;AAAA,EAC7B,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EACE,4TAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,cAAc,CAAA,EAAE;AAAA,MAC/C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,kCAAA,EAAmC;AAAA,MAC5E,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,WAAA,EAAa,iCAAA;AAAA,QACb,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iDAAA;AAAkD,WAC1F;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAAA;AAC7B;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAE/B,CAAA;AC1CO,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAC9B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,MACjB,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MACzB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC3B;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,eAAA,GAAkB;AAAA,EAC7B,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EACE,0UAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,cAAc,CAAA,EAAE;AAAA,MAC/C,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uBAAA,EAAwB;AAAA,YAC9D,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,sBAAA,EAAuB;AAAA,YAC9D,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,wDAAA,EAAyD;AAAA,YAC7F,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uBAAA;AAAwB,WAC/D;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAA,EAAS,QAAQ;AAAA;AACvC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;AC3CO,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAQA,CAAAA,CACL,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC3B,QAAQA,CAAAA,CACL,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,CAAA,EAAGA,EAAE,MAAA,EAAO;AAAA,UACZ,CAAA,EAAGA,EAAE,MAAA,EAAO;AAAA,UACZ,CAAA,EAAGA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UACvB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,SAC5B;AAAA,OACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,GAAG;AAAA,KACX;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC;AACV,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EACE,qSAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACzB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACzB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,aAAA,EAAc;AAAA,MACpD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,UAAA,EAAW;AAAA,MACjD,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iDAAA,EAAkD;AAAA,YACxF,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,CAAA,EAAG,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACpB,CAAA,EAAG,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACpB,CAAA,EAAG,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uCAAA,EAAmC;AAAA,kBACrE,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iCAAA;AAAkC,iBAC1E;AAAA,gBACA,QAAA,EAAU,CAAC,GAAA,EAAK,GAAG;AAAA;AACrB;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAC7B;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAE/B,CAAA;ACrEO,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,qBAAqB,CAAA;AAAA,EACrC,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,aAAa,eAAe,CAAC,EAAE,QAAA,EAAS;AAAA,EACxD,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACvB,CAAC,CAAA;AAEM,IAAM,sBAAA,GAAyB;AAAA,EACpC,IAAA,EAAM,4BAAA;AAAA,EACN,WAAA,EACE,wlBAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,qBAAqB,CAAA,EAAE;AAAA,MACtD,eAAA,EAAiB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAClC,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC9B,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACtB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,WAAA,EAAa,eAAe,CAAA,EAAE;AAAA,MAC/D,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC1B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA;AAAS,KAC7B;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,iBAAA,EAAmB,KAAK;AAAA;AAE/C,CAAA;AC3BO,IAAM,sBAAA,GAAyBA,EAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EACnC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,cAAcA,CAAAA,CAAE,KAAA;AAAA,IACdA,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,MACf,QAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,eAAe,CAAC,CAAA;AAAA,MAC7C,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAChC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAChC,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KAC9B;AAAA;AAEL,CAAC,CAAA;AAEM,IAAM,oBAAA,GAAuB;AAAA,EAClC,IAAA,EAAM,0BAAA;AAAA,EACN,WAAA,EACE,gdAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,mBAAmB,CAAA,EAAE;AAAA,MACpD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACxB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC9B,YAAA,EAAc;AAAA,QACZ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,WAAA,EAAa,eAAe,CAAA,EAAE;AAAA,YAC/D,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC7B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC7B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA;AAAS,WAC5B;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,QAAQ;AAAA;AAC7B;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,cAAc;AAAA;AAErC,CAAA;AC/BA,IAAM,qBAA8CA,CAAAA,CAAE,IAAA;AAAA,EAAK,MACzDA,EAAE,MAAA,CAAO;AAAA,IACP,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,IACb,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,IACpB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC3B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAM,kBAAkB,EAAE,QAAA,EAAS;AAAA,IAC/C,UAAUA,CAAAA,CACP,KAAA;AAAA,MACCA,EAAE,MAAA,CAAO;AAAA,QACP,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,QAChB,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,QAC/B,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,kBAAkB;AAAA,OAClC;AAAA,MAEF,QAAA;AAAS,GACb;AACH,CAAA;AAEO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAClC,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,KAAA,EAAOA,EAAE,IAAA,CAAK,CAAC,SAAS,SAAA,EAAW,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACvD,QAAQA,CAAAA,CACL,MAAA,CAAO,EAAE,IAAA,EAAMA,EAAE,MAAA,EAAO,EAAG,IAAA,EAAMA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,EAAG,EACxD,QAAA,EAAS;AAAA,EACZ,cAAcA,CAAAA,CACX,KAAA,CAAMA,EAAE,MAAA,CAAO,EAAE,MAAMA,CAAAA,CAAE,MAAA,IAAU,IAAA,EAAMA,CAAAA,CAAE,QAAO,CAAE,QAAA,IAAY,CAAC,EACjE,QAAA,EAAS;AAAA,EACZ,QAAA,EAAUA,EACP,MAAA,CAAO;AAAA,IACN,MAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,MAAM,CAAC,CAAA;AAAA,IAC/B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC5B,EACA,QAAA,EAAS;AAAA,EACZ,OAAOA,CAAAA,CAAE,KAAA,CAAM,kBAAkB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACxC,aAAaA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EAC1C,GAAA,EAAKA,CAAAA,CAAE,MAAA,CAAO,EAAE,OAAOA,CAAAA,CAAE,MAAA,EAAO,EAAG,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,EAAG,EAAE,QAAA;AACxD,CAAC,CAAA;AAMD,IAAM,eAAA,GAAkB;AAAA,EACtB,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,EACrB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,EAC5B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,EACxB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA;AACvB,CAAA;AAEA,IAAM,SAAA,GAAY;AAAA,EAChB,IAAA,EAAM,QAAA;AAAA,EACN,UAAA,EAAY,eAAA;AAAA,EACZ,QAAA,EAAU,CAAC,IAAA,EAAM,WAAW;AAC9B,CAAA;AAEA,IAAM,WAAA,GAAc;AAAA,EAClB,IAAA,EAAM,QAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACxB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IAC5B,KAAA,EAAO,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,SAAA;AAAU,GAC3C;AAAA,EACA,QAAA,EAAU,CAAC,OAAA,EAAS,OAAO;AAC7B,CAAA;AAEA,IAAM,SAAA,GAAY;AAAA,EAChB,IAAA,EAAM,QAAA;AAAA,EACN,UAAA,EAAY,iCACP,eAAA,CAAA,EADO;AAAA,IAEV,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,SAAA,EAAU;AAAA,IAC5C,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,WAAA;AAAY,GAChD,CAAA;AAAA,EACA,QAAA,EAAU,CAAC,IAAA,EAAM,WAAW;AAC9B,CAAA;AAEO,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EACE,ibAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,kBAAkB,CAAA,EAAE;AAAA,MACnD,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACvB,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC9B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,OAAA,EAAS,SAAA,EAAW,QAAQ,CAAA,EAAE;AAAA,MAC9D,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS,SACzB;AAAA,QACA,QAAA,EAAU,CAAC,MAAM;AAAA,OACnB;AAAA,MACA,YAAA,EAAc;AAAA,QACZ,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS,WACzB;AAAA,UACA,QAAA,EAAU,CAAC,MAAM;AAAA;AACnB,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAE;AAAA,UACjD,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,SAC1B;AAAA,QACA,QAAA,EAAU,CAAC,MAAM;AAAA,OACnB;AAAA,MACA,KAAA,EAAO,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,SAAA,EAAU;AAAA,MACzC,WAAA,EAAa,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS,EAAE;AAAA,MACxD,GAAA,EAAK;AAAA,QACH,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY;AAAA,UACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACxB,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA;AAAS,SACxB;AAAA,QACA,QAAA,EAAU,CAAC,OAAA,EAAS,KAAK;AAAA;AAC3B,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAA,EAAQ,OAAO;AAAA;AAEtC,CAAA;AC9IO,IAAM,qBAAA,GAAwBA,EAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAClC,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,MACb,CAAA,EAAGA,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,MACxC,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MACzB,MAAA,EAAQA,EAAE,IAAA,CAAK;AAAA,QACb,MAAA;AAAA,QAAQ,QAAA;AAAA,QAAU,SAAA;AAAA,QAAW,QAAA;AAAA,QAAU,SAAA;AAAA,QAAW,SAAA;AAAA,QAAW;AAAA,OAC9D,CAAA;AAAA;AAAA;AAAA;AAAA,MAID,IAAA,EAAMA,EACH,MAAA,CAAO;AAAA,QACN,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS;AAAA,QACpD,OAAA,EAASA,EAAE,IAAA,CAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,QAAA,EAAS;AAAA,QAC1C,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,QAC/B,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,QAC/B,oBAAoBA,CAAAA,CACjB,KAAA;AAAA,UACCA,EAAE,MAAA,CAAO;AAAA,YACP,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,YAC3B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,YAC3B,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,OAAO,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,YACrD,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,WAC9B;AAAA,UAEF,QAAA;AAAS,OACb,EACA,QAAA,EAAS;AAAA,MACZ,WAAWA,CAAAA,CACR,KAAA;AAAA,QACCA,EAAE,MAAA,CAAO;AAAA,UACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,UACf,MAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,UAC/B,UAAUA,CAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,CAAC,EAAE,QAAA,EAAS;AAAA,UACrC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,UAC3B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,SAC3B;AAAA,OACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,QAAA;AAAS,KACb;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,EAAE;AACX,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB;AAAA,EACjC,IAAA,EAAM,yBAAA;AAAA,EACN,WAAA,EACE,kVAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,kBAAkB,CAAA,EAAE;AAAA,MACnD,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,yCAAA,EAA0C;AAAA,MAC7E,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,oCAAA,EAAqC;AAAA,MAC3E,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,4CAAA,EAA0C;AAAA,MACjF,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,mDAAA,EAAoD;AAAA,MAC1F,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iCAAA,EAAkC;AAAA,MAC9E,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,QAAA,EAAU,CAAA;AAAA,QACV,QAAA,EAAU,EAAA;AAAA,QACV,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,CAAA,EAAG,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,oCAAA,EAAqC;AAAA,YACvE,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,2DAAA,EAAyD;AAAA,YAC7F,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,QAAA;AAAA,cACN,IAAA,EAAM,CAAC,MAAA,EAAQ,QAAA,EAAU,WAAW,QAAA,EAAU,SAAA,EAAW,WAAW,QAAQ;AAAA,aAC9E;AAAA,YACA,IAAA,EAAM;AAAA,cACJ,IAAA,EAAM,QAAA;AAAA,cACN,WAAA,EAAa,yDAAA;AAAA,cACb,UAAA,EAAY;AAAA,gBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACxB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,MAAA,EAAQ,KAAK,CAAA,EAAE;AAAA,gBACjD,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBAC5B,QAAA,EAAU,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,gBAC5B,kBAAA,EAAoB;AAAA,kBAClB,IAAA,EAAM,OAAA;AAAA,kBACN,KAAA,EAAO;AAAA,oBACL,IAAA,EAAM,QAAA;AAAA,oBACN,UAAA,EAAY;AAAA,sBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,sBACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,sBACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,KAAA,EAAO,QAAA,EAAU,MAAM,CAAA,EAAE;AAAA,sBAC5D,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA;AAAS;AAC5B;AACF;AACF;AACF,aACF;AAAA,YACA,SAAA,EAAW;AAAA,cACT,IAAA,EAAM,OAAA;AAAA,cACN,QAAA,EAAU,CAAA;AAAA,cACV,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACvB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,OAAA,EAAS,OAAO,CAAA,EAAE;AAAA,kBACjD,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBAC3B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA;AAAS,iBACzB;AAAA,gBACA,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM;AAAA;AAC3B;AACF,WACF;AAAA,UACA,QAAA,EAAU,CAAC,IAAA,EAAM,OAAA,EAAS,QAAQ;AAAA;AACpC;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,OAAO;AAAA;AAEvC,CAAA;ACzHA,IAAM,OAAOA,CAAAA,CAAE,KAAA,CAAM,CAACA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,MAAA,EAAO,EAAGA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA;AAErE,IAAM,WAAA,GAAcA,EAAE,MAAA,CAAO;AAAA,EAC3B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA;AAAA,EACf,IAAA,EAAM,IAAA,CAAK,QAAA,EAAS,CAAE,QAAA,EAAS;AAAA,EAC/B,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,eAAA,EAAiBA,EAAE,IAAA,CAAK,CAAC,SAAS,OAAA,EAAS,KAAK,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EAC5D,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,MAAM,IAAA,EAAM,IAAI,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,KAAA,EAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,aAAa,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EAC/D,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,UAAA,EAAYA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA;AAAA,EAGjC,gBAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAC/C,cAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA;AACtC,CAAC,CAAA;AAED,IAAM,UAAA,GAAaA,EAAE,MAAA,CAAO;AAAA,EAC1B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA;AAAA,EACf,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAC9B,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC,CAAA;AAKD,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACjC,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,SAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA;AACjC,CAAC,CAAA;AACD,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACjC,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,OAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA;AAC/B,CAAC,CAAA;AACD,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EAC7B,cAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAC7C,YAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAC3C,cAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAC7C,QAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACvC,cAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAC7C,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAM,CAACA,EAAE,MAAA,EAAO,EAAGA,CAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAChE,QAAQA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACrC,MAAMA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACnC,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS;AAAA,EAC3C,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA;AACpC,CAAC,CAAA;AAEM,IAAM,6BAAA,GAAgCA,EAAE,MAAA,CAAO;AAAA,EACpD,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,2BAA2B,CAAA;AAAA,EAC3C,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA;AAAA,EAG9B,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAE/B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAEjC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,KAAA,EAAOA,EAAE,KAAA,CAAM,UAAU,EAAE,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EAC7C,MAAA,EAAQA,EAAE,KAAA,CAAM,WAAW,EAAE,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS;AAAA;AAAA,EAEhD,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,eAAA,EAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAErC,OAAA,EAAS,aAAA,CAAc,QAAA,EAAS,CAAE,QAAA;AACpC,CAAC,CAAA;AAEM,IAAM,2BAAA,GAA8B;AAAA,EACzC,IAAA,EAAM,kCAAA;AAAA,EACN,WAAA,EACE,2XAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,2BAA2B,CAAA,EAAE;AAAA,MAC5D,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,WAAA,EAAa;AAAA,QACX,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EACE;AAAA,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uBAAA,EAAwB;AAAA,YAC7D,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA;AAAS,WAC9B;AAAA,UACA,QAAA,EAAU,CAAC,MAAA,EAAQ,UAAA,EAAY,WAAW;AAAA;AAC5C,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,OAAA;AAAA,QACN,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC5B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,uBAAA,EAAwB;AAAA,YAC7D,IAAA,EAAM;AAAA,cACJ,IAAA,EAAM,OAAA;AAAA,cACN,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,cACxB,WAAA,EAAa;AAAA,aACf;AAAA,YACA,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC7B,eAAA,EAAiB,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,OAAA,EAAS,OAAA,EAAS,KAAK,CAAA,EAAE;AAAA,YACnE,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,IAAI,CAAA,EAAE;AAAA,YACxD,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,IAAA,EAAM,WAAA,EAAa,SAAA,EAAW,MAAM,CAAA,EAAE;AAAA,YACtE,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC9B,UAAA,EAAY,EAAE,IAAA,EAAM,SAAA;AAAU,WAChC;AAAA,UACA,QAAA,EAAU,CAAC,WAAA,EAAa,OAAA,EAAS,SAAS,MAAM;AAAA;AAClD,OACF;AAAA,MACA,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC7B,eAAA,EAAiB,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAClC,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EACE,sKAAA;AAAA,QACF,UAAA,EAAY;AAAA,UACV,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC/B,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC7B,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC/B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACzB,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC/B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UAC3B,MAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS,EAAE;AAAA,UACnD,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS,EAAE;AAAA,UACjD,KAAA,EAAO;AAAA,YACL,IAAA,EAAM,OAAA;AAAA,YACN,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,QAAA;AAAA,cACN,UAAA,EAAY;AAAA,gBACV,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBAC5B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACxB,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA;AAAS,eAC5B;AAAA,cACA,QAAA,EAAU,CAAC,WAAA,EAAa,OAAA,EAAS,OAAO;AAAA;AAC1C,WACF;AAAA,UACA,KAAA,EAAO;AAAA,YACL,IAAA,EAAM,OAAA;AAAA,YACN,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,QAAA;AAAA,cACN,UAAA,EAAY;AAAA,gBACV,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBAC5B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,eAC1B;AAAA,cACA,QAAA,EAAU,CAAC,WAAA,EAAa,OAAA,EAAS,OAAO;AAAA;AAC1C;AACF;AACF;AACF,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAM;AAAA;AAErB,CAAA;AC/LO,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,eAAe,CAAA;AAAA,EAC/B,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,OAAO,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACrD,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC3B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,OAAO,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,QAAA;AAAS,KACtD;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,QAAA,EAAS;AAAA,EACZ,SAASA,CAAAA,CACN,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MACxB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,WAAA,EAAaA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,MAClC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC3B,MAAA,EAAQA,EACL,MAAA,CAAO;AAAA,QACN,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,QACd,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,QACd,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,QAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,OAC3B,EACA,QAAA;AAAS,KACb;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC,CAAA;AAAA,EACR,MAAA,EAAQA,EACL,MAAA,CAAO;AAAA,IACN,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC3B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC1B,EACA,QAAA,EAAS;AAAA,EACZ,QAAA,EAAUA,EACP,MAAA,CAAO;AAAA,IACN,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC5B,EACA,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EACE,wlBAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,eAAe,CAAA,EAAE;AAAA,MAChD,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,yCAAA,EAA0C;AAAA,MAC7E,aAAA,EAAe;AAAA,QACb,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,mDAAA,EAAoD;AAAA,MAC1F,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iDAAA,EAAkD;AAAA,MAC3F,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,mCAAA,EAAoC;AAAA,MAC3E,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,oCAAA,EAAqC;AAAA,MAC9E,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,2CAAA,EAA4C;AAAA,MACzF,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,IAAA,EAAM,CAAC,KAAA,EAAO,QAAA,EAAU,MAAM,CAAA;AAAA,QAC9B,WAAA,EAAa;AAAA,OACf;AAAA,MACA,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,QAAA,EAAU,CAAA;AAAA,QACV,WAAA,EAAa,kDAAA;AAAA,QACb,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,KAAA,EAAO,QAAA,EAAU,MAAM,CAAA;AAAE,WAC9D;AAAA,UACA,QAAA,EAAU,CAAC,OAAO;AAAA;AACpB,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,OAAA;AAAA,QACN,QAAA,EAAU,CAAA;AAAA,QACV,QAAA,EAAU,CAAA;AAAA,QACV,WAAA,EACE,oWAAA;AAAA,QACF,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,WAAA,EAAa,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,YAC/B,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,QAAA;AAAA,cACN,WAAA,EAAa;AAAA,aACf;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,QAAA;AAAA,cACN,WAAA,EAAa,6EAAA;AAAA,cACb,UAAA,EAAY;AAAA,gBACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACtB,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACtB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,kEAAA,EAAmE;AAAA,gBACxG,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,oEAAA;AAAqE,eAC5G;AAAA,cACA,QAAA,EAAU,CAAC,KAAA,EAAO,KAAK;AAAA;AACzB,WACF;AAAA,UACA,QAAA,EAAU,CAAC,OAAO;AAAA;AACpB,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa,yCAAA;AAAA,QACb,UAAA,EAAY;AAAA,UACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACxB,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA;AAAS;AACxB,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa,0CAAA;AAAA,QACb,UAAA,EAAY;AAAA,UACV,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,UACzB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,oEAAA;AAAqE,SAC7G;AAAA,QACA,QAAA,EAAU,CAAC,QAAQ;AAAA;AACrB,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAA,EAAS,YAAY,SAAS;AAAA;AAErD,CAAA;AC1IA,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EACvC,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,OAAO,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACrD,OAAOA,CAAAA,CACJ,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC3B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,OAAO,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,QAAA;AAAS,KACtD;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,QAAA,EAAS;AAAA,EACZ,SAASA,CAAAA,CACN,KAAA;AAAA,IACCA,EAAE,MAAA,CAAO;AAAA,MACP,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MACxB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,WAAA,EAAaA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,MAClC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC3B,MAAA,EAAQA,EACL,MAAA,CAAO;AAAA,QACN,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,QACd,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,QACd,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,QAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,OAC3B,EACA,QAAA;AAAS,KACb;AAAA,GACH,CACC,GAAA,CAAI,CAAC,CAAA,CACL,IAAI,CAAC,CAAA;AAAA,EACR,MAAA,EAAQA,EACL,MAAA,CAAO;AAAA,IACN,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC3B,GAAA,EAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC1B,EACA,QAAA;AACL,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsBA,EAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,gBAAgB,CAAA;AAAA,EAChC,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,KAAA,EAAOA,EAAE,KAAA,CAAM,uBAAuB,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EACrD,QAAA,EAAUA,EACP,MAAA,CAAO;AAAA,IACN,WAAWA,CAAAA,CAAE,KAAA;AAAA,MACXA,EAAE,MAAA,CAAO;AAAA,QACP,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,QACxB,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,QAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,QACjB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,OAC5B;AAAA;AACH,GACD,EACA,QAAA;AACL,CAAC,CAAA;AAED,IAAM,gBAAA,GAAmB;AAAA,EACvB,IAAA,EAAM,QAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACrB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,IACxB,WAAA,EAAa,EAAE,IAAA,EAAM,SAAA,EAAU;AAAA,IAC/B,KAAA,EAAO;AAAA,MACL,IAAA,EAAM,QAAA;AAAA,MACN,WAAA,EAAa;AAAA,KACf;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,QAAA;AAAA,MACN,WAAA,EAAa,4EAAA;AAAA,MACb,UAAA,EAAY;AAAA,QACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,QACtB,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,QACtB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,QACvB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6CAAA;AAA8C,OACrF;AAAA,MACA,QAAA,EAAU,CAAC,KAAA,EAAO,KAAK;AAAA;AACzB,GACF;AAAA,EACA,QAAA,EAAU,CAAC,OAAO;AACpB,CAAA;AAEO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,IAAA,EAAM,uBAAA;AAAA,EACN,WAAA,EACE,6iBAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,gBAAgB,CAAA,EAAE;AAAA,MACjD,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,yCAAA,EAA0C;AAAA,MAC7E,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,kCAAA,EAAmC;AAAA,MAC/E,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,6CAAA,EAA8C;AAAA,MAC3F,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,OAAA;AAAA,QACN,QAAA,EAAU,CAAA;AAAA,QACV,QAAA,EAAU,EAAA;AAAA,QACV,WAAA,EACE,+GAAA;AAAA,QACF,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACrB,aAAA,EAAe;AAAA,cACb,IAAA,EAAM,QAAA;AAAA,cACN,WAAA,EAAa;AAAA,aACf;AAAA,YACA,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACzB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC3B,YAAA,EAAc,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YAC/B,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,KAAA,EAAO,QAAA,EAAU,MAAM,CAAA,EAAE;AAAA,YAC5D,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,OAAA;AAAA,cACN,QAAA,EAAU,CAAA;AAAA,cACV,KAAA,EAAO;AAAA,gBACL,IAAA,EAAM,QAAA;AAAA,gBACN,UAAA,EAAY;AAAA,kBACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,kBACxB,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,KAAA,EAAO,QAAA,EAAU,MAAM,CAAA;AAAE,iBAC9D;AAAA,gBACA,QAAA,EAAU,CAAC,OAAO;AAAA;AACpB,aACF;AAAA,YACA,OAAA,EAAS;AAAA,cACP,IAAA,EAAM,OAAA;AAAA,cACN,QAAA,EAAU,CAAA;AAAA,cACV,QAAA,EAAU,CAAA;AAAA,cACV,KAAA,EAAO;AAAA,aACT;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,QAAA;AAAA,cACN,UAAA,EAAY,EAAE,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAG,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAE;AACnE,WACF;AAAA,UACA,QAAA,EAAU,CAAC,OAAA,EAAS,UAAA,EAAY,SAAS;AAAA;AAC3C,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa,0CAAA;AAAA,QACb,UAAA,EAAY;AAAA,UACV,SAAA,EAAW;AAAA,YACT,IAAA,EAAM,OAAA;AAAA,YACN,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,QAAA;AAAA,cACN,UAAA,EAAY;AAAA,gBACV,EAAA,EAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACrB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACxB,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,gBACzB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS,eAC1B;AAAA,cACA,QAAA,EAAU,CAAC,OAAA,EAAS,QAAQ;AAAA;AAC9B;AACF,SACF;AAAA,QACA,QAAA,EAAU,CAAC,WAAW;AAAA;AACxB,KACF;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAO;AAAA;AAE9B,CAAA;ACpLO,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,GAAA,EAAKA,EAAE,MAAA,EAAO;AAAA,EACd,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,KAAA,EAAOA,EAAE,IAAA,CAAK,CAAC,WAAW,WAAW,CAAC,EAAE,QAAA,EAAS;AAAA,EACjD,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAOA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACpC,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACtB,CAAC,CAAA;AAEM,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAA,EAAM,mBAAA;AAAA,EACN,WAAA,EACE,w6BAAA;AAAA,EACF,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,MAAM,EAAE,IAAA,EAAM,UAAU,IAAA,EAAM,CAAC,YAAY,CAAA,EAAE;AAAA,MAC7C,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACtB,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MACtB,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC5B,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,MAAM,CAAC,SAAA,EAAW,WAAW,CAAA,EAAE;AAAA,MACxD,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC3B,KAAA,EAAO,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,UAAS,EAAE;AAAA,MAClD,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,MAC9B,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA;AAAS,KAC5B;AAAA,IACA,QAAA,EAAU,CAAC,MAAA,EAAQ,KAAA,EAAO,KAAK;AAAA;AAEnC,CAAA;;;AC9BO,SAAS,kBACd,eAAA,EAC6D;AAC7D,EAAA,MAAM,QAAA,GAAW,eAAA,CACd,MAAA,CAAO,CAAC,SAAS,IAAA,IAAQ,cAAc,CAAA,CACvC,GAAA,CAAI,CAAC,IAAA,KAAS,cAAA,CAAe,IAAI,CAAA,CAAE,KAAK,YAAY,CAAA;AAEvD,EAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AACzB,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AAEA,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,WAAA;AAAA,IACN,WAAA,EACE,6SAAA;AAAA,IAKF,YAAA,EACE,QAAA,CAAS,MAAA,KAAW,CAAA,GAChB,QAAA,CAAS,CAAC,CAAA,GACV,EAAE,IAAA,EAAM,QAAA,EAAmB,KAAA,EAAO,QAAA;AAAS,GACnD;AACF;;;ACVO,SAAS,cAAiB,IAAA,EAAY;AAjB7C,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAkBE,EAAA,IAAI,CAAC,QAAQ,OAAO,IAAA,KAAS,YAAY,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG,OAAO,IAAA;AACrE,EAAA,MAAM,GAAA,GAAM,IAAA;AACZ,EAAA,MAAM,OAAO,GAAA,CAAI,IAAA;AACjB,EAAA,IAAI,OAAO,IAAA,KAAS,QAAA,IAAY,EAAE,IAAA,IAAQ,iBAAiB,OAAO,IAAA;AAElE,EAAA,MAAM,KAAA,GAAA,CACJ,gCAAe,IAAoB,CAAA,KAAnC,mBAGC,IAAA,KAHD,IAAA,GAAA,MAAA,GAAA,EAAA,CAGO,iBAHP,IAAA,GAAA,MAAA,GAAA,EAAA,CAGqB,UAAA;AACvB,EAAA,IAAI,CAAC,KAAA,IAAS,OAAO,KAAA,KAAU,UAAU,OAAO,IAAA;AAEhD,EAAA,IAAI,GAAA,GAAsC,IAAA;AAC1C,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,UAAU,KAAK,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,EAAG;AACrD,IAAA,MAAM,WAAW,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,IAAA;AAC7B,IAAA,IAAI,QAAA,KAAa,OAAA,IAAW,QAAA,KAAa,QAAA,EAAU;AACnD,IAAA,MAAM,KAAA,GAAQ,IAAI,GAAG,CAAA;AACrB,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC/B,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,IAAA,IAAI,CAAC,WAAY,OAAA,CAAQ,CAAC,MAAM,GAAA,IAAO,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAA,EAAM;AAC5D,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,OAAO,CAAA;AACjC,MAAA,MAAM,EAAA,GACJ,QAAA,KAAa,OAAA,GACT,KAAA,CAAM,QAAQ,MAAM,CAAA,GACpB,MAAA,KAAW,IAAA,IAAQ,OAAO,MAAA,KAAW,QAAA,IAAY,CAAC,KAAA,CAAM,QAAQ,MAAM,CAAA;AAC5E,MAAA,IAAI,EAAA,EAAI;AACN,QAAA,IAAI,CAAC,GAAA,EAAK,GAAA,GAAM,cAAA,CAAA,EAAA,EAAK,GAAA,CAAA;AACrB,QAAA,GAAA,CAAI,GAAG,CAAA,GAAI,MAAA;AAAA,MACb;AAAA,IACF,CAAA,CAAA,OAAQ,CAAA,EAAA;AAAA,IAER;AAAA,EACF;AACA,EAAA,OAAQ,GAAA,IAAA,IAAA,GAAA,GAAA,GAAO,IAAA;AACjB;;;AC7CO,SAAS,eAAA,CACd,YACA,IAAA,EACkB;AAClB,EAAA,IAAI,EAAE,cAAc,cAAA,CAAA,EAAiB;AACnC,IAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,CAAA,gBAAA,EAAmB,UAAU,CAAA,CAAA,EAAG;AAAA,EAClE;AAEA,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,cAAA,CAAe,UAA0B,CAAA;AAG5D,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,SAAA,CAAU,aAAA,CAAc,IAAI,CAAC,CAAA;AAEnD,EAAA,IAAI,OAAO,OAAA,EAAS;AAClB,IAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EAC5C;AAEA,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,KAAA;AAAA,IACT,OAAO,MAAA,CAAO,KAAA,CAAM,OACjB,GAAA,CAAI,CAAC,MAAM,CAAA,EAAG,CAAA,CAAE,KAAK,IAAA,CAAK,GAAG,CAAC,CAAA,EAAA,EAAK,CAAA,CAAE,OAAO,CAAA,CAAE,CAAA,CAC9C,KAAK,IAAI;AAAA,GACd;AACF;;;AC+BO,IAAM,cAAA,GAAiB;AAAA,EAC5B,YAAA,EAAc,EAAE,MAAA,EAAQ,eAAA,EAAiB,MAAM,aAAA,EAAc;AAAA,EAC7D,aAAA,EAAe,EAAE,MAAA,EAAQ,gBAAA,EAAkB,MAAM,cAAA,EAAe;AAAA,EAChE,OAAA,EAAS,EAAE,MAAA,EAAQ,WAAA,EAAa,MAAM,SAAA,EAAU;AAAA,EAChD,WAAA,EAAa,EAAE,MAAA,EAAQ,cAAA,EAAgB,MAAM,YAAA,EAAa;AAAA,EAC1D,YAAA,EAAc,EAAE,MAAA,EAAQ,eAAA,EAAiB,MAAM,aAAA,EAAc;AAAA,EAC7D,iBAAA,EAAmB,EAAE,MAAA,EAAQ,oBAAA,EAAsB,MAAM,kBAAA,EAAmB;AAAA,EAC5E,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,gBAAA,EAAkB,EAAE,MAAA,EAAQ,mBAAA,EAAqB,MAAM,iBAAA,EAAkB;AAAA,EACzE,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,WAAA,EAAa,EAAE,MAAA,EAAQ,cAAA,EAAgB,MAAM,YAAA,EAAa;AAAA,EAC1D,YAAA,EAAc,EAAE,MAAA,EAAQ,eAAA,EAAiB,MAAM,aAAA,EAAc;AAAA,EAC7D,kBAAA,EAAoB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAC/E,iBAAA,EAAmB,EAAE,MAAA,EAAQ,oBAAA,EAAsB,MAAM,kBAAA,EAAmB;AAAA,EAC5E,aAAA,EAAe,EAAE,MAAA,EAAQ,gBAAA,EAAkB,MAAM,cAAA,EAAe;AAAA,EAChE,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,cAAA,EAAgB,EAAE,MAAA,EAAQ,iBAAA,EAAmB,MAAM,eAAA,EAAgB;AAAA,EACnE,mBAAA,EAAqB,EAAE,MAAA,EAAQ,sBAAA,EAAwB,MAAM,oBAAA,EAAqB;AAAA,EAClF,mBAAA,EAAqB,EAAE,MAAA,EAAQ,sBAAA,EAAwB,MAAM,oBAAA,EAAqB;AAAA,EAClF,uBAAA,EAAyB,EAAE,MAAA,EAAQ,yBAAA,EAA2B,MAAM,uBAAA,EAAwB;AAAA,EAC5F,sBAAA,EAAwB,EAAE,MAAA,EAAQ,yBAAA,EAA2B,MAAM,uBAAA,EAAwB;AAAA,EAC3F,qBAAA,EAAuB,EAAE,MAAA,EAAQ,wBAAA,EAA0B,MAAM,sBAAA,EAAuB;AAAA,EACxF,aAAA,EAAe,EAAE,MAAA,EAAQ,gBAAA,EAAkB,MAAM,cAAA,EAAe;AAAA,EAChE,kBAAA,EAAoB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAC/E,kBAAA,EAAoB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAC/E,gBAAA,EAAkB,EAAE,MAAA,EAAQ,mBAAA,EAAqB,MAAM,iBAAA,EAAkB;AAAA,EACzE,mBAAA,EAAqB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAChF,qBAAA,EAAuB,EAAE,MAAA,EAAQ,wBAAA,EAA0B,MAAM,sBAAA,EAAuB;AAAA,EACxF,kBAAA,EAAoB,EAAE,MAAA,EAAQ,oBAAA,EAAsB,MAAM,kBAAA,EAAmB;AAAA,EAC7E,aAAA,EAAe,EAAE,MAAA,EAAQ,gBAAA,EAAkB,MAAM,cAAA,EAAe;AAAA,EAChE,cAAA,EAAgB,EAAE,MAAA,EAAQ,iBAAA,EAAmB,MAAM,eAAA,EAAgB;AAAA,EACnE,kBAAA,EAAoB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAC/E,cAAA,EAAgB,EAAE,MAAA,EAAQ,iBAAA,EAAmB,MAAM,eAAA,EAAgB;AAAA,EACnE,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,gBAAA,EAAkB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACvE,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,kBAAA,EAAoB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAC/E,qBAAA,EAAuB,EAAE,MAAA,EAAQ,uBAAA,EAAyB,MAAM,qBAAA,EAAsB;AAAA,EACtF,gBAAA,EAAkB,EAAE,MAAA,EAAQ,mBAAA,EAAqB,MAAM,iBAAA,EAAkB;AAAA,EACzE,mBAAA,EAAqB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAChF,gBAAA,EAAkB,EAAE,MAAA,EAAQ,mBAAA,EAAqB,MAAM,iBAAA,EAAkB;AAAA,EACzE,oBAAA,EAAsB,EAAE,MAAA,EAAQ,uBAAA,EAAyB,MAAM,qBAAA,EAAsB;AAAA,EACrF,uBAAA,EAAyB,EAAE,MAAA,EAAQ,0BAAA,EAA4B,MAAM,wBAAA,EAAyB;AAAA,EAC9F,iBAAA,EAAmB,EAAE,MAAA,EAAQ,oBAAA,EAAsB,MAAM,kBAAA,EAAmB;AAAA,EAC5E,YAAA,EAAc,EAAE,MAAA,EAAQ,eAAA,EAAiB,MAAM,aAAA,EAAc;AAAA,EAC7D,aAAA,EAAe,EAAE,MAAA,EAAQ,gBAAA,EAAkB,MAAM,cAAA,EAAe;AAAA,EAChE,aAAA,EAAe,EAAE,MAAA,EAAQ,gBAAA,EAAkB,MAAM,cAAA,EAAe;AAAA,EAChE,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,aAAA,EAAe,EAAE,MAAA,EAAQ,gBAAA,EAAkB,MAAM,cAAA,EAAe;AAAA,EAChE,cAAA,EAAgB,EAAE,MAAA,EAAQ,iBAAA,EAAmB,MAAM,eAAA,EAAgB;AAAA,EACnE,cAAA,EAAgB,EAAE,MAAA,EAAQ,iBAAA,EAAmB,MAAM,eAAA,EAAgB;AAAA,EACnE,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,qBAAA,EAAuB,EAAE,MAAA,EAAQ,wBAAA,EAA0B,MAAM,sBAAA,EAAuB;AAAA,EACxF,mBAAA,EAAqB,EAAE,MAAA,EAAQ,sBAAA,EAAwB,MAAM,oBAAA,EAAqB;AAAA,EAClF,kBAAA,EAAoB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAC/E,kBAAA,EAAoB,EAAE,MAAA,EAAQ,qBAAA,EAAuB,MAAM,mBAAA,EAAoB;AAAA,EAC/E,2BAAA,EAA6B,EAAE,MAAA,EAAQ,6BAAA,EAA+B,MAAM,2BAAA,EAA4B;AAAA,EACxG,eAAA,EAAiB,EAAE,MAAA,EAAQ,kBAAA,EAAoB,MAAM,gBAAA,EAAiB;AAAA,EACtE,gBAAA,EAAkB,EAAE,MAAA,EAAQ,mBAAA,EAAqB,MAAM,iBAAA,EAAkB;AAAA,EACzE,YAAA,EAAc,EAAE,MAAA,EAAQ,eAAA,EAAiB,MAAM,aAAA;AACjD","file":"index.js","sourcesContent":["import { z } from \"zod\";\n\nexport const dataTableSchema = z.object({\n type: z.literal(\"data-table\"),\n title: z.string().optional(),\n columns: z\n .array(\n z.object({\n key: z.string(),\n label: z.string(),\n align: z.enum([\"start\", \"center\", \"end\"]).default(\"start\"),\n })\n )\n .min(1)\n .max(10),\n rows: z\n .array(\n z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()]))\n )\n .max(100),\n pagination: z.boolean().default(false),\n});\n\nexport const dataTableTool = {\n name: \"render_data_table\",\n description: \"Render a structured data table with labeled columns and rows\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"data-table\"] },\n title: { type: \"string\" },\n columns: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n label: { type: \"string\" },\n align: { type: \"string\", enum: [\"start\", \"center\", \"end\"] },\n },\n required: [\"key\", \"label\"],\n },\n },\n rows: {\n type: \"array\",\n items: { type: \"object\", additionalProperties: true },\n },\n pagination: { type: \"boolean\" },\n },\n required: [\"type\", \"columns\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nconst variantMap: Record<string, string> = {\n outlined: \"bordered\", outline: \"bordered\", filled: \"solid\",\n solid: \"solid\", bordered: \"bordered\", light: \"light\", flat: \"flat\", ghost: \"ghost\",\n};\n\nconst colorMap: Record<string, string> = {\n default: \"default\", primary: \"primary\", secondary: \"secondary\",\n success: \"success\", warning: \"warning\", danger: \"danger\",\n error: \"danger\", info: \"primary\", neutral: \"default\",\n};\n\nconst validVariants = [\"solid\", \"bordered\", \"light\", \"flat\", \"ghost\"] as const;\nconst validColors = [\"default\", \"primary\", \"secondary\", \"success\", \"warning\", \"danger\"] as const;\n\nexport const statusCardSchema = z.object({\n type: z.literal(\"status-card\"),\n title: z.string(),\n subtitle: z.string().optional(),\n status: z\n .enum([\"default\", \"success\", \"warning\", \"danger\", \"primary\"])\n .default(\"default\"),\n fields: z\n .array(\n z.object({\n label: z.string(),\n value: z.string(),\n highlight: z.boolean().default(false),\n })\n )\n .max(12),\n actions: z\n .array(\n z.object({\n label: z.string(),\n variant: z\n .string()\n .transform((v) => (variantMap[v] ?? \"bordered\") as typeof validVariants[number])\n .default(\"bordered\"),\n color: z\n .string()\n .transform((v) => (colorMap[v] ?? \"default\") as typeof validColors[number])\n .default(\"default\"),\n })\n )\n .max(3)\n .optional(),\n});\n\nexport const statusCardTool = {\n name: \"render_status_card\",\n description: \"Render a card for a single entity — person, order, product, task\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"status-card\"] },\n title: { type: \"string\" },\n subtitle: { type: \"string\" },\n status: {\n type: \"string\",\n enum: [\"default\", \"success\", \"warning\", \"danger\", \"primary\"],\n },\n fields: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"string\" },\n highlight: { type: \"boolean\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n actions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n variant: { type: \"string\" },\n color: { type: \"string\" },\n },\n required: [\"label\"],\n },\n },\n },\n required: [\"type\", \"title\", \"fields\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const alertSchema = z.object({\n type: z.literal(\"alert\"),\n color: z.enum([\n \"default\",\n \"primary\",\n \"secondary\",\n \"success\",\n \"warning\",\n \"danger\",\n ]),\n title: z.string(),\n description: z.string().optional(),\n});\n\nexport const alertTool = {\n name: \"render_alert\",\n description: \"Render a short important message — success, warning, error, or info\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"alert\"] },\n color: {\n type: \"string\",\n enum: [\"default\", \"primary\", \"secondary\", \"success\", \"warning\", \"danger\"],\n },\n title: { type: \"string\" },\n description: { type: \"string\" },\n },\n required: [\"type\", \"color\", \"title\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const statGridSchema = z.object({\n type: z.literal(\"stat-grid\"),\n stats: z\n .array(\n z.object({\n label: z.string(),\n value: z.string(),\n change: z.string().optional(),\n changeType: z.enum([\"positive\", \"negative\", \"neutral\"]).optional(),\n description: z.string().optional(),\n })\n )\n .min(2)\n .max(4),\n});\n\nexport const statGridTool = {\n name: \"render_stat_grid\",\n description: \"Render 2–4 KPI metric cards side by side\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"stat-grid\"] },\n stats: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"string\" },\n change: { type: \"string\" },\n changeType: {\n type: \"string\",\n enum: [\"positive\", \"negative\", \"neutral\"],\n },\n description: { type: \"string\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n },\n required: [\"type\", \"stats\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const tabsPanelSchema = z.object({\n type: z.literal(\"tabs-panel\"),\n tabs: z\n .array(\n z.object({\n key: z.string(),\n label: z.string(),\n content: z.string(),\n })\n )\n .min(2)\n .max(6),\n});\n\nexport const tabsPanelTool = {\n name: \"render_tabs_panel\",\n description: \"Render multiple sections the user can switch between via tabs\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"tabs-panel\"] },\n tabs: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n label: { type: \"string\" },\n content: { type: \"string\" },\n },\n required: [\"key\", \"label\", \"content\"],\n },\n },\n },\n required: [\"type\", \"tabs\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const sparklineTableSchema = z.object({\n type: z.literal(\"sparkline-table\"),\n title: z.string().optional(),\n sparklineLabel: z.string().default(\"Trend\"),\n columns: z\n .array(z.object({ key: z.string(), label: z.string(), align: z.enum([\"start\", \"center\", \"end\"]).default(\"start\") }))\n .min(1)\n .max(12),\n rows: z\n .array(\n z.object({\n sparkline: z.array(z.number()).min(2).max(60),\n }).catchall(z.union([z.string(), z.number(), z.boolean(), z.null()]))\n )\n .max(50),\n});\n\nexport const sparklineTableTool = {\n name: \"render_sparkline_table\",\n description: \"Render a table where one column shows a 30-day sparkline trend per row — watchlist, holdings, options chain\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"sparkline-table\"] },\n title: { type: \"string\" },\n sparklineLabel: { type: \"string\" },\n columns: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { key: { type: \"string\" }, label: { type: \"string\" }, align: { type: \"string\", enum: [\"start\", \"center\", \"end\"] } },\n required: [\"key\", \"label\"],\n },\n },\n rows: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { sparkline: { type: \"array\", items: { type: \"number\" } } },\n required: [\"sparkline\"],\n additionalProperties: true,\n },\n },\n },\n required: [\"type\", \"columns\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nconst heatmapCellSchema = z.object({ value: z.string(), zScore: z.number() });\n\nexport const heatmapTableSchema = z.object({\n type: z.literal(\"heatmap-table\"),\n title: z.string().optional(),\n columns: z\n .array(z.object({ key: z.string(), label: z.string() }))\n .min(1)\n .max(12),\n rows: z\n .array(\n z.object({\n rowLabel: z.string(),\n cells: z.array(heatmapCellSchema),\n })\n )\n .max(30),\n});\n\nexport const heatmapTableTool = {\n name: \"render_heatmap_table\",\n description: \"Render a comparison table where cells are color-scaled by z-score — fund comparison, peer group, macro heatmap\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"heatmap-table\"] },\n title: { type: \"string\" },\n columns: {\n type: \"array\",\n items: { type: \"object\", properties: { key: { type: \"string\" }, label: { type: \"string\" } }, required: [\"key\", \"label\"] },\n },\n rows: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n rowLabel: { type: \"string\" },\n cells: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { value: { type: \"string\" }, zScore: { type: \"number\" } },\n required: [\"value\", \"zScore\"],\n },\n },\n },\n required: [\"rowLabel\", \"cells\"],\n },\n },\n },\n required: [\"type\", \"columns\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const screenerTableSchema = z.object({\n type: z.literal(\"screener-table\"),\n title: z.string().optional(),\n columns: z\n .array(\n z.object({\n key: z.string(),\n label: z.string(),\n align: z.enum([\"start\", \"center\", \"end\"]).default(\"start\"),\n meterKey: z.boolean().default(false),\n meterMax: z.number().optional(),\n })\n )\n .min(1)\n .max(10),\n rows: z\n .array(z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()])))\n .max(100),\n activeFilters: z.array(z.string()).default([]),\n});\n\nexport const screenerTableTool = {\n name: \"render_screener_table\",\n description: \"Render a sortable table with inline meter bars for scores/ratings — stock screener, fund search, bond filter\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"screener-table\"] },\n title: { type: \"string\" },\n columns: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n label: { type: \"string\" },\n align: { type: \"string\", enum: [\"start\", \"center\", \"end\"] },\n meterKey: { type: \"boolean\" },\n meterMax: { type: \"number\" },\n },\n required: [\"key\", \"label\"],\n },\n },\n rows: { type: \"array\", items: { type: \"object\", additionalProperties: true } },\n activeFilters: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"type\", \"columns\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nconst groupedRowSchema = z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()]));\n\nconst groupSchema: z.ZodType<{\n groupLabel: string;\n rows: Record<string, string | number | boolean | null>[];\n subGroups?: { groupLabel: string; rows: Record<string, string | number | boolean | null>[]; subGroups?: never[] }[];\n}> = z.object({\n groupLabel: z.string(),\n rows: z.array(groupedRowSchema).max(20),\n subGroups: z.array(z.object({ groupLabel: z.string(), rows: z.array(groupedRowSchema).max(20) })).optional(),\n});\n\nexport const groupedTableSchema = z.object({\n type: z.literal(\"grouped-table\"),\n title: z.string().optional(),\n columns: z\n .array(z.object({\n key: z.string(),\n label: z.string(),\n align: z.string().transform((v) => {\n const map: Record<string, string> = { left: \"start\", right: \"end\", start: \"start\", center: \"center\", end: \"end\" };\n return (map[v] ?? \"start\") as \"start\" | \"center\" | \"end\";\n }).default(\"start\"),\n }))\n .min(1)\n .max(10),\n groups: z.array(groupSchema).min(1).max(20),\n});\n\nexport const groupedTableTool = {\n name: \"render_grouped_table\",\n description: \"Render a table with collapsible row groups — portfolio hierarchy, sleeve breakdown, consolidated view\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"grouped-table\"] },\n title: { type: \"string\" },\n columns: {\n type: \"array\",\n items: { type: \"object\", properties: { key: { type: \"string\" }, label: { type: \"string\" }, align: { type: \"string\" } }, required: [\"key\", \"label\"] },\n },\n groups: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n groupLabel: { type: \"string\" },\n rows: { type: \"array\", items: { type: \"object\", additionalProperties: true } },\n subGroups: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n groupLabel: { type: \"string\" },\n rows: { type: \"array\", items: { type: \"object\", additionalProperties: true } },\n },\n required: [\"groupLabel\", \"rows\"],\n },\n },\n },\n required: [\"groupLabel\", \"rows\"],\n },\n },\n },\n required: [\"type\", \"columns\", \"groups\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const newsFeedSchema = z.object({\n type: z.literal(\"news-feed\"),\n title: z.string().optional(),\n items: z\n .array(\n z.object({\n headline: z.string(),\n source: z.string(),\n timestamp: z.string(),\n sentiment: z.enum([\"positive\", \"neutral\", \"negative\"]),\n summary: z.string().optional(),\n url: z.string().optional(),\n })\n )\n .min(1)\n .max(20),\n});\n\nexport const newsFeedTool = {\n name: \"render_news_feed\",\n description: \"Render a list of news items with AI sentiment chips — news, catalysts, sentiment, macro\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"news-feed\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n headline: { type: \"string\" },\n source: { type: \"string\" },\n timestamp: { type: \"string\" },\n sentiment: { type: \"string\", enum: [\"positive\", \"neutral\", \"negative\"] },\n summary: { type: \"string\" },\n url: { type: \"string\" },\n },\n required: [\"headline\", \"source\", \"timestamp\", \"sentiment\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const areaChartSchema = z.object({\n type: z.literal(\"area-chart\"),\n title: z.string().optional(),\n xKey: z.string(),\n series: z\n .array(z.object({ name: z.string(), dataKey: z.string(), color: z.string() }))\n .min(1)\n .max(4),\n data: z\n .array(z.record(z.string(), z.union([z.string(), z.number()])))\n .min(2)\n .max(500),\n});\n\nexport const areaChartTool = {\n name: \"render_area_chart\",\n description: \"Render a multi-series area chart for time series — cumulative return, benchmark comparison, drawdown\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"area-chart\"] },\n title: { type: \"string\" },\n xKey: { type: \"string\", description: \"The key in each data row used as the X-axis label (e.g. 'date')\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { name: { type: \"string\" }, dataKey: { type: \"string\" }, color: { type: \"string\", description: \"CSS color, e.g. #6366f1\" } },\n required: [\"name\", \"dataKey\", \"color\"],\n },\n },\n data: {\n type: \"array\",\n items: { type: \"object\", additionalProperties: true },\n description: \"Array of data rows. Each row must have xKey and all series dataKeys.\",\n },\n },\n required: [\"type\", \"xKey\", \"series\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const allocationDonutSchema = z.object({\n type: z.literal(\"allocation-donut\"),\n title: z.string().optional(),\n slices: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n color: z.string().optional(),\n benchmark: z.number().optional(),\n })\n )\n .min(2)\n .max(12),\n});\n\nexport const allocationDonutTool = {\n name: \"render_allocation_donut\",\n description: \"Render a donut chart with allocation breakdown table — portfolio, asset class, sector, geography\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"allocation-donut\"] },\n title: { type: \"string\" },\n slices: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\", description: \"Percentage 0-100\" },\n color: { type: \"string\", description: \"Optional CSS color\" },\n benchmark: { type: \"number\", description: \"Benchmark weight for over/underweight chip\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n },\n required: [\"type\", \"slices\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const waterfallChartSchema = z.object({\n type: z.literal(\"waterfall-chart\"),\n title: z.string().optional(),\n bars: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n isTotal: z.boolean().default(false),\n })\n )\n .min(2)\n .max(20),\n unit: z.string().default(\"%\"),\n});\n\nexport const waterfallChartTool = {\n name: \"render_waterfall_chart\",\n description: \"Render a waterfall bar chart showing contribution of each factor to total return — factor attribution, P&L attribution\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"waterfall-chart\"] },\n title: { type: \"string\" },\n bars: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\", description: \"Positive or negative contribution\" },\n isTotal: { type: \"boolean\", description: \"True for the total/net bar\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n unit: { type: \"string\", description: \"Unit label, e.g. '%' or 'bps'\" },\n },\n required: [\"type\", \"bars\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const flowCanvasSchema = z.object({\n type: z.literal(\"flow-canvas\"),\n // Stable identity. Re-send render_flow_canvas with the SAME id to update the\n // existing card in place (e.g. as pipeline stages progress) instead of adding a\n // new one.\n id: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n diagram: z.string().min(1),\n // Per-node run status, keyed by Mermaid node id OR its label. Drives the\n // pending/active/done/error styling + transition animation.\n node_states: z.record(z.string(), z.enum([\"pending\", \"active\", \"done\", \"error\"])).optional(),\n // Auto-animate the flow running (loops) — for live demos. No on-screen controls.\n autoplay: z.boolean().optional(),\n});\n\nexport const flowCanvasTool = {\n name: \"render_flow_canvas\",\n description: `Render a Mermaid diagram for user flows, workflows, system architecture, process maps, mind maps, ER diagrams, sequence diagrams, and any visual design artifact. Use when the user asks to visualize a process, flow, system, or diagram of any kind.`,\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"flow-canvas\"] },\n id: {\n type: \"string\",\n description:\n \"Stable id for this diagram. To UPDATE a previously shown flow (e.g. a pipeline as its stages progress), re-render with the SAME id and updated node_states — the existing card updates in place instead of a new one being added. Omit for one-off diagrams.\",\n },\n title: { type: \"string\", description: \"Diagram title, shown above the canvas\" },\n description: { type: \"string\", description: \"One-line description of what the diagram shows\" },\n node_states: {\n type: \"object\",\n description:\n \"Optional per-node run status, keyed by the Mermaid node id or its label, value one of 'pending' | 'active' | 'done' | 'error'. Drives stage coloring + a paint animation. Update these (with the same id) as the workflow progresses.\",\n additionalProperties: { type: \"string\", enum: [\"pending\", \"active\", \"done\", \"error\"] },\n },\n autoplay: {\n type: \"boolean\",\n description:\n \"When true, the flow auto-animates each node lighting up in sequence (loops) — use only to DEMO a workflow running when there is no real per-stage status to report.\",\n },\n diagram: {\n type: \"string\",\n description: `A valid Mermaid diagram string. Keep diagrams COMPACT — max 15 nodes, short labels (1-4 words each). No emojis anywhere.\n\nflowchart TD (top-down flows and processes):\n flowchart TD\n A([Start]) --> B[Step One]\n B --> C{Decision?}\n C -->|Yes| D[Path A]\n C -->|No| E[Path B]\n D --> F([End])\n E --> F\n\nflowchart LR (left-right pipelines):\n flowchart LR\n A[Input] --> B[Process] --> C[Output]\n\nsequenceDiagram (actor interactions):\n sequenceDiagram\n participant U as User\n participant S as Server\n U->>S: POST /login\n S-->>U: 200 OK\n\nerDiagram:\n erDiagram\n USER ||--o{ ORDER : places\n ORDER ||--|{ LINE_ITEM : contains\n\nclassDiagram:\n classDiagram\n Animal <|-- Dog\n Animal: +name string\n\nRULES — follow these exactly:\n- Max 15 nodes total. For complex topics, show the happy path only; omit edge cases\n- Labels: 1-4 words, no punctuation other than / or &\n- No emojis anywhere\n- No inline style directives (style A fill:#...)\n- Prefer TD for flows, LR for pipelines, sequence for interactions\n- Use subgraph only when 2+ clear groups exist; max 2 subgraphs\n- Do NOT wrap output in \\`\\`\\`mermaid fences`,\n },\n },\n required: [\"type\", \"diagram\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const trialBalanceSchema = z.object({\n type: z.literal(\"trial-balance\"),\n title: z.string().optional(),\n asOfDate: z.string().optional(),\n currency: z.string().default(\"USD\"),\n groups: z\n .array(\n z.object({\n category: z.enum([\"assets\", \"liabilities\", \"equity\", \"revenue\", \"expenses\", \"other\"]),\n accounts: z\n .array(\n z.object({\n code: z.string(),\n name: z.string(),\n debit: z.number().min(0).default(0),\n credit: z.number().min(0).default(0),\n })\n )\n .min(1)\n .max(30),\n })\n )\n .min(1)\n .max(6),\n});\n\nexport const trialBalanceTool = {\n name: \"render_trial_balance\",\n description:\n \"Render a debit/credit trial balance grouped by account category — chart of accounts, balance verification\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"trial-balance\"] },\n title: { type: \"string\" },\n asOfDate: { type: \"string\", description: \"As-of date for the balance\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n groups: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n category: {\n type: \"string\",\n enum: [\"assets\", \"liabilities\", \"equity\", \"revenue\", \"expenses\", \"other\"],\n },\n accounts: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n code: { type: \"string\" },\n name: { type: \"string\" },\n debit: { type: \"number\", minimum: 0 },\n credit: { type: \"number\", minimum: 0 },\n },\n required: [\"code\", \"name\"],\n },\n },\n },\n required: [\"category\", \"accounts\"],\n },\n },\n },\n required: [\"type\", \"groups\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const journalEntrySchema = z.object({\n type: z.literal(\"journal-entry\"),\n title: z.string().optional(),\n entries: z\n .array(\n z.object({\n entryId: z.string(),\n date: z.string(),\n memo: z.string().optional(),\n status: z.enum([\"draft\", \"posted\", \"reversed\", \"pending-approval\"]).default(\"posted\"),\n lines: z\n .array(\n z.object({\n account: z.string(),\n description: z.string().optional(),\n debit: z.number().min(0).default(0),\n credit: z.number().min(0).default(0),\n })\n )\n .min(2)\n .max(20),\n })\n )\n .min(1)\n .max(10),\n currency: z.string().default(\"USD\"),\n});\n\nexport const journalEntryTool = {\n name: \"render_journal_entry\",\n description:\n \"Render journal entries with debit/credit lines — transactions, adjusting entries, postings\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"journal-entry\"] },\n title: { type: \"string\" },\n entries: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n entryId: { type: \"string\" },\n date: { type: \"string\", description: \"ISO date\" },\n memo: { type: \"string\" },\n status: { type: \"string\", enum: [\"draft\", \"posted\", \"reversed\", \"pending-approval\"] },\n lines: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n account: { type: \"string\" },\n description: { type: \"string\" },\n debit: { type: \"number\", minimum: 0 },\n credit: { type: \"number\", minimum: 0 },\n },\n required: [\"account\"],\n },\n },\n },\n required: [\"entryId\", \"date\", \"lines\"],\n },\n },\n currency: { type: \"string\" },\n },\n required: [\"type\", \"entries\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const agingReportSchema = z.object({\n type: z.literal(\"aging-report\"),\n title: z.string().optional(),\n reportType: z.enum([\"receivable\", \"payable\"]).default(\"receivable\"),\n asOfDate: z.string().optional(),\n currency: z.string().default(\"USD\"),\n buckets: z.array(z.string()).min(2).max(7),\n entities: z\n .array(\n z.object({\n name: z.string(),\n amounts: z.array(z.number()).min(2).max(7),\n total: z.number(),\n })\n )\n .min(1)\n .max(50),\n});\n\nexport const agingReportTool = {\n name: \"render_aging_report\",\n description:\n \"Render an AR/AP aging report with time buckets — overdue invoices, collections, payables aging\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"aging-report\"] },\n title: { type: \"string\" },\n reportType: { type: \"string\", enum: [\"receivable\", \"payable\"] },\n asOfDate: { type: \"string\" },\n currency: { type: \"string\" },\n buckets: {\n type: \"array\",\n items: { type: \"string\" },\n description: \"Aging bucket labels, e.g. ['Current','1-30','31-60','61-90','90+']\",\n },\n entities: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n amounts: { type: \"array\", items: { type: \"number\" }, description: \"One amount per bucket\" },\n total: { type: \"number\" },\n },\n required: [\"name\", \"amounts\", \"total\"],\n },\n },\n },\n required: [\"type\", \"buckets\", \"entities\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const varianceAnalysisSchema = z.object({\n type: z.literal(\"variance-analysis\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n period: z.string().optional(),\n rows: z\n .array(\n z.object({\n lineItem: z.string(),\n budget: z.number(),\n actual: z.number(),\n isSubtotal: z.boolean().default(false),\n indent: z.number().min(0).max(3).default(0),\n })\n )\n .min(1)\n .max(50),\n favorableDirection: z.enum([\"higher\", \"lower\"]).default(\"higher\"),\n});\n\nexport const varianceAnalysisTool = {\n name: \"render_variance_analysis\",\n description:\n \"Render a budget vs actual table with variance columns — cost analysis, performance vs target\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"variance-analysis\"] },\n title: { type: \"string\" },\n currency: { type: \"string\" },\n period: { type: \"string\" },\n rows: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n lineItem: { type: \"string\" },\n budget: { type: \"number\" },\n actual: { type: \"number\" },\n isSubtotal: { type: \"boolean\" },\n indent: { type: \"number\", minimum: 0, maximum: 3 },\n },\n required: [\"lineItem\", \"budget\", \"actual\"],\n },\n },\n favorableDirection: {\n type: \"string\",\n enum: [\"higher\", \"lower\"],\n description: \"Whether higher actual is favorable (revenue) or unfavorable (cost)\",\n },\n },\n required: [\"type\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const stackedBreakdownSchema = z.object({\n type: z.literal(\"stacked-breakdown\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n periods: z.array(z.string()).min(1).max(12),\n categories: z\n .array(\n z.object({\n name: z.string(),\n color: z.string().optional(),\n values: z.array(z.number()).min(1).max(12),\n })\n )\n .min(1)\n .max(8),\n totals: z.array(z.number()).optional(),\n});\n\nexport const stackedBreakdownTool = {\n name: \"render_stacked_breakdown\",\n description:\n \"Render a stacked bar chart with category breakdown across periods — cost breakdown, revenue by segment, liability composition, budget allocation\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"stacked-breakdown\"] },\n title: { type: \"string\" },\n currency: { type: \"string\" },\n periods: {\n type: \"array\",\n items: { type: \"string\" },\n description: \"Period labels, e.g. ['Q1 2024','Q2 2024']\",\n },\n categories: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n color: { type: \"string\" },\n values: { type: \"array\", items: { type: \"number\" }, description: \"One value per period\" },\n },\n required: [\"name\", \"values\"],\n },\n },\n totals: { type: \"array\", items: { type: \"number\" }, description: \"Optional pre-computed totals per period\" },\n },\n required: [\"type\", \"periods\", \"categories\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const comparativeBarChartSchema = z.object({\n type: z.literal(\"comparative-bar-chart\"),\n title: z.string().optional(),\n mode: z.enum([\"grouped\", \"stacked\"]).default(\"grouped\"),\n orientation: z.enum([\"vertical\", \"horizontal\"]).default(\"vertical\"),\n xKey: z.string(),\n series: z\n .array(\n z.object({\n name: z.string(),\n dataKey: z.string(),\n color: z.string().optional(),\n })\n )\n .min(1)\n .max(6),\n data: z.array(z.record(z.string(), z.union([z.string(), z.number()]))).min(1).max(24),\n unit: z.string().default(\"\"),\n showValues: z.boolean().default(false),\n});\n\nexport const comparativeBarChartTool = {\n name: \"render_comparative_bar_chart\",\n description:\n \"Render a grouped or stacked bar chart for comparisons — period-over-period, multi-entity benchmarks\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"comparative-bar-chart\"] },\n title: { type: \"string\" },\n mode: { type: \"string\", enum: [\"grouped\", \"stacked\"] },\n orientation: { type: \"string\", enum: [\"vertical\", \"horizontal\"] },\n xKey: { type: \"string\", description: \"Key in data objects for x-axis labels\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n data: { type: \"array\", items: { type: \"object\", additionalProperties: true } },\n unit: { type: \"string\" },\n showValues: { type: \"boolean\" },\n },\n required: [\"type\", \"xKey\", \"series\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const complianceChecklistSchema = z.object({\n type: z.literal(\"compliance-checklist\"),\n title: z.string().optional(),\n sections: z\n .array(\n z.object({\n sectionTitle: z.string(),\n items: z\n .array(\n z.object({\n id: z.string(),\n description: z.string(),\n status: z.enum([\"completed\", \"in-progress\", \"not-started\", \"overdue\", \"blocked\", \"na\"]),\n dueDate: z.string().optional(),\n assignee: z.string().optional(),\n notes: z.string().optional(),\n priority: z.enum([\"critical\", \"high\", \"medium\", \"low\"]).default(\"medium\"),\n })\n )\n .min(1)\n .max(25),\n })\n )\n .min(1)\n .max(10),\n});\n\nexport const complianceChecklistTool = {\n name: \"render_compliance_checklist\",\n description:\n \"Render a regulatory checklist with status tracking — audit checklist, SOX, filing deadlines\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"compliance-checklist\"] },\n title: { type: \"string\" },\n sections: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n sectionTitle: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n description: { type: \"string\" },\n status: {\n type: \"string\",\n enum: [\"completed\", \"in-progress\", \"not-started\", \"overdue\", \"blocked\", \"na\"],\n },\n dueDate: { type: \"string\" },\n assignee: { type: \"string\" },\n notes: { type: \"string\" },\n priority: { type: \"string\", enum: [\"critical\", \"high\", \"medium\", \"low\"] },\n },\n required: [\"id\", \"description\", \"status\"],\n },\n },\n },\n required: [\"sectionTitle\", \"items\"],\n },\n },\n },\n required: [\"type\", \"sections\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const reconciliationViewSchema = z.object({\n type: z.literal(\"reconciliation-view\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n sourceA: z.object({ label: z.string() }),\n sourceB: z.object({ label: z.string() }),\n matched: z\n .array(\n z.object({\n date: z.string(),\n description: z.string(),\n amountA: z.number(),\n amountB: z.number(),\n reference: z.string().optional(),\n })\n )\n .max(50)\n .default([]),\n unmatchedA: z\n .array(\n z.object({\n date: z.string(),\n description: z.string(),\n amount: z.number(),\n reference: z.string().optional(),\n })\n )\n .max(30)\n .default([]),\n unmatchedB: z\n .array(\n z.object({\n date: z.string(),\n description: z.string(),\n amount: z.number(),\n reference: z.string().optional(),\n })\n )\n .max(30)\n .default([]),\n summary: z\n .object({\n balanceA: z.number(),\n balanceB: z.number(),\n difference: z.number(),\n })\n .optional(),\n});\n\nexport const reconciliationViewTool = {\n name: \"render_reconciliation_view\",\n description:\n \"Render a side-by-side reconciliation of two sources — bank recon, intercompany matching\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"reconciliation-view\"] },\n title: { type: \"string\" },\n currency: { type: \"string\" },\n sourceA: {\n type: \"object\",\n properties: { label: { type: \"string\" } },\n required: [\"label\"],\n },\n sourceB: {\n type: \"object\",\n properties: { label: { type: \"string\" } },\n required: [\"label\"],\n },\n matched: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n description: { type: \"string\" },\n amountA: { type: \"number\" },\n amountB: { type: \"number\" },\n reference: { type: \"string\" },\n },\n required: [\"date\", \"description\", \"amountA\", \"amountB\"],\n },\n },\n unmatchedA: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n description: { type: \"string\" },\n amount: { type: \"number\" },\n reference: { type: \"string\" },\n },\n required: [\"date\", \"description\", \"amount\"],\n },\n },\n unmatchedB: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n description: { type: \"string\" },\n amount: { type: \"number\" },\n reference: { type: \"string\" },\n },\n required: [\"date\", \"description\", \"amount\"],\n },\n },\n summary: {\n type: \"object\",\n properties: {\n balanceA: { type: \"number\" },\n balanceB: { type: \"number\" },\n difference: { type: \"number\" },\n },\n required: [\"balanceA\", \"balanceB\", \"difference\"],\n },\n },\n required: [\"type\", \"sourceA\", \"sourceB\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const auditTrailSchema = z.object({\n type: z.literal(\"audit-trail\"),\n title: z.string().optional(),\n entityName: z.string().optional(),\n events: z\n .array(\n z.object({\n timestamp: z.string(),\n actor: z.string(),\n action: z.enum([\n \"created\",\n \"modified\",\n \"approved\",\n \"rejected\",\n \"deleted\",\n \"restored\",\n \"submitted\",\n \"commented\",\n ]),\n summary: z.string(),\n changes: z\n .array(\n z.object({\n field: z.string(),\n oldValue: z.string().optional(),\n newValue: z.string().optional(),\n })\n )\n .max(10)\n .optional(),\n })\n )\n .min(1)\n .max(50),\n});\n\nexport const auditTrailTool = {\n name: \"render_audit_trail\",\n description:\n \"Render a chronological change log with diffs — revision history, modification tracking\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"audit-trail\"] },\n title: { type: \"string\" },\n entityName: { type: \"string\" },\n events: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n timestamp: { type: \"string\", description: \"ISO datetime\" },\n actor: { type: \"string\" },\n action: {\n type: \"string\",\n enum: [\"created\", \"modified\", \"approved\", \"rejected\", \"deleted\", \"restored\", \"submitted\", \"commented\"],\n },\n summary: { type: \"string\" },\n changes: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field: { type: \"string\" },\n oldValue: { type: \"string\" },\n newValue: { type: \"string\" },\n },\n required: [\"field\"],\n },\n },\n },\n required: [\"timestamp\", \"actor\", \"action\", \"summary\"],\n },\n },\n },\n required: [\"type\", \"events\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const documentPreviewSchema = z.object({\n type: z.literal(\"document-preview\"),\n title: z.string().optional(),\n documentType: z.enum([\"pdf\", \"excel\"]),\n source: z.object({\n url: z.string().optional(),\n base64: z.string().optional(),\n filename: z.string(),\n }),\n pages: z\n .array(\n z.object({\n label: z.string(),\n content: z.string().optional(),\n imageUrl: z.string().optional(),\n })\n )\n .min(1)\n .max(100),\n metadata: z\n .object({\n pageCount: z.number().optional(),\n fileSize: z.string().optional(),\n lastModified: z.string().optional(),\n })\n .optional(),\n highlights: z\n .array(\n z.object({\n pageIndex: z.number(),\n text: z.string(),\n color: z.enum([\"yellow\", \"red\", \"green\", \"blue\"]).default(\"yellow\"),\n note: z.string().optional(),\n })\n )\n .max(50)\n .optional(),\n});\n\nexport const documentPreviewTool = {\n name: \"render_document_preview\",\n description:\n \"Render a read-only document viewer for PDF/Excel — tax returns, financial statements, supporting docs. Demo files available: source.url='/demos/sample-tax-return.pdf' (3-page Q4 2024 tax return) and source.url='/demos/sample-budget.xlsx' (3-sheet Q4 2024 budget). When using a demo file, set source.url and provide pages with labels for fallback.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"document-preview\"] },\n title: { type: \"string\" },\n documentType: { type: \"string\", enum: [\"pdf\", \"excel\"] },\n source: {\n type: \"object\",\n properties: {\n url: { type: \"string\" },\n base64: { type: \"string\" },\n filename: { type: \"string\" },\n },\n required: [\"filename\"],\n },\n pages: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n content: { type: \"string\", description: \"Text content for accessibility\" },\n imageUrl: { type: \"string\", description: \"Pre-rendered page image URL\" },\n },\n required: [\"label\"],\n },\n },\n metadata: {\n type: \"object\",\n properties: {\n pageCount: { type: \"number\" },\n fileSize: { type: \"string\" },\n lastModified: { type: \"string\" },\n },\n },\n highlights: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n pageIndex: { type: \"number\" },\n text: { type: \"string\" },\n color: { type: \"string\", enum: [\"yellow\", \"red\", \"green\", \"blue\"] },\n note: { type: \"string\" },\n },\n required: [\"pageIndex\", \"text\"],\n },\n },\n },\n required: [\"type\", \"documentType\", \"source\", \"pages\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const provenanceChainSchema = z.object({\n type: z.literal(\"provenance-chain\"),\n title: z.string().optional(),\n entity: z.object({\n name: z.string(),\n type: z.string(),\n value: z.string(),\n }),\n steps: z\n .array(\n z.object({\n stepType: z.enum([\"source\", \"extraction\", \"rag-query\", \"reasoning\", \"computation\"]),\n label: z.string(),\n detail: z.string(),\n source: z.string().optional(),\n location: z.string().optional(),\n confidence: z.number().min(0).max(1).optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n })\n )\n .min(1)\n .max(20),\n conclusion: z.object({\n value: z.string(),\n confidence: z.number().min(0).max(1),\n status: z.enum([\"qualified\", \"partially-qualified\", \"not-qualified\"]),\n }),\n});\n\nexport const provenanceChainTool = {\n name: \"render_provenance_chain\",\n description:\n \"Render a provenance chain showing how a data value was derived — source documents, extractions, reasoning steps, confidence scores. Use for employee qualification traces, data lineage, audit provenance.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"provenance-chain\"] },\n title: { type: \"string\" },\n entity: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n type: { type: \"string\" },\n value: { type: \"string\" },\n },\n required: [\"name\", \"type\", \"value\"],\n },\n steps: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n stepType: {\n type: \"string\",\n enum: [\"source\", \"extraction\", \"rag-query\", \"reasoning\", \"computation\"],\n },\n label: { type: \"string\" },\n detail: { type: \"string\" },\n source: { type: \"string\" },\n location: { type: \"string\" },\n confidence: { type: \"number\", minimum: 0, maximum: 1 },\n metadata: {\n type: \"object\",\n additionalProperties: { type: \"string\" },\n },\n },\n required: [\"stepType\", \"label\", \"detail\"],\n },\n },\n conclusion: {\n type: \"object\",\n properties: {\n value: { type: \"string\" },\n confidence: { type: \"number\", minimum: 0, maximum: 1 },\n status: {\n type: \"string\",\n enum: [\"qualified\", \"partially-qualified\", \"not-qualified\"],\n },\n },\n required: [\"value\", \"confidence\", \"status\"],\n },\n },\n required: [\"type\", \"entity\", \"steps\", \"conclusion\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const searchResultsSchema = z.object({\n type: z.literal(\"search-results\"),\n title: z.string().optional(),\n query: z.string(),\n totalResults: z.number(),\n results: z.array(z.object({\n title: z.string(),\n source: z.string(),\n sourceType: z.enum([\"tech-memo\", \"questionnaire\", \"contract\", \"workpaper\", \"regulation\", \"other\"]).optional(),\n relevance: z.number().min(0).max(1),\n snippet: z.string(),\n highlights: z.array(z.string()).optional(),\n location: z.string().optional(),\n url: z.string().optional(),\n })).min(1).max(20),\n});\n\nexport const searchResultsTool = {\n name: \"render_search_results\",\n description:\n \"Render ranked search results with relevance scores, source attribution, and content snippets — document search, regulatory search, knowledge base queries.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"search-results\"] },\n title: { type: \"string\" },\n query: { type: \"string\" },\n totalResults: { type: \"number\" },\n results: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n title: { type: \"string\" },\n source: { type: \"string\" },\n sourceType: {\n type: \"string\",\n enum: [\"tech-memo\", \"questionnaire\", \"contract\", \"workpaper\", \"regulation\", \"other\"],\n },\n relevance: { type: \"number\", minimum: 0, maximum: 1 },\n snippet: { type: \"string\" },\n highlights: { type: \"array\", items: { type: \"string\" } },\n location: { type: \"string\" },\n url: { type: \"string\" },\n },\n required: [\"title\", \"source\", \"relevance\", \"snippet\"],\n },\n },\n },\n required: [\"type\", \"query\", \"totalResults\", \"results\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const legalTestResultSchema = z.object({\n type: z.literal(\"legal-test-result\"),\n title: z.string().optional(),\n citation: z.string().optional(),\n overallResult: z.enum([\"pass\", \"fail\", \"inconclusive\", \"partial\"]),\n overallNarrative: z.string().optional(),\n parts: z\n .array(\n z.object({\n partLabel: z.string(),\n result: z.enum([\"pass\", \"fail\", \"inconclusive\", \"na\"]),\n narrative: z.string(),\n subRequirements: z\n .array(\n z.object({\n label: z.string(),\n result: z.enum([\"pass\", \"fail\", \"inconclusive\", \"na\"]),\n detail: z.string().optional(),\n threshold: z.string().optional(),\n evidence: z.string().optional(),\n })\n )\n .max(10)\n .optional(),\n examples: z\n .array(\n z.object({\n scenario: z.string(),\n qualifies: z.boolean(),\n explanation: z.string(),\n })\n )\n .max(6)\n .optional(),\n })\n )\n .min(1)\n .max(8),\n});\n\nexport const legalTestResultTool = {\n name: \"render_legal_test_result\",\n description:\n \"Render a hierarchical legal test result — IRC 41 four-part test, funded-research exclusion two-prong test, regulatory compliance determinations with pass/fail at each level, narrative reasoning, and evidence.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"legal-test-result\"] },\n title: { type: \"string\" },\n citation: { type: \"string\" },\n overallResult: {\n type: \"string\",\n enum: [\"pass\", \"fail\", \"inconclusive\", \"partial\"],\n },\n overallNarrative: { type: \"string\" },\n parts: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n partLabel: { type: \"string\" },\n result: {\n type: \"string\",\n enum: [\"pass\", \"fail\", \"inconclusive\", \"na\"],\n },\n narrative: { type: \"string\" },\n subRequirements: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n result: {\n type: \"string\",\n enum: [\"pass\", \"fail\", \"inconclusive\", \"na\"],\n },\n detail: { type: \"string\" },\n threshold: { type: \"string\" },\n evidence: { type: \"string\" },\n },\n required: [\"label\", \"result\"],\n },\n },\n examples: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n scenario: { type: \"string\" },\n qualifies: { type: \"boolean\" },\n explanation: { type: \"string\" },\n },\n required: [\"scenario\", \"qualifies\", \"explanation\"],\n },\n },\n },\n required: [\"partLabel\", \"result\", \"narrative\"],\n },\n },\n },\n required: [\"type\", \"overallResult\", \"parts\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const engagementPipelineSchema = z.object({\n type: z.literal(\"engagement-pipeline\"),\n title: z.string().optional(),\n clientName: z.string(),\n taxYear: z.string(),\n currentPhase: z.string(),\n phases: z\n .array(\n z.object({\n label: z.string(),\n status: z.enum([\"completed\", \"in-progress\", \"pending\", \"blocked\"]),\n completedDate: z.string().optional(),\n progress: z.number().min(0).max(100).optional(),\n milestones: z\n .array(\n z.object({\n label: z.string(),\n completed: z.boolean(),\n note: z.string().optional(),\n })\n )\n .max(10)\n .optional(),\n blockers: z.array(z.string()).max(5).optional(),\n })\n )\n .min(2)\n .max(8),\n summary: z\n .object({\n totalCredit: z.string().optional(),\n daysRemaining: z.number().optional(),\n lastActivity: z.string().optional(),\n })\n .optional(),\n});\n\nexport const engagementPipelineTool = {\n name: \"render_engagement_pipeline\",\n description:\n \"Render a multi-phase engagement pipeline with progress tracking — client engagement status, tax year progress, sequential workflow phases with milestones and blockers.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"engagement-pipeline\"] },\n title: { type: \"string\" },\n clientName: { type: \"string\" },\n taxYear: { type: \"string\" },\n currentPhase: { type: \"string\" },\n phases: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n status: {\n type: \"string\",\n enum: [\"completed\", \"in-progress\", \"pending\", \"blocked\"],\n },\n completedDate: { type: \"string\" },\n progress: { type: \"number\", minimum: 0, maximum: 100 },\n milestones: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n completed: { type: \"boolean\" },\n note: { type: \"string\" },\n },\n required: [\"label\", \"completed\"],\n },\n },\n blockers: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"label\", \"status\"],\n },\n },\n summary: {\n type: \"object\",\n properties: {\n totalCredit: { type: \"string\" },\n daysRemaining: { type: \"number\" },\n lastActivity: { type: \"string\" },\n },\n },\n },\n required: [\"type\", \"clientName\", \"taxYear\", \"currentPhase\", \"phases\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const entityCardGridSchema = z.object({\n type: z.literal(\"entity-card-grid\"),\n title: z.string().optional(),\n columns: z.union([z.literal(2), z.literal(3), z.literal(4)]).default(3),\n items: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n subtitle: z.string().optional(),\n avatar: z.string().optional(),\n badges: z\n .array(\n z.object({\n label: z.string(),\n color: z\n .enum([\"green\", \"red\", \"amber\", \"blue\", \"purple\", \"gray\"])\n .default(\"gray\"),\n })\n )\n .optional(),\n fields: z\n .array(z.object({ label: z.string(), value: z.string() }))\n .max(6)\n .optional(),\n })\n )\n .min(1)\n .max(24),\n});\n\nexport const entityCardGridTool = {\n name: \"render_entity_card_grid\",\n description:\n \"Render a grid of entity cards for browsing collections — clients, contacts, products, teams, resources\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"entity-card-grid\"] },\n title: { type: \"string\" },\n columns: { type: \"number\", enum: [2, 3, 4] },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n name: { type: \"string\" },\n subtitle: { type: \"string\" },\n avatar: { type: \"string\" },\n badges: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n color: {\n type: \"string\",\n enum: [\"green\", \"red\", \"amber\", \"blue\", \"purple\", \"gray\"],\n },\n },\n required: [\"label\"],\n },\n },\n fields: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"string\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n },\n required: [\"id\", \"name\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const jobTrackerSchema = z.object({\n type: z.literal(\"job-tracker\"),\n title: z.string().optional(),\n jobId: z.string(),\n status: z.enum([\"queued\", \"running\", \"completed\", \"failed\", \"cancelled\"]),\n progress: z.number().min(0).max(100).optional(),\n startedAt: z.string().optional(),\n completedAt: z.string().optional(),\n steps: z.array(z.object({\n label: z.string(),\n status: z.enum([\"pending\", \"running\", \"completed\", \"failed\", \"skipped\"]),\n duration: z.string().optional(),\n })).optional(),\n result: z.object({\n summary: z.string(),\n data: z.record(z.string(), z.unknown()).optional(),\n }).optional(),\n error: z.object({\n message: z.string(),\n code: z.string().optional(),\n }).optional(),\n});\n\nexport const jobTrackerTool = {\n name: \"render_job_tracker\",\n description: \"Render a job or task status tracker with progress bar, steps, and result — for async operations, builds, imports, exports\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"job-tracker\"] },\n title: { type: \"string\" },\n jobId: { type: \"string\" },\n status: { type: \"string\", enum: [\"queued\", \"running\", \"completed\", \"failed\", \"cancelled\"] },\n progress: { type: \"number\", minimum: 0, maximum: 100 },\n startedAt: { type: \"string\" },\n completedAt: { type: \"string\" },\n steps: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n status: { type: \"string\", enum: [\"pending\", \"running\", \"completed\", \"failed\", \"skipped\"] },\n duration: { type: \"string\" },\n },\n required: [\"label\", \"status\"],\n },\n },\n result: {\n type: \"object\",\n properties: {\n summary: { type: \"string\" },\n data: { type: \"object\" },\n },\n required: [\"summary\"],\n },\n error: {\n type: \"object\",\n properties: {\n message: { type: \"string\" },\n code: { type: \"string\" },\n },\n required: [\"message\"],\n },\n },\n required: [\"type\", \"jobId\", \"status\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const citedAnswerSchema = z.object({\n type: z.literal(\"cited-answer\"),\n title: z.string().optional(),\n answer: z.string(),\n citations: z.array(z.object({\n id: z.string(),\n label: z.string(),\n source: z.string(),\n sourceType: z.string().optional(),\n snippet: z.string(),\n url: z.string().optional(),\n confidence: z.number().min(0).max(1).optional(),\n })).min(1).max(20),\n followUps: z.array(z.string()).max(5).optional(),\n});\n\nexport const citedAnswerTool = {\n name: \"render_cited_answer\",\n description: \"Render an AI-synthesized answer with inline numbered citations linking to source documents — for RAG answers, research synthesis, document Q&A\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"cited-answer\"] },\n title: { type: \"string\" },\n answer: { type: \"string\", description: \"Answer text with [n] citation markers\" },\n citations: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n label: { type: \"string\" },\n source: { type: \"string\" },\n sourceType: { type: \"string\" },\n snippet: { type: \"string\" },\n url: { type: \"string\" },\n confidence: { type: \"number\", minimum: 0, maximum: 1 },\n },\n required: [\"id\", \"label\", \"source\", \"snippet\"],\n },\n },\n followUps: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"type\", \"answer\", \"citations\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const transactionFeedSchema = z.object({\n type: z.literal(\"transaction-feed\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n transactions: z.array(z.object({\n id: z.string().optional(),\n date: z.string(),\n description: z.string(),\n amount: z.number(),\n category: z.string().optional(),\n counterparty: z.string().optional(),\n balance: z.number().optional(),\n status: z.enum([\"cleared\", \"pending\", \"reversed\"]).default(\"cleared\"),\n metadata: z.record(z.string(), z.string()).optional(),\n })).min(1).max(100),\n});\n\nexport const transactionFeedTool = {\n name: \"render_transaction_feed\",\n description: \"Render a chronological transaction feed with amounts, categories, and running balance — for bank statements, ledger activity, order history\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"transaction-feed\"] },\n title: { type: \"string\" },\n currency: { type: \"string\" },\n transactions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n date: { type: \"string\" },\n description: { type: \"string\" },\n amount: { type: \"number\" },\n category: { type: \"string\" },\n counterparty: { type: \"string\" },\n balance: { type: \"number\" },\n status: { type: \"string\", enum: [\"cleared\", \"pending\", \"reversed\"] },\n metadata: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"date\", \"description\", \"amount\"],\n },\n },\n },\n required: [\"type\", \"transactions\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const fileBrowserSchema = z.object({\n type: z.literal(\"file-browser\"),\n title: z.string().optional(),\n items: z.array(z.object({\n id: z.string(),\n name: z.string(),\n docType: z.string().optional(),\n group: z.string().optional(),\n size: z.string().optional(),\n createdAt: z.string().optional(),\n modifiedAt: z.string().optional(),\n author: z.string().optional(),\n tags: z.array(z.string()).optional(),\n // Optional: sandbox/agent-harness files often have no public URL. The\n // resolver falls back to read-only display when url is absent.\n url: z.string().optional(),\n preview: z.string().optional(),\n })).min(1).max(50),\n});\n\nexport const fileBrowserTool = {\n name: \"render_file_browser\",\n description: \"Render a document or file browser with type badges, grouping, and metadata — for document collections, file libraries, client documents\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"file-browser\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n name: { type: \"string\" },\n docType: { type: \"string\" },\n group: { type: \"string\" },\n size: { type: \"string\" },\n createdAt: { type: \"string\" },\n modifiedAt: { type: \"string\" },\n author: { type: \"string\" },\n tags: { type: \"array\", items: { type: \"string\" } },\n url: { type: \"string\" },\n preview: { type: \"string\" },\n },\n required: [\"id\", \"name\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const downloadCardSchema = z.object({\n type: z.literal(\"download-card\"),\n title: z.string().optional(),\n files: z.array(z.object({\n filename: z.string(),\n url: z.string(),\n fileType: z.string().optional(),\n size: z.string().optional(),\n expiresAt: z.string().optional(),\n description: z.string().optional(),\n // Opt out of inline preview for an otherwise-previewable type. Preview is\n // auto-enabled from the file type when the url is present; set false to\n // force download-only.\n preview: z.boolean().optional(),\n })).min(1).max(10),\n});\n\nexport const downloadCardTool = {\n name: \"render_download_card\",\n description: \"Render download cards for files with filename, size, and download link — for export results, generated reports, file delivery\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"download-card\"] },\n title: { type: \"string\" },\n files: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n filename: { type: \"string\" },\n url: { type: \"string\" },\n fileType: { type: \"string\" },\n size: { type: \"string\" },\n expiresAt: { type: \"string\" },\n description: { type: \"string\" },\n preview: { type: \"boolean\" },\n },\n required: [\"filename\", \"url\"],\n },\n },\n },\n required: [\"type\", \"files\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const opsDashboardSchema = z.object({\n type: z.literal(\"ops-dashboard\"),\n title: z.string().optional(),\n items: z.array(z.object({\n id: z.string(),\n name: z.string(),\n state: z.enum([\"running\", \"paused\", \"stopped\", \"error\"]),\n schedule: z.string().optional(),\n lastRunAt: z.string().optional(),\n nextRunAt: z.string().optional(),\n metrics: z.array(z.object({ label: z.string(), value: z.string() })).max(4).optional(),\n health: z.enum([\"healthy\", \"degraded\", \"down\"]).optional(),\n })).min(1).max(12),\n});\n\nexport const opsDashboardTool = {\n name: \"render_ops_dashboard\",\n description: \"Render an operational dashboard grid showing pipeline or service status cards — for monitoring pipelines, services, cron jobs, microservices\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"ops-dashboard\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n name: { type: \"string\" },\n state: { type: \"string\", enum: [\"running\", \"paused\", \"stopped\", \"error\"] },\n schedule: { type: \"string\" },\n lastRunAt: { type: \"string\" },\n nextRunAt: { type: \"string\" },\n metrics: { type: \"array\", items: { type: \"object\", properties: { label: { type: \"string\" }, value: { type: \"string\" } }, required: [\"label\", \"value\"] } },\n health: { type: \"string\", enum: [\"healthy\", \"degraded\", \"down\"] },\n },\n required: [\"id\", \"name\", \"state\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nconst kvItemSchema = z.object({\n key: z.string(),\n value: z.string(),\n type: z.enum([\"text\", \"date\", \"url\", \"boolean\", \"code\", \"currency\"]).default(\"text\"),\n copyable: z.boolean().default(false),\n});\n\nexport const keyValueListSchema = z.object({\n type: z.literal(\"key-value-list\"),\n title: z.string().optional(),\n groups: z.array(z.object({\n label: z.string(),\n items: z.array(kvItemSchema).min(1).max(20),\n })).optional(),\n items: z.array(kvItemSchema).max(30).optional(),\n});\n\nexport const keyValueListTool = {\n name: \"render_key_value_list\",\n description: \"Render a structured key-value list with optional grouping and type-aware formatting — for API responses, config displays, metadata, extraction results\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"key-value-list\"] },\n title: { type: \"string\" },\n groups: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n value: { type: \"string\" },\n type: { type: \"string\", enum: [\"text\", \"date\", \"url\", \"boolean\", \"code\", \"currency\"] },\n copyable: { type: \"boolean\" },\n },\n required: [\"key\", \"value\"],\n },\n },\n },\n required: [\"label\", \"items\"],\n },\n },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n value: { type: \"string\" },\n type: { type: \"string\", enum: [\"text\", \"date\", \"url\", \"boolean\", \"code\", \"currency\"] },\n copyable: { type: \"boolean\" },\n },\n required: [\"key\", \"value\"],\n },\n },\n },\n required: [\"type\"],\n },\n};\n","import { z } from \"zod\";\n\nconst totalLineSchema = z.object({\n currentPeriod: z.number(),\n priorPeriod: z.number().optional(),\n});\n\nexport const balanceSheetSchema = z.object({\n type: z.literal(\"balance-sheet\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n metadata: z.object({\n companyName: z.string().optional(),\n preparedBy: z.string().optional(),\n reviewedBy: z.string().optional(),\n approvedBy: z.string().optional(),\n status: z.enum([\"draft\", \"pending-review\", \"approved\", \"filed\"]).optional(),\n date: z.string().optional(),\n }).optional(),\n currentPeriodLabel: z.string(),\n priorPeriodLabel: z.string().optional(),\n sections: z\n .array(\n z.object({\n category: z.enum([\"assets\", \"liabilities\", \"equity\"]),\n subsections: z\n .array(\n z.object({\n label: z.string(),\n items: z\n .array(\n z.object({\n name: z.string(),\n currentPeriod: z.number(),\n priorPeriod: z.number().optional(),\n })\n )\n .max(15),\n subtotal: totalLineSchema.optional(),\n })\n )\n .min(1)\n .max(5),\n total: totalLineSchema.optional(),\n })\n )\n .min(1)\n .max(3),\n totalLiabilitiesAndEquity: totalLineSchema.optional(),\n});\n\nexport const balanceSheetTool = {\n name: \"render_balance_sheet\",\n description:\n \"Render a balance sheet with assets, liabilities, and equity sections — statement of financial position, A = L + E comparison\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"balance-sheet\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n metadata: {\n type: \"object\",\n properties: {\n companyName: { type: \"string\" },\n preparedBy: { type: \"string\" },\n reviewedBy: { type: \"string\" },\n approvedBy: { type: \"string\" },\n status: { type: \"string\", enum: [\"draft\", \"pending-review\", \"approved\", \"filed\"] },\n date: { type: \"string\" },\n },\n },\n currentPeriodLabel: { type: \"string\", description: \"Label for current period column, e.g. Dec 31, 2024\" },\n priorPeriodLabel: { type: \"string\", description: \"Label for prior period column, e.g. Dec 31, 2023\" },\n sections: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n category: {\n type: \"string\",\n enum: [\"assets\", \"liabilities\", \"equity\"],\n },\n subsections: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\", description: \"Subsection label, e.g. Current Assets\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n currentPeriod: { type: \"number\" },\n priorPeriod: { type: \"number\" },\n },\n required: [\"name\", \"currentPeriod\"],\n },\n },\n subtotal: {\n type: \"object\",\n properties: {\n currentPeriod: { type: \"number\" },\n priorPeriod: { type: \"number\" },\n },\n required: [\"currentPeriod\"],\n },\n },\n required: [\"label\", \"items\"],\n },\n },\n },\n required: [\"category\", \"subsections\"],\n },\n },\n totalLiabilitiesAndEquity: {\n type: \"object\",\n properties: {\n currentPeriod: { type: \"number\" },\n priorPeriod: { type: \"number\" },\n },\n required: [\"currentPeriod\"],\n },\n },\n required: [\"type\", \"currentPeriodLabel\", \"sections\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const incomeStatementSchema = z.object({\n type: z.literal(\"income-statement\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n metadata: z.object({\n companyName: z.string().optional(),\n preparedBy: z.string().optional(),\n reviewedBy: z.string().optional(),\n approvedBy: z.string().optional(),\n status: z.enum([\"draft\", \"pending-review\", \"approved\", \"filed\"]).optional(),\n date: z.string().optional(),\n }).optional(),\n periods: z.array(z.string()).min(1).max(8),\n showPercentOfRevenue: z.boolean().default(false),\n sections: z\n .array(\n z.object({\n label: z.string(),\n lineItems: z\n .array(\n z.object({\n name: z.string(),\n amounts: z.array(z.number()),\n indent: z.number().min(0).max(2).default(0),\n isSubtotal: z.boolean().optional(),\n })\n )\n .max(20),\n sectionType: z.enum([\"detail\", \"subtotal\"]).default(\"detail\"),\n })\n )\n .min(1)\n .max(10),\n calculatedTotals: z.object({\n grossProfit: z.array(z.number()).optional(),\n operatingIncome: z.array(z.number()).optional(),\n netIncome: z.array(z.number()),\n }),\n});\n\nexport const incomeStatementTool = {\n name: \"render_income_statement\",\n description:\n \"Render a multi-period income statement with revenue, COGS, gross profit, operating expenses, and net income — P&L, profit and loss\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"income-statement\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n metadata: {\n type: \"object\",\n properties: {\n companyName: { type: \"string\" },\n preparedBy: { type: \"string\" },\n reviewedBy: { type: \"string\" },\n approvedBy: { type: \"string\" },\n status: { type: \"string\", enum: [\"draft\", \"pending-review\", \"approved\", \"filed\"] },\n date: { type: \"string\" },\n },\n },\n periods: {\n type: \"array\",\n items: { type: \"string\" },\n minItems: 1,\n maxItems: 8,\n description: \"Period labels, e.g. Q1 2024, Q2 2024\",\n },\n showPercentOfRevenue: {\n type: \"boolean\",\n description: \"Show each line item as a percentage of revenue\",\n },\n sections: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n lineItems: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n amounts: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"One amount per period\",\n },\n indent: {\n type: \"number\",\n minimum: 0,\n maximum: 2,\n description: \"Indentation level 0-2\",\n },\n isSubtotal: {\n type: \"boolean\",\n description:\n \"True for a subtotal/total row (e.g. 'Total Revenue'). \"\n + \"Excluded from the %-of-revenue base so it isn't double-counted.\",\n },\n },\n required: [\"name\", \"amounts\"],\n },\n },\n sectionType: {\n type: \"string\",\n enum: [\"detail\", \"subtotal\"],\n },\n },\n required: [\"label\", \"lineItems\"],\n },\n },\n calculatedTotals: {\n type: \"object\",\n properties: {\n grossProfit: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"Gross profit per period\",\n },\n operatingIncome: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"Operating income per period\",\n },\n netIncome: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"Net income per period\",\n },\n },\n required: [\"netIncome\"],\n },\n },\n required: [\"type\", \"periods\", \"sections\", \"calculatedTotals\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const cashFlowStatementSchema = z.object({\n type: z.literal(\"cash-flow-statement\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n metadata: z.object({\n companyName: z.string().optional(),\n preparedBy: z.string().optional(),\n reviewedBy: z.string().optional(),\n approvedBy: z.string().optional(),\n status: z.enum([\"draft\", \"pending-review\", \"approved\", \"filed\"]).optional(),\n date: z.string().optional(),\n }).optional(),\n periodLabel: z.string().optional(),\n priorPeriodLabel: z.string().optional(),\n activities: z\n .array(\n z.object({\n activityType: z.enum([\"operating\", \"investing\", \"financing\"]),\n lineItems: z\n .array(\n z.object({\n name: z.string(),\n amount: z.number(),\n priorAmount: z.number().optional(),\n indent: z.number().min(0).max(2).default(0),\n isSubtotal: z.boolean().default(false),\n })\n )\n .min(1)\n .max(20),\n netCash: z.number(),\n priorNetCash: z.number().optional(),\n })\n )\n .min(1)\n .max(3),\n netChange: z.number(),\n priorNetChange: z.number().optional(),\n beginningCash: z.number(),\n endingCash: z.number(),\n priorBeginningCash: z.number().optional(),\n priorEndingCash: z.number().optional(),\n});\n\nexport const cashFlowStatementTool = {\n name: \"render_cash_flow_statement\",\n description:\n \"Render a cash flow statement with operating, investing, and financing activities — statement of cash flows, net change in cash\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"cash-flow-statement\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n metadata: {\n type: \"object\",\n properties: {\n companyName: { type: \"string\" },\n preparedBy: { type: \"string\" },\n reviewedBy: { type: \"string\" },\n approvedBy: { type: \"string\" },\n status: { type: \"string\", enum: [\"draft\", \"pending-review\", \"approved\", \"filed\"] },\n date: { type: \"string\" },\n },\n },\n periodLabel: {\n type: \"string\",\n description: \"Label for the current period, e.g. Year Ended Dec 31, 2024\",\n },\n priorPeriodLabel: {\n type: \"string\",\n description: \"Label for the prior period, e.g. Year Ended Dec 31, 2023\",\n },\n activities: {\n type: \"array\",\n minItems: 1,\n maxItems: 3,\n items: {\n type: \"object\",\n properties: {\n activityType: {\n type: \"string\",\n enum: [\"operating\", \"investing\", \"financing\"],\n },\n lineItems: {\n type: \"array\",\n minItems: 1,\n maxItems: 20,\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n amount: { type: \"number\" },\n priorAmount: { type: \"number\" },\n indent: {\n type: \"number\",\n minimum: 0,\n maximum: 2,\n description: \"Indentation level 0-2\",\n },\n isSubtotal: { type: \"boolean\" },\n },\n required: [\"name\", \"amount\"],\n },\n },\n netCash: { type: \"number\" },\n priorNetCash: { type: \"number\" },\n },\n required: [\"activityType\", \"lineItems\", \"netCash\"],\n },\n },\n netChange: { type: \"number\" },\n priorNetChange: { type: \"number\" },\n beginningCash: { type: \"number\" },\n endingCash: { type: \"number\" },\n priorBeginningCash: { type: \"number\" },\n priorEndingCash: { type: \"number\" },\n },\n required: [\"type\", \"activities\", \"netChange\", \"beginningCash\", \"endingCash\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const generalLedgerSchema = z.object({\n type: z.literal(\"general-ledger\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n account: z.object({\n code: z.string(),\n name: z.string(),\n accountType: z.enum([\"asset\", \"liability\", \"equity\", \"revenue\", \"expense\"]).optional(),\n }),\n dateRange: z.object({\n from: z.string(),\n to: z.string(),\n }).optional(),\n openingBalance: z.number().default(0),\n transactions: z\n .array(\n z.object({\n date: z.string(),\n description: z.string(),\n reference: z.string().optional(),\n source: z.string().optional(),\n debit: z.number().default(0),\n credit: z.number().default(0),\n runningBalance: z.number(),\n })\n )\n .min(1)\n .max(100),\n closingBalance: z.number(),\n});\n\nexport const generalLedgerTool = {\n name: \"render_general_ledger\",\n description:\n \"Render a general ledger with account-level transaction detail and running balance — GL detail, account ledger, ledger entries\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"general-ledger\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n account: {\n type: \"object\",\n properties: {\n code: { type: \"string\" },\n name: { type: \"string\" },\n accountType: {\n type: \"string\",\n enum: [\"asset\", \"liability\", \"equity\", \"revenue\", \"expense\"],\n },\n },\n required: [\"code\", \"name\"],\n },\n dateRange: {\n type: \"object\",\n properties: {\n from: { type: \"string\" },\n to: { type: \"string\" },\n },\n required: [\"from\", \"to\"],\n },\n openingBalance: { type: \"number\", description: \"Opening balance for the period\" },\n transactions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n description: { type: \"string\" },\n reference: { type: \"string\" },\n source: { type: \"string\", description: \"Source document, e.g. JE-001, AP-INV-042\" },\n debit: { type: \"number\" },\n credit: { type: \"number\" },\n runningBalance: { type: \"number\" },\n },\n required: [\"date\", \"description\", \"runningBalance\"],\n },\n },\n closingBalance: { type: \"number\" },\n },\n required: [\"type\", \"account\", \"transactions\", \"closingBalance\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const chartOfAccountsSchema = z.object({\n type: z.literal(\"chart-of-accounts\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n showBalances: z.boolean().default(false),\n accounts: z\n .array(\n z.object({\n code: z.string(),\n name: z.string(),\n accountType: z.enum([\"asset\", \"liability\", \"equity\", \"revenue\", \"expense\"]),\n subType: z.string().optional(),\n status: z.enum([\"active\", \"inactive\"]).default(\"active\"),\n indent: z.number().min(0).max(3).default(0),\n isHeader: z.boolean().default(false),\n balance: z.number().optional(),\n })\n )\n .min(1)\n .max(100),\n});\n\nexport const chartOfAccountsTool = {\n name: \"render_chart_of_accounts\",\n description:\n \"Render a chart of accounts with account codes, types, hierarchy, and optional balances — COA, account structure, account directory\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"chart-of-accounts\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n showBalances: { type: \"boolean\", description: \"Whether to show balance column\" },\n accounts: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n code: { type: \"string\", description: \"Account code, e.g. 1000\" },\n name: { type: \"string\", description: \"Account name\" },\n accountType: {\n type: \"string\",\n enum: [\"asset\", \"liability\", \"equity\", \"revenue\", \"expense\"],\n },\n subType: { type: \"string\", description: \"Sub-type, e.g. Current Asset, Fixed Asset, COGS\" },\n status: { type: \"string\", enum: [\"active\", \"inactive\"] },\n indent: { type: \"number\", description: \"Indentation level 0-3\" },\n isHeader: { type: \"boolean\", description: \"Whether this row is a section header\" },\n balance: { type: \"number\", description: \"Account balance\" },\n },\n required: [\"code\", \"name\", \"accountType\"],\n },\n },\n },\n required: [\"type\", \"accounts\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const invoiceDetailSchema = z.object({\n type: z.literal(\"invoice-detail\"),\n invoiceNumber: z.string(),\n status: z.enum([\"draft\", \"sent\", \"paid\", \"partial\", \"overdue\", \"void\"]),\n issueDate: z.string(),\n dueDate: z.string(),\n currency: z.string().default(\"USD\"),\n client: z.object({\n name: z.string(),\n address: z.string().optional(),\n email: z.string().optional(),\n }),\n lineItems: z\n .array(\n z.object({\n description: z.string(),\n quantity: z.number(),\n unitPrice: z.number(),\n amount: z.number(),\n })\n )\n .min(1)\n .max(30),\n subtotal: z.number(),\n taxLabel: z.string().optional(),\n taxAmount: z.number().default(0),\n discount: z.number().default(0),\n total: z.number(),\n amountPaid: z.number().default(0),\n amountDue: z.number(),\n payments: z\n .array(\n z.object({\n date: z.string(),\n method: z.string(),\n amount: z.number(),\n reference: z.string().optional(),\n })\n )\n .optional(),\n notes: z.string().optional(),\n terms: z.string().optional(),\n});\n\nexport const invoiceDetailTool = {\n name: \"render_invoice_detail\",\n description:\n \"Render a single invoice with line items, totals, tax, payments, and status — invoice detail, billing, AR invoice\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"invoice-detail\"] },\n invoiceNumber: { type: \"string\" },\n status: {\n type: \"string\",\n enum: [\"draft\", \"sent\", \"paid\", \"partial\", \"overdue\", \"void\"],\n },\n issueDate: { type: \"string\" },\n dueDate: { type: \"string\" },\n currency: { type: \"string\" },\n client: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n address: { type: \"string\" },\n email: { type: \"string\" },\n },\n required: [\"name\"],\n },\n lineItems: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n description: { type: \"string\" },\n quantity: { type: \"number\" },\n unitPrice: { type: \"number\" },\n amount: { type: \"number\" },\n },\n required: [\"description\", \"quantity\", \"unitPrice\", \"amount\"],\n },\n },\n subtotal: { type: \"number\" },\n taxLabel: { type: \"string\" },\n taxAmount: { type: \"number\" },\n discount: { type: \"number\" },\n total: { type: \"number\" },\n amountPaid: { type: \"number\" },\n amountDue: { type: \"number\" },\n payments: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n method: { type: \"string\" },\n amount: { type: \"number\" },\n reference: { type: \"string\" },\n },\n required: [\"date\", \"method\", \"amount\"],\n },\n },\n notes: { type: \"string\" },\n terms: { type: \"string\" },\n },\n required: [\n \"type\",\n \"invoiceNumber\",\n \"status\",\n \"issueDate\",\n \"dueDate\",\n \"client\",\n \"lineItems\",\n \"subtotal\",\n \"total\",\n \"amountDue\",\n ],\n },\n};\n","import { z } from \"zod\";\n\nexport const amortizationTableSchema = z.object({\n type: z.literal(\"amortization-table\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n summary: z\n .object({\n originalAmount: z.number(),\n interestRate: z.string(),\n term: z.string(),\n monthlyPayment: z.number().optional(),\n totalInterest: z.number().optional(),\n startDate: z.string().optional(),\n })\n .optional(),\n payments: z\n .array(\n z.object({\n period: z.string(),\n paymentDate: z.string().optional(),\n payment: z.number(),\n principal: z.number(),\n interest: z.number(),\n balance: z.number(),\n extra: z.number().default(0),\n })\n )\n .min(1)\n .max(372),\n});\n\nexport const amortizationTableTool = {\n name: \"render_amortization_table\",\n description:\n \"Render a loan or lease amortization schedule with principal, interest, and remaining balance — mortgage, lease payments, ASC 842, loan servicing\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"amortization-table\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", default: \"USD\" },\n summary: {\n type: \"object\",\n properties: {\n originalAmount: { type: \"number\" },\n interestRate: { type: \"string\" },\n term: { type: \"string\" },\n monthlyPayment: { type: \"number\" },\n totalInterest: { type: \"number\" },\n startDate: { type: \"string\" },\n },\n required: [\"originalAmount\", \"interestRate\", \"term\"],\n },\n payments: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n period: { type: \"string\" },\n paymentDate: { type: \"string\" },\n payment: { type: \"number\" },\n principal: { type: \"number\" },\n interest: { type: \"number\" },\n balance: { type: \"number\" },\n extra: { type: \"number\", default: 0 },\n },\n required: [\"period\", \"payment\", \"principal\", \"interest\", \"balance\"],\n },\n minItems: 1,\n maxItems: 372,\n },\n },\n required: [\"type\", \"payments\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const depreciationScheduleSchema = z.object({\n type: z.literal(\"depreciation-schedule\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n asOfDate: z.string().optional(),\n method: z.string().optional(),\n assets: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n category: z\n .enum([\"Buildings\", \"Equipment\", \"Vehicles\", \"Furniture\"])\n .optional(),\n acquiredDate: z.string(),\n cost: z.number(),\n salvageValue: z.number().default(0),\n usefulLife: z.string().optional(),\n method: z.string().optional(),\n currentYearDepreciation: z.number(),\n accumulatedDepreciation: z.number(),\n bookValue: z.number(),\n })\n )\n .min(1)\n .max(50),\n totals: z\n .object({\n totalCost: z.number(),\n totalCurrentYear: z.number(),\n totalAccumulated: z.number(),\n totalBookValue: z.number(),\n })\n .optional(),\n});\n\nexport const depreciationScheduleTool = {\n name: \"render_depreciation_schedule\",\n description:\n \"Render a fixed asset depreciation schedule with cost, useful life, method, annual depreciation, accumulated depreciation, and book value — asset register, MACRS, straight-line\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"depreciation-schedule\"] },\n title: { type: \"string\" },\n currency: {\n type: \"string\",\n description: \"ISO currency code, e.g. USD\",\n },\n asOfDate: {\n type: \"string\",\n description: \"As-of date for the schedule\",\n },\n method: {\n type: \"string\",\n description:\n \"Default depreciation method, e.g. Straight-Line, MACRS\",\n },\n assets: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n name: { type: \"string\" },\n category: {\n type: \"string\",\n enum: [\"Buildings\", \"Equipment\", \"Vehicles\", \"Furniture\"],\n },\n acquiredDate: { type: \"string\" },\n cost: { type: \"number\" },\n salvageValue: { type: \"number\" },\n usefulLife: {\n type: \"string\",\n description: \"e.g. 5 years, 39 years\",\n },\n method: {\n type: \"string\",\n description: \"Per-asset depreciation method override\",\n },\n currentYearDepreciation: { type: \"number\" },\n accumulatedDepreciation: { type: \"number\" },\n bookValue: { type: \"number\" },\n },\n required: [\n \"id\",\n \"name\",\n \"acquiredDate\",\n \"cost\",\n \"currentYearDepreciation\",\n \"accumulatedDepreciation\",\n \"bookValue\",\n ],\n },\n },\n totals: {\n type: \"object\",\n properties: {\n totalCost: { type: \"number\" },\n totalCurrentYear: { type: \"number\" },\n totalAccumulated: { type: \"number\" },\n totalBookValue: { type: \"number\" },\n },\n required: [\n \"totalCost\",\n \"totalCurrentYear\",\n \"totalAccumulated\",\n \"totalBookValue\",\n ],\n },\n },\n required: [\"type\", \"assets\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const escalationCardSchema = z.object({\n type: z.literal(\"escalation-card\"),\n title: z.string().optional(),\n description: z.string().optional(),\n url: z.string(),\n ctaLabel: z.string().optional(),\n priority: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n});\n\nexport const escalationCardTool = {\n name: \"render_escalation_card\",\n description:\n \"Render a human-in-the-loop (HITL) escalation card with a title, description, priority, and a deeplink CTA button to resolve it — use for review requests, low-confidence extractions, data conflicts, or any item needing manual resolution in the review portal\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"escalation-card\"] },\n title: { type: \"string\" },\n description: { type: \"string\" },\n url: { type: \"string\" },\n ctaLabel: { type: \"string\" },\n priority: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n },\n required: [\"type\", \"url\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const lineChartSchema = z.object({\n type: z.literal(\"line-chart\"),\n title: z.string().optional(),\n xKey: z.string(),\n unit: z.string().optional(),\n smooth: z.boolean().optional(),\n series: z\n .array(z.object({ name: z.string(), dataKey: z.string(), color: z.string().optional() }))\n .min(1)\n .max(6),\n data: z\n .array(z.record(z.string(), z.union([z.string(), z.number()])))\n .min(2)\n .max(500),\n});\n\nexport const lineChartTool = {\n name: \"render_line_chart\",\n description:\n \"Render a multi-series line chart for trends over time — net income trend, cash position, revenue vs expense, KPI over months/quarters. Use when comparing how one or more numeric measures move across an ordered axis (lines, not filled areas).\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"line-chart\"] },\n title: { type: \"string\" },\n xKey: { type: \"string\", description: \"Key in each data row for the X-axis label (e.g. 'month')\" },\n unit: { type: \"string\", description: \"Value unit/prefix, e.g. '$', '%', 'bps'\" },\n smooth: { type: \"boolean\", description: \"Use smooth (monotone) curves instead of straight segments\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\", description: \"Optional CSS color; auto-assigned from palette if omitted\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n data: {\n type: \"array\",\n items: { type: \"object\", additionalProperties: true },\n description: \"Data rows; each row has xKey and every series dataKey\",\n },\n },\n required: [\"type\", \"xKey\", \"series\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nconst seriesRef = z.object({\n name: z.string(),\n dataKey: z.string(),\n color: z.string().optional(),\n axis: z.enum([\"left\", \"right\"]).optional(),\n});\n\nexport const comboChartSchema = z\n .object({\n type: z.literal(\"combo-chart\"),\n title: z.string().optional(),\n xKey: z.string(),\n leftUnit: z.string().optional(),\n rightUnit: z.string().optional(),\n bars: z.array(seriesRef).max(4).optional(),\n lines: z.array(seriesRef).max(4).optional(),\n data: z\n .array(z.record(z.string(), z.union([z.string(), z.number()])))\n .min(2)\n .max(500),\n })\n .refine((v) => (v.bars?.length ?? 0) + (v.lines?.length ?? 0) >= 1, {\n message: \"combo-chart needs at least one bar or line series\",\n });\n\nexport const comboChartTool = {\n name: \"render_combo_chart\",\n description:\n \"Render a combined bar + line chart with an optional secondary (right) Y-axis — revenue bars with a margin % line, actuals bars with a cumulative budget line, volume vs rate. Use when one measure is best shown as bars and another (often a %, ratio, or running total on a different scale) as a line.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"combo-chart\"] },\n title: { type: \"string\" },\n xKey: { type: \"string\", description: \"Key in each data row for the X-axis label\" },\n leftUnit: { type: \"string\", description: \"Unit for the left Y-axis (e.g. '$')\" },\n rightUnit: { type: \"string\", description: \"Unit for the right Y-axis (e.g. '%')\" },\n bars: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\" },\n axis: { type: \"string\", enum: [\"left\", \"right\"], description: \"Which Y-axis; default left\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n lines: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\" },\n axis: { type: \"string\", enum: [\"left\", \"right\"], description: \"Which Y-axis; default right\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n data: {\n type: \"array\",\n items: { type: \"object\", additionalProperties: true },\n description: \"Data rows; each row has xKey and every bar/line dataKey\",\n },\n },\n required: [\"type\", \"xKey\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const gaugeChartSchema = z.object({\n type: z.literal(\"gauge-chart\"),\n title: z.string().optional(),\n items: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n max: z.number(),\n target: z.number().optional(),\n unit: z.string().optional(),\n })\n )\n .min(1)\n .max(4),\n});\n\nexport const gaugeChartTool = {\n name: \"render_gauge_chart\",\n description:\n \"Render one to four radial gauge dials showing a single KPI against its max and an optional target — budget utilization %, DSO/DPO vs target, collection rate, cash-runway months, capacity used. The arc colors green/amber/red relative to the target.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"gauge-chart\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\", description: \"Current value\" },\n max: { type: \"number\", description: \"Full-scale value of the dial\" },\n target: { type: \"number\", description: \"Optional goal threshold; drives arc color\" },\n unit: { type: \"string\", description: \"e.g. '%', '$', 'days'\" },\n },\n required: [\"label\", \"value\", \"max\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const treemapChartSchema = z.object({\n type: z.literal(\"treemap-chart\"),\n title: z.string().optional(),\n currency: z.string().optional(),\n nodes: z\n .array(\n z.object({\n name: z.string(),\n value: z.number(),\n color: z.string().optional(),\n })\n )\n .min(1)\n .max(30),\n});\n\nexport const treemapChartTool = {\n name: \"render_treemap_chart\",\n description:\n \"Render a treemap where each rectangle's area is proportional to its value — expense breakdown by GL account, revenue by segment or product, spend by cost center, asset mix. Use to show how a total decomposes into many parts ranked by magnitude.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"treemap-chart\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"Currency symbol/prefix for values, e.g. '$'\" },\n nodes: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n value: { type: \"number\", description: \"Positive magnitude; sets rectangle area\" },\n color: { type: \"string\", description: \"Optional; auto-assigned from palette if omitted\" },\n },\n required: [\"name\", \"value\"],\n },\n },\n },\n required: [\"type\", \"nodes\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const radarChartSchema = z.object({\n type: z.literal(\"radar-chart\"),\n title: z.string().optional(),\n unit: z.string().optional(),\n series: z\n .array(z.object({ name: z.string(), dataKey: z.string(), color: z.string().optional() }))\n .min(1)\n .max(4),\n data: z\n .array(\n z\n .object({ metric: z.string() })\n .catchall(z.union([z.string(), z.number()]))\n )\n .min(3)\n .max(12),\n});\n\nexport const radarChartTool = {\n name: \"render_radar_chart\",\n description:\n \"Render a radar (spider) chart comparing several entities or periods across the same set of metrics — financial-ratio profiles (liquidity, profitability, leverage, efficiency, coverage), scorecard comparison, multi-dimensional benchmarking. One axis per metric; one shape per series.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"radar-chart\"] },\n title: { type: \"string\" },\n unit: { type: \"string\", description: \"Optional value unit, e.g. 'x', '%'\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\", description: \"Optional; auto-assigned from palette if omitted\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n data: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { metric: { type: \"string\", description: \"Axis label\" } },\n required: [\"metric\"],\n additionalProperties: true,\n },\n description: \"One row per metric; each row has 'metric' and every series dataKey\",\n },\n },\n required: [\"type\", \"series\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const funnelChartSchema = z.object({\n type: z.literal(\"funnel-chart\"),\n title: z.string().optional(),\n currency: z.string().optional(),\n stages: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n color: z.string().optional(),\n })\n )\n .min(2)\n .max(8),\n});\n\nexport const funnelChartTool = {\n name: \"render_funnel_chart\",\n description:\n \"Render a funnel chart showing how a quantity narrows across ordered stages — collections funnel (billed → collected → overdue → written off), quote → invoice → paid, lead → close. Use for stage-to-stage conversion or drop-off. Each stage shows its value and % of the prior stage.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"funnel-chart\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"Currency symbol/prefix, e.g. '$'\" },\n stages: {\n type: \"array\",\n description: \"Ordered widest → narrowest\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\" },\n color: { type: \"string\", description: \"Optional; auto-assigned from palette if omitted\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n },\n required: [\"type\", \"stages\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const bulletChartSchema = z.object({\n type: z.literal(\"bullet-chart\"),\n title: z.string().optional(),\n items: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n target: z.number(),\n max: z.number().optional(),\n unit: z.string().optional(),\n })\n )\n .min(1)\n .max(10),\n});\n\nexport const bulletChartTool = {\n name: \"render_bullet_chart\",\n description:\n \"Render a compact bullet-chart scorecard: one horizontal row per KPI showing actual value vs target against a qualitative range — actual vs budget, vs forecast, vs prior year. Use for dense KPI-vs-target dashboards where each measure has its own target. The bar turns green/amber/red by how the value compares to its target.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"bullet-chart\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\", description: \"Actual measured value\" },\n target: { type: \"number\", description: \"Goal / budget marker\" },\n max: { type: \"number\", description: \"Optional scale max; defaults to max(value,target)*1.25\" },\n unit: { type: \"string\", description: \"e.g. '$', '%', 'days'\" },\n },\n required: [\"label\", \"value\", \"target\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const scatterChartSchema = z.object({\n type: z.literal(\"scatter-chart\"),\n title: z.string().optional(),\n xLabel: z.string().optional(),\n yLabel: z.string().optional(),\n xUnit: z.string().optional(),\n yUnit: z.string().optional(),\n series: z\n .array(\n z.object({\n name: z.string(),\n color: z.string().optional(),\n points: z\n .array(\n z.object({\n x: z.number(),\n y: z.number(),\n z: z.number().optional(),\n label: z.string().optional(),\n })\n )\n .min(1)\n .max(200),\n })\n )\n .min(1)\n .max(4),\n});\n\nexport const scatterChartTool = {\n name: \"render_scatter_chart\",\n description:\n \"Render a scatter / bubble chart plotting points on two numeric axes (optional bubble size as a third dimension) — AR aging days vs outstanding amount, account size vs activity, risk vs return, price vs volume. Use to reveal correlation, clustering, or outliers across accounts/entities.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"scatter-chart\"] },\n title: { type: \"string\" },\n xLabel: { type: \"string\" },\n yLabel: { type: \"string\" },\n xUnit: { type: \"string\", description: \"e.g. 'days'\" },\n yUnit: { type: \"string\", description: \"e.g. '$'\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n color: { type: \"string\", description: \"Optional; auto-assigned from palette if omitted\" },\n points: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n x: { type: \"number\" },\n y: { type: \"number\" },\n z: { type: \"number\", description: \"Optional magnitude → bubble size\" },\n label: { type: \"string\", description: \"Optional point name for tooltip\" },\n },\n required: [\"x\", \"y\"],\n },\n },\n },\n required: [\"name\", \"points\"],\n },\n },\n },\n required: [\"type\", \"series\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const connectIntegrationSchema = z.object({\n type: z.literal(\"connect-integration\"),\n integrationName: z.string(),\n description: z.string().optional(),\n url: z.string(),\n status: z.enum([\"connected\", \"not_connected\"]).optional(),\n iconUrl: z.string().optional(),\n ctaLabel: z.string().optional(),\n});\n\nexport const connectIntegrationTool = {\n name: \"render_connect_integration\",\n description:\n \"Render a compact card for a single third-party integration (e.g. Gmail, Slack, Google Drive). Use it three ways via `status`: (1) status='not_connected' — prompt the user to connect it, the button deep-links to the connections settings page (set `url` to /settings/connections?integration=<id>); (2) status='connected' — show it as connected, the button is an Open deep-link into the integration or its settings; (3) as a plain deep-link to an external resource. `url` is the button target; `ctaLabel` overrides the button text (defaults: Connect when not connected, Open when connected).\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"connect-integration\"] },\n integrationName: { type: \"string\" },\n description: { type: \"string\" },\n url: { type: \"string\" },\n status: { type: \"string\", enum: [\"connected\", \"not_connected\"] },\n iconUrl: { type: \"string\" },\n ctaLabel: { type: \"string\" },\n },\n required: [\"type\", \"integrationName\", \"url\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const integrationsListSchema = z.object({\n type: z.literal(\"integrations-list\"),\n title: z.string().optional(),\n description: z.string().optional(),\n integrations: z.array(\n z.object({\n name: z.string(),\n status: z.enum([\"connected\", \"not_connected\"]),\n capability: z.string().optional(),\n connectUrl: z.string().optional(),\n iconUrl: z.string().optional(),\n })\n ),\n});\n\nexport const integrationsListTool = {\n name: \"render_integrations_list\",\n description:\n \"Render a grouped list of multiple third-party integrations with their connection status (connected vs not connected) and a per-row Connect link for the ones that are not connected. Prefer this over multiple separate connect-integration cards whenever there are 2 or more integrations — e.g. to orient the user on what's available, or to offer several providers to connect (Gmail, Outlook, ...). Optional `description` is a one-line subtitle under the title.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"integrations-list\"] },\n title: { type: \"string\" },\n description: { type: \"string\" },\n integrations: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n status: { type: \"string\", enum: [\"connected\", \"not_connected\"] },\n capability: { type: \"string\" },\n connectUrl: { type: \"string\" },\n iconUrl: { type: \"string\" },\n },\n required: [\"name\", \"status\"],\n },\n },\n },\n required: [\"type\", \"integrations\"],\n },\n};\n","import { z } from \"zod\";\n\n// A single WDL step. Recursive: FAN_OUT carries `subSteps`, CONDITION/BRANCH\n// carries `branches` (each branch has its own ordered `steps`).\nexport type PipelineStep = {\n id: string;\n operation: string;\n label?: string;\n description?: string;\n subSteps?: PipelineStep[];\n branches?: { label: string; condition?: string; steps: PipelineStep[] }[];\n};\n\nconst pipelineStepSchema: z.ZodType<PipelineStep> = z.lazy(() =>\n z.object({\n id: z.string(),\n operation: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n subSteps: z.array(pipelineStepSchema).optional(),\n branches: z\n .array(\n z.object({\n label: z.string(),\n condition: z.string().optional(),\n steps: z.array(pipelineStepSchema),\n })\n )\n .optional(),\n })\n);\n\nexport const pipelinePreviewSchema = z.object({\n type: z.literal(\"pipeline-preview\"),\n name: z.string(),\n description: z.string().optional(),\n state: z.enum([\"draft\", \"running\", \"paused\"]).optional(),\n source: z\n .object({ name: z.string(), kind: z.string().optional() })\n .optional(),\n destinations: z\n .array(z.object({ name: z.string(), kind: z.string().optional() }))\n .optional(),\n schedule: z\n .object({\n type: z.enum([\"manual\", \"cron\"]),\n cron: z.string().optional(),\n label: z.string().optional(),\n })\n .optional(),\n steps: z.array(pipelineStepSchema).min(1),\n workstreams: z.array(z.string()).optional(),\n cta: z.object({ label: z.string(), url: z.string() }).optional(),\n});\n\n// JSON tool definition mirroring the Zod schema. The recursive step is modeled\n// to two levels of nesting (top step → subSteps / branches.steps → leaf) which\n// covers virtually all real WDL. Leaf objects do NOT forbid extra keys, so\n// deeper nesting still validates (the resolver renders arbitrary depth).\nconst STEP_LEAF_PROPS = {\n id: { type: \"string\" },\n operation: { type: \"string\" },\n label: { type: \"string\" },\n description: { type: \"string\" },\n} as const;\n\nconst STEP_LEAF = {\n type: \"object\" as const,\n properties: STEP_LEAF_PROPS,\n required: [\"id\", \"operation\"],\n};\n\nconst BRANCH_LEAF = {\n type: \"object\" as const,\n properties: {\n label: { type: \"string\" },\n condition: { type: \"string\" },\n steps: { type: \"array\", items: STEP_LEAF },\n },\n required: [\"label\", \"steps\"],\n};\n\nconst STEP_NODE = {\n type: \"object\" as const,\n properties: {\n ...STEP_LEAF_PROPS,\n subSteps: { type: \"array\", items: STEP_LEAF },\n branches: { type: \"array\", items: BRANCH_LEAF },\n },\n required: [\"id\", \"operation\"],\n};\n\nexport const pipelinePreviewTool = {\n name: \"render_pipeline_preview\",\n description:\n \"Render a read-only blueprint preview of a data pipeline / workflow — its name, source → destination(s), schedule, and the ordered flow of WDL operation steps (with nested FAN_OUT sub-steps and CONDITION branches) plus an optional deeplink CTA. Use to show a pipeline you designed or are proposing before it is created/activated. NOT for live run status (use job-tracker) or a grid of running services (use ops-dashboard).\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"pipeline-preview\"] },\n name: { type: \"string\" },\n description: { type: \"string\" },\n state: { type: \"string\", enum: [\"draft\", \"running\", \"paused\"] },\n source: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n kind: { type: \"string\" },\n },\n required: [\"name\"],\n },\n destinations: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n kind: { type: \"string\" },\n },\n required: [\"name\"],\n },\n },\n schedule: {\n type: \"object\",\n properties: {\n type: { type: \"string\", enum: [\"manual\", \"cron\"] },\n cron: { type: \"string\" },\n label: { type: \"string\" },\n },\n required: [\"type\"],\n },\n steps: { type: \"array\", items: STEP_NODE },\n workstreams: { type: \"array\", items: { type: \"string\" } },\n cta: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n url: { type: \"string\" },\n },\n required: [\"label\", \"url\"],\n },\n },\n required: [\"type\", \"name\", \"steps\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const workflowStepperSchema = z.object({\n type: z.literal(\"workflow-stepper\"),\n id: z.string().optional(),\n title: z.string(),\n period: z.string().optional(),\n badge: z.string().optional(),\n active_step: z.string().optional(),\n steps: z\n .array(\n z.object({\n id: z.string(),\n n: z.number().int().positive().optional(),\n title: z.string(),\n sub: z.string().optional(),\n status: z.enum([\n \"done\", \"active\", \"running\", \"review\", \"pending\", \"blocked\", \"failed\",\n ]),\n // Optional quality-gate verdict for a step run by an executor (e.g. a\n // pipeline). Surfaces a subtle trust badge; flags hint at issues a human\n // should review (the full list lives in the escalation dock).\n eval: z\n .object({\n score: z.number().min(0).max(1).nullable().optional(),\n verdict: z.enum([\"good\", \"bad\"]).optional(),\n reasoning: z.string().optional(),\n judge_ok: z.boolean().optional(),\n data_quality_flags: z\n .array(\n z.object({\n field: z.string().optional(),\n issue: z.string().optional(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n details: z.string().optional(),\n })\n )\n .optional(),\n })\n .optional(),\n assignees: z\n .array(\n z.object({\n name: z.string(),\n kind: z.enum([\"agent\", \"human\"]),\n initials: z.string().max(3).optional(),\n color: z.string().optional(),\n role: z.string().optional(),\n })\n )\n .max(6)\n .optional(),\n })\n )\n .min(2)\n .max(12),\n});\n\nexport const workflowStepperTool = {\n name: \"render_workflow_stepper\",\n description:\n \"Render a recurring-process workflow stepper — a horizontal strip of sequential step cards (e.g. a monthly close pipeline) with per-step status (done/active/review/pending/blocked/failed) and human + agent assignee avatars. Use for org processes with named steps and owners, NOT for generic progress bars or project phase summaries.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"workflow-stepper\"] },\n id: { type: \"string\", description: \"Stable id for update-in-place rendering\" },\n title: { type: \"string\", description: \"Process name, e.g. 'Monthly Close'\" },\n period: { type: \"string\", description: \"Period label, e.g. 'Period 04 · FY2026'\" },\n badge: { type: \"string\", description: \"Framework/compliance badge, e.g. 'SOX controlled'\" },\n active_step: { type: \"string\", description: \"Id of the currently active step\" },\n steps: {\n type: \"array\",\n minItems: 2,\n maxItems: 12,\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n n: { type: \"number\", description: \"Step number; defaults to index + 1\" },\n title: { type: \"string\" },\n sub: { type: \"string\", description: \"Short status caption, e.g. '7 accounts · 2 exceptions'\" },\n status: {\n type: \"string\",\n enum: [\"done\", \"active\", \"running\", \"review\", \"pending\", \"blocked\", \"failed\"],\n },\n eval: {\n type: \"object\",\n description: \"Optional quality-gate verdict for an executor-run step.\",\n properties: {\n score: { type: \"number\" },\n verdict: { type: \"string\", enum: [\"good\", \"bad\"] },\n reasoning: { type: \"string\" },\n judge_ok: { type: \"boolean\" },\n data_quality_flags: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field: { type: \"string\" },\n issue: { type: \"string\" },\n severity: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n details: { type: \"string\" },\n },\n },\n },\n },\n },\n assignees: {\n type: \"array\",\n maxItems: 6,\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n kind: { type: \"string\", enum: [\"agent\", \"human\"] },\n initials: { type: \"string\" },\n color: { type: \"string\" },\n role: { type: \"string\" },\n },\n required: [\"name\", \"kind\"],\n },\n },\n },\n required: [\"id\", \"title\", \"status\"],\n },\n },\n },\n required: [\"type\", \"title\", \"steps\"],\n },\n};\n","import { z } from \"zod\";\n\n// Extraction overlay card. The harness produces this payload via a server-side\n// `payload_ref` (the GenUI host expands the ref into the full pages/fields and\n// resolves each page image_ref → imageUrl BEFORE this component renders), so at\n// render time the component always sees inline `pages` + `fields`. `payload_ref`\n// is kept optional so the pre-resolution stub ({type, payload_ref}) also\n// validates; the resolver ignores it.\n\nconst bbox = z.tuple([z.number(), z.number(), z.number(), z.number()]);\n\nconst fieldSchema = z.object({\n field_key: z.string(),\n label: z.string(),\n value: z.string(),\n page: z.number(), // 0-indexed, matches PageDimension.page\n bbox: bbox.nullable().optional(),\n confidence: z.number().optional(),\n confidence_tier: z.enum([\"green\", \"amber\", \"red\"]).optional(),\n badge: z.enum([\"SC\", \"CN\", \"AB\", \"SW\"]).optional(),\n state: z.enum([\"ok\", \"corrected\", \"missing\", \"warn\"]).optional(),\n entity_type: z.string().optional(),\n is_primary: z.boolean().optional(),\n // Set after a human correction (extractor output, or an optimistic in-card\n // edit) so the editable field card can show old → new and who changed it.\n previous_value: z.string().nullable().optional(),\n corrected_by: z.string().nullable().optional(),\n});\n\nconst pageSchema = z.object({\n page: z.number(), // 0-indexed\n imageUrl: z.string().optional(), // host-resolved from the durable image_ref\n width_pt: z.number(),\n height_pt: z.number(),\n});\n\n// Deterministic Details-tab projection produced by the extraction pipeline\n// (build_summary). Mirrors the file-explorer's DocumentDetails so the chat card\n// shows the identical document summary. All optional — absent on legacy payloads.\nconst summaryStatSchema = z.object({\n field_key: z.string(),\n label: z.string(),\n value: z.string(),\n caption: z.string().nullable().optional(),\n});\nconst summaryFactSchema = z.object({\n field_key: z.string(),\n label: z.string(),\n value: z.string(),\n badge: z.string().nullable().optional(),\n});\nconst summarySchema = z.object({\n display_name: z.string().nullable().optional(),\n short_name: z.string().nullable().optional(),\n organization: z.string().nullable().optional(),\n domain: z.string().nullable().optional(),\n domain_group: z.string().nullable().optional(),\n tax_year: z.union([z.string(), z.number()]).nullable().optional(),\n crumbs: z.array(z.string()).optional(),\n tags: z.array(z.string()).optional(),\n stats: z.array(summaryStatSchema).optional(),\n facts: z.array(summaryFactSchema).optional(),\n});\n\nexport const documentFieldExtractionSchema = z.object({\n type: z.literal(\"document-field-extraction\"),\n doc_type: z.string().optional(),\n // Original uploaded filename (e.g. \"2024_gl.pdf\"); preferred over doc_type for\n // the card title since doc_type is often the \"generic_fallback\" schema name.\n file_name: z.string().optional(),\n // Server-side token; resolved by the host into pages/fields before render.\n payload_ref: z.string().optional(),\n // Present for persisted workstream docs; absent for pre-existing cards.\n store_id: z.string().optional(),\n doc_id: z.string().optional(),\n pages: z.array(pageSchema).max(100).optional(),\n fields: z.array(fieldSchema).max(1000).optional(),\n // Page-count metadata for the Details tab (\"N of M pages extracted\").\n page_count: z.number().optional(),\n pages_processed: z.number().optional(),\n // Deterministic document summary for the Details tab.\n summary: summarySchema.nullable().optional(),\n});\n\nexport const documentFieldExtractionTool = {\n name: \"render_document_field_extraction\",\n description:\n \"Render extracted document fields as an interactive overlay on the page image(s) — colored bounding boxes per field plus a synced field-card list. Use after the extract_document tool returns; pass the returned payload_ref (the host expands it). For invoices, statements, tax forms, receipts, KYC/loan docs, POs where the user wants to SEE where each value sits on the page.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"document-field-extraction\"] },\n doc_type: { type: \"string\" },\n file_name: {\n type: \"string\",\n description: \"Original uploaded filename; shown as the card title.\",\n },\n payload_ref: {\n type: \"string\",\n description:\n \"Durable store key returned by extract_document; the GenUI host expands it into pages/fields at render time. Pass this verbatim — do NOT hand-build pages/fields.\",\n },\n store_id: {\n type: \"string\",\n description: \"Docstore store id; present for persisted workstream docs. The host uses this to open the editable viewer.\",\n },\n doc_id: {\n type: \"string\",\n description: \"Docstore document id; present for persisted workstream docs. Required for the editable viewer.\",\n },\n pages: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n page: { type: \"number\", description: \"0-indexed page number\" },\n imageUrl: { type: \"string\" },\n width_pt: { type: \"number\" },\n height_pt: { type: \"number\" },\n },\n required: [\"page\", \"width_pt\", \"height_pt\"],\n },\n },\n fields: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field_key: { type: \"string\" },\n label: { type: \"string\" },\n value: { type: \"string\" },\n page: { type: \"number\", description: \"0-indexed page number\" },\n bbox: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"[x0,y0,x1,y1] PDF points, origin bottom-left; null if unlocated\",\n },\n confidence: { type: \"number\" },\n confidence_tier: { type: \"string\", enum: [\"green\", \"amber\", \"red\"] },\n badge: { type: \"string\", enum: [\"SC\", \"CN\", \"AB\", \"SW\"] },\n state: { type: \"string\", enum: [\"ok\", \"corrected\", \"missing\", \"warn\"] },\n entity_type: { type: \"string\" },\n is_primary: { type: \"boolean\" },\n },\n required: [\"field_key\", \"label\", \"value\", \"page\"],\n },\n },\n page_count: { type: \"number\" },\n pages_processed: { type: \"number\" },\n summary: {\n type: \"object\",\n description:\n \"Deterministic document summary for the Details tab (display_name, organization, domain, stats, facts, tags). Produced by the extractor — pass through verbatim.\",\n properties: {\n display_name: { type: \"string\" },\n short_name: { type: \"string\" },\n organization: { type: \"string\" },\n domain: { type: \"string\" },\n domain_group: { type: \"string\" },\n tax_year: { type: \"string\" },\n crumbs: { type: \"array\", items: { type: \"string\" } },\n tags: { type: \"array\", items: { type: \"string\" } },\n stats: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field_key: { type: \"string\" },\n label: { type: \"string\" },\n value: { type: \"string\" },\n caption: { type: \"string\" },\n },\n required: [\"field_key\", \"label\", \"value\"],\n },\n },\n facts: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field_key: { type: \"string\" },\n label: { type: \"string\" },\n value: { type: \"string\" },\n badge: { type: \"string\" },\n },\n required: [\"field_key\", \"label\", \"value\"],\n },\n },\n },\n },\n },\n required: [\"type\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const decisionCardSchema = z.object({\n type: z.literal(\"decision-card\"),\n id: z.string().optional(),\n decision_type: z.string().optional(),\n title: z.string(),\n question: z.string(),\n amount: z.number().optional(),\n currency: z.string().optional(),\n amount_label: z.string().optional(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n flags: z\n .array(\n z.object({\n field: z.string().optional(),\n issue: z.string(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n })\n )\n .max(6)\n .optional(),\n options: z\n .array(\n z.object({\n id: z.string().optional(),\n label: z.string(),\n recommended: z.boolean().optional(),\n value: z.number().optional(),\n adjust: z\n .object({\n min: z.number(),\n max: z.number(),\n step: z.number().optional(),\n unit: z.string().optional(),\n })\n .optional(),\n })\n )\n .min(1)\n .max(5),\n source: z\n .object({\n label: z.string().optional(),\n url: z.string().optional(),\n })\n .optional(),\n resolved: z\n .object({\n option: z.string(),\n value: z.number().optional(),\n })\n .optional(),\n});\n\nexport const decisionCardTool = {\n name: \"render_decision_card\",\n description:\n \"Render an inline human-in-the-loop (HITL) decision card — a single judgment the agent needs from the user, resolved in-thread. Shows a titled question with an optional dollar amount at stake, optional data-quality flags, and 2-5 mutually-exclusive resolution options (the first or `recommended` one renders as the primary action), plus an optional 'view source' link. Use for inline approve/choose decisions the user resolves directly in the conversation. NOT for handing off to an external review portal (use escalation-card) and NOT for collecting multiple typed fields (use render_builder).\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"decision-card\"] },\n id: { type: \"string\", description: \"Stable id for update-in-place rendering\" },\n decision_type: {\n type: \"string\",\n description: \"Short category shown in the eyebrow, e.g. 'Cross-check', 'Allocation', 'Reserve'\",\n },\n title: { type: \"string\", description: \"The decision headline, e.g. 'AR reserve adequacy'\" },\n question: { type: \"string\", description: \"The full question / context the user must judge\" },\n amount: { type: \"number\", description: \"Dollar value at stake, e.g. 27100\" },\n currency: { type: \"string\", description: \"ISO currency code; defaults to USD\" },\n amount_label: { type: \"string\", description: \"Caption above the amount, e.g. 'At stake'\" },\n severity: {\n type: \"string\",\n enum: [\"low\", \"medium\", \"high\"],\n description: \"Severity of the decision; tints the accent rail\",\n },\n flags: {\n type: \"array\",\n maxItems: 6,\n description: \"Optional data-quality flags surfaced on the card\",\n items: {\n type: \"object\",\n properties: {\n field: { type: \"string\" },\n issue: { type: \"string\" },\n severity: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n },\n required: [\"issue\"],\n },\n },\n options: {\n type: \"array\",\n minItems: 1,\n maxItems: 5,\n description:\n \"Mutually-exclusive resolution choices; mark one `recommended` to make it primary. An option that carries a numeric figure the user may want to tune (e.g. 'Book reserve' at 50 units) should set `value` (your suggested figure) and `adjust` ({min,max[,step,unit]}) — the card then lets the user fine-tune the number within that range before confirming.\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n label: { type: \"string\" },\n recommended: { type: \"boolean\" },\n value: {\n type: \"number\",\n description: \"Suggested numeric figure for this option (the starting point of the adjuster)\",\n },\n adjust: {\n type: \"object\",\n description: \"Allow the user to tune `value` within this inclusive range before resolving\",\n properties: {\n min: { type: \"number\" },\n max: { type: \"number\" },\n step: { type: \"number\", description: \"Increment granularity; defaults to a sensible step for the range\" },\n unit: { type: \"string\", description: \"Short unit suffix shown after the number, e.g. 'units', '%', 'hrs'\" },\n },\n required: [\"min\", \"max\"],\n },\n },\n required: [\"label\"],\n },\n },\n source: {\n type: \"object\",\n description: \"Optional provenance link for the figure\",\n properties: {\n label: { type: \"string\" },\n url: { type: \"string\" },\n },\n },\n resolved: {\n type: \"object\",\n description: \"Pre-resolved state for transcript replay\",\n properties: {\n option: { type: \"string\" },\n value: { type: \"number\", description: \"Adjusted figure the user confirmed, when the option was adjustable\" },\n },\n required: [\"option\"],\n },\n },\n required: [\"type\", \"title\", \"question\", \"options\"],\n },\n};\n","import { z } from \"zod\";\n\n/** One judgment in the queue — a decision-card body minus `type`/`resolved`\n * (the queue owns replay state at the top level). Options reuse the\n * decision-card shape including the adjustable-figure fields. */\nconst decisionQueueItemSchema = z.object({\n id: z.string().optional(),\n decision_type: z.string().optional(),\n title: z.string(),\n question: z.string(),\n amount: z.number().optional(),\n currency: z.string().optional(),\n amount_label: z.string().optional(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n flags: z\n .array(\n z.object({\n field: z.string().optional(),\n issue: z.string(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n })\n )\n .max(6)\n .optional(),\n options: z\n .array(\n z.object({\n id: z.string().optional(),\n label: z.string(),\n recommended: z.boolean().optional(),\n value: z.number().optional(),\n adjust: z\n .object({\n min: z.number(),\n max: z.number(),\n step: z.number().optional(),\n unit: z.string().optional(),\n })\n .optional(),\n })\n )\n .min(1)\n .max(5),\n source: z\n .object({\n label: z.string().optional(),\n url: z.string().optional(),\n })\n .optional(),\n});\n\nexport const decisionQueueSchema = z.object({\n type: z.literal(\"decision-queue\"),\n id: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n submit_label: z.string().optional(),\n items: z.array(decisionQueueItemSchema).min(2).max(12),\n resolved: z\n .object({\n decisions: z.array(\n z.object({\n id: z.string().optional(),\n title: z.string(),\n option: z.string(),\n value: z.number().optional(),\n })\n ),\n })\n .optional(),\n});\n\nconst OPTION_ITEM_JSON = {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n label: { type: \"string\" },\n recommended: { type: \"boolean\" },\n value: {\n type: \"number\",\n description: \"Suggested numeric figure for this option (starting point of the adjuster)\",\n },\n adjust: {\n type: \"object\",\n description: \"Allow the user to tune `value` within this inclusive range before deciding\",\n properties: {\n min: { type: \"number\" },\n max: { type: \"number\" },\n step: { type: \"number\" },\n unit: { type: \"string\", description: \"Short unit suffix, e.g. 'units', '%', 'hrs'\" },\n },\n required: [\"min\", \"max\"],\n },\n },\n required: [\"label\"],\n};\n\nexport const decisionQueueTool = {\n name: \"render_decision_queue\",\n description:\n \"Render a SEQUENTIAL QUEUE of 2-12 related human-in-the-loop judgments, decided one at a time at full decision-card richness (amount at stake, data-quality flags, adjustable figures, source links) and submitted TOGETHER as one reply. Use whenever MORE THAN ONE decision is pending in the same turn — never emit multiple loose decision-cards. Give deferrable items an explicit 'leave open'-style option so the user can always complete the queue. For a single judgment use decision-card; for typed field input (names, dates, uploads) use render_builder.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"decision-queue\"] },\n id: { type: \"string\", description: \"Stable id for update-in-place rendering\" },\n title: {\n type: \"string\",\n description: \"Batch headline shown in the header, e.g. 'Reconciliation exceptions'\",\n },\n description: { type: \"string\", description: \"One-line context above the queue\" },\n submit_label: { type: \"string\", description: \"CTA label; defaults to 'Submit N decisions'\" },\n items: {\n type: \"array\",\n minItems: 2,\n maxItems: 12,\n description:\n \"The pending judgments, in the order the user should take them. Each is a full decision-card body (no `type`).\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n decision_type: {\n type: \"string\",\n description: \"Short category eyebrow, e.g. 'Duplicate', 'Capitalization'\",\n },\n title: { type: \"string\" },\n question: { type: \"string\" },\n amount: { type: \"number\" },\n currency: { type: \"string\" },\n amount_label: { type: \"string\" },\n severity: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n flags: {\n type: \"array\",\n maxItems: 6,\n items: {\n type: \"object\",\n properties: {\n field: { type: \"string\" },\n issue: { type: \"string\" },\n severity: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n },\n required: [\"issue\"],\n },\n },\n options: {\n type: \"array\",\n minItems: 1,\n maxItems: 5,\n items: OPTION_ITEM_JSON,\n },\n source: {\n type: \"object\",\n properties: { label: { type: \"string\" }, url: { type: \"string\" } },\n },\n },\n required: [\"title\", \"question\", \"options\"],\n },\n },\n resolved: {\n type: \"object\",\n description: \"Pre-resolved state for transcript replay\",\n properties: {\n decisions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n title: { type: \"string\" },\n option: { type: \"string\" },\n value: { type: \"number\" },\n },\n required: [\"title\", \"option\"],\n },\n },\n },\n required: [\"decisions\"],\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const tabbyAuthSchema = z.object({\n type: z.literal(\"tabby-auth\"),\n app: z.string(),\n url: z.string(),\n workspace: z.string().optional(),\n state: z.enum([\"pending\", \"connected\"]).optional(),\n ctaLabel: z.string().optional(),\n steps: z.array(z.string()).optional(),\n description: z.string().optional(),\n iconUrl: z.string().optional(),\n});\n\nexport const tabbyAuthTool = {\n name: \"render_tabby_auth\",\n description:\n \"Render a dedicated, trustworthy sign-in card when a harness skill needs the member to authenticate with a third-party app (e.g. Sage Intacct, Airbnb, an ERP) before a `call_web_api` request can proceed. Use this for the `login_required` path instead of a raw markdown link or a connect-integration card. `app` is the human display name (drives the title context, subtitle, and CTA). `url` is the login/short-link the prominent CTA opens in a new tab. `workspace` adds a subtitle suffix ('{app} · {workspace} workspace'). `state='pending'` (default) is the first-time connect; `state='connected'` is the verify/re-auth case (session already live) with a green badge and an Open deep-link. `steps` overrides the default numbered instructions; `description` is a one-line intro. The card title ('Authentication required') and the 'Credentials not stored by Adopt' trust footer are hardcoded brand constants — never supplied here.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"tabby-auth\"] },\n app: { type: \"string\" },\n url: { type: \"string\" },\n workspace: { type: \"string\" },\n state: { type: \"string\", enum: [\"pending\", \"connected\"] },\n ctaLabel: { type: \"string\" },\n steps: { type: \"array\", items: { type: \"string\" } },\n description: { type: \"string\" },\n iconUrl: { type: \"string\" },\n },\n required: [\"type\", \"app\", \"url\"],\n },\n};\n","import { schemaRegistry } from \"./index\";\nimport type { UISchemaName } from \"../types\";\n\nexport function buildRenderUITool(\n selectedSchemas: UISchemaName[]\n): { name: string; description: string; input_schema: object } {\n const selected = selectedSchemas\n .filter((name) => name in schemaRegistry)\n .map((name) => schemaRegistry[name].tool.input_schema);\n\n if (selected.length === 0) {\n throw new Error(\"buildRenderUITool: no valid schemas selected\");\n }\n\n return {\n name: \"render_ui\",\n description:\n \"Render a rich UI component for the user. Use this when the response \" +\n \"benefits from structured visual presentation (tables, charts, metrics, \" +\n \"cards) rather than plain text. The `type` field selects the component. \" +\n \"You may call this tool multiple times in a single response to render \" +\n \"multiple components.\",\n input_schema:\n selected.length === 1\n ? selected[0]\n : { type: \"object\" as const, anyOf: selected },\n };\n}\n","import { schemaRegistry } from \"./index\";\nimport type { UISchemaName } from \"../types\";\n\n/**\n * Tolerate the most common LLM marshalling error: an array/object field\n * arriving as a JSON-encoded *string* (e.g. `columns: \"[{...}]\"`) when the\n * component schema expects a real array/object.\n *\n * Schema-guided + shallow: only top-level fields the component's tool\n * `input_schema` types as `array`/`object` are parsed, and only when the\n * string parses to the matching type. A legitimately string-valued field\n * (e.g. a title that happens to start with \"[\") is left untouched.\n *\n * Mirrors the backend `_coerce_json_strings` in adoptai-workflows so the FE\n * renders correctly even though the streamed tool_use payload carries the raw\n * (stringified) LLM output. Returns the input unchanged when nothing coerces.\n */\nexport function coercePayload<T>(data: T): T {\n if (!data || typeof data !== \"object\" || Array.isArray(data)) return data;\n const obj = data as Record<string, unknown>;\n const type = obj.type;\n if (typeof type !== \"string\" || !(type in schemaRegistry)) return data;\n\n const props = (\n schemaRegistry[type as UISchemaName] as {\n tool?: { input_schema?: { properties?: Record<string, { type?: string }> } };\n }\n )?.tool?.input_schema?.properties;\n if (!props || typeof props !== \"object\") return data;\n\n let out: Record<string, unknown> | null = null;\n for (const [key, propSchema] of Object.entries(props)) {\n const expected = propSchema?.type;\n if (expected !== \"array\" && expected !== \"object\") continue;\n const value = obj[key];\n if (typeof value !== \"string\") continue;\n const trimmed = value.trim();\n if (!trimmed || (trimmed[0] !== \"[\" && trimmed[0] !== \"{\")) continue;\n try {\n const parsed = JSON.parse(trimmed);\n const ok =\n expected === \"array\"\n ? Array.isArray(parsed)\n : parsed !== null && typeof parsed === \"object\" && !Array.isArray(parsed);\n if (ok) {\n if (!out) out = { ...obj };\n out[key] = parsed;\n }\n } catch {\n // leave as-is; validation will surface the real error\n }\n }\n return (out ?? data) as T;\n}\n","import { schemaRegistry } from \"./index\";\nimport { coercePayload } from \"./coercePayload\";\nimport type { UISchemaName } from \"../types\";\n\ntype ValidationResult =\n | { success: true; data: unknown }\n | { success: false; error: string };\n\nexport function validatePayload(\n schemaName: string,\n data: unknown\n): ValidationResult {\n if (!(schemaName in schemaRegistry)) {\n return { success: false, error: `Unknown schema: ${schemaName}` };\n }\n\n const { schema } = schemaRegistry[schemaName as UISchemaName];\n // Coerce stringified-JSON array/object fields before validating so a\n // payload whose `columns` arrived as a JSON string still validates.\n const result = schema.safeParse(coercePayload(data));\n\n if (result.success) {\n return { success: true, data: result.data };\n }\n\n return {\n success: false,\n error: result.error.issues\n .map((i) => `${i.path.join(\".\")}: ${i.message}`)\n .join(\"; \"),\n };\n}\n","import { z } from \"zod\";\nimport { dataTableSchema, dataTableTool } from \"./data-table\";\nimport { statusCardSchema, statusCardTool } from \"./status-card\";\nimport { alertSchema, alertTool } from \"./alert\";\nimport { statGridSchema, statGridTool } from \"./stat-grid\";\nimport { tabsPanelSchema, tabsPanelTool } from \"./tabs-panel\";\nimport { sparklineTableSchema, sparklineTableTool } from \"./sparkline-table\";\nimport { heatmapTableSchema, heatmapTableTool } from \"./heatmap-table\";\nimport { screenerTableSchema, screenerTableTool } from \"./screener-table\";\nimport { groupedTableSchema, groupedTableTool } from \"./grouped-table\";\nimport { newsFeedSchema, newsFeedTool } from \"./news-feed\";\nimport { areaChartSchema, areaChartTool } from \"./area-chart\";\nimport { allocationDonutSchema, allocationDonutTool } from \"./allocation-donut\";\nimport { waterfallChartSchema, waterfallChartTool } from \"./waterfall-chart\";\nimport { flowCanvasSchema, flowCanvasTool } from \"./flow-canvas\";\nimport { trialBalanceSchema, trialBalanceTool } from \"./trial-balance\";\nimport { journalEntrySchema, journalEntryTool } from \"./journal-entry\";\nimport { agingReportSchema, agingReportTool } from \"./aging-report\";\nimport { varianceAnalysisSchema, varianceAnalysisTool } from \"./variance-analysis\";\nimport { stackedBreakdownSchema, stackedBreakdownTool } from \"./stacked-breakdown\";\nimport { comparativeBarChartSchema, comparativeBarChartTool } from \"./comparative-bar-chart\";\nimport { complianceChecklistSchema, complianceChecklistTool } from \"./compliance-checklist\";\nimport { reconciliationViewSchema, reconciliationViewTool } from \"./reconciliation-view\";\nimport { auditTrailSchema, auditTrailTool } from \"./audit-trail\";\nimport { documentPreviewSchema, documentPreviewTool } from \"./document-preview\";\nimport { provenanceChainSchema, provenanceChainTool } from \"./provenance-chain\";\nimport { searchResultsSchema, searchResultsTool } from \"./search-results\";\nimport { legalTestResultSchema, legalTestResultTool } from \"./legal-test-result\";\nimport { engagementPipelineSchema, engagementPipelineTool } from \"./engagement-pipeline\";\nimport { entityCardGridSchema, entityCardGridTool } from \"./entity-card-grid\";\nimport { jobTrackerSchema, jobTrackerTool } from \"./job-tracker\";\nimport { citedAnswerSchema, citedAnswerTool } from \"./cited-answer\";\nimport { transactionFeedSchema, transactionFeedTool } from \"./transaction-feed\";\nimport { fileBrowserSchema, fileBrowserTool } from \"./file-browser\";\nimport { downloadCardSchema, downloadCardTool } from \"./download-card\";\nimport { opsDashboardSchema, opsDashboardTool } from \"./ops-dashboard\";\nimport { keyValueListSchema, keyValueListTool } from \"./key-value-list\";\nimport { balanceSheetSchema, balanceSheetTool } from \"./balance-sheet\";\nimport { incomeStatementSchema, incomeStatementTool } from \"./income-statement\";\nimport { cashFlowStatementSchema, cashFlowStatementTool } from \"./cash-flow-statement\";\nimport { generalLedgerSchema, generalLedgerTool } from \"./general-ledger\";\nimport { chartOfAccountsSchema, chartOfAccountsTool } from \"./chart-of-accounts\";\nimport { invoiceDetailSchema, invoiceDetailTool } from \"./invoice-detail\";\nimport { amortizationTableSchema, amortizationTableTool } from \"./amortization-table\";\nimport { depreciationScheduleSchema, depreciationScheduleTool } from \"./depreciation-schedule\";\nimport { escalationCardSchema, escalationCardTool } from \"./escalation-card\";\nimport { lineChartSchema, lineChartTool } from \"./line-chart\";\nimport { comboChartSchema, comboChartTool } from \"./combo-chart\";\nimport { gaugeChartSchema, gaugeChartTool } from \"./gauge-chart\";\nimport { treemapChartSchema, treemapChartTool } from \"./treemap-chart\";\nimport { radarChartSchema, radarChartTool } from \"./radar-chart\";\nimport { funnelChartSchema, funnelChartTool } from \"./funnel-chart\";\nimport { bulletChartSchema, bulletChartTool } from \"./bullet-chart\";\nimport { scatterChartSchema, scatterChartTool } from \"./scatter-chart\";\nimport { connectIntegrationSchema, connectIntegrationTool } from \"./connect-integration\";\nimport { integrationsListSchema, integrationsListTool } from \"./integrations-list\";\nimport { pipelinePreviewSchema, pipelinePreviewTool } from \"./pipeline-preview\";\nimport { workflowStepperSchema, workflowStepperTool } from \"./workflow-stepper\";\nimport { documentFieldExtractionSchema, documentFieldExtractionTool } from \"./document-field-extraction\";\nimport { decisionCardSchema, decisionCardTool } from \"./decision-card\";\nimport { decisionQueueSchema, decisionQueueTool } from \"./decision-queue\";\nimport { tabbyAuthSchema, tabbyAuthTool } from \"./tabby-auth\";\nexport const schemaRegistry = {\n \"data-table\": { schema: dataTableSchema, tool: dataTableTool },\n \"status-card\": { schema: statusCardSchema, tool: statusCardTool },\n \"alert\": { schema: alertSchema, tool: alertTool },\n \"stat-grid\": { schema: statGridSchema, tool: statGridTool },\n \"tabs-panel\": { schema: tabsPanelSchema, tool: tabsPanelTool },\n \"sparkline-table\": { schema: sparklineTableSchema, tool: sparklineTableTool },\n \"heatmap-table\": { schema: heatmapTableSchema, tool: heatmapTableTool },\n \"screener-table\": { schema: screenerTableSchema, tool: screenerTableTool },\n \"grouped-table\": { schema: groupedTableSchema, tool: groupedTableTool },\n \"news-feed\": { schema: newsFeedSchema, tool: newsFeedTool },\n \"area-chart\": { schema: areaChartSchema, tool: areaChartTool },\n \"allocation-donut\": { schema: allocationDonutSchema, tool: allocationDonutTool },\n \"waterfall-chart\": { schema: waterfallChartSchema, tool: waterfallChartTool },\n \"flow-canvas\": { schema: flowCanvasSchema, tool: flowCanvasTool },\n \"trial-balance\": { schema: trialBalanceSchema, tool: trialBalanceTool },\n \"journal-entry\": { schema: journalEntrySchema, tool: journalEntryTool },\n \"aging-report\": { schema: agingReportSchema, tool: agingReportTool },\n \"variance-analysis\": { schema: varianceAnalysisSchema, tool: varianceAnalysisTool },\n \"stacked-breakdown\": { schema: stackedBreakdownSchema, tool: stackedBreakdownTool },\n \"comparative-bar-chart\": { schema: comparativeBarChartSchema, tool: comparativeBarChartTool },\n \"compliance-checklist\": { schema: complianceChecklistSchema, tool: complianceChecklistTool },\n \"reconciliation-view\": { schema: reconciliationViewSchema, tool: reconciliationViewTool },\n \"audit-trail\": { schema: auditTrailSchema, tool: auditTrailTool },\n \"document-preview\": { schema: documentPreviewSchema, tool: documentPreviewTool },\n \"provenance-chain\": { schema: provenanceChainSchema, tool: provenanceChainTool },\n \"search-results\": { schema: searchResultsSchema, tool: searchResultsTool },\n \"legal-test-result\": { schema: legalTestResultSchema, tool: legalTestResultTool },\n \"engagement-pipeline\": { schema: engagementPipelineSchema, tool: engagementPipelineTool },\n \"entity-card-grid\": { schema: entityCardGridSchema, tool: entityCardGridTool },\n \"job-tracker\": { schema: jobTrackerSchema, tool: jobTrackerTool },\n \"cited-answer\": { schema: citedAnswerSchema, tool: citedAnswerTool },\n \"transaction-feed\": { schema: transactionFeedSchema, tool: transactionFeedTool },\n \"file-browser\": { schema: fileBrowserSchema, tool: fileBrowserTool },\n \"download-card\": { schema: downloadCardSchema, tool: downloadCardTool },\n \"ops-dashboard\": { schema: opsDashboardSchema, tool: opsDashboardTool },\n \"key-value-list\": { schema: keyValueListSchema, tool: keyValueListTool },\n \"balance-sheet\": { schema: balanceSheetSchema, tool: balanceSheetTool },\n \"income-statement\": { schema: incomeStatementSchema, tool: incomeStatementTool },\n \"cash-flow-statement\": { schema: cashFlowStatementSchema, tool: cashFlowStatementTool },\n \"general-ledger\": { schema: generalLedgerSchema, tool: generalLedgerTool },\n \"chart-of-accounts\": { schema: chartOfAccountsSchema, tool: chartOfAccountsTool },\n \"invoice-detail\": { schema: invoiceDetailSchema, tool: invoiceDetailTool },\n \"amortization-table\": { schema: amortizationTableSchema, tool: amortizationTableTool },\n \"depreciation-schedule\": { schema: depreciationScheduleSchema, tool: depreciationScheduleTool },\n \"escalation-card\": { schema: escalationCardSchema, tool: escalationCardTool },\n \"line-chart\": { schema: lineChartSchema, tool: lineChartTool },\n \"combo-chart\": { schema: comboChartSchema, tool: comboChartTool },\n \"gauge-chart\": { schema: gaugeChartSchema, tool: gaugeChartTool },\n \"treemap-chart\": { schema: treemapChartSchema, tool: treemapChartTool },\n \"radar-chart\": { schema: radarChartSchema, tool: radarChartTool },\n \"funnel-chart\": { schema: funnelChartSchema, tool: funnelChartTool },\n \"bullet-chart\": { schema: bulletChartSchema, tool: bulletChartTool },\n \"scatter-chart\": { schema: scatterChartSchema, tool: scatterChartTool },\n \"connect-integration\": { schema: connectIntegrationSchema, tool: connectIntegrationTool },\n \"integrations-list\": { schema: integrationsListSchema, tool: integrationsListTool },\n \"pipeline-preview\": { schema: pipelinePreviewSchema, tool: pipelinePreviewTool },\n \"workflow-stepper\": { schema: workflowStepperSchema, tool: workflowStepperTool },\n \"document-field-extraction\": { schema: documentFieldExtractionSchema, tool: documentFieldExtractionTool },\n \"decision-card\": { schema: decisionCardSchema, tool: decisionCardTool },\n \"decision-queue\": { schema: decisionQueueSchema, tool: decisionQueueTool },\n \"tabby-auth\": { schema: tabbyAuthSchema, tool: tabbyAuthTool },\n} satisfies Record<string, { schema: z.ZodTypeAny; tool: object }>;\n\nexport type SchemaPayload<T extends keyof typeof schemaRegistry> =\n z.infer<(typeof schemaRegistry)[T][\"schema\"]>;\n\nexport { buildRenderUITool } from \"./buildRenderUITool\";\nexport { validatePayload } from \"./validatePayload\";\n"]}
1
+ {"version":3,"sources":["../../src/schemas/data-table.ts","../../src/schemas/status-card.ts","../../src/schemas/alert.ts","../../src/schemas/stat-grid.ts","../../src/schemas/tabs-panel.ts","../../src/schemas/sparkline-table.ts","../../src/schemas/heatmap-table.ts","../../src/schemas/screener-table.ts","../../src/schemas/grouped-table.ts","../../src/schemas/news-feed.ts","../../src/schemas/area-chart.ts","../../src/schemas/allocation-donut.ts","../../src/schemas/waterfall-chart.ts","../../src/schemas/flow-canvas.ts","../../src/schemas/trial-balance.ts","../../src/schemas/journal-entry.ts","../../src/schemas/aging-report.ts","../../src/schemas/variance-analysis.ts","../../src/schemas/stacked-breakdown.ts","../../src/schemas/comparative-bar-chart.ts","../../src/schemas/compliance-checklist.ts","../../src/schemas/reconciliation-view.ts","../../src/schemas/audit-trail.ts","../../src/schemas/document-preview.ts","../../src/schemas/provenance-chain.ts","../../src/schemas/search-results.ts","../../src/schemas/legal-test-result.ts","../../src/schemas/engagement-pipeline.ts","../../src/schemas/entity-card-grid.ts","../../src/schemas/job-tracker.ts","../../src/schemas/cited-answer.ts","../../src/schemas/transaction-feed.ts","../../src/schemas/file-browser.ts","../../src/schemas/download-card.ts","../../src/schemas/ops-dashboard.ts","../../src/schemas/key-value-list.ts","../../src/schemas/balance-sheet.ts","../../src/schemas/income-statement.ts","../../src/schemas/cash-flow-statement.ts","../../src/schemas/general-ledger.ts","../../src/schemas/chart-of-accounts.ts","../../src/schemas/invoice-detail.ts","../../src/schemas/amortization-table.ts","../../src/schemas/depreciation-schedule.ts","../../src/schemas/escalation-card.ts","../../src/schemas/line-chart.ts","../../src/schemas/combo-chart.ts","../../src/schemas/gauge-chart.ts","../../src/schemas/treemap-chart.ts","../../src/schemas/radar-chart.ts","../../src/schemas/funnel-chart.ts","../../src/schemas/bullet-chart.ts","../../src/schemas/scatter-chart.ts","../../src/schemas/connect-integration.ts","../../src/schemas/integrations-list.ts","../../src/schemas/pipeline-preview.ts","../../src/schemas/workflow-stepper.ts","../../src/schemas/document-field-extraction.ts","../../src/schemas/decision-card.ts","../../src/schemas/decision-queue.ts","../../src/schemas/tabby-auth.ts","../../src/schemas/buildRenderUITool.ts","../../src/schemas/coercePayload.ts","../../src/schemas/validatePayload.ts","../../src/schemas/index.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["import { z } from \"zod\";\n\nexport const dataTableSchema = z.object({\n type: z.literal(\"data-table\"),\n title: z.string().optional(),\n columns: z\n .array(\n z.object({\n key: z.string(),\n label: z.string(),\n align: z.enum([\"start\", \"center\", \"end\"]).default(\"start\"),\n })\n )\n .min(1)\n .max(10),\n rows: z\n .array(\n z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()]))\n )\n .max(100),\n pagination: z.boolean().default(false),\n});\n\nexport const dataTableTool = {\n name: \"render_data_table\",\n description: \"Render a structured data table with labeled columns and rows\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"data-table\"] },\n title: { type: \"string\" },\n columns: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n label: { type: \"string\" },\n align: { type: \"string\", enum: [\"start\", \"center\", \"end\"] },\n },\n required: [\"key\", \"label\"],\n },\n },\n rows: {\n type: \"array\",\n items: { type: \"object\", additionalProperties: true },\n },\n pagination: { type: \"boolean\" },\n },\n required: [\"type\", \"columns\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nconst variantMap: Record<string, string> = {\n outlined: \"bordered\", outline: \"bordered\", filled: \"solid\",\n solid: \"solid\", bordered: \"bordered\", light: \"light\", flat: \"flat\", ghost: \"ghost\",\n};\n\nconst colorMap: Record<string, string> = {\n default: \"default\", primary: \"primary\", secondary: \"secondary\",\n success: \"success\", warning: \"warning\", danger: \"danger\",\n error: \"danger\", info: \"primary\", neutral: \"default\",\n};\n\nconst validVariants = [\"solid\", \"bordered\", \"light\", \"flat\", \"ghost\"] as const;\nconst validColors = [\"default\", \"primary\", \"secondary\", \"success\", \"warning\", \"danger\"] as const;\n\nexport const statusCardSchema = z.object({\n type: z.literal(\"status-card\"),\n title: z.string(),\n subtitle: z.string().optional(),\n status: z\n .enum([\"default\", \"success\", \"warning\", \"danger\", \"primary\"])\n .default(\"default\"),\n fields: z\n .array(\n z.object({\n label: z.string(),\n value: z.string(),\n highlight: z.boolean().default(false),\n })\n )\n .max(12),\n actions: z\n .array(\n z.object({\n label: z.string(),\n variant: z\n .string()\n .transform((v) => (variantMap[v] ?? \"bordered\") as typeof validVariants[number])\n .default(\"bordered\"),\n color: z\n .string()\n .transform((v) => (colorMap[v] ?? \"default\") as typeof validColors[number])\n .default(\"default\"),\n })\n )\n .max(3)\n .optional(),\n});\n\nexport const statusCardTool = {\n name: \"render_status_card\",\n description: \"Render a card for a single entity — person, order, product, task\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"status-card\"] },\n title: { type: \"string\" },\n subtitle: { type: \"string\" },\n status: {\n type: \"string\",\n enum: [\"default\", \"success\", \"warning\", \"danger\", \"primary\"],\n },\n fields: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"string\" },\n highlight: { type: \"boolean\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n actions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n variant: { type: \"string\" },\n color: { type: \"string\" },\n },\n required: [\"label\"],\n },\n },\n },\n required: [\"type\", \"title\", \"fields\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const alertSchema = z.object({\n type: z.literal(\"alert\"),\n color: z.enum([\n \"default\",\n \"primary\",\n \"secondary\",\n \"success\",\n \"warning\",\n \"danger\",\n ]),\n title: z.string(),\n description: z.string().optional(),\n});\n\nexport const alertTool = {\n name: \"render_alert\",\n description: \"Render a short important message — success, warning, error, or info\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"alert\"] },\n color: {\n type: \"string\",\n enum: [\"default\", \"primary\", \"secondary\", \"success\", \"warning\", \"danger\"],\n },\n title: { type: \"string\" },\n description: { type: \"string\" },\n },\n required: [\"type\", \"color\", \"title\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const statGridSchema = z.object({\n type: z.literal(\"stat-grid\"),\n stats: z\n .array(\n z.object({\n label: z.string(),\n value: z.string(),\n change: z.string().optional(),\n changeType: z.enum([\"positive\", \"negative\", \"neutral\"]).optional(),\n description: z.string().optional(),\n })\n )\n .min(2)\n .max(4),\n});\n\nexport const statGridTool = {\n name: \"render_stat_grid\",\n description: \"Render 2–4 KPI metric cards side by side\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"stat-grid\"] },\n stats: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"string\" },\n change: { type: \"string\" },\n changeType: {\n type: \"string\",\n enum: [\"positive\", \"negative\", \"neutral\"],\n },\n description: { type: \"string\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n },\n required: [\"type\", \"stats\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const tabsPanelSchema = z.object({\n type: z.literal(\"tabs-panel\"),\n tabs: z\n .array(\n z.object({\n key: z.string(),\n label: z.string(),\n content: z.string(),\n })\n )\n .min(2)\n .max(6),\n});\n\nexport const tabsPanelTool = {\n name: \"render_tabs_panel\",\n description: \"Render multiple sections the user can switch between via tabs\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"tabs-panel\"] },\n tabs: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n label: { type: \"string\" },\n content: { type: \"string\" },\n },\n required: [\"key\", \"label\", \"content\"],\n },\n },\n },\n required: [\"type\", \"tabs\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const sparklineTableSchema = z.object({\n type: z.literal(\"sparkline-table\"),\n title: z.string().optional(),\n sparklineLabel: z.string().default(\"Trend\"),\n columns: z\n .array(z.object({ key: z.string(), label: z.string(), align: z.enum([\"start\", \"center\", \"end\"]).default(\"start\") }))\n .min(1)\n .max(12),\n rows: z\n .array(\n z.object({\n sparkline: z.array(z.number()).min(2).max(60),\n }).catchall(z.union([z.string(), z.number(), z.boolean(), z.null()]))\n )\n .max(50),\n});\n\nexport const sparklineTableTool = {\n name: \"render_sparkline_table\",\n description: \"Render a table where one column shows a 30-day sparkline trend per row — watchlist, holdings, options chain\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"sparkline-table\"] },\n title: { type: \"string\" },\n sparklineLabel: { type: \"string\" },\n columns: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { key: { type: \"string\" }, label: { type: \"string\" }, align: { type: \"string\", enum: [\"start\", \"center\", \"end\"] } },\n required: [\"key\", \"label\"],\n },\n },\n rows: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { sparkline: { type: \"array\", items: { type: \"number\" } } },\n required: [\"sparkline\"],\n additionalProperties: true,\n },\n },\n },\n required: [\"type\", \"columns\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nconst heatmapCellSchema = z.object({ value: z.string(), zScore: z.number() });\n\nexport const heatmapTableSchema = z.object({\n type: z.literal(\"heatmap-table\"),\n title: z.string().optional(),\n columns: z\n .array(z.object({ key: z.string(), label: z.string() }))\n .min(1)\n .max(12),\n rows: z\n .array(\n z.object({\n rowLabel: z.string(),\n cells: z.array(heatmapCellSchema),\n })\n )\n .max(30),\n});\n\nexport const heatmapTableTool = {\n name: \"render_heatmap_table\",\n description: \"Render a comparison table where cells are color-scaled by z-score — fund comparison, peer group, macro heatmap\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"heatmap-table\"] },\n title: { type: \"string\" },\n columns: {\n type: \"array\",\n items: { type: \"object\", properties: { key: { type: \"string\" }, label: { type: \"string\" } }, required: [\"key\", \"label\"] },\n },\n rows: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n rowLabel: { type: \"string\" },\n cells: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { value: { type: \"string\" }, zScore: { type: \"number\" } },\n required: [\"value\", \"zScore\"],\n },\n },\n },\n required: [\"rowLabel\", \"cells\"],\n },\n },\n },\n required: [\"type\", \"columns\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const screenerTableSchema = z.object({\n type: z.literal(\"screener-table\"),\n title: z.string().optional(),\n columns: z\n .array(\n z.object({\n key: z.string(),\n label: z.string(),\n align: z.enum([\"start\", \"center\", \"end\"]).default(\"start\"),\n meterKey: z.boolean().default(false),\n meterMax: z.number().optional(),\n })\n )\n .min(1)\n .max(10),\n rows: z\n .array(z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()])))\n .max(100),\n activeFilters: z.array(z.string()).default([]),\n});\n\nexport const screenerTableTool = {\n name: \"render_screener_table\",\n description: \"Render a sortable table with inline meter bars for scores/ratings — stock screener, fund search, bond filter\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"screener-table\"] },\n title: { type: \"string\" },\n columns: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n label: { type: \"string\" },\n align: { type: \"string\", enum: [\"start\", \"center\", \"end\"] },\n meterKey: { type: \"boolean\" },\n meterMax: { type: \"number\" },\n },\n required: [\"key\", \"label\"],\n },\n },\n rows: { type: \"array\", items: { type: \"object\", additionalProperties: true } },\n activeFilters: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"type\", \"columns\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nconst groupedRowSchema = z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()]));\n\nconst groupSchema: z.ZodType<{\n groupLabel: string;\n rows: Record<string, string | number | boolean | null>[];\n subGroups?: { groupLabel: string; rows: Record<string, string | number | boolean | null>[]; subGroups?: never[] }[];\n}> = z.object({\n groupLabel: z.string(),\n rows: z.array(groupedRowSchema).max(20),\n subGroups: z.array(z.object({ groupLabel: z.string(), rows: z.array(groupedRowSchema).max(20) })).optional(),\n});\n\nexport const groupedTableSchema = z.object({\n type: z.literal(\"grouped-table\"),\n title: z.string().optional(),\n columns: z\n .array(z.object({\n key: z.string(),\n label: z.string(),\n align: z.string().transform((v) => {\n const map: Record<string, string> = { left: \"start\", right: \"end\", start: \"start\", center: \"center\", end: \"end\" };\n return (map[v] ?? \"start\") as \"start\" | \"center\" | \"end\";\n }).default(\"start\"),\n }))\n .min(1)\n .max(10),\n groups: z.array(groupSchema).min(1).max(20),\n});\n\nexport const groupedTableTool = {\n name: \"render_grouped_table\",\n description: \"Render a table with collapsible row groups — portfolio hierarchy, sleeve breakdown, consolidated view\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"grouped-table\"] },\n title: { type: \"string\" },\n columns: {\n type: \"array\",\n items: { type: \"object\", properties: { key: { type: \"string\" }, label: { type: \"string\" }, align: { type: \"string\" } }, required: [\"key\", \"label\"] },\n },\n groups: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n groupLabel: { type: \"string\" },\n rows: { type: \"array\", items: { type: \"object\", additionalProperties: true } },\n subGroups: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n groupLabel: { type: \"string\" },\n rows: { type: \"array\", items: { type: \"object\", additionalProperties: true } },\n },\n required: [\"groupLabel\", \"rows\"],\n },\n },\n },\n required: [\"groupLabel\", \"rows\"],\n },\n },\n },\n required: [\"type\", \"columns\", \"groups\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const newsFeedSchema = z.object({\n type: z.literal(\"news-feed\"),\n title: z.string().optional(),\n items: z\n .array(\n z.object({\n headline: z.string(),\n source: z.string(),\n timestamp: z.string(),\n sentiment: z.enum([\"positive\", \"neutral\", \"negative\"]),\n summary: z.string().optional(),\n url: z.string().optional(),\n })\n )\n .min(1)\n .max(20),\n});\n\nexport const newsFeedTool = {\n name: \"render_news_feed\",\n description: \"Render a list of news items with AI sentiment chips — news, catalysts, sentiment, macro\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"news-feed\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n headline: { type: \"string\" },\n source: { type: \"string\" },\n timestamp: { type: \"string\" },\n sentiment: { type: \"string\", enum: [\"positive\", \"neutral\", \"negative\"] },\n summary: { type: \"string\" },\n url: { type: \"string\" },\n },\n required: [\"headline\", \"source\", \"timestamp\", \"sentiment\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const areaChartSchema = z.object({\n type: z.literal(\"area-chart\"),\n title: z.string().optional(),\n xKey: z.string(),\n series: z\n .array(z.object({ name: z.string(), dataKey: z.string(), color: z.string() }))\n .min(1)\n .max(4),\n data: z\n .array(z.record(z.string(), z.union([z.string(), z.number()])))\n .min(2)\n .max(500),\n});\n\nexport const areaChartTool = {\n name: \"render_area_chart\",\n description: \"Render a multi-series area chart for time series — cumulative return, benchmark comparison, drawdown\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"area-chart\"] },\n title: { type: \"string\" },\n xKey: { type: \"string\", description: \"The key in each data row used as the X-axis label (e.g. 'date')\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { name: { type: \"string\" }, dataKey: { type: \"string\" }, color: { type: \"string\", description: \"CSS color, e.g. #6366f1\" } },\n required: [\"name\", \"dataKey\", \"color\"],\n },\n },\n data: {\n type: \"array\",\n items: { type: \"object\", additionalProperties: true },\n description: \"Array of data rows. Each row must have xKey and all series dataKeys.\",\n },\n },\n required: [\"type\", \"xKey\", \"series\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const allocationDonutSchema = z.object({\n type: z.literal(\"allocation-donut\"),\n title: z.string().optional(),\n slices: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n color: z.string().optional(),\n benchmark: z.number().optional(),\n })\n )\n .min(2)\n .max(12),\n});\n\nexport const allocationDonutTool = {\n name: \"render_allocation_donut\",\n description: \"Render a donut chart with allocation breakdown table — portfolio, asset class, sector, geography\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"allocation-donut\"] },\n title: { type: \"string\" },\n slices: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\", description: \"Percentage 0-100\" },\n color: { type: \"string\", description: \"Optional CSS color\" },\n benchmark: { type: \"number\", description: \"Benchmark weight for over/underweight chip\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n },\n required: [\"type\", \"slices\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const waterfallChartSchema = z.object({\n type: z.literal(\"waterfall-chart\"),\n title: z.string().optional(),\n bars: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n isTotal: z.boolean().default(false),\n })\n )\n .min(2)\n .max(20),\n unit: z.string().default(\"%\"),\n});\n\nexport const waterfallChartTool = {\n name: \"render_waterfall_chart\",\n description: \"Render a waterfall bar chart showing contribution of each factor to total return — factor attribution, P&L attribution\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"waterfall-chart\"] },\n title: { type: \"string\" },\n bars: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\", description: \"Positive or negative contribution\" },\n isTotal: { type: \"boolean\", description: \"True for the total/net bar\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n unit: { type: \"string\", description: \"Unit label, e.g. '%' or 'bps'\" },\n },\n required: [\"type\", \"bars\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const flowCanvasSchema = z.object({\n type: z.literal(\"flow-canvas\"),\n // Stable identity. Re-send render_flow_canvas with the SAME id to update the\n // existing card in place (e.g. as pipeline stages progress) instead of adding a\n // new one.\n id: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n diagram: z.string().min(1),\n // Per-node run status, keyed by Mermaid node id OR its label. Drives the\n // pending/active/done/error styling + transition animation.\n node_states: z.record(z.string(), z.enum([\"pending\", \"active\", \"done\", \"error\"])).optional(),\n // Auto-animate the flow running (loops) — for live demos. No on-screen controls.\n autoplay: z.boolean().optional(),\n});\n\nexport const flowCanvasTool = {\n name: \"render_flow_canvas\",\n description: `Render a Mermaid diagram for user flows, workflows, system architecture, process maps, mind maps, ER diagrams, sequence diagrams, and any visual design artifact. Use when the user asks to visualize a process, flow, system, or diagram of any kind.`,\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"flow-canvas\"] },\n id: {\n type: \"string\",\n description:\n \"Stable id for this diagram. To UPDATE a previously shown flow (e.g. a pipeline as its stages progress), re-render with the SAME id and updated node_states — the existing card updates in place instead of a new one being added. Omit for one-off diagrams.\",\n },\n title: { type: \"string\", description: \"Diagram title, shown above the canvas\" },\n description: { type: \"string\", description: \"One-line description of what the diagram shows\" },\n node_states: {\n type: \"object\",\n description:\n \"Optional per-node run status, keyed by the Mermaid node id or its label, value one of 'pending' | 'active' | 'done' | 'error'. Drives stage coloring + a paint animation. Update these (with the same id) as the workflow progresses.\",\n additionalProperties: { type: \"string\", enum: [\"pending\", \"active\", \"done\", \"error\"] },\n },\n autoplay: {\n type: \"boolean\",\n description:\n \"When true, the flow auto-animates each node lighting up in sequence (loops) — use only to DEMO a workflow running when there is no real per-stage status to report.\",\n },\n diagram: {\n type: \"string\",\n description: `A valid Mermaid diagram string. Keep diagrams COMPACT — max 15 nodes, short labels (1-4 words each). No emojis anywhere.\n\nflowchart TD (top-down flows and processes):\n flowchart TD\n A([Start]) --> B[Step One]\n B --> C{Decision?}\n C -->|Yes| D[Path A]\n C -->|No| E[Path B]\n D --> F([End])\n E --> F\n\nflowchart LR (left-right pipelines):\n flowchart LR\n A[Input] --> B[Process] --> C[Output]\n\nsequenceDiagram (actor interactions):\n sequenceDiagram\n participant U as User\n participant S as Server\n U->>S: POST /login\n S-->>U: 200 OK\n\nerDiagram:\n erDiagram\n USER ||--o{ ORDER : places\n ORDER ||--|{ LINE_ITEM : contains\n\nclassDiagram:\n classDiagram\n Animal <|-- Dog\n Animal: +name string\n\nRULES — follow these exactly:\n- Max 15 nodes total. For complex topics, show the happy path only; omit edge cases\n- Labels: 1-4 words, no punctuation other than / or &\n- No emojis anywhere\n- No inline style directives (style A fill:#...)\n- Prefer TD for flows, LR for pipelines, sequence for interactions\n- Use subgraph only when 2+ clear groups exist; max 2 subgraphs\n- Do NOT wrap output in \\`\\`\\`mermaid fences`,\n },\n },\n required: [\"type\", \"diagram\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const trialBalanceSchema = z.object({\n type: z.literal(\"trial-balance\"),\n title: z.string().optional(),\n asOfDate: z.string().optional(),\n currency: z.string().default(\"USD\"),\n groups: z\n .array(\n z.object({\n category: z.enum([\"assets\", \"liabilities\", \"equity\", \"revenue\", \"expenses\", \"other\"]),\n accounts: z\n .array(\n z.object({\n code: z.string(),\n name: z.string(),\n debit: z.number().min(0).default(0),\n credit: z.number().min(0).default(0),\n })\n )\n .min(1)\n .max(30),\n })\n )\n .min(1)\n .max(6),\n});\n\nexport const trialBalanceTool = {\n name: \"render_trial_balance\",\n description:\n \"Render a debit/credit trial balance grouped by account category — chart of accounts, balance verification\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"trial-balance\"] },\n title: { type: \"string\" },\n asOfDate: { type: \"string\", description: \"As-of date for the balance\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n groups: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n category: {\n type: \"string\",\n enum: [\"assets\", \"liabilities\", \"equity\", \"revenue\", \"expenses\", \"other\"],\n },\n accounts: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n code: { type: \"string\" },\n name: { type: \"string\" },\n debit: { type: \"number\", minimum: 0 },\n credit: { type: \"number\", minimum: 0 },\n },\n required: [\"code\", \"name\"],\n },\n },\n },\n required: [\"category\", \"accounts\"],\n },\n },\n },\n required: [\"type\", \"groups\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const journalEntrySchema = z.object({\n type: z.literal(\"journal-entry\"),\n title: z.string().optional(),\n entries: z\n .array(\n z.object({\n entryId: z.string(),\n date: z.string(),\n memo: z.string().optional(),\n status: z.enum([\"draft\", \"posted\", \"reversed\", \"pending-approval\"]).default(\"posted\"),\n lines: z\n .array(\n z.object({\n account: z.string(),\n description: z.string().optional(),\n debit: z.number().min(0).default(0),\n credit: z.number().min(0).default(0),\n })\n )\n .min(2)\n .max(20),\n })\n )\n .min(1)\n .max(10),\n currency: z.string().default(\"USD\"),\n});\n\nexport const journalEntryTool = {\n name: \"render_journal_entry\",\n description:\n \"Render journal entries with debit/credit lines — transactions, adjusting entries, postings\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"journal-entry\"] },\n title: { type: \"string\" },\n entries: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n entryId: { type: \"string\" },\n date: { type: \"string\", description: \"ISO date\" },\n memo: { type: \"string\" },\n status: { type: \"string\", enum: [\"draft\", \"posted\", \"reversed\", \"pending-approval\"] },\n lines: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n account: { type: \"string\" },\n description: { type: \"string\" },\n debit: { type: \"number\", minimum: 0 },\n credit: { type: \"number\", minimum: 0 },\n },\n required: [\"account\"],\n },\n },\n },\n required: [\"entryId\", \"date\", \"lines\"],\n },\n },\n currency: { type: \"string\" },\n },\n required: [\"type\", \"entries\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const agingReportSchema = z.object({\n type: z.literal(\"aging-report\"),\n title: z.string().optional(),\n reportType: z.enum([\"receivable\", \"payable\"]).default(\"receivable\"),\n asOfDate: z.string().optional(),\n currency: z.string().default(\"USD\"),\n buckets: z.array(z.string()).min(2).max(7),\n entities: z\n .array(\n z.object({\n name: z.string(),\n amounts: z.array(z.number()).min(2).max(7),\n total: z.number(),\n })\n )\n .min(1)\n .max(50),\n});\n\nexport const agingReportTool = {\n name: \"render_aging_report\",\n description:\n \"Render an AR/AP aging report with time buckets — overdue invoices, collections, payables aging\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"aging-report\"] },\n title: { type: \"string\" },\n reportType: { type: \"string\", enum: [\"receivable\", \"payable\"] },\n asOfDate: { type: \"string\" },\n currency: { type: \"string\" },\n buckets: {\n type: \"array\",\n items: { type: \"string\" },\n description: \"Aging bucket labels, e.g. ['Current','1-30','31-60','61-90','90+']\",\n },\n entities: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n amounts: { type: \"array\", items: { type: \"number\" }, description: \"One amount per bucket\" },\n total: { type: \"number\" },\n },\n required: [\"name\", \"amounts\", \"total\"],\n },\n },\n },\n required: [\"type\", \"buckets\", \"entities\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const varianceAnalysisSchema = z.object({\n type: z.literal(\"variance-analysis\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n period: z.string().optional(),\n rows: z\n .array(\n z.object({\n lineItem: z.string(),\n budget: z.number(),\n actual: z.number(),\n isSubtotal: z.boolean().default(false),\n indent: z.number().min(0).max(3).default(0),\n })\n )\n .min(1)\n .max(50),\n favorableDirection: z.enum([\"higher\", \"lower\"]).default(\"higher\"),\n});\n\nexport const varianceAnalysisTool = {\n name: \"render_variance_analysis\",\n description:\n \"Render a budget vs actual table with variance columns — cost analysis, performance vs target\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"variance-analysis\"] },\n title: { type: \"string\" },\n currency: { type: \"string\" },\n period: { type: \"string\" },\n rows: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n lineItem: { type: \"string\" },\n budget: { type: \"number\" },\n actual: { type: \"number\" },\n isSubtotal: { type: \"boolean\" },\n indent: { type: \"number\", minimum: 0, maximum: 3 },\n },\n required: [\"lineItem\", \"budget\", \"actual\"],\n },\n },\n favorableDirection: {\n type: \"string\",\n enum: [\"higher\", \"lower\"],\n description: \"Whether higher actual is favorable (revenue) or unfavorable (cost)\",\n },\n },\n required: [\"type\", \"rows\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const stackedBreakdownSchema = z.object({\n type: z.literal(\"stacked-breakdown\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n periods: z.array(z.string()).min(1).max(12),\n categories: z\n .array(\n z.object({\n name: z.string(),\n color: z.string().optional(),\n values: z.array(z.number()).min(1).max(12),\n })\n )\n .min(1)\n .max(8),\n totals: z.array(z.number()).optional(),\n});\n\nexport const stackedBreakdownTool = {\n name: \"render_stacked_breakdown\",\n description:\n \"Render a stacked bar chart with category breakdown across periods — cost breakdown, revenue by segment, liability composition, budget allocation\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"stacked-breakdown\"] },\n title: { type: \"string\" },\n currency: { type: \"string\" },\n periods: {\n type: \"array\",\n items: { type: \"string\" },\n description: \"Period labels, e.g. ['Q1 2024','Q2 2024']\",\n },\n categories: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n color: { type: \"string\" },\n values: { type: \"array\", items: { type: \"number\" }, description: \"One value per period\" },\n },\n required: [\"name\", \"values\"],\n },\n },\n totals: { type: \"array\", items: { type: \"number\" }, description: \"Optional pre-computed totals per period\" },\n },\n required: [\"type\", \"periods\", \"categories\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const comparativeBarChartSchema = z.object({\n type: z.literal(\"comparative-bar-chart\"),\n title: z.string().optional(),\n mode: z.enum([\"grouped\", \"stacked\"]).default(\"grouped\"),\n orientation: z.enum([\"vertical\", \"horizontal\"]).default(\"vertical\"),\n xKey: z.string(),\n series: z\n .array(\n z.object({\n name: z.string(),\n dataKey: z.string(),\n color: z.string().optional(),\n })\n )\n .min(1)\n .max(6),\n data: z.array(z.record(z.string(), z.union([z.string(), z.number()]))).min(1).max(24),\n unit: z.string().default(\"\"),\n showValues: z.boolean().default(false),\n});\n\nexport const comparativeBarChartTool = {\n name: \"render_comparative_bar_chart\",\n description:\n \"Render a grouped or stacked bar chart for comparisons — period-over-period, multi-entity benchmarks\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"comparative-bar-chart\"] },\n title: { type: \"string\" },\n mode: { type: \"string\", enum: [\"grouped\", \"stacked\"] },\n orientation: { type: \"string\", enum: [\"vertical\", \"horizontal\"] },\n xKey: { type: \"string\", description: \"Key in data objects for x-axis labels\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n data: { type: \"array\", items: { type: \"object\", additionalProperties: true } },\n unit: { type: \"string\" },\n showValues: { type: \"boolean\" },\n },\n required: [\"type\", \"xKey\", \"series\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const complianceChecklistSchema = z.object({\n type: z.literal(\"compliance-checklist\"),\n title: z.string().optional(),\n sections: z\n .array(\n z.object({\n sectionTitle: z.string(),\n items: z\n .array(\n z.object({\n id: z.string(),\n description: z.string(),\n status: z.enum([\"completed\", \"in-progress\", \"not-started\", \"overdue\", \"blocked\", \"na\"]),\n dueDate: z.string().optional(),\n assignee: z.string().optional(),\n notes: z.string().optional(),\n priority: z.enum([\"critical\", \"high\", \"medium\", \"low\"]).default(\"medium\"),\n })\n )\n .min(1)\n .max(25),\n })\n )\n .min(1)\n .max(10),\n});\n\nexport const complianceChecklistTool = {\n name: \"render_compliance_checklist\",\n description:\n \"Render a regulatory checklist with status tracking — audit checklist, SOX, filing deadlines\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"compliance-checklist\"] },\n title: { type: \"string\" },\n sections: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n sectionTitle: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n description: { type: \"string\" },\n status: {\n type: \"string\",\n enum: [\"completed\", \"in-progress\", \"not-started\", \"overdue\", \"blocked\", \"na\"],\n },\n dueDate: { type: \"string\" },\n assignee: { type: \"string\" },\n notes: { type: \"string\" },\n priority: { type: \"string\", enum: [\"critical\", \"high\", \"medium\", \"low\"] },\n },\n required: [\"id\", \"description\", \"status\"],\n },\n },\n },\n required: [\"sectionTitle\", \"items\"],\n },\n },\n },\n required: [\"type\", \"sections\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const reconciliationViewSchema = z.object({\n type: z.literal(\"reconciliation-view\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n sourceA: z.object({ label: z.string() }),\n sourceB: z.object({ label: z.string() }),\n matched: z\n .array(\n z.object({\n date: z.string(),\n description: z.string(),\n amountA: z.number(),\n amountB: z.number(),\n reference: z.string().optional(),\n })\n )\n .max(50)\n .default([]),\n unmatchedA: z\n .array(\n z.object({\n date: z.string(),\n description: z.string(),\n amount: z.number(),\n reference: z.string().optional(),\n })\n )\n .max(30)\n .default([]),\n unmatchedB: z\n .array(\n z.object({\n date: z.string(),\n description: z.string(),\n amount: z.number(),\n reference: z.string().optional(),\n })\n )\n .max(30)\n .default([]),\n summary: z\n .object({\n balanceA: z.number(),\n balanceB: z.number(),\n difference: z.number(),\n })\n .optional(),\n});\n\nexport const reconciliationViewTool = {\n name: \"render_reconciliation_view\",\n description:\n \"Render a side-by-side reconciliation of two sources — bank recon, intercompany matching\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"reconciliation-view\"] },\n title: { type: \"string\" },\n currency: { type: \"string\" },\n sourceA: {\n type: \"object\",\n properties: { label: { type: \"string\" } },\n required: [\"label\"],\n },\n sourceB: {\n type: \"object\",\n properties: { label: { type: \"string\" } },\n required: [\"label\"],\n },\n matched: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n description: { type: \"string\" },\n amountA: { type: \"number\" },\n amountB: { type: \"number\" },\n reference: { type: \"string\" },\n },\n required: [\"date\", \"description\", \"amountA\", \"amountB\"],\n },\n },\n unmatchedA: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n description: { type: \"string\" },\n amount: { type: \"number\" },\n reference: { type: \"string\" },\n },\n required: [\"date\", \"description\", \"amount\"],\n },\n },\n unmatchedB: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n description: { type: \"string\" },\n amount: { type: \"number\" },\n reference: { type: \"string\" },\n },\n required: [\"date\", \"description\", \"amount\"],\n },\n },\n summary: {\n type: \"object\",\n properties: {\n balanceA: { type: \"number\" },\n balanceB: { type: \"number\" },\n difference: { type: \"number\" },\n },\n required: [\"balanceA\", \"balanceB\", \"difference\"],\n },\n },\n required: [\"type\", \"sourceA\", \"sourceB\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const auditTrailSchema = z.object({\n type: z.literal(\"audit-trail\"),\n title: z.string().optional(),\n entityName: z.string().optional(),\n events: z\n .array(\n z.object({\n timestamp: z.string(),\n actor: z.string(),\n action: z.enum([\n \"created\",\n \"modified\",\n \"approved\",\n \"rejected\",\n \"deleted\",\n \"restored\",\n \"submitted\",\n \"commented\",\n ]),\n summary: z.string(),\n changes: z\n .array(\n z.object({\n field: z.string(),\n oldValue: z.string().optional(),\n newValue: z.string().optional(),\n })\n )\n .max(10)\n .optional(),\n })\n )\n .min(1)\n .max(50),\n});\n\nexport const auditTrailTool = {\n name: \"render_audit_trail\",\n description:\n \"Render a chronological change log with diffs — revision history, modification tracking\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"audit-trail\"] },\n title: { type: \"string\" },\n entityName: { type: \"string\" },\n events: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n timestamp: { type: \"string\", description: \"ISO datetime\" },\n actor: { type: \"string\" },\n action: {\n type: \"string\",\n enum: [\"created\", \"modified\", \"approved\", \"rejected\", \"deleted\", \"restored\", \"submitted\", \"commented\"],\n },\n summary: { type: \"string\" },\n changes: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field: { type: \"string\" },\n oldValue: { type: \"string\" },\n newValue: { type: \"string\" },\n },\n required: [\"field\"],\n },\n },\n },\n required: [\"timestamp\", \"actor\", \"action\", \"summary\"],\n },\n },\n },\n required: [\"type\", \"events\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const documentPreviewSchema = z.object({\n type: z.literal(\"document-preview\"),\n title: z.string().optional(),\n documentType: z.enum([\"pdf\", \"excel\"]),\n source: z.object({\n url: z.string().optional(),\n base64: z.string().optional(),\n filename: z.string(),\n }),\n pages: z\n .array(\n z.object({\n label: z.string(),\n content: z.string().optional(),\n imageUrl: z.string().optional(),\n })\n )\n .min(1)\n .max(100),\n metadata: z\n .object({\n pageCount: z.number().optional(),\n fileSize: z.string().optional(),\n lastModified: z.string().optional(),\n })\n .optional(),\n highlights: z\n .array(\n z.object({\n pageIndex: z.number(),\n text: z.string(),\n color: z.enum([\"yellow\", \"red\", \"green\", \"blue\"]).default(\"yellow\"),\n note: z.string().optional(),\n })\n )\n .max(50)\n .optional(),\n});\n\nexport const documentPreviewTool = {\n name: \"render_document_preview\",\n description:\n \"Render a read-only document viewer for PDF/Excel — tax returns, financial statements, supporting docs. Demo files available: source.url='/demos/sample-tax-return.pdf' (3-page Q4 2024 tax return) and source.url='/demos/sample-budget.xlsx' (3-sheet Q4 2024 budget). When using a demo file, set source.url and provide pages with labels for fallback.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"document-preview\"] },\n title: { type: \"string\" },\n documentType: { type: \"string\", enum: [\"pdf\", \"excel\"] },\n source: {\n type: \"object\",\n properties: {\n url: { type: \"string\" },\n base64: { type: \"string\" },\n filename: { type: \"string\" },\n },\n required: [\"filename\"],\n },\n pages: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n content: { type: \"string\", description: \"Text content for accessibility\" },\n imageUrl: { type: \"string\", description: \"Pre-rendered page image URL\" },\n },\n required: [\"label\"],\n },\n },\n metadata: {\n type: \"object\",\n properties: {\n pageCount: { type: \"number\" },\n fileSize: { type: \"string\" },\n lastModified: { type: \"string\" },\n },\n },\n highlights: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n pageIndex: { type: \"number\" },\n text: { type: \"string\" },\n color: { type: \"string\", enum: [\"yellow\", \"red\", \"green\", \"blue\"] },\n note: { type: \"string\" },\n },\n required: [\"pageIndex\", \"text\"],\n },\n },\n },\n required: [\"type\", \"documentType\", \"source\", \"pages\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const provenanceChainSchema = z.object({\n type: z.literal(\"provenance-chain\"),\n title: z.string().optional(),\n entity: z.object({\n name: z.string(),\n type: z.string(),\n value: z.string(),\n }),\n steps: z\n .array(\n z.object({\n stepType: z.enum([\"source\", \"extraction\", \"rag-query\", \"reasoning\", \"computation\"]),\n label: z.string(),\n detail: z.string(),\n source: z.string().optional(),\n location: z.string().optional(),\n confidence: z.number().min(0).max(1).optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n })\n )\n .min(1)\n .max(20),\n conclusion: z.object({\n value: z.string(),\n confidence: z.number().min(0).max(1),\n status: z.enum([\"qualified\", \"partially-qualified\", \"not-qualified\"]),\n }),\n});\n\nexport const provenanceChainTool = {\n name: \"render_provenance_chain\",\n description:\n \"Render a provenance chain showing how a data value was derived — source documents, extractions, reasoning steps, confidence scores. Use for employee qualification traces, data lineage, audit provenance.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"provenance-chain\"] },\n title: { type: \"string\" },\n entity: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n type: { type: \"string\" },\n value: { type: \"string\" },\n },\n required: [\"name\", \"type\", \"value\"],\n },\n steps: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n stepType: {\n type: \"string\",\n enum: [\"source\", \"extraction\", \"rag-query\", \"reasoning\", \"computation\"],\n },\n label: { type: \"string\" },\n detail: { type: \"string\" },\n source: { type: \"string\" },\n location: { type: \"string\" },\n confidence: { type: \"number\", minimum: 0, maximum: 1 },\n metadata: {\n type: \"object\",\n additionalProperties: { type: \"string\" },\n },\n },\n required: [\"stepType\", \"label\", \"detail\"],\n },\n },\n conclusion: {\n type: \"object\",\n properties: {\n value: { type: \"string\" },\n confidence: { type: \"number\", minimum: 0, maximum: 1 },\n status: {\n type: \"string\",\n enum: [\"qualified\", \"partially-qualified\", \"not-qualified\"],\n },\n },\n required: [\"value\", \"confidence\", \"status\"],\n },\n },\n required: [\"type\", \"entity\", \"steps\", \"conclusion\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const searchResultsSchema = z.object({\n type: z.literal(\"search-results\"),\n title: z.string().optional(),\n query: z.string(),\n totalResults: z.number(),\n results: z.array(z.object({\n title: z.string(),\n source: z.string(),\n sourceType: z.enum([\"tech-memo\", \"questionnaire\", \"contract\", \"workpaper\", \"regulation\", \"other\"]).optional(),\n relevance: z.number().min(0).max(1),\n snippet: z.string(),\n highlights: z.array(z.string()).optional(),\n location: z.string().optional(),\n url: z.string().optional(),\n })).min(1).max(20),\n});\n\nexport const searchResultsTool = {\n name: \"render_search_results\",\n description:\n \"Render ranked search results with relevance scores, source attribution, and content snippets — document search, regulatory search, knowledge base queries.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"search-results\"] },\n title: { type: \"string\" },\n query: { type: \"string\" },\n totalResults: { type: \"number\" },\n results: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n title: { type: \"string\" },\n source: { type: \"string\" },\n sourceType: {\n type: \"string\",\n enum: [\"tech-memo\", \"questionnaire\", \"contract\", \"workpaper\", \"regulation\", \"other\"],\n },\n relevance: { type: \"number\", minimum: 0, maximum: 1 },\n snippet: { type: \"string\" },\n highlights: { type: \"array\", items: { type: \"string\" } },\n location: { type: \"string\" },\n url: { type: \"string\" },\n },\n required: [\"title\", \"source\", \"relevance\", \"snippet\"],\n },\n },\n },\n required: [\"type\", \"query\", \"totalResults\", \"results\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const legalTestResultSchema = z.object({\n type: z.literal(\"legal-test-result\"),\n title: z.string().optional(),\n citation: z.string().optional(),\n overallResult: z.enum([\"pass\", \"fail\", \"inconclusive\", \"partial\"]),\n overallNarrative: z.string().optional(),\n parts: z\n .array(\n z.object({\n partLabel: z.string(),\n result: z.enum([\"pass\", \"fail\", \"inconclusive\", \"na\"]),\n narrative: z.string(),\n subRequirements: z\n .array(\n z.object({\n label: z.string(),\n result: z.enum([\"pass\", \"fail\", \"inconclusive\", \"na\"]),\n detail: z.string().optional(),\n threshold: z.string().optional(),\n evidence: z.string().optional(),\n })\n )\n .max(10)\n .optional(),\n examples: z\n .array(\n z.object({\n scenario: z.string(),\n qualifies: z.boolean(),\n explanation: z.string(),\n })\n )\n .max(6)\n .optional(),\n })\n )\n .min(1)\n .max(8),\n});\n\nexport const legalTestResultTool = {\n name: \"render_legal_test_result\",\n description:\n \"Render a hierarchical legal test result — IRC 41 four-part test, funded-research exclusion two-prong test, regulatory compliance determinations with pass/fail at each level, narrative reasoning, and evidence.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"legal-test-result\"] },\n title: { type: \"string\" },\n citation: { type: \"string\" },\n overallResult: {\n type: \"string\",\n enum: [\"pass\", \"fail\", \"inconclusive\", \"partial\"],\n },\n overallNarrative: { type: \"string\" },\n parts: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n partLabel: { type: \"string\" },\n result: {\n type: \"string\",\n enum: [\"pass\", \"fail\", \"inconclusive\", \"na\"],\n },\n narrative: { type: \"string\" },\n subRequirements: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n result: {\n type: \"string\",\n enum: [\"pass\", \"fail\", \"inconclusive\", \"na\"],\n },\n detail: { type: \"string\" },\n threshold: { type: \"string\" },\n evidence: { type: \"string\" },\n },\n required: [\"label\", \"result\"],\n },\n },\n examples: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n scenario: { type: \"string\" },\n qualifies: { type: \"boolean\" },\n explanation: { type: \"string\" },\n },\n required: [\"scenario\", \"qualifies\", \"explanation\"],\n },\n },\n },\n required: [\"partLabel\", \"result\", \"narrative\"],\n },\n },\n },\n required: [\"type\", \"overallResult\", \"parts\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const engagementPipelineSchema = z.object({\n type: z.literal(\"engagement-pipeline\"),\n title: z.string().optional(),\n clientName: z.string(),\n taxYear: z.string(),\n currentPhase: z.string(),\n phases: z\n .array(\n z.object({\n label: z.string(),\n status: z.enum([\"completed\", \"in-progress\", \"pending\", \"blocked\"]),\n completedDate: z.string().optional(),\n progress: z.number().min(0).max(100).optional(),\n milestones: z\n .array(\n z.object({\n label: z.string(),\n completed: z.boolean(),\n note: z.string().optional(),\n })\n )\n .max(10)\n .optional(),\n blockers: z.array(z.string()).max(5).optional(),\n })\n )\n .min(2)\n .max(8),\n summary: z\n .object({\n totalCredit: z.string().optional(),\n daysRemaining: z.number().optional(),\n lastActivity: z.string().optional(),\n })\n .optional(),\n});\n\nexport const engagementPipelineTool = {\n name: \"render_engagement_pipeline\",\n description:\n \"Render a multi-phase engagement pipeline with progress tracking — client engagement status, tax year progress, sequential workflow phases with milestones and blockers.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"engagement-pipeline\"] },\n title: { type: \"string\" },\n clientName: { type: \"string\" },\n taxYear: { type: \"string\" },\n currentPhase: { type: \"string\" },\n phases: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n status: {\n type: \"string\",\n enum: [\"completed\", \"in-progress\", \"pending\", \"blocked\"],\n },\n completedDate: { type: \"string\" },\n progress: { type: \"number\", minimum: 0, maximum: 100 },\n milestones: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n completed: { type: \"boolean\" },\n note: { type: \"string\" },\n },\n required: [\"label\", \"completed\"],\n },\n },\n blockers: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"label\", \"status\"],\n },\n },\n summary: {\n type: \"object\",\n properties: {\n totalCredit: { type: \"string\" },\n daysRemaining: { type: \"number\" },\n lastActivity: { type: \"string\" },\n },\n },\n },\n required: [\"type\", \"clientName\", \"taxYear\", \"currentPhase\", \"phases\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const entityCardGridSchema = z.object({\n type: z.literal(\"entity-card-grid\"),\n title: z.string().optional(),\n columns: z.union([z.literal(2), z.literal(3), z.literal(4)]).default(3),\n items: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n subtitle: z.string().optional(),\n avatar: z.string().optional(),\n badges: z\n .array(\n z.object({\n label: z.string(),\n color: z\n .enum([\"green\", \"red\", \"amber\", \"blue\", \"purple\", \"gray\"])\n .default(\"gray\"),\n })\n )\n .optional(),\n fields: z\n .array(z.object({ label: z.string(), value: z.string() }))\n .max(6)\n .optional(),\n })\n )\n .min(1)\n .max(24),\n});\n\nexport const entityCardGridTool = {\n name: \"render_entity_card_grid\",\n description:\n \"Render a grid of entity cards for browsing collections — clients, contacts, products, teams, resources\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"entity-card-grid\"] },\n title: { type: \"string\" },\n columns: { type: \"number\", enum: [2, 3, 4] },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n name: { type: \"string\" },\n subtitle: { type: \"string\" },\n avatar: { type: \"string\" },\n badges: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n color: {\n type: \"string\",\n enum: [\"green\", \"red\", \"amber\", \"blue\", \"purple\", \"gray\"],\n },\n },\n required: [\"label\"],\n },\n },\n fields: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"string\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n },\n required: [\"id\", \"name\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const jobTrackerSchema = z.object({\n type: z.literal(\"job-tracker\"),\n title: z.string().optional(),\n jobId: z.string(),\n status: z.enum([\"queued\", \"running\", \"completed\", \"failed\", \"cancelled\"]),\n progress: z.number().min(0).max(100).optional(),\n startedAt: z.string().optional(),\n completedAt: z.string().optional(),\n steps: z.array(z.object({\n label: z.string(),\n status: z.enum([\"pending\", \"running\", \"completed\", \"failed\", \"skipped\"]),\n duration: z.string().optional(),\n })).optional(),\n result: z.object({\n summary: z.string(),\n data: z.record(z.string(), z.unknown()).optional(),\n }).optional(),\n error: z.object({\n message: z.string(),\n code: z.string().optional(),\n }).optional(),\n});\n\nexport const jobTrackerTool = {\n name: \"render_job_tracker\",\n description: \"Render a job or task status tracker with progress bar, steps, and result — for async operations, builds, imports, exports\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"job-tracker\"] },\n title: { type: \"string\" },\n jobId: { type: \"string\" },\n status: { type: \"string\", enum: [\"queued\", \"running\", \"completed\", \"failed\", \"cancelled\"] },\n progress: { type: \"number\", minimum: 0, maximum: 100 },\n startedAt: { type: \"string\" },\n completedAt: { type: \"string\" },\n steps: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n status: { type: \"string\", enum: [\"pending\", \"running\", \"completed\", \"failed\", \"skipped\"] },\n duration: { type: \"string\" },\n },\n required: [\"label\", \"status\"],\n },\n },\n result: {\n type: \"object\",\n properties: {\n summary: { type: \"string\" },\n data: { type: \"object\" },\n },\n required: [\"summary\"],\n },\n error: {\n type: \"object\",\n properties: {\n message: { type: \"string\" },\n code: { type: \"string\" },\n },\n required: [\"message\"],\n },\n },\n required: [\"type\", \"jobId\", \"status\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const citedAnswerSchema = z.object({\n type: z.literal(\"cited-answer\"),\n title: z.string().optional(),\n answer: z.string(),\n citations: z.array(z.object({\n id: z.string(),\n label: z.string(),\n source: z.string(),\n sourceType: z.string().optional(),\n snippet: z.string(),\n url: z.string().optional(),\n confidence: z.number().min(0).max(1).optional(),\n })).min(1).max(20),\n followUps: z.array(z.string()).max(5).optional(),\n});\n\nexport const citedAnswerTool = {\n name: \"render_cited_answer\",\n description: \"Render an AI-synthesized answer with inline numbered citations linking to source documents — for RAG answers, research synthesis, document Q&A\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"cited-answer\"] },\n title: { type: \"string\" },\n answer: { type: \"string\", description: \"Answer text with [n] citation markers\" },\n citations: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n label: { type: \"string\" },\n source: { type: \"string\" },\n sourceType: { type: \"string\" },\n snippet: { type: \"string\" },\n url: { type: \"string\" },\n confidence: { type: \"number\", minimum: 0, maximum: 1 },\n },\n required: [\"id\", \"label\", \"source\", \"snippet\"],\n },\n },\n followUps: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"type\", \"answer\", \"citations\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const transactionFeedSchema = z.object({\n type: z.literal(\"transaction-feed\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n transactions: z.array(z.object({\n id: z.string().optional(),\n date: z.string(),\n description: z.string(),\n amount: z.number(),\n category: z.string().optional(),\n counterparty: z.string().optional(),\n balance: z.number().optional(),\n status: z.enum([\"cleared\", \"pending\", \"reversed\"]).default(\"cleared\"),\n metadata: z.record(z.string(), z.string()).optional(),\n })).min(1).max(100),\n});\n\nexport const transactionFeedTool = {\n name: \"render_transaction_feed\",\n description: \"Render a chronological transaction feed with amounts, categories, and running balance — for bank statements, ledger activity, order history\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"transaction-feed\"] },\n title: { type: \"string\" },\n currency: { type: \"string\" },\n transactions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n date: { type: \"string\" },\n description: { type: \"string\" },\n amount: { type: \"number\" },\n category: { type: \"string\" },\n counterparty: { type: \"string\" },\n balance: { type: \"number\" },\n status: { type: \"string\", enum: [\"cleared\", \"pending\", \"reversed\"] },\n metadata: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"date\", \"description\", \"amount\"],\n },\n },\n },\n required: [\"type\", \"transactions\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const fileBrowserSchema = z.object({\n type: z.literal(\"file-browser\"),\n title: z.string().optional(),\n items: z.array(z.object({\n id: z.string(),\n name: z.string(),\n docType: z.string().optional(),\n group: z.string().optional(),\n size: z.string().optional(),\n createdAt: z.string().optional(),\n modifiedAt: z.string().optional(),\n author: z.string().optional(),\n tags: z.array(z.string()).optional(),\n // Optional: sandbox/agent-harness files often have no public URL. The\n // resolver falls back to read-only display when url is absent.\n url: z.string().optional(),\n preview: z.string().optional(),\n })).min(1).max(50),\n});\n\nexport const fileBrowserTool = {\n name: \"render_file_browser\",\n description: \"Render a document or file browser with type badges, grouping, and metadata — for document collections, file libraries, client documents\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"file-browser\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n name: { type: \"string\" },\n docType: { type: \"string\" },\n group: { type: \"string\" },\n size: { type: \"string\" },\n createdAt: { type: \"string\" },\n modifiedAt: { type: \"string\" },\n author: { type: \"string\" },\n tags: { type: \"array\", items: { type: \"string\" } },\n url: { type: \"string\" },\n preview: { type: \"string\" },\n },\n required: [\"id\", \"name\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const downloadCardSchema = z.object({\n type: z.literal(\"download-card\"),\n title: z.string().optional(),\n files: z.array(z.object({\n filename: z.string(),\n url: z.string(),\n fileType: z.string().optional(),\n size: z.string().optional(),\n expiresAt: z.string().optional(),\n description: z.string().optional(),\n // Opt out of inline preview for an otherwise-previewable type. Preview is\n // auto-enabled from the file type when the url is present; set false to\n // force download-only.\n preview: z.boolean().optional(),\n })).min(1).max(10),\n});\n\nexport const downloadCardTool = {\n name: \"render_download_card\",\n description: \"Render download cards for files with filename, size, and download link — for export results, generated reports, file delivery\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"download-card\"] },\n title: { type: \"string\" },\n files: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n filename: { type: \"string\" },\n url: { type: \"string\" },\n fileType: { type: \"string\" },\n size: { type: \"string\" },\n expiresAt: { type: \"string\" },\n description: { type: \"string\" },\n preview: { type: \"boolean\" },\n },\n required: [\"filename\", \"url\"],\n },\n },\n },\n required: [\"type\", \"files\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const opsDashboardSchema = z.object({\n type: z.literal(\"ops-dashboard\"),\n title: z.string().optional(),\n items: z.array(z.object({\n id: z.string(),\n name: z.string(),\n state: z.enum([\"running\", \"paused\", \"stopped\", \"error\"]),\n schedule: z.string().optional(),\n lastRunAt: z.string().optional(),\n nextRunAt: z.string().optional(),\n metrics: z.array(z.object({ label: z.string(), value: z.string() })).max(4).optional(),\n health: z.enum([\"healthy\", \"degraded\", \"down\"]).optional(),\n })).min(1).max(12),\n});\n\nexport const opsDashboardTool = {\n name: \"render_ops_dashboard\",\n description: \"Render an operational dashboard grid showing pipeline or service status cards — for monitoring pipelines, services, cron jobs, microservices\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"ops-dashboard\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n name: { type: \"string\" },\n state: { type: \"string\", enum: [\"running\", \"paused\", \"stopped\", \"error\"] },\n schedule: { type: \"string\" },\n lastRunAt: { type: \"string\" },\n nextRunAt: { type: \"string\" },\n metrics: { type: \"array\", items: { type: \"object\", properties: { label: { type: \"string\" }, value: { type: \"string\" } }, required: [\"label\", \"value\"] } },\n health: { type: \"string\", enum: [\"healthy\", \"degraded\", \"down\"] },\n },\n required: [\"id\", \"name\", \"state\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nconst kvItemSchema = z.object({\n key: z.string(),\n value: z.string(),\n type: z.enum([\"text\", \"date\", \"url\", \"boolean\", \"code\", \"currency\"]).default(\"text\"),\n copyable: z.boolean().default(false),\n});\n\nexport const keyValueListSchema = z.object({\n type: z.literal(\"key-value-list\"),\n title: z.string().optional(),\n groups: z.array(z.object({\n label: z.string(),\n items: z.array(kvItemSchema).min(1).max(20),\n })).optional(),\n items: z.array(kvItemSchema).max(30).optional(),\n});\n\nexport const keyValueListTool = {\n name: \"render_key_value_list\",\n description: \"Render a structured key-value list with optional grouping and type-aware formatting — for API responses, config displays, metadata, extraction results\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"key-value-list\"] },\n title: { type: \"string\" },\n groups: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n value: { type: \"string\" },\n type: { type: \"string\", enum: [\"text\", \"date\", \"url\", \"boolean\", \"code\", \"currency\"] },\n copyable: { type: \"boolean\" },\n },\n required: [\"key\", \"value\"],\n },\n },\n },\n required: [\"label\", \"items\"],\n },\n },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n key: { type: \"string\" },\n value: { type: \"string\" },\n type: { type: \"string\", enum: [\"text\", \"date\", \"url\", \"boolean\", \"code\", \"currency\"] },\n copyable: { type: \"boolean\" },\n },\n required: [\"key\", \"value\"],\n },\n },\n },\n required: [\"type\"],\n },\n};\n","import { z } from \"zod\";\n\nconst totalLineSchema = z.object({\n currentPeriod: z.number(),\n priorPeriod: z.number().optional(),\n});\n\nexport const balanceSheetSchema = z.object({\n type: z.literal(\"balance-sheet\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n metadata: z.object({\n companyName: z.string().optional(),\n preparedBy: z.string().optional(),\n reviewedBy: z.string().optional(),\n approvedBy: z.string().optional(),\n status: z.enum([\"draft\", \"pending-review\", \"approved\", \"filed\"]).optional(),\n date: z.string().optional(),\n }).optional(),\n currentPeriodLabel: z.string(),\n priorPeriodLabel: z.string().optional(),\n sections: z\n .array(\n z.object({\n category: z.enum([\"assets\", \"liabilities\", \"equity\"]),\n subsections: z\n .array(\n z.object({\n label: z.string(),\n items: z\n .array(\n z.object({\n name: z.string(),\n currentPeriod: z.number(),\n priorPeriod: z.number().optional(),\n })\n )\n .max(15),\n subtotal: totalLineSchema.optional(),\n })\n )\n .min(1)\n .max(5),\n total: totalLineSchema.optional(),\n })\n )\n .min(1)\n .max(3),\n totalLiabilitiesAndEquity: totalLineSchema.optional(),\n});\n\nexport const balanceSheetTool = {\n name: \"render_balance_sheet\",\n description:\n \"Render a balance sheet with assets, liabilities, and equity sections — statement of financial position, A = L + E comparison\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"balance-sheet\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n metadata: {\n type: \"object\",\n properties: {\n companyName: { type: \"string\" },\n preparedBy: { type: \"string\" },\n reviewedBy: { type: \"string\" },\n approvedBy: { type: \"string\" },\n status: { type: \"string\", enum: [\"draft\", \"pending-review\", \"approved\", \"filed\"] },\n date: { type: \"string\" },\n },\n },\n currentPeriodLabel: { type: \"string\", description: \"Label for current period column, e.g. Dec 31, 2024\" },\n priorPeriodLabel: { type: \"string\", description: \"Label for prior period column, e.g. Dec 31, 2023\" },\n sections: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n category: {\n type: \"string\",\n enum: [\"assets\", \"liabilities\", \"equity\"],\n },\n subsections: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\", description: \"Subsection label, e.g. Current Assets\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n currentPeriod: { type: \"number\" },\n priorPeriod: { type: \"number\" },\n },\n required: [\"name\", \"currentPeriod\"],\n },\n },\n subtotal: {\n type: \"object\",\n properties: {\n currentPeriod: { type: \"number\" },\n priorPeriod: { type: \"number\" },\n },\n required: [\"currentPeriod\"],\n },\n },\n required: [\"label\", \"items\"],\n },\n },\n },\n required: [\"category\", \"subsections\"],\n },\n },\n totalLiabilitiesAndEquity: {\n type: \"object\",\n properties: {\n currentPeriod: { type: \"number\" },\n priorPeriod: { type: \"number\" },\n },\n required: [\"currentPeriod\"],\n },\n },\n required: [\"type\", \"currentPeriodLabel\", \"sections\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const incomeStatementSchema = z.object({\n type: z.literal(\"income-statement\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n metadata: z.object({\n companyName: z.string().optional(),\n preparedBy: z.string().optional(),\n reviewedBy: z.string().optional(),\n approvedBy: z.string().optional(),\n status: z.enum([\"draft\", \"pending-review\", \"approved\", \"filed\"]).optional(),\n date: z.string().optional(),\n }).optional(),\n periods: z.array(z.string()).min(1).max(8),\n showPercentOfRevenue: z.boolean().default(false),\n sections: z\n .array(\n z.object({\n label: z.string(),\n lineItems: z\n .array(\n z.object({\n name: z.string(),\n amounts: z.array(z.number()),\n indent: z.number().min(0).max(2).default(0),\n isSubtotal: z.boolean().optional(),\n })\n )\n .max(20),\n sectionType: z.enum([\"detail\", \"subtotal\"]).default(\"detail\"),\n })\n )\n .min(1)\n .max(10),\n calculatedTotals: z.object({\n grossProfit: z.array(z.number()).optional(),\n operatingIncome: z.array(z.number()).optional(),\n netIncome: z.array(z.number()),\n }),\n});\n\nexport const incomeStatementTool = {\n name: \"render_income_statement\",\n description:\n \"Render a multi-period income statement with revenue, COGS, gross profit, operating expenses, and net income — P&L, profit and loss\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"income-statement\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n metadata: {\n type: \"object\",\n properties: {\n companyName: { type: \"string\" },\n preparedBy: { type: \"string\" },\n reviewedBy: { type: \"string\" },\n approvedBy: { type: \"string\" },\n status: { type: \"string\", enum: [\"draft\", \"pending-review\", \"approved\", \"filed\"] },\n date: { type: \"string\" },\n },\n },\n periods: {\n type: \"array\",\n items: { type: \"string\" },\n minItems: 1,\n maxItems: 8,\n description: \"Period labels, e.g. Q1 2024, Q2 2024\",\n },\n showPercentOfRevenue: {\n type: \"boolean\",\n description: \"Show each line item as a percentage of revenue\",\n },\n sections: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n lineItems: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n amounts: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"One amount per period\",\n },\n indent: {\n type: \"number\",\n minimum: 0,\n maximum: 2,\n description: \"Indentation level 0-2\",\n },\n isSubtotal: {\n type: \"boolean\",\n description:\n \"True for a subtotal/total row (e.g. 'Total Revenue'). \"\n + \"Excluded from the %-of-revenue base so it isn't double-counted.\",\n },\n },\n required: [\"name\", \"amounts\"],\n },\n },\n sectionType: {\n type: \"string\",\n enum: [\"detail\", \"subtotal\"],\n },\n },\n required: [\"label\", \"lineItems\"],\n },\n },\n calculatedTotals: {\n type: \"object\",\n properties: {\n grossProfit: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"Gross profit per period\",\n },\n operatingIncome: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"Operating income per period\",\n },\n netIncome: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"Net income per period\",\n },\n },\n required: [\"netIncome\"],\n },\n },\n required: [\"type\", \"periods\", \"sections\", \"calculatedTotals\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const cashFlowStatementSchema = z.object({\n type: z.literal(\"cash-flow-statement\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n metadata: z.object({\n companyName: z.string().optional(),\n preparedBy: z.string().optional(),\n reviewedBy: z.string().optional(),\n approvedBy: z.string().optional(),\n status: z.enum([\"draft\", \"pending-review\", \"approved\", \"filed\"]).optional(),\n date: z.string().optional(),\n }).optional(),\n periodLabel: z.string().optional(),\n priorPeriodLabel: z.string().optional(),\n activities: z\n .array(\n z.object({\n activityType: z.enum([\"operating\", \"investing\", \"financing\"]),\n lineItems: z\n .array(\n z.object({\n name: z.string(),\n amount: z.number(),\n priorAmount: z.number().optional(),\n indent: z.number().min(0).max(2).default(0),\n isSubtotal: z.boolean().default(false),\n })\n )\n .min(1)\n .max(20),\n netCash: z.number(),\n priorNetCash: z.number().optional(),\n })\n )\n .min(1)\n .max(3),\n netChange: z.number(),\n priorNetChange: z.number().optional(),\n beginningCash: z.number(),\n endingCash: z.number(),\n priorBeginningCash: z.number().optional(),\n priorEndingCash: z.number().optional(),\n});\n\nexport const cashFlowStatementTool = {\n name: \"render_cash_flow_statement\",\n description:\n \"Render a cash flow statement with operating, investing, and financing activities — statement of cash flows, net change in cash\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"cash-flow-statement\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n metadata: {\n type: \"object\",\n properties: {\n companyName: { type: \"string\" },\n preparedBy: { type: \"string\" },\n reviewedBy: { type: \"string\" },\n approvedBy: { type: \"string\" },\n status: { type: \"string\", enum: [\"draft\", \"pending-review\", \"approved\", \"filed\"] },\n date: { type: \"string\" },\n },\n },\n periodLabel: {\n type: \"string\",\n description: \"Label for the current period, e.g. Year Ended Dec 31, 2024\",\n },\n priorPeriodLabel: {\n type: \"string\",\n description: \"Label for the prior period, e.g. Year Ended Dec 31, 2023\",\n },\n activities: {\n type: \"array\",\n minItems: 1,\n maxItems: 3,\n items: {\n type: \"object\",\n properties: {\n activityType: {\n type: \"string\",\n enum: [\"operating\", \"investing\", \"financing\"],\n },\n lineItems: {\n type: \"array\",\n minItems: 1,\n maxItems: 20,\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n amount: { type: \"number\" },\n priorAmount: { type: \"number\" },\n indent: {\n type: \"number\",\n minimum: 0,\n maximum: 2,\n description: \"Indentation level 0-2\",\n },\n isSubtotal: { type: \"boolean\" },\n },\n required: [\"name\", \"amount\"],\n },\n },\n netCash: { type: \"number\" },\n priorNetCash: { type: \"number\" },\n },\n required: [\"activityType\", \"lineItems\", \"netCash\"],\n },\n },\n netChange: { type: \"number\" },\n priorNetChange: { type: \"number\" },\n beginningCash: { type: \"number\" },\n endingCash: { type: \"number\" },\n priorBeginningCash: { type: \"number\" },\n priorEndingCash: { type: \"number\" },\n },\n required: [\"type\", \"activities\", \"netChange\", \"beginningCash\", \"endingCash\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const generalLedgerSchema = z.object({\n type: z.literal(\"general-ledger\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n account: z.object({\n code: z.string(),\n name: z.string(),\n accountType: z.enum([\"asset\", \"liability\", \"equity\", \"revenue\", \"expense\"]).optional(),\n }),\n dateRange: z.object({\n from: z.string(),\n to: z.string(),\n }).optional(),\n openingBalance: z.number().default(0),\n transactions: z\n .array(\n z.object({\n date: z.string(),\n description: z.string(),\n reference: z.string().optional(),\n source: z.string().optional(),\n debit: z.number().default(0),\n credit: z.number().default(0),\n runningBalance: z.number(),\n })\n )\n .min(1)\n .max(100),\n closingBalance: z.number(),\n});\n\nexport const generalLedgerTool = {\n name: \"render_general_ledger\",\n description:\n \"Render a general ledger with account-level transaction detail and running balance — GL detail, account ledger, ledger entries\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"general-ledger\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n account: {\n type: \"object\",\n properties: {\n code: { type: \"string\" },\n name: { type: \"string\" },\n accountType: {\n type: \"string\",\n enum: [\"asset\", \"liability\", \"equity\", \"revenue\", \"expense\"],\n },\n },\n required: [\"code\", \"name\"],\n },\n dateRange: {\n type: \"object\",\n properties: {\n from: { type: \"string\" },\n to: { type: \"string\" },\n },\n required: [\"from\", \"to\"],\n },\n openingBalance: { type: \"number\", description: \"Opening balance for the period\" },\n transactions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n description: { type: \"string\" },\n reference: { type: \"string\" },\n source: { type: \"string\", description: \"Source document, e.g. JE-001, AP-INV-042\" },\n debit: { type: \"number\" },\n credit: { type: \"number\" },\n runningBalance: { type: \"number\" },\n },\n required: [\"date\", \"description\", \"runningBalance\"],\n },\n },\n closingBalance: { type: \"number\" },\n },\n required: [\"type\", \"account\", \"transactions\", \"closingBalance\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const chartOfAccountsSchema = z.object({\n type: z.literal(\"chart-of-accounts\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n showBalances: z.boolean().default(false),\n accounts: z\n .array(\n z.object({\n code: z.string(),\n name: z.string(),\n accountType: z.enum([\"asset\", \"liability\", \"equity\", \"revenue\", \"expense\"]),\n subType: z.string().optional(),\n status: z.enum([\"active\", \"inactive\"]).default(\"active\"),\n indent: z.number().min(0).max(3).default(0),\n isHeader: z.boolean().default(false),\n balance: z.number().optional(),\n })\n )\n .min(1)\n .max(100),\n});\n\nexport const chartOfAccountsTool = {\n name: \"render_chart_of_accounts\",\n description:\n \"Render a chart of accounts with account codes, types, hierarchy, and optional balances — COA, account structure, account directory\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"chart-of-accounts\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"ISO currency code, e.g. USD\" },\n showBalances: { type: \"boolean\", description: \"Whether to show balance column\" },\n accounts: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n code: { type: \"string\", description: \"Account code, e.g. 1000\" },\n name: { type: \"string\", description: \"Account name\" },\n accountType: {\n type: \"string\",\n enum: [\"asset\", \"liability\", \"equity\", \"revenue\", \"expense\"],\n },\n subType: { type: \"string\", description: \"Sub-type, e.g. Current Asset, Fixed Asset, COGS\" },\n status: { type: \"string\", enum: [\"active\", \"inactive\"] },\n indent: { type: \"number\", description: \"Indentation level 0-3\" },\n isHeader: { type: \"boolean\", description: \"Whether this row is a section header\" },\n balance: { type: \"number\", description: \"Account balance\" },\n },\n required: [\"code\", \"name\", \"accountType\"],\n },\n },\n },\n required: [\"type\", \"accounts\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const invoiceDetailSchema = z.object({\n type: z.literal(\"invoice-detail\"),\n invoiceNumber: z.string(),\n status: z.enum([\"draft\", \"sent\", \"paid\", \"partial\", \"overdue\", \"void\"]),\n issueDate: z.string(),\n dueDate: z.string(),\n currency: z.string().default(\"USD\"),\n client: z.object({\n name: z.string(),\n address: z.string().optional(),\n email: z.string().optional(),\n }),\n lineItems: z\n .array(\n z.object({\n description: z.string(),\n quantity: z.number(),\n unitPrice: z.number(),\n amount: z.number(),\n })\n )\n .min(1)\n .max(30),\n subtotal: z.number(),\n taxLabel: z.string().optional(),\n taxAmount: z.number().default(0),\n discount: z.number().default(0),\n total: z.number(),\n amountPaid: z.number().default(0),\n amountDue: z.number(),\n payments: z\n .array(\n z.object({\n date: z.string(),\n method: z.string(),\n amount: z.number(),\n reference: z.string().optional(),\n })\n )\n .optional(),\n notes: z.string().optional(),\n terms: z.string().optional(),\n});\n\nexport const invoiceDetailTool = {\n name: \"render_invoice_detail\",\n description:\n \"Render a single invoice with line items, totals, tax, payments, and status — invoice detail, billing, AR invoice\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"invoice-detail\"] },\n invoiceNumber: { type: \"string\" },\n status: {\n type: \"string\",\n enum: [\"draft\", \"sent\", \"paid\", \"partial\", \"overdue\", \"void\"],\n },\n issueDate: { type: \"string\" },\n dueDate: { type: \"string\" },\n currency: { type: \"string\" },\n client: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n address: { type: \"string\" },\n email: { type: \"string\" },\n },\n required: [\"name\"],\n },\n lineItems: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n description: { type: \"string\" },\n quantity: { type: \"number\" },\n unitPrice: { type: \"number\" },\n amount: { type: \"number\" },\n },\n required: [\"description\", \"quantity\", \"unitPrice\", \"amount\"],\n },\n },\n subtotal: { type: \"number\" },\n taxLabel: { type: \"string\" },\n taxAmount: { type: \"number\" },\n discount: { type: \"number\" },\n total: { type: \"number\" },\n amountPaid: { type: \"number\" },\n amountDue: { type: \"number\" },\n payments: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n date: { type: \"string\" },\n method: { type: \"string\" },\n amount: { type: \"number\" },\n reference: { type: \"string\" },\n },\n required: [\"date\", \"method\", \"amount\"],\n },\n },\n notes: { type: \"string\" },\n terms: { type: \"string\" },\n },\n required: [\n \"type\",\n \"invoiceNumber\",\n \"status\",\n \"issueDate\",\n \"dueDate\",\n \"client\",\n \"lineItems\",\n \"subtotal\",\n \"total\",\n \"amountDue\",\n ],\n },\n};\n","import { z } from \"zod\";\n\nexport const amortizationTableSchema = z.object({\n type: z.literal(\"amortization-table\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n summary: z\n .object({\n originalAmount: z.number(),\n interestRate: z.string(),\n term: z.string(),\n monthlyPayment: z.number().optional(),\n totalInterest: z.number().optional(),\n startDate: z.string().optional(),\n })\n .optional(),\n payments: z\n .array(\n z.object({\n period: z.string(),\n paymentDate: z.string().optional(),\n payment: z.number(),\n principal: z.number(),\n interest: z.number(),\n balance: z.number(),\n extra: z.number().default(0),\n })\n )\n .min(1)\n .max(372),\n});\n\nexport const amortizationTableTool = {\n name: \"render_amortization_table\",\n description:\n \"Render a loan or lease amortization schedule with principal, interest, and remaining balance — mortgage, lease payments, ASC 842, loan servicing\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"amortization-table\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", default: \"USD\" },\n summary: {\n type: \"object\",\n properties: {\n originalAmount: { type: \"number\" },\n interestRate: { type: \"string\" },\n term: { type: \"string\" },\n monthlyPayment: { type: \"number\" },\n totalInterest: { type: \"number\" },\n startDate: { type: \"string\" },\n },\n required: [\"originalAmount\", \"interestRate\", \"term\"],\n },\n payments: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n period: { type: \"string\" },\n paymentDate: { type: \"string\" },\n payment: { type: \"number\" },\n principal: { type: \"number\" },\n interest: { type: \"number\" },\n balance: { type: \"number\" },\n extra: { type: \"number\", default: 0 },\n },\n required: [\"period\", \"payment\", \"principal\", \"interest\", \"balance\"],\n },\n minItems: 1,\n maxItems: 372,\n },\n },\n required: [\"type\", \"payments\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const depreciationScheduleSchema = z.object({\n type: z.literal(\"depreciation-schedule\"),\n title: z.string().optional(),\n currency: z.string().default(\"USD\"),\n asOfDate: z.string().optional(),\n method: z.string().optional(),\n assets: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n category: z\n .enum([\"Buildings\", \"Equipment\", \"Vehicles\", \"Furniture\"])\n .optional(),\n acquiredDate: z.string(),\n cost: z.number(),\n salvageValue: z.number().default(0),\n usefulLife: z.string().optional(),\n method: z.string().optional(),\n currentYearDepreciation: z.number(),\n accumulatedDepreciation: z.number(),\n bookValue: z.number(),\n })\n )\n .min(1)\n .max(50),\n totals: z\n .object({\n totalCost: z.number(),\n totalCurrentYear: z.number(),\n totalAccumulated: z.number(),\n totalBookValue: z.number(),\n })\n .optional(),\n});\n\nexport const depreciationScheduleTool = {\n name: \"render_depreciation_schedule\",\n description:\n \"Render a fixed asset depreciation schedule with cost, useful life, method, annual depreciation, accumulated depreciation, and book value — asset register, MACRS, straight-line\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"depreciation-schedule\"] },\n title: { type: \"string\" },\n currency: {\n type: \"string\",\n description: \"ISO currency code, e.g. USD\",\n },\n asOfDate: {\n type: \"string\",\n description: \"As-of date for the schedule\",\n },\n method: {\n type: \"string\",\n description:\n \"Default depreciation method, e.g. Straight-Line, MACRS\",\n },\n assets: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n name: { type: \"string\" },\n category: {\n type: \"string\",\n enum: [\"Buildings\", \"Equipment\", \"Vehicles\", \"Furniture\"],\n },\n acquiredDate: { type: \"string\" },\n cost: { type: \"number\" },\n salvageValue: { type: \"number\" },\n usefulLife: {\n type: \"string\",\n description: \"e.g. 5 years, 39 years\",\n },\n method: {\n type: \"string\",\n description: \"Per-asset depreciation method override\",\n },\n currentYearDepreciation: { type: \"number\" },\n accumulatedDepreciation: { type: \"number\" },\n bookValue: { type: \"number\" },\n },\n required: [\n \"id\",\n \"name\",\n \"acquiredDate\",\n \"cost\",\n \"currentYearDepreciation\",\n \"accumulatedDepreciation\",\n \"bookValue\",\n ],\n },\n },\n totals: {\n type: \"object\",\n properties: {\n totalCost: { type: \"number\" },\n totalCurrentYear: { type: \"number\" },\n totalAccumulated: { type: \"number\" },\n totalBookValue: { type: \"number\" },\n },\n required: [\n \"totalCost\",\n \"totalCurrentYear\",\n \"totalAccumulated\",\n \"totalBookValue\",\n ],\n },\n },\n required: [\"type\", \"assets\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const escalationCardSchema = z.object({\n type: z.literal(\"escalation-card\"),\n title: z.string().optional(),\n description: z.string().optional(),\n url: z.string().optional(),\n ctaLabel: z.string().optional(),\n priority: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n // In-app review target: instead of deeplinking, the CTA highlights this\n // field's bounding box on the document in the cockpit Files panel (via a\n // window event the cockpit host listens for). Takes precedence over url.\n document_target: z\n .object({\n store_id: z.string(),\n doc_id: z.string(),\n relative_path: z.string(),\n field_key: z.string(),\n // Full set of field keys to overlay on the document (e.g. every\n // escalated field). Only these boxes are drawn; field_key is the one\n // highlighted. Defaults to just field_key.\n field_keys: z.array(z.string()).optional(),\n })\n .optional(),\n});\n\nexport const escalationCardTool = {\n name: \"render_escalation_card\",\n description:\n \"Render a human-in-the-loop (HITL) escalation card with a title, description, priority, and a deeplink CTA button to resolve it — use for review requests, low-confidence extractions, data conflicts, or any item needing manual resolution in the review portal. For extracted-field escalations on a workstream PDF, pass document_target instead of url — the CTA then highlights the field's bounding box on the document in the Files panel.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"escalation-card\"] },\n title: { type: \"string\" },\n description: { type: \"string\" },\n url: { type: \"string\" },\n ctaLabel: { type: \"string\" },\n priority: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n document_target: {\n type: \"object\",\n properties: {\n store_id: { type: \"string\" },\n doc_id: { type: \"string\" },\n relative_path: { type: \"string\" },\n field_key: { type: \"string\" },\n field_keys: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"store_id\", \"doc_id\", \"relative_path\", \"field_key\"],\n },\n },\n required: [\"type\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const lineChartSchema = z.object({\n type: z.literal(\"line-chart\"),\n title: z.string().optional(),\n xKey: z.string(),\n unit: z.string().optional(),\n smooth: z.boolean().optional(),\n series: z\n .array(z.object({ name: z.string(), dataKey: z.string(), color: z.string().optional() }))\n .min(1)\n .max(6),\n data: z\n .array(z.record(z.string(), z.union([z.string(), z.number()])))\n .min(2)\n .max(500),\n});\n\nexport const lineChartTool = {\n name: \"render_line_chart\",\n description:\n \"Render a multi-series line chart for trends over time — net income trend, cash position, revenue vs expense, KPI over months/quarters. Use when comparing how one or more numeric measures move across an ordered axis (lines, not filled areas).\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"line-chart\"] },\n title: { type: \"string\" },\n xKey: { type: \"string\", description: \"Key in each data row for the X-axis label (e.g. 'month')\" },\n unit: { type: \"string\", description: \"Value unit/prefix, e.g. '$', '%', 'bps'\" },\n smooth: { type: \"boolean\", description: \"Use smooth (monotone) curves instead of straight segments\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\", description: \"Optional CSS color; auto-assigned from palette if omitted\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n data: {\n type: \"array\",\n items: { type: \"object\", additionalProperties: true },\n description: \"Data rows; each row has xKey and every series dataKey\",\n },\n },\n required: [\"type\", \"xKey\", \"series\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nconst seriesRef = z.object({\n name: z.string(),\n dataKey: z.string(),\n color: z.string().optional(),\n axis: z.enum([\"left\", \"right\"]).optional(),\n});\n\nexport const comboChartSchema = z\n .object({\n type: z.literal(\"combo-chart\"),\n title: z.string().optional(),\n xKey: z.string(),\n leftUnit: z.string().optional(),\n rightUnit: z.string().optional(),\n bars: z.array(seriesRef).max(4).optional(),\n lines: z.array(seriesRef).max(4).optional(),\n data: z\n .array(z.record(z.string(), z.union([z.string(), z.number()])))\n .min(2)\n .max(500),\n })\n .refine((v) => (v.bars?.length ?? 0) + (v.lines?.length ?? 0) >= 1, {\n message: \"combo-chart needs at least one bar or line series\",\n });\n\nexport const comboChartTool = {\n name: \"render_combo_chart\",\n description:\n \"Render a combined bar + line chart with an optional secondary (right) Y-axis — revenue bars with a margin % line, actuals bars with a cumulative budget line, volume vs rate. Use when one measure is best shown as bars and another (often a %, ratio, or running total on a different scale) as a line.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"combo-chart\"] },\n title: { type: \"string\" },\n xKey: { type: \"string\", description: \"Key in each data row for the X-axis label\" },\n leftUnit: { type: \"string\", description: \"Unit for the left Y-axis (e.g. '$')\" },\n rightUnit: { type: \"string\", description: \"Unit for the right Y-axis (e.g. '%')\" },\n bars: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\" },\n axis: { type: \"string\", enum: [\"left\", \"right\"], description: \"Which Y-axis; default left\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n lines: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\" },\n axis: { type: \"string\", enum: [\"left\", \"right\"], description: \"Which Y-axis; default right\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n data: {\n type: \"array\",\n items: { type: \"object\", additionalProperties: true },\n description: \"Data rows; each row has xKey and every bar/line dataKey\",\n },\n },\n required: [\"type\", \"xKey\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const gaugeChartSchema = z.object({\n type: z.literal(\"gauge-chart\"),\n title: z.string().optional(),\n items: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n max: z.number(),\n target: z.number().optional(),\n unit: z.string().optional(),\n })\n )\n .min(1)\n .max(4),\n});\n\nexport const gaugeChartTool = {\n name: \"render_gauge_chart\",\n description:\n \"Render one to four radial gauge dials showing a single KPI against its max and an optional target — budget utilization %, DSO/DPO vs target, collection rate, cash-runway months, capacity used. The arc colors green/amber/red relative to the target.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"gauge-chart\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\", description: \"Current value\" },\n max: { type: \"number\", description: \"Full-scale value of the dial\" },\n target: { type: \"number\", description: \"Optional goal threshold; drives arc color\" },\n unit: { type: \"string\", description: \"e.g. '%', '$', 'days'\" },\n },\n required: [\"label\", \"value\", \"max\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const treemapChartSchema = z.object({\n type: z.literal(\"treemap-chart\"),\n title: z.string().optional(),\n currency: z.string().optional(),\n nodes: z\n .array(\n z.object({\n name: z.string(),\n value: z.number(),\n color: z.string().optional(),\n })\n )\n .min(1)\n .max(30),\n});\n\nexport const treemapChartTool = {\n name: \"render_treemap_chart\",\n description:\n \"Render a treemap where each rectangle's area is proportional to its value — expense breakdown by GL account, revenue by segment or product, spend by cost center, asset mix. Use to show how a total decomposes into many parts ranked by magnitude.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"treemap-chart\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"Currency symbol/prefix for values, e.g. '$'\" },\n nodes: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n value: { type: \"number\", description: \"Positive magnitude; sets rectangle area\" },\n color: { type: \"string\", description: \"Optional; auto-assigned from palette if omitted\" },\n },\n required: [\"name\", \"value\"],\n },\n },\n },\n required: [\"type\", \"nodes\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const radarChartSchema = z.object({\n type: z.literal(\"radar-chart\"),\n title: z.string().optional(),\n unit: z.string().optional(),\n series: z\n .array(z.object({ name: z.string(), dataKey: z.string(), color: z.string().optional() }))\n .min(1)\n .max(4),\n data: z\n .array(\n z\n .object({ metric: z.string() })\n .catchall(z.union([z.string(), z.number()]))\n )\n .min(3)\n .max(12),\n});\n\nexport const radarChartTool = {\n name: \"render_radar_chart\",\n description:\n \"Render a radar (spider) chart comparing several entities or periods across the same set of metrics — financial-ratio profiles (liquidity, profitability, leverage, efficiency, coverage), scorecard comparison, multi-dimensional benchmarking. One axis per metric; one shape per series.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"radar-chart\"] },\n title: { type: \"string\" },\n unit: { type: \"string\", description: \"Optional value unit, e.g. 'x', '%'\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n dataKey: { type: \"string\" },\n color: { type: \"string\", description: \"Optional; auto-assigned from palette if omitted\" },\n },\n required: [\"name\", \"dataKey\"],\n },\n },\n data: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: { metric: { type: \"string\", description: \"Axis label\" } },\n required: [\"metric\"],\n additionalProperties: true,\n },\n description: \"One row per metric; each row has 'metric' and every series dataKey\",\n },\n },\n required: [\"type\", \"series\", \"data\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const funnelChartSchema = z.object({\n type: z.literal(\"funnel-chart\"),\n title: z.string().optional(),\n currency: z.string().optional(),\n stages: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n color: z.string().optional(),\n })\n )\n .min(2)\n .max(8),\n});\n\nexport const funnelChartTool = {\n name: \"render_funnel_chart\",\n description:\n \"Render a funnel chart showing how a quantity narrows across ordered stages — collections funnel (billed → collected → overdue → written off), quote → invoice → paid, lead → close. Use for stage-to-stage conversion or drop-off. Each stage shows its value and % of the prior stage.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"funnel-chart\"] },\n title: { type: \"string\" },\n currency: { type: \"string\", description: \"Currency symbol/prefix, e.g. '$'\" },\n stages: {\n type: \"array\",\n description: \"Ordered widest → narrowest\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\" },\n color: { type: \"string\", description: \"Optional; auto-assigned from palette if omitted\" },\n },\n required: [\"label\", \"value\"],\n },\n },\n },\n required: [\"type\", \"stages\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const bulletChartSchema = z.object({\n type: z.literal(\"bullet-chart\"),\n title: z.string().optional(),\n items: z\n .array(\n z.object({\n label: z.string(),\n value: z.number(),\n target: z.number(),\n max: z.number().optional(),\n unit: z.string().optional(),\n })\n )\n .min(1)\n .max(10),\n});\n\nexport const bulletChartTool = {\n name: \"render_bullet_chart\",\n description:\n \"Render a compact bullet-chart scorecard: one horizontal row per KPI showing actual value vs target against a qualitative range — actual vs budget, vs forecast, vs prior year. Use for dense KPI-vs-target dashboards where each measure has its own target. The bar turns green/amber/red by how the value compares to its target.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"bullet-chart\"] },\n title: { type: \"string\" },\n items: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n value: { type: \"number\", description: \"Actual measured value\" },\n target: { type: \"number\", description: \"Goal / budget marker\" },\n max: { type: \"number\", description: \"Optional scale max; defaults to max(value,target)*1.25\" },\n unit: { type: \"string\", description: \"e.g. '$', '%', 'days'\" },\n },\n required: [\"label\", \"value\", \"target\"],\n },\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const scatterChartSchema = z.object({\n type: z.literal(\"scatter-chart\"),\n title: z.string().optional(),\n xLabel: z.string().optional(),\n yLabel: z.string().optional(),\n xUnit: z.string().optional(),\n yUnit: z.string().optional(),\n series: z\n .array(\n z.object({\n name: z.string(),\n color: z.string().optional(),\n points: z\n .array(\n z.object({\n x: z.number(),\n y: z.number(),\n z: z.number().optional(),\n label: z.string().optional(),\n })\n )\n .min(1)\n .max(200),\n })\n )\n .min(1)\n .max(4),\n});\n\nexport const scatterChartTool = {\n name: \"render_scatter_chart\",\n description:\n \"Render a scatter / bubble chart plotting points on two numeric axes (optional bubble size as a third dimension) — AR aging days vs outstanding amount, account size vs activity, risk vs return, price vs volume. Use to reveal correlation, clustering, or outliers across accounts/entities.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"scatter-chart\"] },\n title: { type: \"string\" },\n xLabel: { type: \"string\" },\n yLabel: { type: \"string\" },\n xUnit: { type: \"string\", description: \"e.g. 'days'\" },\n yUnit: { type: \"string\", description: \"e.g. '$'\" },\n series: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n color: { type: \"string\", description: \"Optional; auto-assigned from palette if omitted\" },\n points: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n x: { type: \"number\" },\n y: { type: \"number\" },\n z: { type: \"number\", description: \"Optional magnitude → bubble size\" },\n label: { type: \"string\", description: \"Optional point name for tooltip\" },\n },\n required: [\"x\", \"y\"],\n },\n },\n },\n required: [\"name\", \"points\"],\n },\n },\n },\n required: [\"type\", \"series\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const connectIntegrationSchema = z.object({\n type: z.literal(\"connect-integration\"),\n integrationName: z.string(),\n description: z.string().optional(),\n url: z.string(),\n status: z.enum([\"connected\", \"not_connected\"]).optional(),\n iconUrl: z.string().optional(),\n ctaLabel: z.string().optional(),\n});\n\nexport const connectIntegrationTool = {\n name: \"render_connect_integration\",\n description:\n \"Render a compact card for a single third-party integration (e.g. Gmail, Slack, Google Drive). Use it three ways via `status`: (1) status='not_connected' — prompt the user to connect it, the button deep-links to the connections settings page (set `url` to /settings/connections?integration=<id>); (2) status='connected' — show it as connected, the button is an Open deep-link into the integration or its settings; (3) as a plain deep-link to an external resource. `url` is the button target; `ctaLabel` overrides the button text (defaults: Connect when not connected, Open when connected).\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"connect-integration\"] },\n integrationName: { type: \"string\" },\n description: { type: \"string\" },\n url: { type: \"string\" },\n status: { type: \"string\", enum: [\"connected\", \"not_connected\"] },\n iconUrl: { type: \"string\" },\n ctaLabel: { type: \"string\" },\n },\n required: [\"type\", \"integrationName\", \"url\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const integrationsListSchema = z.object({\n type: z.literal(\"integrations-list\"),\n title: z.string().optional(),\n description: z.string().optional(),\n integrations: z.array(\n z.object({\n name: z.string(),\n status: z.enum([\"connected\", \"not_connected\"]),\n capability: z.string().optional(),\n connectUrl: z.string().optional(),\n iconUrl: z.string().optional(),\n })\n ),\n});\n\nexport const integrationsListTool = {\n name: \"render_integrations_list\",\n description:\n \"Render a grouped list of multiple third-party integrations with their connection status (connected vs not connected) and a per-row Connect link for the ones that are not connected. Prefer this over multiple separate connect-integration cards whenever there are 2 or more integrations — e.g. to orient the user on what's available, or to offer several providers to connect (Gmail, Outlook, ...). Optional `description` is a one-line subtitle under the title.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"integrations-list\"] },\n title: { type: \"string\" },\n description: { type: \"string\" },\n integrations: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n status: { type: \"string\", enum: [\"connected\", \"not_connected\"] },\n capability: { type: \"string\" },\n connectUrl: { type: \"string\" },\n iconUrl: { type: \"string\" },\n },\n required: [\"name\", \"status\"],\n },\n },\n },\n required: [\"type\", \"integrations\"],\n },\n};\n","import { z } from \"zod\";\n\n// A single WDL step. Recursive: FAN_OUT carries `subSteps`, CONDITION/BRANCH\n// carries `branches` (each branch has its own ordered `steps`).\nexport type PipelineStep = {\n id: string;\n operation: string;\n label?: string;\n description?: string;\n subSteps?: PipelineStep[];\n branches?: { label: string; condition?: string; steps: PipelineStep[] }[];\n};\n\nconst pipelineStepSchema: z.ZodType<PipelineStep> = z.lazy(() =>\n z.object({\n id: z.string(),\n operation: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n subSteps: z.array(pipelineStepSchema).optional(),\n branches: z\n .array(\n z.object({\n label: z.string(),\n condition: z.string().optional(),\n steps: z.array(pipelineStepSchema),\n })\n )\n .optional(),\n })\n);\n\nexport const pipelinePreviewSchema = z.object({\n type: z.literal(\"pipeline-preview\"),\n name: z.string(),\n description: z.string().optional(),\n state: z.enum([\"draft\", \"running\", \"paused\"]).optional(),\n source: z\n .object({ name: z.string(), kind: z.string().optional() })\n .optional(),\n destinations: z\n .array(z.object({ name: z.string(), kind: z.string().optional() }))\n .optional(),\n schedule: z\n .object({\n type: z.enum([\"manual\", \"cron\"]),\n cron: z.string().optional(),\n label: z.string().optional(),\n })\n .optional(),\n steps: z.array(pipelineStepSchema).min(1),\n workstreams: z.array(z.string()).optional(),\n cta: z.object({ label: z.string(), url: z.string() }).optional(),\n});\n\n// JSON tool definition mirroring the Zod schema. The recursive step is modeled\n// to two levels of nesting (top step → subSteps / branches.steps → leaf) which\n// covers virtually all real WDL. Leaf objects do NOT forbid extra keys, so\n// deeper nesting still validates (the resolver renders arbitrary depth).\nconst STEP_LEAF_PROPS = {\n id: { type: \"string\" },\n operation: { type: \"string\" },\n label: { type: \"string\" },\n description: { type: \"string\" },\n} as const;\n\nconst STEP_LEAF = {\n type: \"object\" as const,\n properties: STEP_LEAF_PROPS,\n required: [\"id\", \"operation\"],\n};\n\nconst BRANCH_LEAF = {\n type: \"object\" as const,\n properties: {\n label: { type: \"string\" },\n condition: { type: \"string\" },\n steps: { type: \"array\", items: STEP_LEAF },\n },\n required: [\"label\", \"steps\"],\n};\n\nconst STEP_NODE = {\n type: \"object\" as const,\n properties: {\n ...STEP_LEAF_PROPS,\n subSteps: { type: \"array\", items: STEP_LEAF },\n branches: { type: \"array\", items: BRANCH_LEAF },\n },\n required: [\"id\", \"operation\"],\n};\n\nexport const pipelinePreviewTool = {\n name: \"render_pipeline_preview\",\n description:\n \"Render a read-only blueprint preview of a data pipeline / workflow — its name, source → destination(s), schedule, and the ordered flow of WDL operation steps (with nested FAN_OUT sub-steps and CONDITION branches) plus an optional deeplink CTA. Use to show a pipeline you designed or are proposing before it is created/activated. NOT for live run status (use job-tracker) or a grid of running services (use ops-dashboard).\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"pipeline-preview\"] },\n name: { type: \"string\" },\n description: { type: \"string\" },\n state: { type: \"string\", enum: [\"draft\", \"running\", \"paused\"] },\n source: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n kind: { type: \"string\" },\n },\n required: [\"name\"],\n },\n destinations: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n kind: { type: \"string\" },\n },\n required: [\"name\"],\n },\n },\n schedule: {\n type: \"object\",\n properties: {\n type: { type: \"string\", enum: [\"manual\", \"cron\"] },\n cron: { type: \"string\" },\n label: { type: \"string\" },\n },\n required: [\"type\"],\n },\n steps: { type: \"array\", items: STEP_NODE },\n workstreams: { type: \"array\", items: { type: \"string\" } },\n cta: {\n type: \"object\",\n properties: {\n label: { type: \"string\" },\n url: { type: \"string\" },\n },\n required: [\"label\", \"url\"],\n },\n },\n required: [\"type\", \"name\", \"steps\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const workflowStepperSchema = z.object({\n type: z.literal(\"workflow-stepper\"),\n id: z.string().optional(),\n title: z.string(),\n period: z.string().optional(),\n badge: z.string().optional(),\n active_step: z.string().optional(),\n steps: z\n .array(\n z.object({\n id: z.string(),\n n: z.number().int().positive().optional(),\n title: z.string(),\n sub: z.string().optional(),\n status: z.enum([\n \"done\", \"active\", \"running\", \"review\", \"pending\", \"blocked\", \"failed\",\n ]),\n // Optional quality-gate verdict for a step run by an executor (e.g. a\n // pipeline). Surfaces a subtle trust badge; flags hint at issues a human\n // should review (the full list lives in the escalation dock).\n eval: z\n .object({\n score: z.number().min(0).max(1).nullable().optional(),\n verdict: z.enum([\"good\", \"bad\"]).optional(),\n reasoning: z.string().optional(),\n judge_ok: z.boolean().optional(),\n data_quality_flags: z\n .array(\n z.object({\n field: z.string().optional(),\n issue: z.string().optional(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n details: z.string().optional(),\n })\n )\n .optional(),\n })\n .optional(),\n assignees: z\n .array(\n z.object({\n name: z.string(),\n kind: z.enum([\"agent\", \"human\"]),\n initials: z.string().max(3).optional(),\n color: z.string().optional(),\n role: z.string().optional(),\n })\n )\n .max(6)\n .optional(),\n })\n )\n .min(2)\n .max(12),\n});\n\nexport const workflowStepperTool = {\n name: \"render_workflow_stepper\",\n description:\n \"Render a recurring-process workflow stepper — a horizontal strip of sequential step cards (e.g. a monthly close pipeline) with per-step status (done/active/review/pending/blocked/failed) and human + agent assignee avatars. Use for org processes with named steps and owners, NOT for generic progress bars or project phase summaries.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"workflow-stepper\"] },\n id: { type: \"string\", description: \"Stable id for update-in-place rendering\" },\n title: { type: \"string\", description: \"Process name, e.g. 'Monthly Close'\" },\n period: { type: \"string\", description: \"Period label, e.g. 'Period 04 · FY2026'\" },\n badge: { type: \"string\", description: \"Framework/compliance badge, e.g. 'SOX controlled'\" },\n active_step: { type: \"string\", description: \"Id of the currently active step\" },\n steps: {\n type: \"array\",\n minItems: 2,\n maxItems: 12,\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n n: { type: \"number\", description: \"Step number; defaults to index + 1\" },\n title: { type: \"string\" },\n sub: { type: \"string\", description: \"Short status caption, e.g. '7 accounts · 2 exceptions'\" },\n status: {\n type: \"string\",\n enum: [\"done\", \"active\", \"running\", \"review\", \"pending\", \"blocked\", \"failed\"],\n },\n eval: {\n type: \"object\",\n description: \"Optional quality-gate verdict for an executor-run step.\",\n properties: {\n score: { type: \"number\" },\n verdict: { type: \"string\", enum: [\"good\", \"bad\"] },\n reasoning: { type: \"string\" },\n judge_ok: { type: \"boolean\" },\n data_quality_flags: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field: { type: \"string\" },\n issue: { type: \"string\" },\n severity: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n details: { type: \"string\" },\n },\n },\n },\n },\n },\n assignees: {\n type: \"array\",\n maxItems: 6,\n items: {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n kind: { type: \"string\", enum: [\"agent\", \"human\"] },\n initials: { type: \"string\" },\n color: { type: \"string\" },\n role: { type: \"string\" },\n },\n required: [\"name\", \"kind\"],\n },\n },\n },\n required: [\"id\", \"title\", \"status\"],\n },\n },\n },\n required: [\"type\", \"title\", \"steps\"],\n },\n};\n","import { z } from \"zod\";\n\n// Extraction overlay card. The harness produces this payload via a server-side\n// `payload_ref` (the GenUI host expands the ref into the full pages/fields and\n// resolves each page image_ref → imageUrl BEFORE this component renders), so at\n// render time the component always sees inline `pages` + `fields`. `payload_ref`\n// is kept optional so the pre-resolution stub ({type, payload_ref}) also\n// validates; the resolver ignores it.\n\nconst bbox = z.tuple([z.number(), z.number(), z.number(), z.number()]);\n\nconst fieldSchema = z.object({\n field_key: z.string(),\n label: z.string(),\n value: z.string(),\n page: z.number(), // 0-indexed, matches PageDimension.page\n bbox: bbox.nullable().optional(),\n confidence: z.number().optional(),\n confidence_tier: z.enum([\"green\", \"amber\", \"red\"]).optional(),\n badge: z.enum([\"SC\", \"CN\", \"AB\", \"SW\"]).optional(),\n state: z.enum([\"ok\", \"corrected\", \"missing\", \"warn\"]).optional(),\n entity_type: z.string().optional(),\n is_primary: z.boolean().optional(),\n // Set after a human correction (extractor output, or an optimistic in-card\n // edit) so the editable field card can show old → new and who changed it.\n previous_value: z.string().nullable().optional(),\n corrected_by: z.string().nullable().optional(),\n});\n\nconst pageSchema = z.object({\n page: z.number(), // 0-indexed\n imageUrl: z.string().optional(), // host-resolved from the durable image_ref\n width_pt: z.number(),\n height_pt: z.number(),\n});\n\n// Deterministic Details-tab projection produced by the extraction pipeline\n// (build_summary). Mirrors the file-explorer's DocumentDetails so the chat card\n// shows the identical document summary. All optional — absent on legacy payloads.\nconst summaryStatSchema = z.object({\n field_key: z.string(),\n label: z.string(),\n value: z.string(),\n caption: z.string().nullable().optional(),\n});\nconst summaryFactSchema = z.object({\n field_key: z.string(),\n label: z.string(),\n value: z.string(),\n badge: z.string().nullable().optional(),\n});\nconst summarySchema = z.object({\n display_name: z.string().nullable().optional(),\n short_name: z.string().nullable().optional(),\n organization: z.string().nullable().optional(),\n domain: z.string().nullable().optional(),\n domain_group: z.string().nullable().optional(),\n tax_year: z.union([z.string(), z.number()]).nullable().optional(),\n crumbs: z.array(z.string()).optional(),\n tags: z.array(z.string()).optional(),\n stats: z.array(summaryStatSchema).optional(),\n facts: z.array(summaryFactSchema).optional(),\n});\n\nexport const documentFieldExtractionSchema = z.object({\n type: z.literal(\"document-field-extraction\"),\n doc_type: z.string().optional(),\n // Original uploaded filename (e.g. \"2024_gl.pdf\"); preferred over doc_type for\n // the card title since doc_type is often the \"generic_fallback\" schema name.\n file_name: z.string().optional(),\n // Server-side token; resolved by the host into pages/fields before render.\n payload_ref: z.string().optional(),\n // Present for persisted workstream docs; absent for pre-existing cards.\n store_id: z.string().optional(),\n doc_id: z.string().optional(),\n pages: z.array(pageSchema).max(100).optional(),\n fields: z.array(fieldSchema).max(1000).optional(),\n // Page-count metadata for the Details tab (\"N of M pages extracted\").\n page_count: z.number().optional(),\n pages_processed: z.number().optional(),\n // Deterministic document summary for the Details tab.\n summary: summarySchema.nullable().optional(),\n});\n\nexport const documentFieldExtractionTool = {\n name: \"render_document_field_extraction\",\n description:\n \"Render extracted document fields as an interactive overlay on the page image(s) — colored bounding boxes per field plus a synced field-card list. Use after the extract_document tool returns; pass the returned payload_ref (the host expands it). For invoices, statements, tax forms, receipts, KYC/loan docs, POs where the user wants to SEE where each value sits on the page.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"document-field-extraction\"] },\n doc_type: { type: \"string\" },\n file_name: {\n type: \"string\",\n description: \"Original uploaded filename; shown as the card title.\",\n },\n payload_ref: {\n type: \"string\",\n description:\n \"Durable store key returned by extract_document; the GenUI host expands it into pages/fields at render time. Pass this verbatim — do NOT hand-build pages/fields.\",\n },\n store_id: {\n type: \"string\",\n description: \"Docstore store id; present for persisted workstream docs. The host uses this to open the editable viewer.\",\n },\n doc_id: {\n type: \"string\",\n description: \"Docstore document id; present for persisted workstream docs. Required for the editable viewer.\",\n },\n pages: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n page: { type: \"number\", description: \"0-indexed page number\" },\n imageUrl: { type: \"string\" },\n width_pt: { type: \"number\" },\n height_pt: { type: \"number\" },\n },\n required: [\"page\", \"width_pt\", \"height_pt\"],\n },\n },\n fields: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field_key: { type: \"string\" },\n label: { type: \"string\" },\n value: { type: \"string\" },\n page: { type: \"number\", description: \"0-indexed page number\" },\n bbox: {\n type: \"array\",\n items: { type: \"number\" },\n description: \"[x0,y0,x1,y1] PDF points, origin bottom-left; null if unlocated\",\n },\n confidence: { type: \"number\" },\n confidence_tier: { type: \"string\", enum: [\"green\", \"amber\", \"red\"] },\n badge: { type: \"string\", enum: [\"SC\", \"CN\", \"AB\", \"SW\"] },\n state: { type: \"string\", enum: [\"ok\", \"corrected\", \"missing\", \"warn\"] },\n entity_type: { type: \"string\" },\n is_primary: { type: \"boolean\" },\n },\n required: [\"field_key\", \"label\", \"value\", \"page\"],\n },\n },\n page_count: { type: \"number\" },\n pages_processed: { type: \"number\" },\n summary: {\n type: \"object\",\n description:\n \"Deterministic document summary for the Details tab (display_name, organization, domain, stats, facts, tags). Produced by the extractor — pass through verbatim.\",\n properties: {\n display_name: { type: \"string\" },\n short_name: { type: \"string\" },\n organization: { type: \"string\" },\n domain: { type: \"string\" },\n domain_group: { type: \"string\" },\n tax_year: { type: \"string\" },\n crumbs: { type: \"array\", items: { type: \"string\" } },\n tags: { type: \"array\", items: { type: \"string\" } },\n stats: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field_key: { type: \"string\" },\n label: { type: \"string\" },\n value: { type: \"string\" },\n caption: { type: \"string\" },\n },\n required: [\"field_key\", \"label\", \"value\"],\n },\n },\n facts: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n field_key: { type: \"string\" },\n label: { type: \"string\" },\n value: { type: \"string\" },\n badge: { type: \"string\" },\n },\n required: [\"field_key\", \"label\", \"value\"],\n },\n },\n },\n },\n },\n required: [\"type\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const decisionCardSchema = z.object({\n type: z.literal(\"decision-card\"),\n id: z.string().optional(),\n decision_type: z.string().optional(),\n title: z.string(),\n question: z.string(),\n amount: z.number().optional(),\n currency: z.string().optional(),\n amount_label: z.string().optional(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n flags: z\n .array(\n z.object({\n field: z.string().optional(),\n issue: z.string(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n })\n )\n .max(6)\n .optional(),\n options: z\n .array(\n z.object({\n id: z.string().optional(),\n label: z.string(),\n recommended: z.boolean().optional(),\n value: z.number().optional(),\n adjust: z\n .object({\n min: z.number(),\n max: z.number(),\n step: z.number().optional(),\n unit: z.string().optional(),\n })\n .optional(),\n })\n )\n .min(1)\n .max(5),\n source: z\n .object({\n label: z.string().optional(),\n url: z.string().optional(),\n })\n .optional(),\n resolved: z\n .object({\n option: z.string(),\n value: z.number().optional(),\n })\n .optional(),\n});\n\nexport const decisionCardTool = {\n name: \"render_decision_card\",\n description:\n \"Render an inline human-in-the-loop (HITL) decision card — a single judgment the agent needs from the user, resolved in-thread. Shows a titled question with an optional dollar amount at stake, optional data-quality flags, and 2-5 mutually-exclusive resolution options (the first or `recommended` one renders as the primary action), plus an optional 'view source' link. Use for inline approve/choose decisions the user resolves directly in the conversation. NOT for handing off to an external review portal (use escalation-card) and NOT for collecting multiple typed fields (use render_builder).\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"decision-card\"] },\n id: { type: \"string\", description: \"Stable id for update-in-place rendering\" },\n decision_type: {\n type: \"string\",\n description: \"Short category shown in the eyebrow, e.g. 'Cross-check', 'Allocation', 'Reserve'\",\n },\n title: { type: \"string\", description: \"The decision headline, e.g. 'AR reserve adequacy'\" },\n question: { type: \"string\", description: \"The full question / context the user must judge\" },\n amount: { type: \"number\", description: \"Dollar value at stake, e.g. 27100\" },\n currency: { type: \"string\", description: \"ISO currency code; defaults to USD\" },\n amount_label: { type: \"string\", description: \"Caption above the amount, e.g. 'At stake'\" },\n severity: {\n type: \"string\",\n enum: [\"low\", \"medium\", \"high\"],\n description: \"Severity of the decision; tints the accent rail\",\n },\n flags: {\n type: \"array\",\n maxItems: 6,\n description: \"Optional data-quality flags surfaced on the card\",\n items: {\n type: \"object\",\n properties: {\n field: { type: \"string\" },\n issue: { type: \"string\" },\n severity: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n },\n required: [\"issue\"],\n },\n },\n options: {\n type: \"array\",\n minItems: 1,\n maxItems: 5,\n description:\n \"Mutually-exclusive resolution choices; mark one `recommended` to make it primary. An option that carries a numeric figure the user may want to tune (e.g. 'Book reserve' at 50 units) should set `value` (your suggested figure) and `adjust` ({min,max[,step,unit]}) — the card then lets the user fine-tune the number within that range before confirming.\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n label: { type: \"string\" },\n recommended: { type: \"boolean\" },\n value: {\n type: \"number\",\n description: \"Suggested numeric figure for this option (the starting point of the adjuster)\",\n },\n adjust: {\n type: \"object\",\n description: \"Allow the user to tune `value` within this inclusive range before resolving\",\n properties: {\n min: { type: \"number\" },\n max: { type: \"number\" },\n step: { type: \"number\", description: \"Increment granularity; defaults to a sensible step for the range\" },\n unit: { type: \"string\", description: \"Short unit suffix shown after the number, e.g. 'units', '%', 'hrs'\" },\n },\n required: [\"min\", \"max\"],\n },\n },\n required: [\"label\"],\n },\n },\n source: {\n type: \"object\",\n description: \"Optional provenance link for the figure\",\n properties: {\n label: { type: \"string\" },\n url: { type: \"string\" },\n },\n },\n resolved: {\n type: \"object\",\n description: \"Pre-resolved state for transcript replay\",\n properties: {\n option: { type: \"string\" },\n value: { type: \"number\", description: \"Adjusted figure the user confirmed, when the option was adjustable\" },\n },\n required: [\"option\"],\n },\n },\n required: [\"type\", \"title\", \"question\", \"options\"],\n },\n};\n","import { z } from \"zod\";\n\n/** One judgment in the queue — a decision-card body minus `type`/`resolved`\n * (the queue owns replay state at the top level). Options reuse the\n * decision-card shape including the adjustable-figure fields. */\nconst decisionQueueItemSchema = z.object({\n id: z.string().optional(),\n decision_type: z.string().optional(),\n title: z.string(),\n question: z.string(),\n amount: z.number().optional(),\n currency: z.string().optional(),\n amount_label: z.string().optional(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n flags: z\n .array(\n z.object({\n field: z.string().optional(),\n issue: z.string(),\n severity: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n })\n )\n .max(6)\n .optional(),\n options: z\n .array(\n z.object({\n id: z.string().optional(),\n label: z.string(),\n recommended: z.boolean().optional(),\n value: z.number().optional(),\n adjust: z\n .object({\n min: z.number(),\n max: z.number(),\n step: z.number().optional(),\n unit: z.string().optional(),\n })\n .optional(),\n })\n )\n .min(1)\n .max(5),\n source: z\n .object({\n label: z.string().optional(),\n url: z.string().optional(),\n })\n .optional(),\n});\n\nexport const decisionQueueSchema = z.object({\n type: z.literal(\"decision-queue\"),\n id: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n submit_label: z.string().optional(),\n items: z.array(decisionQueueItemSchema).min(2).max(12),\n resolved: z\n .object({\n decisions: z.array(\n z.object({\n id: z.string().optional(),\n title: z.string(),\n option: z.string(),\n value: z.number().optional(),\n })\n ),\n })\n .optional(),\n});\n\nconst OPTION_ITEM_JSON = {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n label: { type: \"string\" },\n recommended: { type: \"boolean\" },\n value: {\n type: \"number\",\n description: \"Suggested numeric figure for this option (starting point of the adjuster)\",\n },\n adjust: {\n type: \"object\",\n description: \"Allow the user to tune `value` within this inclusive range before deciding\",\n properties: {\n min: { type: \"number\" },\n max: { type: \"number\" },\n step: { type: \"number\" },\n unit: { type: \"string\", description: \"Short unit suffix, e.g. 'units', '%', 'hrs'\" },\n },\n required: [\"min\", \"max\"],\n },\n },\n required: [\"label\"],\n};\n\nexport const decisionQueueTool = {\n name: \"render_decision_queue\",\n description:\n \"Render a SEQUENTIAL QUEUE of 2-12 related human-in-the-loop judgments, decided one at a time at full decision-card richness (amount at stake, data-quality flags, adjustable figures, source links) and submitted TOGETHER as one reply. Use whenever MORE THAN ONE decision is pending in the same turn — never emit multiple loose decision-cards. Give deferrable items an explicit 'leave open'-style option so the user can always complete the queue. For a single judgment use decision-card; for typed field input (names, dates, uploads) use render_builder.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"decision-queue\"] },\n id: { type: \"string\", description: \"Stable id for update-in-place rendering\" },\n title: {\n type: \"string\",\n description: \"Batch headline shown in the header, e.g. 'Reconciliation exceptions'\",\n },\n description: { type: \"string\", description: \"One-line context above the queue\" },\n submit_label: { type: \"string\", description: \"CTA label; defaults to 'Submit N decisions'\" },\n items: {\n type: \"array\",\n minItems: 2,\n maxItems: 12,\n description:\n \"The pending judgments, in the order the user should take them. Each is a full decision-card body (no `type`).\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n decision_type: {\n type: \"string\",\n description: \"Short category eyebrow, e.g. 'Duplicate', 'Capitalization'\",\n },\n title: { type: \"string\" },\n question: { type: \"string\" },\n amount: { type: \"number\" },\n currency: { type: \"string\" },\n amount_label: { type: \"string\" },\n severity: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n flags: {\n type: \"array\",\n maxItems: 6,\n items: {\n type: \"object\",\n properties: {\n field: { type: \"string\" },\n issue: { type: \"string\" },\n severity: { type: \"string\", enum: [\"low\", \"medium\", \"high\"] },\n },\n required: [\"issue\"],\n },\n },\n options: {\n type: \"array\",\n minItems: 1,\n maxItems: 5,\n items: OPTION_ITEM_JSON,\n },\n source: {\n type: \"object\",\n properties: { label: { type: \"string\" }, url: { type: \"string\" } },\n },\n },\n required: [\"title\", \"question\", \"options\"],\n },\n },\n resolved: {\n type: \"object\",\n description: \"Pre-resolved state for transcript replay\",\n properties: {\n decisions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n title: { type: \"string\" },\n option: { type: \"string\" },\n value: { type: \"number\" },\n },\n required: [\"title\", \"option\"],\n },\n },\n },\n required: [\"decisions\"],\n },\n },\n required: [\"type\", \"items\"],\n },\n};\n","import { z } from \"zod\";\n\nexport const tabbyAuthSchema = z.object({\n type: z.literal(\"tabby-auth\"),\n app: z.string(),\n url: z.string(),\n workspace: z.string().optional(),\n state: z.enum([\"pending\", \"connected\"]).optional(),\n ctaLabel: z.string().optional(),\n steps: z.array(z.string()).optional(),\n description: z.string().optional(),\n iconUrl: z.string().optional(),\n});\n\nexport const tabbyAuthTool = {\n name: \"render_tabby_auth\",\n description:\n \"Render a dedicated, trustworthy sign-in card when a harness skill needs the member to authenticate with a third-party app (e.g. Sage Intacct, Airbnb, an ERP) before a `call_web_api` request can proceed. Use this for the `login_required` path instead of a raw markdown link or a connect-integration card. `app` is the human display name (drives the title context, subtitle, and CTA). `url` is the login/short-link the prominent CTA opens in a new tab. `workspace` adds a subtitle suffix ('{app} · {workspace} workspace'). `state='pending'` (default) is the first-time connect; `state='connected'` is the verify/re-auth case (session already live) with a green badge and an Open deep-link. `steps` overrides the default numbered instructions; `description` is a one-line intro. The card title ('Authentication required') and the 'Credentials not stored by Adopt' trust footer are hardcoded brand constants — never supplied here.\",\n input_schema: {\n type: \"object\" as const,\n properties: {\n type: { type: \"string\", enum: [\"tabby-auth\"] },\n app: { type: \"string\" },\n url: { type: \"string\" },\n workspace: { type: \"string\" },\n state: { type: \"string\", enum: [\"pending\", \"connected\"] },\n ctaLabel: { type: \"string\" },\n steps: { type: \"array\", items: { type: \"string\" } },\n description: { type: \"string\" },\n iconUrl: { type: \"string\" },\n },\n required: [\"type\", \"app\", \"url\"],\n },\n};\n","import { schemaRegistry } from \"./index\";\nimport type { UISchemaName } from \"../types\";\n\nexport function buildRenderUITool(\n selectedSchemas: UISchemaName[]\n): { name: string; description: string; input_schema: object } {\n const selected = selectedSchemas\n .filter((name) => name in schemaRegistry)\n .map((name) => schemaRegistry[name].tool.input_schema);\n\n if (selected.length === 0) {\n throw new Error(\"buildRenderUITool: no valid schemas selected\");\n }\n\n return {\n name: \"render_ui\",\n description:\n \"Render a rich UI component for the user. Use this when the response \" +\n \"benefits from structured visual presentation (tables, charts, metrics, \" +\n \"cards) rather than plain text. The `type` field selects the component. \" +\n \"You may call this tool multiple times in a single response to render \" +\n \"multiple components.\",\n input_schema:\n selected.length === 1\n ? selected[0]\n : { type: \"object\" as const, anyOf: selected },\n };\n}\n","import { schemaRegistry } from \"./index\";\nimport type { UISchemaName } from \"../types\";\n\n/**\n * Tolerate the most common LLM marshalling error: an array/object field\n * arriving as a JSON-encoded *string* (e.g. `columns: \"[{...}]\"`) when the\n * component schema expects a real array/object.\n *\n * Schema-guided + shallow: only top-level fields the component's tool\n * `input_schema` types as `array`/`object` are parsed, and only when the\n * string parses to the matching type. A legitimately string-valued field\n * (e.g. a title that happens to start with \"[\") is left untouched.\n *\n * Mirrors the backend `_coerce_json_strings` in adoptai-workflows so the FE\n * renders correctly even though the streamed tool_use payload carries the raw\n * (stringified) LLM output. Returns the input unchanged when nothing coerces.\n */\nexport function coercePayload<T>(data: T): T {\n if (!data || typeof data !== \"object\" || Array.isArray(data)) return data;\n const obj = data as Record<string, unknown>;\n const type = obj.type;\n if (typeof type !== \"string\" || !(type in schemaRegistry)) return data;\n\n const props = (\n schemaRegistry[type as UISchemaName] as {\n tool?: { input_schema?: { properties?: Record<string, { type?: string }> } };\n }\n )?.tool?.input_schema?.properties;\n if (!props || typeof props !== \"object\") return data;\n\n let out: Record<string, unknown> | null = null;\n for (const [key, propSchema] of Object.entries(props)) {\n const expected = propSchema?.type;\n if (expected !== \"array\" && expected !== \"object\") continue;\n const value = obj[key];\n if (typeof value !== \"string\") continue;\n const trimmed = value.trim();\n if (!trimmed || (trimmed[0] !== \"[\" && trimmed[0] !== \"{\")) continue;\n try {\n const parsed = JSON.parse(trimmed);\n const ok =\n expected === \"array\"\n ? Array.isArray(parsed)\n : parsed !== null && typeof parsed === \"object\" && !Array.isArray(parsed);\n if (ok) {\n if (!out) out = { ...obj };\n out[key] = parsed;\n }\n } catch {\n // leave as-is; validation will surface the real error\n }\n }\n return (out ?? data) as T;\n}\n","import { schemaRegistry } from \"./index\";\nimport { coercePayload } from \"./coercePayload\";\nimport type { UISchemaName } from \"../types\";\n\ntype ValidationResult =\n | { success: true; data: unknown }\n | { success: false; error: string };\n\nexport function validatePayload(\n schemaName: string,\n data: unknown\n): ValidationResult {\n if (!(schemaName in schemaRegistry)) {\n return { success: false, error: `Unknown schema: ${schemaName}` };\n }\n\n const { schema } = schemaRegistry[schemaName as UISchemaName];\n // Coerce stringified-JSON array/object fields before validating so a\n // payload whose `columns` arrived as a JSON string still validates.\n const result = schema.safeParse(coercePayload(data));\n\n if (result.success) {\n return { success: true, data: result.data };\n }\n\n return {\n success: false,\n error: result.error.issues\n .map((i) => `${i.path.join(\".\")}: ${i.message}`)\n .join(\"; \"),\n };\n}\n","import { z } from \"zod\";\nimport { dataTableSchema, dataTableTool } from \"./data-table\";\nimport { statusCardSchema, statusCardTool } from \"./status-card\";\nimport { alertSchema, alertTool } from \"./alert\";\nimport { statGridSchema, statGridTool } from \"./stat-grid\";\nimport { tabsPanelSchema, tabsPanelTool } from \"./tabs-panel\";\nimport { sparklineTableSchema, sparklineTableTool } from \"./sparkline-table\";\nimport { heatmapTableSchema, heatmapTableTool } from \"./heatmap-table\";\nimport { screenerTableSchema, screenerTableTool } from \"./screener-table\";\nimport { groupedTableSchema, groupedTableTool } from \"./grouped-table\";\nimport { newsFeedSchema, newsFeedTool } from \"./news-feed\";\nimport { areaChartSchema, areaChartTool } from \"./area-chart\";\nimport { allocationDonutSchema, allocationDonutTool } from \"./allocation-donut\";\nimport { waterfallChartSchema, waterfallChartTool } from \"./waterfall-chart\";\nimport { flowCanvasSchema, flowCanvasTool } from \"./flow-canvas\";\nimport { trialBalanceSchema, trialBalanceTool } from \"./trial-balance\";\nimport { journalEntrySchema, journalEntryTool } from \"./journal-entry\";\nimport { agingReportSchema, agingReportTool } from \"./aging-report\";\nimport { varianceAnalysisSchema, varianceAnalysisTool } from \"./variance-analysis\";\nimport { stackedBreakdownSchema, stackedBreakdownTool } from \"./stacked-breakdown\";\nimport { comparativeBarChartSchema, comparativeBarChartTool } from \"./comparative-bar-chart\";\nimport { complianceChecklistSchema, complianceChecklistTool } from \"./compliance-checklist\";\nimport { reconciliationViewSchema, reconciliationViewTool } from \"./reconciliation-view\";\nimport { auditTrailSchema, auditTrailTool } from \"./audit-trail\";\nimport { documentPreviewSchema, documentPreviewTool } from \"./document-preview\";\nimport { provenanceChainSchema, provenanceChainTool } from \"./provenance-chain\";\nimport { searchResultsSchema, searchResultsTool } from \"./search-results\";\nimport { legalTestResultSchema, legalTestResultTool } from \"./legal-test-result\";\nimport { engagementPipelineSchema, engagementPipelineTool } from \"./engagement-pipeline\";\nimport { entityCardGridSchema, entityCardGridTool } from \"./entity-card-grid\";\nimport { jobTrackerSchema, jobTrackerTool } from \"./job-tracker\";\nimport { citedAnswerSchema, citedAnswerTool } from \"./cited-answer\";\nimport { transactionFeedSchema, transactionFeedTool } from \"./transaction-feed\";\nimport { fileBrowserSchema, fileBrowserTool } from \"./file-browser\";\nimport { downloadCardSchema, downloadCardTool } from \"./download-card\";\nimport { opsDashboardSchema, opsDashboardTool } from \"./ops-dashboard\";\nimport { keyValueListSchema, keyValueListTool } from \"./key-value-list\";\nimport { balanceSheetSchema, balanceSheetTool } from \"./balance-sheet\";\nimport { incomeStatementSchema, incomeStatementTool } from \"./income-statement\";\nimport { cashFlowStatementSchema, cashFlowStatementTool } from \"./cash-flow-statement\";\nimport { generalLedgerSchema, generalLedgerTool } from \"./general-ledger\";\nimport { chartOfAccountsSchema, chartOfAccountsTool } from \"./chart-of-accounts\";\nimport { invoiceDetailSchema, invoiceDetailTool } from \"./invoice-detail\";\nimport { amortizationTableSchema, amortizationTableTool } from \"./amortization-table\";\nimport { depreciationScheduleSchema, depreciationScheduleTool } from \"./depreciation-schedule\";\nimport { escalationCardSchema, escalationCardTool } from \"./escalation-card\";\nimport { lineChartSchema, lineChartTool } from \"./line-chart\";\nimport { comboChartSchema, comboChartTool } from \"./combo-chart\";\nimport { gaugeChartSchema, gaugeChartTool } from \"./gauge-chart\";\nimport { treemapChartSchema, treemapChartTool } from \"./treemap-chart\";\nimport { radarChartSchema, radarChartTool } from \"./radar-chart\";\nimport { funnelChartSchema, funnelChartTool } from \"./funnel-chart\";\nimport { bulletChartSchema, bulletChartTool } from \"./bullet-chart\";\nimport { scatterChartSchema, scatterChartTool } from \"./scatter-chart\";\nimport { connectIntegrationSchema, connectIntegrationTool } from \"./connect-integration\";\nimport { integrationsListSchema, integrationsListTool } from \"./integrations-list\";\nimport { pipelinePreviewSchema, pipelinePreviewTool } from \"./pipeline-preview\";\nimport { workflowStepperSchema, workflowStepperTool } from \"./workflow-stepper\";\nimport { documentFieldExtractionSchema, documentFieldExtractionTool } from \"./document-field-extraction\";\nimport { decisionCardSchema, decisionCardTool } from \"./decision-card\";\nimport { decisionQueueSchema, decisionQueueTool } from \"./decision-queue\";\nimport { tabbyAuthSchema, tabbyAuthTool } from \"./tabby-auth\";\nexport const schemaRegistry = {\n \"data-table\": { schema: dataTableSchema, tool: dataTableTool },\n \"status-card\": { schema: statusCardSchema, tool: statusCardTool },\n \"alert\": { schema: alertSchema, tool: alertTool },\n \"stat-grid\": { schema: statGridSchema, tool: statGridTool },\n \"tabs-panel\": { schema: tabsPanelSchema, tool: tabsPanelTool },\n \"sparkline-table\": { schema: sparklineTableSchema, tool: sparklineTableTool },\n \"heatmap-table\": { schema: heatmapTableSchema, tool: heatmapTableTool },\n \"screener-table\": { schema: screenerTableSchema, tool: screenerTableTool },\n \"grouped-table\": { schema: groupedTableSchema, tool: groupedTableTool },\n \"news-feed\": { schema: newsFeedSchema, tool: newsFeedTool },\n \"area-chart\": { schema: areaChartSchema, tool: areaChartTool },\n \"allocation-donut\": { schema: allocationDonutSchema, tool: allocationDonutTool },\n \"waterfall-chart\": { schema: waterfallChartSchema, tool: waterfallChartTool },\n \"flow-canvas\": { schema: flowCanvasSchema, tool: flowCanvasTool },\n \"trial-balance\": { schema: trialBalanceSchema, tool: trialBalanceTool },\n \"journal-entry\": { schema: journalEntrySchema, tool: journalEntryTool },\n \"aging-report\": { schema: agingReportSchema, tool: agingReportTool },\n \"variance-analysis\": { schema: varianceAnalysisSchema, tool: varianceAnalysisTool },\n \"stacked-breakdown\": { schema: stackedBreakdownSchema, tool: stackedBreakdownTool },\n \"comparative-bar-chart\": { schema: comparativeBarChartSchema, tool: comparativeBarChartTool },\n \"compliance-checklist\": { schema: complianceChecklistSchema, tool: complianceChecklistTool },\n \"reconciliation-view\": { schema: reconciliationViewSchema, tool: reconciliationViewTool },\n \"audit-trail\": { schema: auditTrailSchema, tool: auditTrailTool },\n \"document-preview\": { schema: documentPreviewSchema, tool: documentPreviewTool },\n \"provenance-chain\": { schema: provenanceChainSchema, tool: provenanceChainTool },\n \"search-results\": { schema: searchResultsSchema, tool: searchResultsTool },\n \"legal-test-result\": { schema: legalTestResultSchema, tool: legalTestResultTool },\n \"engagement-pipeline\": { schema: engagementPipelineSchema, tool: engagementPipelineTool },\n \"entity-card-grid\": { schema: entityCardGridSchema, tool: entityCardGridTool },\n \"job-tracker\": { schema: jobTrackerSchema, tool: jobTrackerTool },\n \"cited-answer\": { schema: citedAnswerSchema, tool: citedAnswerTool },\n \"transaction-feed\": { schema: transactionFeedSchema, tool: transactionFeedTool },\n \"file-browser\": { schema: fileBrowserSchema, tool: fileBrowserTool },\n \"download-card\": { schema: downloadCardSchema, tool: downloadCardTool },\n \"ops-dashboard\": { schema: opsDashboardSchema, tool: opsDashboardTool },\n \"key-value-list\": { schema: keyValueListSchema, tool: keyValueListTool },\n \"balance-sheet\": { schema: balanceSheetSchema, tool: balanceSheetTool },\n \"income-statement\": { schema: incomeStatementSchema, tool: incomeStatementTool },\n \"cash-flow-statement\": { schema: cashFlowStatementSchema, tool: cashFlowStatementTool },\n \"general-ledger\": { schema: generalLedgerSchema, tool: generalLedgerTool },\n \"chart-of-accounts\": { schema: chartOfAccountsSchema, tool: chartOfAccountsTool },\n \"invoice-detail\": { schema: invoiceDetailSchema, tool: invoiceDetailTool },\n \"amortization-table\": { schema: amortizationTableSchema, tool: amortizationTableTool },\n \"depreciation-schedule\": { schema: depreciationScheduleSchema, tool: depreciationScheduleTool },\n \"escalation-card\": { schema: escalationCardSchema, tool: escalationCardTool },\n \"line-chart\": { schema: lineChartSchema, tool: lineChartTool },\n \"combo-chart\": { schema: comboChartSchema, tool: comboChartTool },\n \"gauge-chart\": { schema: gaugeChartSchema, tool: gaugeChartTool },\n \"treemap-chart\": { schema: treemapChartSchema, tool: treemapChartTool },\n \"radar-chart\": { schema: radarChartSchema, tool: radarChartTool },\n \"funnel-chart\": { schema: funnelChartSchema, tool: funnelChartTool },\n \"bullet-chart\": { schema: bulletChartSchema, tool: bulletChartTool },\n \"scatter-chart\": { schema: scatterChartSchema, tool: scatterChartTool },\n \"connect-integration\": { schema: connectIntegrationSchema, tool: connectIntegrationTool },\n \"integrations-list\": { schema: integrationsListSchema, tool: integrationsListTool },\n \"pipeline-preview\": { schema: pipelinePreviewSchema, tool: pipelinePreviewTool },\n \"workflow-stepper\": { schema: workflowStepperSchema, tool: workflowStepperTool },\n \"document-field-extraction\": { schema: documentFieldExtractionSchema, tool: documentFieldExtractionTool },\n \"decision-card\": { schema: decisionCardSchema, tool: decisionCardTool },\n \"decision-queue\": { schema: decisionQueueSchema, tool: decisionQueueTool },\n \"tabby-auth\": { schema: tabbyAuthSchema, tool: tabbyAuthTool },\n} satisfies Record<string, { schema: z.ZodTypeAny; tool: object }>;\n\nexport type SchemaPayload<T extends keyof typeof schemaRegistry> =\n z.infer<(typeof schemaRegistry)[T][\"schema\"]>;\n\nexport { buildRenderUITool } from \"./buildRenderUITool\";\nexport { validatePayload } from \"./validatePayload\";\n"]}