@finos/legend-cube-builder 0.0.4 → 0.0.5

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 (609) hide show
  1. package/README.md +9 -3
  2. package/docs/adding-an-operation.md +22 -12
  3. package/docs/demo/DEMO-FAST-NOTES.md +67 -0
  4. package/docs/demo/README.md +102 -0
  5. package/docs/demo/specs/duckdb-sales-pivot.cube.json +110 -0
  6. package/docs/demo/specs/trades-desks-1-joined.cube.json +123 -0
  7. package/docs/demo/specs/trades-desks-2-grouped.cube.json +140 -0
  8. package/docs/demo/specs/trades-desks-3-ranked.cube.json +158 -0
  9. package/docs/demo/specs/trades-desks-4-extended.cube.json +208 -0
  10. package/docs/demo/specs/trades-desks-5-final.cube.json +248 -0
  11. package/docs/hosting.md +50 -3
  12. package/docs/testing.md +32 -0
  13. package/lib/__lib__/LegendCubeCommand.d.ts +2 -0
  14. package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
  15. package/lib/__lib__/LegendCubeCommand.js +7 -0
  16. package/lib/__lib__/LegendCubeCommand.js.map +1 -1
  17. package/lib/__lib__/LegendCubeFunctionLabels.d.ts +29 -0
  18. package/lib/__lib__/LegendCubeFunctionLabels.d.ts.map +1 -0
  19. package/lib/__lib__/LegendCubeFunctionLabels.js +31 -0
  20. package/lib/__lib__/LegendCubeFunctionLabels.js.map +1 -0
  21. package/lib/__lib__/LegendCubeHelpText.d.ts +5 -1
  22. package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
  23. package/lib/__lib__/LegendCubeHelpText.js +14 -2
  24. package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
  25. package/lib/__lib__/LegendCubeLabels.d.ts +100 -8
  26. package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
  27. package/lib/__lib__/LegendCubeLabels.js +129 -14
  28. package/lib/__lib__/LegendCubeLabels.js.map +1 -1
  29. package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts +26 -0
  30. package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts.map +1 -0
  31. package/lib/__lib__/LegendCubeProjectSourceLabels.js +26 -0
  32. package/lib/__lib__/LegendCubeProjectSourceLabels.js.map +1 -0
  33. package/lib/__lib__/LegendCubeServiceLabels.d.ts +27 -0
  34. package/lib/__lib__/LegendCubeServiceLabels.d.ts.map +1 -0
  35. package/lib/__lib__/LegendCubeServiceLabels.js +32 -0
  36. package/lib/__lib__/LegendCubeServiceLabels.js.map +1 -0
  37. package/lib/__lib__/LegendCubeTesting.d.ts +7 -0
  38. package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
  39. package/lib/__lib__/LegendCubeTesting.js +7 -0
  40. package/lib/__lib__/LegendCubeTesting.js.map +1 -1
  41. package/lib/__test-utils__/CubeEngineTestSupport.d.ts +1 -1
  42. package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
  43. package/lib/__test-utils__/CubeEngineTestSupport.js +2 -2
  44. package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
  45. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +8 -1
  46. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -1
  47. package/lib/__test-utils__/CubeExpressionTestUtils.js +20 -3
  48. package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -1
  49. package/lib/__test-utils__/CubeFunctionTestOutline.d.ts +26 -0
  50. package/lib/__test-utils__/CubeFunctionTestOutline.d.ts.map +1 -0
  51. package/lib/__test-utils__/CubeFunctionTestOutline.js +56 -0
  52. package/lib/__test-utils__/CubeFunctionTestOutline.js.map +1 -0
  53. package/lib/__test-utils__/CubeLambdaCorpus.d.ts +36 -0
  54. package/lib/__test-utils__/CubeLambdaCorpus.d.ts.map +1 -0
  55. package/lib/__test-utils__/CubeLambdaCorpus.js +83 -0
  56. package/lib/__test-utils__/CubeLambdaCorpus.js.map +1 -0
  57. package/lib/__test-utils__/CubePageTestUtils.d.ts +6 -0
  58. package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
  59. package/lib/__test-utils__/CubePageTestUtils.js +21 -0
  60. package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
  61. package/lib/__test-utils__/CubeTestApplication.d.ts +9 -0
  62. package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
  63. package/lib/__test-utils__/CubeTestApplication.js +16 -0
  64. package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
  65. package/lib/__test-utils__/FakeCubeEngine.d.ts +5 -0
  66. package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
  67. package/lib/__test-utils__/FakeCubeEngine.js +17 -0
  68. package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
  69. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +7 -1
  70. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -1
  71. package/lib/__test-utils__/FakeCubeIngestCatalog.js +16 -0
  72. package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -1
  73. package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts +26 -0
  74. package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts.map +1 -0
  75. package/lib/__test-utils__/FakeCubeServiceCatalog.js +40 -0
  76. package/lib/__test-utils__/FakeCubeServiceCatalog.js.map +1 -0
  77. package/lib/components/CubeAddItems.d.ts.map +1 -1
  78. package/lib/components/CubeAddItems.js +9 -6
  79. package/lib/components/CubeAddItems.js.map +1 -1
  80. package/lib/components/CubeDialogTheme.d.ts +25 -0
  81. package/lib/components/CubeDialogTheme.d.ts.map +1 -0
  82. package/lib/components/CubeDialogTheme.js +25 -0
  83. package/lib/components/CubeDialogTheme.js.map +1 -0
  84. package/lib/components/CubeEditor.d.ts +12 -1
  85. package/lib/components/CubeEditor.d.ts.map +1 -1
  86. package/lib/components/CubeEditor.js +16 -14
  87. package/lib/components/CubeEditor.js.map +1 -1
  88. package/lib/components/CubeFileMenu.d.ts +28 -0
  89. package/lib/components/CubeFileMenu.d.ts.map +1 -0
  90. package/lib/components/CubeFileMenu.js +77 -0
  91. package/lib/components/CubeFileMenu.js.map +1 -0
  92. package/lib/components/CubeLambdaImportBanner.d.ts +26 -0
  93. package/lib/components/CubeLambdaImportBanner.d.ts.map +1 -0
  94. package/lib/components/CubeLambdaImportBanner.js +47 -0
  95. package/lib/components/CubeLambdaImportBanner.js.map +1 -0
  96. package/lib/components/CubeNodeIcon.d.ts.map +1 -1
  97. package/lib/components/CubeNodeIcon.js +5 -1
  98. package/lib/components/CubeNodeIcon.js.map +1 -1
  99. package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -1
  100. package/lib/components/CubeSchemaColumnsTable.js +2 -2
  101. package/lib/components/CubeSchemaColumnsTable.js.map +1 -1
  102. package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
  103. package/lib/components/canvas/CubeCanvas.js +38 -5
  104. package/lib/components/canvas/CubeCanvas.js.map +1 -1
  105. package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
  106. package/lib/components/canvas/CubeCanvasContextMenu.js +2 -1
  107. package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
  108. package/lib/components/canvas/CubeCanvasElements.d.ts +18 -1
  109. package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
  110. package/lib/components/canvas/CubeCanvasElements.js +58 -3
  111. package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
  112. package/lib/components/canvas/CubeCanvasLayout.js +1 -1
  113. package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
  114. package/lib/components/canvas/CubeCanvasNode.js +8 -4
  115. package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
  116. package/lib/components/dev-settings/CubeDevSettings.d.ts +35 -0
  117. package/lib/components/dev-settings/CubeDevSettings.d.ts.map +1 -0
  118. package/lib/components/dev-settings/CubeDevSettings.js +50 -0
  119. package/lib/components/dev-settings/CubeDevSettings.js.map +1 -0
  120. package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -1
  121. package/lib/components/editors/CubeColumnChecklist.js +2 -2
  122. package/lib/components/editors/CubeColumnChecklist.js.map +1 -1
  123. package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
  124. package/lib/components/editors/CubeColumnPicker.js +3 -3
  125. package/lib/components/editors/CubeColumnPicker.js.map +1 -1
  126. package/lib/components/editors/CubeConcatEditor.js +2 -2
  127. package/lib/components/editors/CubeConcatEditor.js.map +1 -1
  128. package/lib/components/editors/CubeExpressionFilterEditor.d.ts +25 -0
  129. package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -0
  130. package/lib/components/editors/CubeExpressionFilterEditor.js +83 -0
  131. package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
  132. package/lib/components/editors/CubeExtendEditor.d.ts +2 -0
  133. package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -1
  134. package/lib/components/editors/CubeExtendEditor.js +3 -3
  135. package/lib/components/editors/CubeExtendEditor.js.map +1 -1
  136. package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
  137. package/lib/components/editors/CubeFilterEditor.js +13 -2
  138. package/lib/components/editors/CubeFilterEditor.js.map +1 -1
  139. package/lib/components/editors/CubeFunctionSourceEditor.d.ts +25 -0
  140. package/lib/components/editors/CubeFunctionSourceEditor.d.ts.map +1 -0
  141. package/lib/components/editors/CubeFunctionSourceEditor.js +55 -0
  142. package/lib/components/editors/CubeFunctionSourceEditor.js.map +1 -0
  143. package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
  144. package/lib/components/editors/CubeJoinEditor.js +16 -4
  145. package/lib/components/editors/CubeJoinEditor.js.map +1 -1
  146. package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
  147. package/lib/components/editors/CubeNodeEditorPanel.js +18 -8
  148. package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
  149. package/lib/components/editors/CubeNodeEditorPopper.d.ts +5 -1
  150. package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -1
  151. package/lib/components/editors/CubeNodeEditorPopper.js +10 -2
  152. package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -1
  153. package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
  154. package/lib/components/editors/CubeNodeEditorRegistry.js +9 -1
  155. package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
  156. package/lib/components/editors/CubePivotEditor.d.ts +26 -0
  157. package/lib/components/editors/CubePivotEditor.d.ts.map +1 -0
  158. package/lib/components/editors/CubePivotEditor.js +93 -0
  159. package/lib/components/editors/CubePivotEditor.js.map +1 -0
  160. package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -1
  161. package/lib/components/editors/CubeRestrictEditor.js +2 -2
  162. package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
  163. package/lib/components/editors/CubeServiceSourceEditor.d.ts +25 -0
  164. package/lib/components/editors/CubeServiceSourceEditor.d.ts.map +1 -0
  165. package/lib/components/editors/CubeServiceSourceEditor.js +41 -0
  166. package/lib/components/editors/CubeServiceSourceEditor.js.map +1 -0
  167. package/lib/components/grid/CubeColumnFormatDialog.d.ts +28 -0
  168. package/lib/components/grid/CubeColumnFormatDialog.d.ts.map +1 -0
  169. package/lib/components/grid/CubeColumnFormatDialog.js +94 -0
  170. package/lib/components/grid/CubeColumnFormatDialog.js.map +1 -0
  171. package/lib/components/grid/CubeDrilldownBar.d.ts +37 -0
  172. package/lib/components/grid/CubeDrilldownBar.d.ts.map +1 -0
  173. package/lib/components/grid/CubeDrilldownBar.js +77 -0
  174. package/lib/components/grid/CubeDrilldownBar.js.map +1 -0
  175. package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
  176. package/lib/components/grid/CubeGridRegion.js +40 -26
  177. package/lib/components/grid/CubeGridRegion.js.map +1 -1
  178. package/lib/components/grid/CubeGridValues.d.ts +31 -1
  179. package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
  180. package/lib/components/grid/CubeGridValues.js +108 -1
  181. package/lib/components/grid/CubeGridValues.js.map +1 -1
  182. package/lib/components/grid/CubeResultGrid.d.ts +68 -5
  183. package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
  184. package/lib/components/grid/CubeResultGrid.js +308 -35
  185. package/lib/components/grid/CubeResultGrid.js.map +1 -1
  186. package/lib/components/grid/CubeRunStatsPanel.d.ts +28 -0
  187. package/lib/components/grid/CubeRunStatsPanel.d.ts.map +1 -0
  188. package/lib/components/grid/CubeRunStatsPanel.js +61 -0
  189. package/lib/components/grid/CubeRunStatsPanel.js.map +1 -0
  190. package/lib/components/grid/CubeServerSideGrid.d.ts +36 -0
  191. package/lib/components/grid/CubeServerSideGrid.d.ts.map +1 -0
  192. package/lib/components/grid/CubeServerSideGrid.js +114 -0
  193. package/lib/components/grid/CubeServerSideGrid.js.map +1 -0
  194. package/lib/components/grid/CubeSqlDialog.d.ts +24 -0
  195. package/lib/components/grid/CubeSqlDialog.d.ts.map +1 -0
  196. package/lib/components/grid/CubeSqlDialog.js +39 -0
  197. package/lib/components/grid/CubeSqlDialog.js.map +1 -0
  198. package/lib/components/grid/CubeSqlFormat.d.ts +20 -0
  199. package/lib/components/grid/CubeSqlFormat.d.ts.map +1 -0
  200. package/lib/components/grid/CubeSqlFormat.js +32 -0
  201. package/lib/components/grid/CubeSqlFormat.js.map +1 -0
  202. package/lib/components/palette/CubePalette.d.ts.map +1 -1
  203. package/lib/components/palette/CubePalette.js +32 -13
  204. package/lib/components/palette/CubePalette.js.map +1 -1
  205. package/lib/components/show-pure/CubeShowPureDialog.d.ts +4 -1
  206. package/lib/components/show-pure/CubeShowPureDialog.d.ts.map +1 -1
  207. package/lib/components/show-pure/CubeShowPureDialog.js +8 -4
  208. package/lib/components/show-pure/CubeShowPureDialog.js.map +1 -1
  209. package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -1
  210. package/lib/components/source-picker/CubeDataProductTab.js +37 -16
  211. package/lib/components/source-picker/CubeDataProductTab.js.map +1 -1
  212. package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -1
  213. package/lib/components/source-picker/CubeDirectConnectionTab.js +6 -4
  214. package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -1
  215. package/lib/components/source-picker/CubeFunctionSteps.d.ts +36 -0
  216. package/lib/components/source-picker/CubeFunctionSteps.d.ts.map +1 -0
  217. package/lib/components/source-picker/CubeFunctionSteps.js +76 -0
  218. package/lib/components/source-picker/CubeFunctionSteps.js.map +1 -0
  219. package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -1
  220. package/lib/components/source-picker/CubeIngestTab.js +39 -16
  221. package/lib/components/source-picker/CubeIngestTab.js.map +1 -1
  222. package/lib/components/source-picker/CubeInlineModelTab.d.ts +3 -2
  223. package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -1
  224. package/lib/components/source-picker/CubeInlineModelTab.js +23 -13
  225. package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -1
  226. package/lib/components/source-picker/CubePickerListItem.d.ts +47 -0
  227. package/lib/components/source-picker/CubePickerListItem.d.ts.map +1 -0
  228. package/lib/components/source-picker/CubePickerListItem.js +62 -0
  229. package/lib/components/source-picker/CubePickerListItem.js.map +1 -0
  230. package/lib/components/source-picker/CubeProjectTab.d.ts +4 -3
  231. package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -1
  232. package/lib/components/source-picker/CubeProjectTab.js +7 -4
  233. package/lib/components/source-picker/CubeProjectTab.js.map +1 -1
  234. package/lib/components/source-picker/CubeServiceTab.d.ts +27 -0
  235. package/lib/components/source-picker/CubeServiceTab.d.ts.map +1 -0
  236. package/lib/components/source-picker/CubeServiceTab.js +36 -0
  237. package/lib/components/source-picker/CubeServiceTab.js.map +1 -0
  238. package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
  239. package/lib/components/source-picker/CubeSourcePicker.js +16 -3
  240. package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
  241. package/lib/components/source-picker/CubeTablePreview.d.ts +29 -0
  242. package/lib/components/source-picker/CubeTablePreview.d.ts.map +1 -0
  243. package/lib/components/source-picker/CubeTablePreview.js +10 -0
  244. package/lib/components/source-picker/CubeTablePreview.js.map +1 -0
  245. package/lib/components/spec-transfer/CubeImportPureDialog.d.ts +27 -0
  246. package/lib/components/spec-transfer/CubeImportPureDialog.d.ts.map +1 -0
  247. package/lib/components/spec-transfer/CubeImportPureDialog.js +38 -0
  248. package/lib/components/spec-transfer/CubeImportPureDialog.js.map +1 -0
  249. package/lib/components/spec-transfer/CubeSpecTransferDialog.d.ts.map +1 -1
  250. package/lib/components/spec-transfer/CubeSpecTransferDialog.js +9 -3
  251. package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
  252. package/lib/graph-manager/CubeDataProductCatalog.d.ts +10 -0
  253. package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -1
  254. package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -1
  255. package/lib/graph-manager/CubeEngine.d.ts +46 -1
  256. package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
  257. package/lib/graph-manager/CubeEngine.js.map +1 -1
  258. package/lib/graph-manager/CubeEngineClientSettings.d.ts +43 -0
  259. package/lib/graph-manager/CubeEngineClientSettings.d.ts.map +1 -0
  260. package/lib/graph-manager/CubeEngineClientSettings.js +51 -0
  261. package/lib/graph-manager/CubeEngineClientSettings.js.map +1 -0
  262. package/lib/graph-manager/CubeIngest.d.ts +5 -0
  263. package/lib/graph-manager/CubeIngest.d.ts.map +1 -1
  264. package/lib/graph-manager/CubeIngest.js +10 -0
  265. package/lib/graph-manager/CubeIngest.js.map +1 -1
  266. package/lib/graph-manager/CubeIngestCatalog.d.ts +26 -0
  267. package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -1
  268. package/lib/graph-manager/CubeIngestCatalog.js +6 -0
  269. package/lib/graph-manager/CubeIngestCatalog.js.map +1 -1
  270. package/lib/graph-manager/CubeLakehouseRuntime.d.ts +29 -0
  271. package/lib/graph-manager/CubeLakehouseRuntime.d.ts.map +1 -0
  272. package/lib/graph-manager/CubeLakehouseRuntime.js +40 -0
  273. package/lib/graph-manager/CubeLakehouseRuntime.js.map +1 -0
  274. package/lib/graph-manager/CubeProjectCatalog.d.ts +3 -3
  275. package/lib/graph-manager/CubeService.d.ts +20 -0
  276. package/lib/graph-manager/CubeService.d.ts.map +1 -0
  277. package/lib/graph-manager/CubeService.js +22 -0
  278. package/lib/graph-manager/CubeService.js.map +1 -0
  279. package/lib/graph-manager/CubeServiceCatalog.d.ts +31 -0
  280. package/lib/graph-manager/CubeServiceCatalog.d.ts.map +1 -0
  281. package/lib/graph-manager/CubeServiceCatalog.js +17 -0
  282. package/lib/graph-manager/CubeServiceCatalog.js.map +1 -0
  283. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +52 -5
  284. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
  285. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +63 -5
  286. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
  287. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +9 -6
  288. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -1
  289. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +12 -8
  290. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -1
  291. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts +30 -0
  292. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts.map +1 -0
  293. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js +229 -0
  294. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js.map +1 -0
  295. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -1
  296. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +18 -9
  297. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -1
  298. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +4 -9
  299. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -1
  300. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +2 -1
  301. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -1
  302. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts +34 -0
  303. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts.map +1 -0
  304. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js +332 -0
  305. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js.map +1 -0
  306. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
  307. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +49 -10
  308. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
  309. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts +1 -1
  310. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts.map +1 -1
  311. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +3 -1
  312. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
  313. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +2 -1
  314. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -1
  315. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +2 -1
  316. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -1
  317. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +18 -0
  318. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
  319. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +74 -6
  320. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
  321. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -1
  322. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +7 -4
  323. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -1
  324. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts +31 -0
  325. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts.map +1 -0
  326. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js +69 -0
  327. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js.map +1 -0
  328. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
  329. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +6 -2
  330. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
  331. package/lib/index.css +2 -2
  332. package/lib/index.css.map +1 -1
  333. package/lib/index.d.ts +12 -3
  334. package/lib/index.d.ts.map +1 -1
  335. package/lib/index.js +10 -1
  336. package/lib/index.js.map +1 -1
  337. package/lib/stores/CubeAddPlacement.d.ts +10 -3
  338. package/lib/stores/CubeAddPlacement.d.ts.map +1 -1
  339. package/lib/stores/CubeAddPlacement.js +16 -5
  340. package/lib/stores/CubeAddPlacement.js.map +1 -1
  341. package/lib/stores/CubeDevSettingsState.d.ts +47 -0
  342. package/lib/stores/CubeDevSettingsState.d.ts.map +1 -0
  343. package/lib/stores/CubeDevSettingsState.js +99 -0
  344. package/lib/stores/CubeDevSettingsState.js.map +1 -0
  345. package/lib/stores/CubeEditorState.d.ts +173 -43
  346. package/lib/stores/CubeEditorState.d.ts.map +1 -1
  347. package/lib/stores/CubeEditorState.js +498 -113
  348. package/lib/stores/CubeEditorState.js.map +1 -1
  349. package/lib/stores/CubeEngineChecks.d.ts +59 -0
  350. package/lib/stores/CubeEngineChecks.d.ts.map +1 -0
  351. package/lib/stores/CubeEngineChecks.js +100 -0
  352. package/lib/stores/CubeEngineChecks.js.map +1 -0
  353. package/lib/stores/CubeExamples.d.ts.map +1 -1
  354. package/lib/stores/CubeExamples.js +39 -2
  355. package/lib/stores/CubeExamples.js.map +1 -1
  356. package/lib/stores/CubeExamplesState.d.ts +1 -1
  357. package/lib/stores/CubeExamplesState.d.ts.map +1 -1
  358. package/lib/stores/CubeExamplesState.js +2 -2
  359. package/lib/stores/CubeExamplesState.js.map +1 -1
  360. package/lib/stores/CubeExecutionState.d.ts.map +1 -1
  361. package/lib/stores/CubeExecutionState.js +24 -33
  362. package/lib/stores/CubeExecutionState.js.map +1 -1
  363. package/lib/stores/CubeExportState.d.ts +41 -0
  364. package/lib/stores/CubeExportState.d.ts.map +1 -0
  365. package/lib/stores/CubeExportState.js +134 -0
  366. package/lib/stores/CubeExportState.js.map +1 -0
  367. package/lib/stores/CubeExpressionFilterCheck.d.ts +51 -0
  368. package/lib/stores/CubeExpressionFilterCheck.d.ts.map +1 -0
  369. package/lib/stores/CubeExpressionFilterCheck.js +134 -0
  370. package/lib/stores/CubeExpressionFilterCheck.js.map +1 -0
  371. package/lib/stores/CubeExtendTyping.d.ts +6 -14
  372. package/lib/stores/CubeExtendTyping.d.ts.map +1 -1
  373. package/lib/stores/CubeExtendTyping.js +6 -33
  374. package/lib/stores/CubeExtendTyping.js.map +1 -1
  375. package/lib/stores/CubeFunctionRecheck.d.ts +30 -0
  376. package/lib/stores/CubeFunctionRecheck.d.ts.map +1 -0
  377. package/lib/stores/CubeFunctionRecheck.js +67 -0
  378. package/lib/stores/CubeFunctionRecheck.js.map +1 -0
  379. package/lib/stores/CubeGridFetcher.d.ts +75 -0
  380. package/lib/stores/CubeGridFetcher.d.ts.map +1 -0
  381. package/lib/stores/CubeGridFetcher.js +197 -0
  382. package/lib/stores/CubeGridFetcher.js.map +1 -0
  383. package/lib/stores/CubeGridQuickActions.d.ts +18 -6
  384. package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
  385. package/lib/stores/CubeGridQuickActions.js +32 -12
  386. package/lib/stores/CubeGridQuickActions.js.map +1 -1
  387. package/lib/stores/CubeGridState.d.ts +136 -0
  388. package/lib/stores/CubeGridState.d.ts.map +1 -0
  389. package/lib/stores/CubeGridState.js +317 -0
  390. package/lib/stores/CubeGridState.js.map +1 -0
  391. package/lib/stores/CubeHost.d.ts +42 -0
  392. package/lib/stores/CubeHost.d.ts.map +1 -1
  393. package/lib/stores/CubeHost.js +4 -0
  394. package/lib/stores/CubeHost.js.map +1 -1
  395. package/lib/stores/CubeLambdaImportState.d.ts +118 -0
  396. package/lib/stores/CubeLambdaImportState.d.ts.map +1 -0
  397. package/lib/stores/CubeLambdaImportState.js +302 -0
  398. package/lib/stores/CubeLambdaImportState.js.map +1 -0
  399. package/lib/stores/CubeLambdaSources.d.ts +45 -0
  400. package/lib/stores/CubeLambdaSources.d.ts.map +1 -0
  401. package/lib/stores/CubeLambdaSources.js +261 -0
  402. package/lib/stores/CubeLambdaSources.js.map +1 -0
  403. package/lib/stores/CubeQueryRun.d.ts +59 -0
  404. package/lib/stores/CubeQueryRun.d.ts.map +1 -0
  405. package/lib/stores/CubeQueryRun.js +101 -0
  406. package/lib/stores/CubeQueryRun.js.map +1 -0
  407. package/lib/stores/CubeRunStatsState.d.ts +61 -0
  408. package/lib/stores/CubeRunStatsState.d.ts.map +1 -0
  409. package/lib/stores/CubeRunStatsState.js +54 -0
  410. package/lib/stores/CubeRunStatsState.js.map +1 -0
  411. package/lib/stores/CubeRunningStepLambda.d.ts +25 -0
  412. package/lib/stores/CubeRunningStepLambda.d.ts.map +1 -0
  413. package/lib/stores/CubeRunningStepLambda.js +45 -0
  414. package/lib/stores/CubeRunningStepLambda.js.map +1 -0
  415. package/lib/stores/CubeServiceRecheck.d.ts +29 -0
  416. package/lib/stores/CubeServiceRecheck.d.ts.map +1 -0
  417. package/lib/stores/CubeServiceRecheck.js +33 -0
  418. package/lib/stores/CubeServiceRecheck.js.map +1 -0
  419. package/lib/stores/CubeShowPureState.d.ts +14 -1
  420. package/lib/stores/CubeShowPureState.d.ts.map +1 -1
  421. package/lib/stores/CubeShowPureState.js +41 -11
  422. package/lib/stores/CubeShowPureState.js.map +1 -1
  423. package/lib/stores/CubeSourcePickerState.d.ts +20 -4
  424. package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
  425. package/lib/stores/CubeSourcePickerState.js +75 -14
  426. package/lib/stores/CubeSourcePickerState.js.map +1 -1
  427. package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
  428. package/lib/stores/LocalModelCatalog.js +3 -1
  429. package/lib/stores/LocalModelCatalog.js.map +1 -1
  430. package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +91 -0
  431. package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
  432. package/lib/stores/editors/CubeExpressionFilterDraft.js +254 -0
  433. package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
  434. package/lib/stores/editors/CubeFunctionDraft.d.ts +34 -0
  435. package/lib/stores/editors/CubeFunctionDraft.d.ts.map +1 -0
  436. package/lib/stores/editors/CubeFunctionDraft.js +69 -0
  437. package/lib/stores/editors/CubeFunctionDraft.js.map +1 -0
  438. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +4 -2
  439. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
  440. package/lib/stores/editors/CubeNodeDraftRegistry.js +20 -3
  441. package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
  442. package/lib/stores/editors/CubePivotDraft.d.ts +93 -0
  443. package/lib/stores/editors/CubePivotDraft.d.ts.map +1 -0
  444. package/lib/stores/editors/CubePivotDraft.js +267 -0
  445. package/lib/stores/editors/CubePivotDraft.js.map +1 -0
  446. package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts +26 -0
  447. package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
  448. package/lib/stores/fixtures/CubeSalesDuckDbModel.js +46 -0
  449. package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
  450. package/lib/stores/fixtures/CubeTradesModel.d.ts +4 -0
  451. package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -1
  452. package/lib/stores/fixtures/CubeTradesModel.js +31 -1
  453. package/lib/stores/fixtures/CubeTradesModel.js.map +1 -1
  454. package/lib/stores/source-picker/CubeDataProductTabState.d.ts +34 -5
  455. package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -1
  456. package/lib/stores/source-picker/CubeDataProductTabState.js +111 -26
  457. package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -1
  458. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +25 -2
  459. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -1
  460. package/lib/stores/source-picker/CubeDirectConnectionTabState.js +183 -31
  461. package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -1
  462. package/lib/stores/source-picker/CubeIngestTabState.d.ts +22 -9
  463. package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -1
  464. package/lib/stores/source-picker/CubeIngestTabState.js +84 -29
  465. package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -1
  466. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +100 -4
  467. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -1
  468. package/lib/stores/source-picker/CubeInlineModelTabState.js +415 -28
  469. package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -1
  470. package/lib/stores/source-picker/CubeProjectTabState.d.ts +18 -3
  471. package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -1
  472. package/lib/stores/source-picker/CubeProjectTabState.js +26 -1
  473. package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -1
  474. package/lib/stores/source-picker/CubeServiceTabState.d.ts +74 -0
  475. package/lib/stores/source-picker/CubeServiceTabState.d.ts.map +1 -0
  476. package/lib/stores/source-picker/CubeServiceTabState.js +216 -0
  477. package/lib/stores/source-picker/CubeServiceTabState.js.map +1 -0
  478. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +15 -3
  479. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -1
  480. package/lib/stores/source-picker/CubeSourcePickerTab.js +21 -0
  481. package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -1
  482. package/package.json +10 -9
  483. package/src/__lib__/LegendCubeCommand.ts +7 -0
  484. package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
  485. package/src/__lib__/LegendCubeHelpText.ts +23 -1
  486. package/src/__lib__/LegendCubeLabels.ts +170 -13
  487. package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
  488. package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
  489. package/src/__lib__/LegendCubeTesting.ts +7 -0
  490. package/src/__test-utils__/CubeEngineTestSupport.ts +2 -1
  491. package/src/__test-utils__/CubeExpressionTestUtils.ts +29 -2
  492. package/src/__test-utils__/CubeFunctionTestOutline.ts +78 -0
  493. package/src/__test-utils__/CubeLambdaCorpus.ts +137 -0
  494. package/src/__test-utils__/CubePageTestUtils.tsx +34 -0
  495. package/src/__test-utils__/CubeTestApplication.ts +25 -0
  496. package/src/__test-utils__/FakeCubeEngine.ts +27 -0
  497. package/src/__test-utils__/FakeCubeIngestCatalog.ts +18 -0
  498. package/src/__test-utils__/FakeCubeServiceCatalog.ts +57 -0
  499. package/src/components/CubeAddItems.tsx +13 -6
  500. package/src/components/CubeDialogTheme.ts +25 -0
  501. package/src/components/CubeEditor.tsx +155 -129
  502. package/src/components/CubeFileMenu.tsx +127 -0
  503. package/src/components/CubeLambdaImportBanner.tsx +97 -0
  504. package/src/components/CubeNodeIcon.tsx +7 -0
  505. package/src/components/CubeSchemaColumnsTable.tsx +7 -2
  506. package/src/components/canvas/CubeCanvas.tsx +52 -13
  507. package/src/components/canvas/CubeCanvasContextMenu.tsx +33 -2
  508. package/src/components/canvas/CubeCanvasElements.ts +76 -3
  509. package/src/components/canvas/CubeCanvasLayout.ts +1 -1
  510. package/src/components/canvas/CubeCanvasNode.tsx +30 -3
  511. package/src/components/dev-settings/CubeDevSettings.tsx +154 -0
  512. package/src/components/editors/CubeColumnChecklist.tsx +8 -2
  513. package/src/components/editors/CubeColumnPicker.tsx +6 -3
  514. package/src/components/editors/CubeConcatEditor.tsx +2 -2
  515. package/src/components/editors/CubeExpressionFilterEditor.tsx +193 -0
  516. package/src/components/editors/CubeExtendEditor.tsx +3 -3
  517. package/src/components/editors/CubeFilterEditor.tsx +13 -1
  518. package/src/components/editors/CubeFunctionSourceEditor.tsx +140 -0
  519. package/src/components/editors/CubeJoinEditor.tsx +23 -4
  520. package/src/components/editors/CubeNodeEditorPanel.tsx +22 -10
  521. package/src/components/editors/CubeNodeEditorPopper.tsx +9 -1
  522. package/src/components/editors/CubeNodeEditorRegistry.ts +12 -0
  523. package/src/components/editors/CubePivotEditor.tsx +277 -0
  524. package/src/components/editors/CubeRestrictEditor.tsx +8 -2
  525. package/src/components/editors/CubeServiceSourceEditor.tsx +77 -0
  526. package/src/components/grid/CubeColumnFormatDialog.tsx +289 -0
  527. package/src/components/grid/CubeDrilldownBar.tsx +219 -0
  528. package/src/components/grid/CubeGridRegion.tsx +170 -54
  529. package/src/components/grid/CubeGridValues.ts +146 -1
  530. package/src/components/grid/CubeResultGrid.tsx +443 -41
  531. package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
  532. package/src/components/grid/CubeServerSideGrid.tsx +200 -0
  533. package/src/components/grid/CubeSqlDialog.tsx +90 -0
  534. package/src/components/grid/CubeSqlFormat.ts +37 -0
  535. package/src/components/palette/CubePalette.tsx +45 -12
  536. package/src/components/show-pure/CubeShowPureDialog.tsx +19 -5
  537. package/src/components/source-picker/CubeDataProductTab.tsx +169 -75
  538. package/src/components/source-picker/CubeDirectConnectionTab.tsx +42 -30
  539. package/src/components/source-picker/CubeFunctionSteps.tsx +244 -0
  540. package/src/components/source-picker/CubeIngestTab.tsx +159 -79
  541. package/src/components/source-picker/CubeInlineModelTab.tsx +110 -81
  542. package/src/components/source-picker/CubePickerListItem.tsx +118 -0
  543. package/src/components/source-picker/CubeProjectTab.tsx +6 -3
  544. package/src/components/source-picker/CubeServiceTab.tsx +151 -0
  545. package/src/components/source-picker/CubeSourcePicker.tsx +54 -18
  546. package/src/components/source-picker/CubeTablePreview.tsx +49 -0
  547. package/src/components/spec-transfer/CubeImportPureDialog.tsx +122 -0
  548. package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +21 -8
  549. package/src/graph-manager/CubeDataProductCatalog.ts +11 -0
  550. package/src/graph-manager/CubeEngine.ts +51 -1
  551. package/src/graph-manager/CubeEngineClientSettings.ts +64 -0
  552. package/src/graph-manager/CubeIngest.ts +15 -0
  553. package/src/graph-manager/CubeIngestCatalog.ts +33 -0
  554. package/src/graph-manager/CubeLakehouseRuntime.ts +43 -0
  555. package/src/graph-manager/CubeProjectCatalog.ts +3 -3
  556. package/src/graph-manager/CubeService.ts +29 -0
  557. package/src/graph-manager/CubeServiceCatalog.ts +35 -0
  558. package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +115 -5
  559. package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +13 -7
  560. package/src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts +312 -0
  561. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +35 -9
  562. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +6 -15
  563. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.ts +471 -0
  564. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +70 -15
  565. package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +3 -1
  566. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +7 -1
  567. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +122 -7
  568. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +9 -4
  569. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.ts +92 -0
  570. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +6 -1
  571. package/src/index.ts +32 -2
  572. package/src/stores/CubeAddPlacement.ts +25 -5
  573. package/src/stores/CubeDevSettingsState.ts +117 -0
  574. package/src/stores/CubeEditorState.ts +687 -197
  575. package/src/stores/CubeEngineChecks.ts +240 -0
  576. package/src/stores/CubeExamples.ts +70 -1
  577. package/src/stores/CubeExamplesState.ts +4 -2
  578. package/src/stores/CubeExecutionState.ts +26 -57
  579. package/src/stores/CubeExportState.ts +196 -0
  580. package/src/stores/CubeExpressionFilterCheck.ts +218 -0
  581. package/src/stores/CubeExtendTyping.ts +6 -46
  582. package/src/stores/CubeFunctionRecheck.ts +97 -0
  583. package/src/stores/CubeGridFetcher.ts +302 -0
  584. package/src/stores/CubeGridQuickActions.ts +33 -11
  585. package/src/stores/CubeGridState.ts +450 -0
  586. package/src/stores/CubeHost.ts +48 -0
  587. package/src/stores/CubeLambdaImportState.ts +434 -0
  588. package/src/stores/CubeLambdaSources.ts +390 -0
  589. package/src/stores/CubeQueryRun.ts +169 -0
  590. package/src/stores/CubeRunStatsState.ts +91 -0
  591. package/src/stores/CubeRunningStepLambda.ts +62 -0
  592. package/src/stores/CubeServiceRecheck.ts +53 -0
  593. package/src/stores/CubeShowPureState.ts +51 -12
  594. package/src/stores/CubeSourcePickerState.ts +89 -13
  595. package/src/stores/LocalModelCatalog.ts +6 -1
  596. package/src/stores/editors/CubeExpressionFilterDraft.ts +385 -0
  597. package/src/stores/editors/CubeFunctionDraft.ts +92 -0
  598. package/src/stores/editors/CubeNodeDraftRegistry.ts +27 -2
  599. package/src/stores/editors/CubePivotDraft.ts +355 -0
  600. package/src/stores/fixtures/CubeSalesDuckDbModel.ts +54 -0
  601. package/src/stores/fixtures/CubeTradesModel.ts +36 -1
  602. package/src/stores/source-picker/CubeDataProductTabState.ts +162 -35
  603. package/src/stores/source-picker/CubeDirectConnectionTabState.ts +246 -47
  604. package/src/stores/source-picker/CubeIngestTabState.ts +112 -38
  605. package/src/stores/source-picker/CubeInlineModelTabState.ts +514 -34
  606. package/src/stores/source-picker/CubeProjectTabState.ts +35 -3
  607. package/src/stores/source-picker/CubeServiceTabState.ts +288 -0
  608. package/src/stores/source-picker/CubeSourcePickerTab.ts +31 -2
  609. package/tsconfig.json +50 -0
@@ -13,20 +13,39 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { getRelationalDisplayName, RELATIONAL_TABLE_SOURCE_DEFINITION, RelationalTableSource, } from '@finos/legend-cube';
16
+ import { FUNCTION_SOURCE_DEFINITION, FunctionSource, getRelationalDisplayName, parseValue, RELATIONAL_TABLE_SOURCE_DEFINITION, RelationalTableSource, resolveCubeType, getFunctionParameterValueError, Schema, } from '@finos/legend-cube';
17
17
  import { assertErrorThrown } from '@finos/legend-shared';
18
18
  import { action, computed, flow, flowResult, makeObservable, observable, } from 'mobx';
19
19
  import { CubeEngineError, CubeEngineErrorKind, CubeTableFlag, } from '../../graph-manager/CubeEngine.js';
20
20
  import { getRuntimesForDatabase } from '../../graph-manager/CubeModelOutlineHelper.js';
21
- import { loadCubeModelOutline } from '../CubeHost.js';
21
+ import { isCubeSampleDataOffered, loadCubeModelOutline } from '../CubeHost.js';
22
+ import { recheckCubeFunctionSources } from '../CubeFunctionRecheck.js';
23
+ import { CUBE_FUNCTION_MESSAGE } from '../../__lib__/LegendCubeFunctionLabels.js';
22
24
  import { createTextModel } from '../LocalModelCatalog.js';
23
- import { CubeSourcePickerTabKey, } from './CubeSourcePickerTab.js';
25
+ import { CubeSourcePickerTabKey, CUBE_TABLE_PREVIEW_DELAY_MS, generateCubeNodeIds, } from './CubeSourcePickerTab.js';
24
26
  const toMessage = (error) => {
25
27
  assertErrorThrown(error);
26
28
  return error instanceof CubeEngineError ? error.firstLine : error.message;
27
29
  };
28
30
  /** Whether a table can be picked: a table with a column Cube can't read can't */
29
31
  export const isTableSelectable = (table) => !table.flags.includes(CubeTableFlag.UNAVAILABLE);
32
+ /** What the tab adds from the model: a table, or a function that returns a relation (PLAN §6.5) */
33
+ export var CubeModelReadKind;
34
+ (function (CubeModelReadKind) {
35
+ CubeModelReadKind["TABLE"] = "table";
36
+ CubeModelReadKind["FUNCTION"] = "function";
37
+ })(CubeModelReadKind || (CubeModelReadKind = {}));
38
+ /**
39
+ * A parameter's value from its text: none for empty text, whatever the type,
40
+ * so an optional String left empty passes `[]`, not `''`
41
+ */
42
+ export const readCubeFunctionValue = (text, parameter) => (text === '' ? undefined : parseValue(text, parameter.type));
43
+ /** A function's parameters as Cube types: `[0..1]` ones optional */
44
+ export const getCubeFunctionParameters = (fn) => fn.parameters.map((parameter) => ({
45
+ name: parameter.name,
46
+ type: resolveCubeType(parameter.type),
47
+ optional: parameter.multiplicity === '[0..1]',
48
+ }));
30
49
  /**
31
50
  * The source picker's Model tab (PLAN §6.2.7, Settled before M1.8): model,
32
51
  * then database, then a runtime keyed by that database, then schema and
@@ -50,9 +69,31 @@ export class CubeInlineModelTabState {
50
69
  databasePath;
51
70
  runtimePath;
52
71
  schemaName;
53
- tableName;
72
+ /** The picked tables, in the order picked; several are added at once */
73
+ tableNames = [];
54
74
  tableSearch = '';
75
+ /** Whether the tab adds a table or a function */
76
+ readKind = CubeModelReadKind.TABLE;
77
+ functionSearch = '';
78
+ /** The picked function's full name */
79
+ functionSignature;
80
+ /** The text entered for each of its parameters */
81
+ functionValueTexts = [];
82
+ /** The runtime picked for a function that leaves it to its caller */
83
+ functionRuntimePath;
55
84
  isResolving = false;
85
+ /** The table whose columns the tab shows under the list: the one picked last */
86
+ previewTableName;
87
+ /**
88
+ * The columns of each table previewed, or why they couldn't be read, by
89
+ * database, schema and table; Add takes them, so it asks the engine only
90
+ * for the others (the review of the demo, 2026-10-13)
91
+ */
92
+ previewSchemas = new Map();
93
+ /** Counts the model, database or runtime changes, so a late preview is dropped */
94
+ previewGeneration = 0;
95
+ /** The preview waiting for the clicks to pause */
96
+ previewTimer;
56
97
  /** Why the outline or the table couldn't be loaded, shown in the dialog */
57
98
  error;
58
99
  /** Counts Add presses: closing the dialog moves it on, so the pending Add is dropped */
@@ -67,9 +108,31 @@ export class CubeInlineModelTabState {
67
108
  databasePath: observable,
68
109
  runtimePath: observable,
69
110
  schemaName: observable,
70
- tableName: observable,
111
+ tableNames: observable.ref,
112
+ tableName: computed,
71
113
  tableSearch: observable,
114
+ readKind: observable,
115
+ functionSearch: observable,
116
+ functionSignature: observable,
117
+ functionValueTexts: observable.ref,
118
+ functionRuntimePath: observable,
72
119
  isResolving: observable,
120
+ previewTableName: observable,
121
+ previewSchemas: observable.ref,
122
+ previewedColumns: computed,
123
+ loadPreview: flow,
124
+ functions: computed,
125
+ pickedFunction: computed,
126
+ functionParameters: computed,
127
+ functionValues: computed,
128
+ functionRuntime: computed,
129
+ functionRuntimes: computed,
130
+ functionProblem: computed,
131
+ setReadKind: action,
132
+ setFunctionSearch: action,
133
+ selectFunction: action,
134
+ setFunctionValueText: action,
135
+ selectFunctionRuntime: action,
73
136
  error: observable,
74
137
  fixedContext: computed,
75
138
  fixedDatabasePath: computed,
@@ -77,6 +140,7 @@ export class CubeInlineModelTabState {
77
140
  runtimes: computed,
78
141
  schemas: computed,
79
142
  tables: computed,
143
+ schemaTables: computed,
80
144
  canConfirm: computed,
81
145
  isBusy: computed,
82
146
  open: action,
@@ -85,12 +149,14 @@ export class CubeInlineModelTabState {
85
149
  selectRuntime: action,
86
150
  selectSchema: action,
87
151
  selectTable: action,
152
+ toggleTable: action,
88
153
  setTableSearch: action,
89
154
  startPastingModel: action,
90
155
  setPastedModelText: action,
91
156
  selectModel: flow,
92
157
  loadPastedModel: flow,
93
158
  confirm: flow,
159
+ confirmFunction: flow,
94
160
  });
95
161
  this.editorState = editorState;
96
162
  }
@@ -125,6 +191,16 @@ export class CubeInlineModelTabState {
125
191
  return (this.databases.find((database) => database.path === this.databasePath)
126
192
  ?.schemas ?? []);
127
193
  }
194
+ /** The schema's tables, views left out */
195
+ get schemaTables() {
196
+ return (this.schemas
197
+ .find((schema) => schema.name === this.schemaName)
198
+ ?.tables.filter((table) => !table.isView) ?? []);
199
+ }
200
+ /** The one picked table; none when several are */
201
+ get tableName() {
202
+ return this.tableNames.length === 1 ? this.tableNames[0] : undefined;
203
+ }
128
204
  /** The schema's tables, views left out, filtered by the search text */
129
205
  get tables() {
130
206
  const search = this.tableSearch.trim().toLowerCase();
@@ -132,9 +208,56 @@ export class CubeInlineModelTabState {
132
208
  []).filter((table) => !table.isView &&
133
209
  getRelationalDisplayName(table.name).toLowerCase().includes(search));
134
210
  }
135
- /** The host serves the tab: it always serves models */
211
+ /** The model's functions that return a relation, filtered by the search text */
212
+ get functions() {
213
+ const search = this.functionSearch.trim().toLowerCase();
214
+ return (this.outline?.functions ?? []).filter((fn) => fn.path.toLowerCase().includes(search));
215
+ }
216
+ get pickedFunction() {
217
+ return this.outline?.functions?.find((fn) => fn.signature === this.functionSignature);
218
+ }
219
+ get functionParameters() {
220
+ const fn = this.pickedFunction;
221
+ return fn ? getCubeFunctionParameters(fn) : [];
222
+ }
223
+ /** The value entered for each parameter */
224
+ get functionValues() {
225
+ return this.functionParameters.map((parameter, index) => readCubeFunctionValue(this.functionValueTexts[index] ?? '', parameter));
226
+ }
227
+ /**
228
+ * The runtimes a function that leaves the runtime to its caller can run
229
+ * on: the cube's, once it has one, else every runtime of the model
230
+ */
231
+ get functionRuntimes() {
232
+ const fixedRuntime = this.fixedContext?.runtime;
233
+ return (this.outline?.runtimes ?? []).filter((runtime) => fixedRuntime === undefined || runtime.path === fixedRuntime);
234
+ }
235
+ /**
236
+ * The runtime the picked function runs on: its own, when its body names
237
+ * one; else the one picked
238
+ */
239
+ get functionRuntime() {
240
+ return this.pickedFunction?.runtime ?? this.functionRuntimePath;
241
+ }
242
+ /** Why the picked function can't be added, if it can't */
243
+ get functionProblem() {
244
+ const fn = this.pickedFunction;
245
+ if (!fn) {
246
+ return undefined;
247
+ }
248
+ if (fn.problem !== undefined) {
249
+ return fn.problem;
250
+ }
251
+ const fixedRuntime = this.fixedContext?.runtime;
252
+ return fn.runtime !== undefined &&
253
+ fixedRuntime !== undefined &&
254
+ fn.runtime !== fixedRuntime
255
+ ? CUBE_FUNCTION_MESSAGE.OTHER_RUNTIME(fn.runtime, fixedRuntime)
256
+ : undefined;
257
+ }
258
+ /** The host serves the tab unless it offers no sample data */
136
259
  get isAvailable() {
137
- return true;
260
+ return isCubeSampleDataOffered(this.editorState.host);
138
261
  }
139
262
  get isBusy() {
140
263
  return this.isLoadingModel || this.isResolving;
@@ -144,13 +267,23 @@ export class CubeInlineModelTabState {
144
267
  return false;
145
268
  }
146
269
  get canConfirm() {
147
- const table = this.tables.find((candidate) => candidate.name === this.tableName);
270
+ if (this.readKind === CubeModelReadKind.FUNCTION) {
271
+ return (!this.isLoadingModel &&
272
+ !this.isResolving &&
273
+ this.model !== undefined &&
274
+ this.pickedFunction !== undefined &&
275
+ this.functionProblem === undefined &&
276
+ this.functionRuntime !== undefined &&
277
+ this.functionParameters.every((parameter, index) => getFunctionParameterValueError(parameter, this.functionValues[index]) === undefined));
278
+ }
279
+ // a picked table hidden by the search still counts
280
+ const tables = this.tableNames.map((name) => this.schemaTables.find((candidate) => candidate.name === name));
148
281
  return (!this.isLoadingModel &&
149
282
  !this.isResolving &&
150
283
  this.model !== undefined &&
151
284
  this.runtimePath !== undefined &&
152
- table !== undefined &&
153
- isTableSelectable(table));
285
+ tables.length > 0 &&
286
+ tables.every((table) => table !== undefined && isTableSelectable(table)));
154
287
  }
155
288
  /**
156
289
  * When the dialog opens on the tab: on the cube's model, else the pasted
@@ -176,11 +309,31 @@ export class CubeInlineModelTabState {
176
309
  const [onlyDatabase, ...otherDatabases] = this.databases;
177
310
  this.selectDatabase(onlyDatabase && !otherDatabases.length ? onlyDatabase.path : undefined);
178
311
  }
312
+ else {
313
+ this.followFixedRuntime();
314
+ }
315
+ }
316
+ /**
317
+ * Takes the cube's runtime once it has one, e.g. a function's (PLAN
318
+ * §6.5): its table and function steps can't pick another
319
+ */
320
+ followFixedRuntime() {
321
+ const fixedRuntime = this.fixedContext?.runtime;
322
+ if (fixedRuntime === undefined) {
323
+ return;
324
+ }
325
+ if (this.runtimes.some((runtime) => runtime.path === fixedRuntime)) {
326
+ this.runtimePath = fixedRuntime;
327
+ }
328
+ if (this.functionRuntimes.some((runtime) => runtime.path === fixedRuntime)) {
329
+ this.functionRuntimePath = fixedRuntime;
330
+ }
179
331
  }
180
332
  /** When the dialog closes: a table still being typed is not added */
181
333
  close() {
182
334
  this.confirmRequest++;
183
335
  this.isResolving = false;
336
+ this.cancelPreview();
184
337
  }
185
338
  /** Offers a text box for a Pure model in place of the bundled ones */
186
339
  startPastingModel() {
@@ -256,13 +409,128 @@ export class CubeInlineModelTabState {
256
409
  this.schemaName = name;
257
410
  this.resetFrom('table');
258
411
  }
412
+ /** Picks the table alone, in place of any picked, and previews its columns */
259
413
  selectTable(name) {
260
- this.tableName = name;
414
+ this.tableNames = name === undefined ? [] : [name];
415
+ this.error = undefined;
416
+ this.preview(name);
417
+ }
418
+ /** Adds the table to the picked ones, previewing it, or takes it out */
419
+ toggleTable(name) {
420
+ const adding = !this.tableNames.includes(name);
421
+ this.tableNames = adding
422
+ ? [...this.tableNames, name]
423
+ : this.tableNames.filter((each) => each !== name);
261
424
  this.error = undefined;
425
+ this.preview(adding ? name : this.tableNames.at(-1));
426
+ }
427
+ previewKey(table) {
428
+ return `${this.databasePath ?? ''}\u0000${this.schemaName ?? ''}\u0000${table}`;
429
+ }
430
+ /** The previewed table's columns, `undefined` while they load, or why they couldn't be read */
431
+ get previewedColumns() {
432
+ const name = this.previewTableName;
433
+ return name === undefined
434
+ ? undefined
435
+ : this.previewSchemas.get(this.previewKey(name));
436
+ }
437
+ /**
438
+ * Previews the table once the clicks pause, so picking several in a row
439
+ * asks the engine for the last only; Add, Close and another pick cancel it
440
+ */
441
+ preview(name) {
442
+ this.previewTableName = name;
443
+ this.cancelPreview();
444
+ if (name !== undefined) {
445
+ this.previewTimer = setTimeout(() => {
446
+ this.previewTimer = undefined;
447
+ flowResult(this.loadPreview(name)).catch(this.editorState.host.applicationStore.alertUnhandledError);
448
+ }, CUBE_TABLE_PREVIEW_DELAY_MS);
449
+ }
450
+ }
451
+ cancelPreview() {
452
+ if (this.previewTimer !== undefined) {
453
+ clearTimeout(this.previewTimer);
454
+ this.previewTimer = undefined;
455
+ }
456
+ }
457
+ /** Reads a table's columns from the engine, once a table and a model's database */
458
+ *loadPreview(name) {
459
+ const key = this.previewKey(name);
460
+ const model = this.model;
461
+ const database = this.databasePath;
462
+ const schemaName = this.schemaName;
463
+ if (this.previewSchemas.has(key) ||
464
+ !model ||
465
+ database === undefined ||
466
+ schemaName === undefined) {
467
+ return;
468
+ }
469
+ const generation = this.previewGeneration;
470
+ // an id of its own, as the engine stamps the table's accessor with it
471
+ const id = this.editorState.document.query.generateId(RelationalTableSource.TYPE);
472
+ let answer;
473
+ try {
474
+ const typed = (yield this.editorState.host.engine.resolveSchemas(model, new Map([[id, [database, schemaName, name]]])));
475
+ const schema = typed.get(id);
476
+ answer =
477
+ schema instanceof Schema
478
+ ? schema
479
+ : (schema?.message ?? 'The engine gave no schema for this table');
480
+ }
481
+ catch (error) {
482
+ answer = toMessage(error);
483
+ }
484
+ if (generation === this.previewGeneration) {
485
+ this.previewSchemas = new Map(this.previewSchemas).set(key, answer);
486
+ }
487
+ }
488
+ /** How many sources Add adds */
489
+ get pickedCount() {
490
+ return this.readKind === CubeModelReadKind.FUNCTION
491
+ ? 1
492
+ : this.tableNames.length;
262
493
  }
263
494
  setTableSearch(search) {
264
495
  this.tableSearch = search;
265
496
  }
497
+ /**
498
+ * What the tab reads: a model's tables or functions; a project's tables
499
+ * and functions each have a tab of their own (user, 2026-10-13)
500
+ */
501
+ get readKinds() {
502
+ return [CubeModelReadKind.TABLE, CubeModelReadKind.FUNCTION];
503
+ }
504
+ /** Reads tables or functions, when the tab reads that kind */
505
+ setReadKind(kind) {
506
+ if (this.readKinds.includes(kind)) {
507
+ this.readKind = kind;
508
+ this.error = undefined;
509
+ }
510
+ }
511
+ setFunctionSearch(search) {
512
+ this.functionSearch = search;
513
+ }
514
+ /** Picks a function; its parameters start empty, and its runtime is the only one there is */
515
+ selectFunction(signature) {
516
+ if (signature === this.functionSignature) {
517
+ return;
518
+ }
519
+ this.functionSignature = signature;
520
+ this.functionValueTexts = [];
521
+ this.error = undefined;
522
+ const [onlyRuntime, ...otherRuntimes] = this.functionRuntimes;
523
+ this.functionRuntimePath =
524
+ onlyRuntime && !otherRuntimes.length ? onlyRuntime.path : undefined;
525
+ }
526
+ setFunctionValueText(index, text) {
527
+ const texts = [...this.functionValueTexts];
528
+ texts[index] = text;
529
+ this.functionValueTexts = texts;
530
+ }
531
+ selectFunctionRuntime(path) {
532
+ this.functionRuntimePath = path;
533
+ }
266
534
  /**
267
535
  * Types the picked table with the engine, then adds it; the first table
268
536
  * also sets the cube's model and runtime, in the same undo step. The cube
@@ -274,40 +542,149 @@ export class CubeInlineModelTabState {
274
542
  if (!this.canConfirm) {
275
543
  return false;
276
544
  }
545
+ if (this.readKind === CubeModelReadKind.FUNCTION) {
546
+ return (yield flowResult(this.confirmFunction()));
547
+ }
277
548
  const { editorState } = this;
278
549
  const model = this.model;
279
550
  const runtime = this.runtimePath;
280
- const coordinates = {
281
- database: this.databasePath,
282
- schema: this.schemaName,
283
- table: this.tableName,
284
- };
551
+ const database = this.databasePath;
552
+ const schemaName = this.schemaName;
553
+ const names = [...this.tableNames];
285
554
  const contextBefore = editorState.document.context;
286
- // the engine stamps the table's accessor with its node id, so the id comes first
287
- const id = editorState.document.query.generateId(RelationalTableSource.TYPE);
555
+ // the engine stamps each table's accessor with its node id, so the ids come first
556
+ const ids = generateCubeNodeIds(editorState.document.query, RelationalTableSource.TYPE, names.length);
557
+ this.cancelPreview();
288
558
  const request = ++this.confirmRequest;
289
559
  this.isResolving = true;
290
560
  this.error = undefined;
291
561
  try {
292
- const typed = (yield editorState.host.engine.resolveSchemas(model, new Map([
293
- [id, [coordinates.database, coordinates.schema, coordinates.table]],
294
- ])));
562
+ // a table previewed has its columns already: the engine types the others
563
+ const previewed = new Map();
564
+ names.forEach((table, index) => {
565
+ const schema = this.previewSchemas.get(this.previewKey(table));
566
+ if (schema instanceof Schema) {
567
+ previewed.set(ids[index], schema);
568
+ }
569
+ });
570
+ const toType = names
571
+ .map((table, index) => [ids[index], table])
572
+ .filter(([id]) => !previewed.has(id));
573
+ const typed = new Map(previewed);
574
+ if (toType.length) {
575
+ const answer = (yield editorState.host.engine.resolveSchemas(model, new Map(toType.map(([id, table]) => [id, [database, schemaName, table]]))));
576
+ answer.forEach((schema, id) => typed.set(id, schema));
577
+ }
578
+ if (request !== this.confirmRequest) {
579
+ return false;
580
+ }
581
+ const { document } = editorState;
582
+ if (document.context !== contextBefore) {
583
+ throw new Error(`The cube changed while the table was loading; pick the table again.`);
584
+ }
585
+ // each table typed is added, in the order picked; the first one picked
586
+ // is the one that runs on an empty cube, as a single table would be
587
+ let query = document.query;
588
+ const added = [];
589
+ const failed = [];
590
+ // with several tables, each failure names its table
591
+ const named = (table, message) => names.length > 1
592
+ ? `${getRelationalDisplayName(table)}: ${message}`
593
+ : message;
594
+ names.forEach((table, index) => {
595
+ const id = ids[index];
596
+ const schema = typed.get(id);
597
+ if (schema === undefined || schema instanceof CubeEngineError) {
598
+ failed.push(named(table, schema?.message ?? 'The engine gave no schema for this table'));
599
+ return;
600
+ }
601
+ const node = RELATIONAL_TABLE_SOURCE_DEFINITION.resolve(RELATIONAL_TABLE_SOURCE_DEFINITION.fromCoordinates(id, {
602
+ database,
603
+ schema: schemaName,
604
+ table,
605
+ }), { kind: 'resolved', schema });
606
+ if (!query.canAdd(node)) {
607
+ failed.push(named(table, 'The cube changed while the table was loading; pick the table again.'));
608
+ return;
609
+ }
610
+ query = query.add(node);
611
+ added.push(table);
612
+ });
613
+ if (added.length) {
614
+ // the first table sets the model and runtime; a cube saved with a model
615
+ // but no runtime takes the picked runtime and keeps the rest
616
+ editorState.applyDocument(document.context?.runtime !== undefined
617
+ ? document.withQuery(query)
618
+ : document
619
+ .withContext({
620
+ ...document.context,
621
+ model: document.context?.model ?? model,
622
+ runtime,
623
+ })
624
+ .withQuery(query));
625
+ }
626
+ if (failed.length) {
627
+ // the tables added aren't picked any more, so Add again adds only the others
628
+ this.tableNames = names.filter((table) => !added.includes(table));
629
+ this.error = failed.join('\n');
630
+ return false;
631
+ }
632
+ this.resetFrom('table');
633
+ return true;
634
+ }
635
+ catch (error) {
636
+ if (request === this.confirmRequest) {
637
+ this.error = toMessage(error);
638
+ }
639
+ return false;
640
+ }
641
+ finally {
642
+ if (request === this.confirmRequest) {
643
+ this.isResolving = false;
644
+ }
645
+ }
646
+ }
647
+ /**
648
+ * Types the picked function's call with the engine, then adds it with its
649
+ * values; the first source also sets the cube's model and runtime, in the
650
+ * same undo step: the function's own runtime when its body names one
651
+ * (PLAN §6.5). Gives whether the function was added.
652
+ */
653
+ *confirmFunction() {
654
+ const { editorState } = this;
655
+ const model = this.model;
656
+ const fn = this.pickedFunction;
657
+ const runtime = this.functionRuntime;
658
+ const contextBefore = editorState.document.context;
659
+ const id = editorState.document.query.generateId(FunctionSource.TYPE);
660
+ const unresolved = FUNCTION_SOURCE_DEFINITION.fromCoordinates(id, {
661
+ function: fn.path,
662
+ signature: fn.signature,
663
+ parameters: this.functionParameters,
664
+ values: this.functionValues,
665
+ });
666
+ const request = ++this.confirmRequest;
667
+ this.isResolving = true;
668
+ this.error = undefined;
669
+ try {
670
+ const typed = (yield recheckCubeFunctionSources(editorState.host.engine, model, [unresolved]));
295
671
  if (request !== this.confirmRequest) {
296
672
  return false;
297
673
  }
298
674
  const schema = typed.get(id);
299
675
  if (schema === undefined || schema instanceof CubeEngineError) {
300
676
  throw (schema ??
301
- new CubeEngineError(CubeEngineErrorKind.COMPILE, `The engine gave no schema for this table`));
677
+ new CubeEngineError(CubeEngineErrorKind.COMPILE, CUBE_FUNCTION_MESSAGE.NO_ANSWER));
302
678
  }
303
- const node = RELATIONAL_TABLE_SOURCE_DEFINITION.resolve(RELATIONAL_TABLE_SOURCE_DEFINITION.fromCoordinates(id, coordinates), { kind: 'resolved', schema });
679
+ const node = FUNCTION_SOURCE_DEFINITION.resolve(unresolved, {
680
+ kind: 'resolved',
681
+ schema,
682
+ });
304
683
  const { document } = editorState;
305
684
  if (document.context !== contextBefore || !document.query.canAdd(node)) {
306
- throw new Error(`The cube changed while the table was loading; pick the table again.`);
685
+ throw new Error(CUBE_FUNCTION_MESSAGE.CUBE_CHANGED);
307
686
  }
308
687
  const query = document.query.add(node);
309
- // the first table sets the model and runtime; a cube saved with a model
310
- // but no runtime takes the picked runtime and keeps the rest
311
688
  editorState.applyDocument(document.context?.runtime !== undefined
312
689
  ? document.withQuery(query)
313
690
  : document
@@ -317,7 +694,8 @@ export class CubeInlineModelTabState {
317
694
  runtime,
318
695
  })
319
696
  .withQuery(query));
320
- this.resetFrom('table');
697
+ this.functionSignature = undefined;
698
+ this.functionValueTexts = [];
321
699
  return true;
322
700
  }
323
701
  catch (error) {
@@ -335,13 +713,22 @@ export class CubeInlineModelTabState {
335
713
  resetFrom(step) {
336
714
  if (step === 'database') {
337
715
  this.databasePath = undefined;
716
+ this.functionSignature = undefined;
717
+ this.functionValueTexts = [];
718
+ this.functionRuntimePath = undefined;
719
+ this.functionSearch = '';
338
720
  }
339
721
  if (step === 'database' || step === 'runtime') {
340
722
  this.runtimePath = undefined;
341
723
  this.schemaName = undefined;
724
+ // another model or database: its previews go, and late ones are dropped
725
+ this.previewGeneration++;
726
+ this.previewSchemas = new Map();
342
727
  }
343
- this.tableName = undefined;
728
+ this.tableNames = [];
344
729
  this.tableSearch = '';
730
+ this.previewTableName = undefined;
731
+ this.cancelPreview();
345
732
  }
346
733
  }
347
734
  //# sourceMappingURL=CubeInlineModelTabState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeInlineModelTabState.js","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeInlineModelTabState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeInlineModelTabState.js","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeInlineModelTabState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,0BAA0B,EAE1B,cAAc,EACd,wBAAwB,EAExB,UAAU,EACV,kCAAkC,EAClC,qBAAqB,EACrB,eAAe,EACf,8BAA8B,EAC9B,MAAM,GACP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,cAAc,EACd,UAAU,GACX,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,aAAa,GAOd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAqB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAEL,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE;IAC3C,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,KAAK,YAAY,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;AAC5E,CAAC,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAW,EAAE,CACpE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAEnD,mGAAmG;AACnG,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,0CAAqB,CAAA;AACvB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAY,EACZ,SAA4B,EACd,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAEhF,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,EAAuB,EACF,EAAE,CACvB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;IACrC,QAAQ,EAAE,SAAS,CAAC,YAAY,KAAK,QAAQ;CAC9C,CAAC,CAAC,CAAC;AAEN;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IACzB,GAAG,GAA2B,sBAAsB,CAAC,KAAK,CAAC;IAC3D,KAAK,GAAW,aAAa,CAAC;IAC9B,WAAW,CAAkB;IAEtC,KAAK,CAA2B;IAChC,gEAAgE;IAChE,cAAc,GAAG,KAAK,CAAC;IACvB,eAAe,GAAG,EAAE,CAAC;IACrB,uEAAuE;IAC/D,WAAW,CAA2B;IAC9C,OAAO,CAA+B;IACtC,cAAc,GAAG,KAAK,CAAC;IACvB,YAAY,CAAqB;IACjC,WAAW,CAAqB;IAChC,UAAU,CAAqB;IAC/B,wEAAwE;IACxE,UAAU,GAAsB,EAAE,CAAC;IACnC,WAAW,GAAG,EAAE,CAAC;IACjB,iDAAiD;IACjD,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC;IACnC,cAAc,GAAG,EAAE,CAAC;IACpB,sCAAsC;IACtC,iBAAiB,CAAqB;IACtC,kDAAkD;IAClD,kBAAkB,GAAa,EAAE,CAAC;IAClC,qEAAqE;IACrE,mBAAmB,CAAqB;IACxC,WAAW,GAAG,KAAK,CAAC;IACpB,gFAAgF;IAChF,gBAAgB,CAAqB;IACrC;;;;OAIG;IACH,cAAc,GAAyC,IAAI,GAAG,EAAE,CAAC;IACjE,kFAAkF;IAC1E,iBAAiB,GAAG,CAAC,CAAC;IAC9B,kDAAkD;IAC1C,YAAY,CAA4C;IAChE,2EAA2E;IAC3E,KAAK,CAAqB;IAC1B,wFAAwF;IAChF,cAAc,GAAG,CAAC,CAAC;IAE3B,YAAY,WAA4B;QACtC,cAAc,CAAC,IAAI,EAAE;YACnB,KAAK,EAAE,UAAU,CAAC,GAAG;YACrB,cAAc,EAAE,UAAU;YAC1B,eAAe,EAAE,UAAU;YAC3B,OAAO,EAAE,UAAU,CAAC,GAAG;YACvB,cAAc,EAAE,UAAU;YAC1B,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,UAAU,CAAC,GAAG;YAC1B,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,UAAU;YACpB,cAAc,EAAE,UAAU;YAC1B,iBAAiB,EAAE,UAAU;YAC7B,kBAAkB,EAAE,UAAU,CAAC,GAAG;YAClC,mBAAmB,EAAE,UAAU;YAC/B,WAAW,EAAE,UAAU;YACvB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,UAAU,CAAC,GAAG;YAC9B,gBAAgB,EAAE,QAAQ;YAC1B,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,QAAQ;YACnB,cAAc,EAAE,QAAQ;YACxB,kBAAkB,EAAE,QAAQ;YAC5B,cAAc,EAAE,QAAQ;YACxB,eAAe,EAAE,QAAQ;YACzB,gBAAgB,EAAE,QAAQ;YAC1B,eAAe,EAAE,QAAQ;YACzB,WAAW,EAAE,MAAM;YACnB,iBAAiB,EAAE,MAAM;YACzB,cAAc,EAAE,MAAM;YACtB,oBAAoB,EAAE,MAAM;YAC5B,qBAAqB,EAAE,MAAM;YAC7B,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE,QAAQ;YACtB,iBAAiB,EAAE,QAAQ;YAC3B,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,QAAQ;YACtB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,cAAc,EAAE,MAAM;YACtB,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,MAAM;YACpB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,MAAM;YACnB,cAAc,EAAE,MAAM;YACtB,iBAAiB,EAAE,MAAM;YACzB,kBAAkB,EAAE,MAAM;YAC1B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnD,CAAC;IAED,2DAA2D;IAC3D,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,yEAAyE;IACzE,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAC/C,CAAC,IAAI,EAAiC,EAAE,CACtC,IAAI,YAAY,qBAAqB,CACxC,EAAE,QAAQ,CAAC;IACd,CAAC;IAED,IAAI,SAAS;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAChD,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,IAAI,CAAC,iBAAiB,KAAK,SAAS;YACnC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,iBAAiB,CAAC;YAC3C,CAAC,YAAY,KAAK,SAAS;gBACzB,CAAC,IAAI,CAAC,OAAO;oBACX,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CACtD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAC3C,CAAC,CAAC,CACV,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAChD,OAAO,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACnE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC;YACpE,EAAE,OAAO,IAAI,EAAE,CAClB,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,YAAY;QACd,OAAO,CACL,IAAI,CAAC,OAAO;aACT,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC;YAClD,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAClD,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IAED,uEAAuE;IACvE,IAAI,MAAM;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM;YACtE,EAAE,CACH,CAAC,MAAM,CACN,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,MAAM;YACb,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtE,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,IAAI,SAAS;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACnD,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAClC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,iBAAiB,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC/B,OAAO,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IAED,2CAA2C;IAC3C,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CACtD,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CACvE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,gBAAgB;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,CACzE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,IAAI,CAAC,mBAAmB,CAAC;IAClE,CAAC;IAED,0DAA0D;IAC1D,IAAI,eAAe;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC/B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC,OAAO,CAAC;QACpB,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAChD,OAAO,EAAE,CAAC,OAAO,KAAK,SAAS;YAC7B,YAAY,KAAK,SAAS;YAC1B,EAAE,CAAC,OAAO,KAAK,YAAY;YAC3B,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;YAC/D,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,8DAA8D;IAC9D,IAAI,WAAW;QACb,OAAO,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC;IACjD,CAAC;IAED,iFAAiF;IACjF,WAAW,CAAC,OAAoB;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACjD,OAAO,CACL,CAAC,IAAI,CAAC,cAAc;gBACpB,CAAC,IAAI,CAAC,WAAW;gBACjB,IAAI,CAAC,KAAK,KAAK,SAAS;gBACxB,IAAI,CAAC,cAAc,KAAK,SAAS;gBACjC,IAAI,CAAC,eAAe,KAAK,SAAS;gBAClC,IAAI,CAAC,eAAe,KAAK,SAAS;gBAClC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAC3B,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CACnB,8BAA8B,CAC5B,SAAS,EACT,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAC3B,KAAK,SAAS,CAClB,CACF,CAAC;QACJ,CAAC;QACD,mDAAmD;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAC/D,CAAC;QACF,OAAO,CACL,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,WAAW;YACjB,IAAI,CAAC,KAAK,KAAK,SAAS;YACxB,IAAI,CAAC,WAAW,KAAK,SAAS;YAC9B,MAAM,CAAC,MAAM,GAAG,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACzE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,MAAM,KAAK,GACT,IAAI,CAAC,YAAY,EAAE,KAAK;YACxB,CAAC,IAAI,CAAC,cAAc;gBAClB,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,CACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACf,EAAE,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAC3D,CAAC;QACJ,CAAC;aAAM,IACL,IAAI,CAAC,YAAY,KAAK,SAAS;YAC/B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,EACvE,CAAC;YACD,qDAAqD;YACrD,MAAM,CAAC,YAAY,EAAE,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACzD,IAAI,CAAC,cAAc,CACjB,YAAY,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CACvE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,kBAAkB;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAChD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;QAClC,CAAC;QACD,IACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,EACtE,CAAC;YACD,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,KAAK;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,sEAAsE;IACtE,iBAAiB;QACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,CAAC,eAAe;QACd,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,CAAC,WAAW,CAAC,KAAmB;QAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,MAAM,oBAAoB,CACzC,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,KAAK,CACN,CAAqB,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,MAAM,CAAC,YAAY,EAAE,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACzD,IAAI,YAAY,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC3C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,IAAwB;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtD,IAAI,WAAW,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACnD,IAAI,UAAU,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAwB;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,IAAwB;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,8EAA8E;IAC9E,WAAW,CAAC,IAAwB;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,wEAAwE;IACxE,WAAW,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAM;YACtB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,SAAS,IAAI,CAAC,UAAU,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC;IAClF,CAAC;IAED,+FAA+F;IAC/F,IAAI,gBAAgB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnC,OAAO,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACK,OAAO,CAAC,IAAwB;QACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAC3D,CAAC;YACJ,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,CAAC,WAAW,CAAC,IAAY;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IACE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5B,CAAC,KAAK;YACN,QAAQ,KAAK,SAAS;YACtB,UAAU,KAAK,SAAS,EACxB,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1C,sEAAsE;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CACnD,qBAAqB,CAAC,IAAI,CAC3B,CAAC;QACF,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAC9D,KAAK,EACL,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAC9C,CAEA,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM;gBACJ,MAAM,YAAY,MAAM;oBACtB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,IAAI,0CAA0C,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ;YACjD,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,8DAA8D;IAC9D,WAAW,CAAC,IAAuB;QACjC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,6FAA6F;IAC7F,cAAc,CAAC,SAA6B;QAC1C,IAAI,SAAS,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,MAAM,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9D,IAAI,CAAC,mBAAmB;YACtB,WAAW,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,oBAAoB,CAAC,KAAa,EAAE,IAAY;QAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3C,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,qBAAqB,CAAC,IAAwB;QAC5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,CAAC,OAAO;QACN,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACjD,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAY,CAAC;QAC/D,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAqB,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAqB,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAsB,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAoB,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnD,kFAAkF;QAClF,MAAM,GAAG,GAAG,mBAAmB,CAC7B,WAAW,CAAC,QAAQ,CAAC,KAAK,EAC1B,qBAAqB,CAAC,IAAI,EAC1B,KAAK,CAAC,MAAM,CACb,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC;YACH,yEAAyE;YACzE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/D,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;oBAC7B,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAW,EAAE,MAAM,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,KAAK;iBACjB,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAW,EAAE,KAAK,CAAU,CAAC;iBAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAmC,SAAS,CAAC,CAAC;YACnE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAC1D,KAAK,EACL,IAAI,GAAG,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CACjE,CACF,CAEA,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;YACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;YACJ,CAAC;YACD,uEAAuE;YACvE,oEAAoE;YACpE,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,oDAAoD;YACpD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,OAAe,EAAU,EAAE,CACvD,KAAK,CAAC,MAAM,GAAG,CAAC;gBACd,CAAC,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE;gBAClD,CAAC,CAAC,OAAO,CAAC;YACd,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAW,CAAC;gBAChC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,YAAY,eAAe,EAAE,CAAC;oBAC9D,MAAM,CAAC,IAAI,CACT,KAAK,CACH,KAAK,EACL,MAAM,EAAE,OAAO,IAAI,0CAA0C,CAC9D,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,kCAAkC,CAAC,OAAO,CACrD,kCAAkC,CAAC,eAAe,CAAC,EAAE,EAAE;oBACrD,QAAQ;oBACR,MAAM,EAAE,UAAU;oBAClB,KAAK;iBACN,CAAC,EACF,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAC7B,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CACT,KAAK,CACH,KAAK,EACL,qEAAqE,CACtE,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,wEAAwE;gBACxE,6DAA6D;gBAC7D,WAAW,CAAC,aAAa,CACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS;oBACrC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;oBAC3B,CAAC,CAAC,QAAQ;yBACL,WAAW,CAAC;wBACX,GAAG,QAAQ,CAAC,OAAO;wBACnB,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,IAAI,KAAK;wBACvC,OAAO;qBACR,CAAC;yBACD,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,6EAA6E;gBAC7E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,CAAC,eAAe;QACd,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAqB,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAqC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAyB,CAAC;QAC/C,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnD,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,0BAA0B,CAAC,eAAe,CAAC,EAAE,EAAE;YAChE,QAAQ,EAAE,EAAE,CAAC,IAAI;YACjB,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,UAAU,EAAE,IAAI,CAAC,kBAAkB;YACnC,MAAM,EAAE,IAAI,CAAC,cAAc;SAC5B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,MAAM,0BAA0B,CAC7C,WAAW,CAAC,IAAI,CAAC,MAAM,EACvB,KAAK,EACL,CAAC,UAAU,CAAC,CACb,CAA2D,CAAC;YAC7D,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,YAAY,eAAe,EAAE,CAAC;gBAC9D,MAAM,CACJ,MAAM;oBACN,IAAI,eAAe,CACjB,mBAAmB,CAAC,OAAO,EAC3B,qBAAqB,CAAC,SAAS,CAChC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC1D,IAAI,EAAE,UAAU;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;YACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,WAAW,CAAC,aAAa,CACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS;gBACrC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,QAAQ;qBACL,WAAW,CAAC;oBACX,GAAG,QAAQ,CAAC,OAAO;oBACnB,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,IAAI,KAAK;oBACvC,OAAO;iBACR,CAAC;qBACD,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAES,SAAS,CAAC,IAAsC;QACxD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,wEAAwE;YACxE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;CACF"}