keboola-cli 0.63.4__py3-none-any.whl

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 (306) hide show
  1. keboola_agent_cli/__init__.py +34 -0
  2. keboola_agent_cli/__main__.py +5 -0
  3. keboola_agent_cli/_ui_dist/assets/arc-DhFYIddx.js +2 -0
  4. keboola_agent_cli/_ui_dist/assets/arc-DhFYIddx.js.map +1 -0
  5. keboola_agent_cli/_ui_dist/assets/architecture-7EHR7CIX-hNCijx_H.js +1 -0
  6. keboola_agent_cli/_ui_dist/assets/architectureDiagram-3BPJPVTR-C6hUlprM.js +37 -0
  7. keboola_agent_cli/_ui_dist/assets/architectureDiagram-3BPJPVTR-C6hUlprM.js.map +1 -0
  8. keboola_agent_cli/_ui_dist/assets/array-BifhSqXX.js +2 -0
  9. keboola_agent_cli/_ui_dist/assets/array-BifhSqXX.js.map +1 -0
  10. keboola_agent_cli/_ui_dist/assets/blockDiagram-GPEHLZMM-DC7qY9i4.js +133 -0
  11. keboola_agent_cli/_ui_dist/assets/blockDiagram-GPEHLZMM-DC7qY9i4.js.map +1 -0
  12. keboola_agent_cli/_ui_dist/assets/c4Diagram-AAUBKEIU-5Lh44evt.js +11 -0
  13. keboola_agent_cli/_ui_dist/assets/c4Diagram-AAUBKEIU-5Lh44evt.js.map +1 -0
  14. keboola_agent_cli/_ui_dist/assets/channel-DBMrXlxx.js +2 -0
  15. keboola_agent_cli/_ui_dist/assets/channel-DBMrXlxx.js.map +1 -0
  16. keboola_agent_cli/_ui_dist/assets/chunk-2J33WTMH-Coy82EBh.js +2 -0
  17. keboola_agent_cli/_ui_dist/assets/chunk-2J33WTMH-Coy82EBh.js.map +1 -0
  18. keboola_agent_cli/_ui_dist/assets/chunk-3OPIFGDE-BQC5CRHI.js +63 -0
  19. keboola_agent_cli/_ui_dist/assets/chunk-3OPIFGDE-BQC5CRHI.js.map +1 -0
  20. keboola_agent_cli/_ui_dist/assets/chunk-4BX2VUAB-DUuEt70o.js +2 -0
  21. keboola_agent_cli/_ui_dist/assets/chunk-4BX2VUAB-DUuEt70o.js.map +1 -0
  22. keboola_agent_cli/_ui_dist/assets/chunk-55IACEB6-BvR-6chF.js +2 -0
  23. keboola_agent_cli/_ui_dist/assets/chunk-55IACEB6-BvR-6chF.js.map +1 -0
  24. keboola_agent_cli/_ui_dist/assets/chunk-5ZQYHXKU-BjcTN7ul.js +3 -0
  25. keboola_agent_cli/_ui_dist/assets/chunk-5ZQYHXKU-BjcTN7ul.js.map +1 -0
  26. keboola_agent_cli/_ui_dist/assets/chunk-727SXJPM-C0zxqqRN.js +207 -0
  27. keboola_agent_cli/_ui_dist/assets/chunk-727SXJPM-C0zxqqRN.js.map +1 -0
  28. keboola_agent_cli/_ui_dist/assets/chunk-AQP2D5EJ-CXf7rIlZ.js +232 -0
  29. keboola_agent_cli/_ui_dist/assets/chunk-AQP2D5EJ-CXf7rIlZ.js.map +1 -0
  30. keboola_agent_cli/_ui_dist/assets/chunk-BSJP7CBP-Oj_FO9Q7.js +2 -0
  31. keboola_agent_cli/_ui_dist/assets/chunk-BSJP7CBP-Oj_FO9Q7.js.map +1 -0
  32. keboola_agent_cli/_ui_dist/assets/chunk-CSCIHK7Q-CcTsLrFc.js +124 -0
  33. keboola_agent_cli/_ui_dist/assets/chunk-CSCIHK7Q-CcTsLrFc.js.map +1 -0
  34. keboola_agent_cli/_ui_dist/assets/chunk-FMBD7UC4-FH-zLkkW.js +16 -0
  35. keboola_agent_cli/_ui_dist/assets/chunk-FMBD7UC4-FH-zLkkW.js.map +1 -0
  36. keboola_agent_cli/_ui_dist/assets/chunk-L5ZTLDWV-B1Ky_e7O.js +2 -0
  37. keboola_agent_cli/_ui_dist/assets/chunk-L5ZTLDWV-B1Ky_e7O.js.map +1 -0
  38. keboola_agent_cli/_ui_dist/assets/chunk-ND2GUHAM-BHz1rpbm.js +2 -0
  39. keboola_agent_cli/_ui_dist/assets/chunk-ND2GUHAM-BHz1rpbm.js.map +1 -0
  40. keboola_agent_cli/_ui_dist/assets/chunk-NNHCCRGN-DlpIbxXb.js +160 -0
  41. keboola_agent_cli/_ui_dist/assets/chunk-NNHCCRGN-DlpIbxXb.js.map +1 -0
  42. keboola_agent_cli/_ui_dist/assets/chunk-NZK2D7GU-tnrSoegS.js +2 -0
  43. keboola_agent_cli/_ui_dist/assets/chunk-NZK2D7GU-tnrSoegS.js.map +1 -0
  44. keboola_agent_cli/_ui_dist/assets/chunk-O5CBEL6O-DxxqDH0l.js +71 -0
  45. keboola_agent_cli/_ui_dist/assets/chunk-O5CBEL6O-DxxqDH0l.js.map +1 -0
  46. keboola_agent_cli/_ui_dist/assets/chunk-QZHKN3VN-CSjc2gjj.js +2 -0
  47. keboola_agent_cli/_ui_dist/assets/chunk-QZHKN3VN-CSjc2gjj.js.map +1 -0
  48. keboola_agent_cli/_ui_dist/assets/classDiagram-4FO5ZUOK-BuZcZu85.js +2 -0
  49. keboola_agent_cli/_ui_dist/assets/classDiagram-4FO5ZUOK-BuZcZu85.js.map +1 -0
  50. keboola_agent_cli/_ui_dist/assets/classDiagram-v2-Q7XG4LA2-BuZcZu85.js +2 -0
  51. keboola_agent_cli/_ui_dist/assets/classDiagram-v2-Q7XG4LA2-BuZcZu85.js.map +1 -0
  52. keboola_agent_cli/_ui_dist/assets/cose-bilkent-S5V4N54A-Y0L8LDMa.js +2 -0
  53. keboola_agent_cli/_ui_dist/assets/cose-bilkent-S5V4N54A-Y0L8LDMa.js.map +1 -0
  54. keboola_agent_cli/_ui_dist/assets/cytoscape.esm-C8YCVR3_.js +322 -0
  55. keboola_agent_cli/_ui_dist/assets/cytoscape.esm-C8YCVR3_.js.map +1 -0
  56. keboola_agent_cli/_ui_dist/assets/dagre-BM42HDAG-UZ-9BTqF.js +5 -0
  57. keboola_agent_cli/_ui_dist/assets/dagre-BM42HDAG-UZ-9BTqF.js.map +1 -0
  58. keboola_agent_cli/_ui_dist/assets/dagre-Bx709z4p.js +2 -0
  59. keboola_agent_cli/_ui_dist/assets/dagre-Bx709z4p.js.map +1 -0
  60. keboola_agent_cli/_ui_dist/assets/defaultLocale-C8Fc0cco.js +2 -0
  61. keboola_agent_cli/_ui_dist/assets/defaultLocale-C8Fc0cco.js.map +1 -0
  62. keboola_agent_cli/_ui_dist/assets/diagram-2AECGRRQ-DoDQ60wi.js +44 -0
  63. keboola_agent_cli/_ui_dist/assets/diagram-2AECGRRQ-DoDQ60wi.js.map +1 -0
  64. keboola_agent_cli/_ui_dist/assets/diagram-5GNKFQAL-CMGFxpUs.js +11 -0
  65. keboola_agent_cli/_ui_dist/assets/diagram-5GNKFQAL-CMGFxpUs.js.map +1 -0
  66. keboola_agent_cli/_ui_dist/assets/diagram-KO2AKTUF-1uGDa-Iu.js +4 -0
  67. keboola_agent_cli/_ui_dist/assets/diagram-KO2AKTUF-1uGDa-Iu.js.map +1 -0
  68. keboola_agent_cli/_ui_dist/assets/diagram-LMA3HP47-XtFH7B51.js +25 -0
  69. keboola_agent_cli/_ui_dist/assets/diagram-LMA3HP47-XtFH7B51.js.map +1 -0
  70. keboola_agent_cli/_ui_dist/assets/diagram-OG6HWLK6-B4_Te1T5.js +25 -0
  71. keboola_agent_cli/_ui_dist/assets/diagram-OG6HWLK6-B4_Te1T5.js.map +1 -0
  72. keboola_agent_cli/_ui_dist/assets/dist-Di6zmlv0.js +2 -0
  73. keboola_agent_cli/_ui_dist/assets/dist-Di6zmlv0.js.map +1 -0
  74. keboola_agent_cli/_ui_dist/assets/erDiagram-TEJ5UH35-NjQkrdFt.js +86 -0
  75. keboola_agent_cli/_ui_dist/assets/erDiagram-TEJ5UH35-NjQkrdFt.js.map +1 -0
  76. keboola_agent_cli/_ui_dist/assets/eventmodeling-FCH6USID-BrJMIks8.js +1 -0
  77. keboola_agent_cli/_ui_dist/assets/flowDiagram-I6XJVG4X-CIr8DWl7.js +163 -0
  78. keboola_agent_cli/_ui_dist/assets/flowDiagram-I6XJVG4X-CIr8DWl7.js.map +1 -0
  79. keboola_agent_cli/_ui_dist/assets/ganttDiagram-6RSMTGT7-C1VY_xbQ.js +293 -0
  80. keboola_agent_cli/_ui_dist/assets/ganttDiagram-6RSMTGT7-C1VY_xbQ.js.map +1 -0
  81. keboola_agent_cli/_ui_dist/assets/gitGraph-WXDBUCRP-COacYjo-.js +1 -0
  82. keboola_agent_cli/_ui_dist/assets/gitGraphDiagram-PVQCEYII-DQT8-kg2.js +107 -0
  83. keboola_agent_cli/_ui_dist/assets/gitGraphDiagram-PVQCEYII-DQT8-kg2.js.map +1 -0
  84. keboola_agent_cli/_ui_dist/assets/graphlib-B8gBHxth.js +2 -0
  85. keboola_agent_cli/_ui_dist/assets/graphlib-B8gBHxth.js.map +1 -0
  86. keboola_agent_cli/_ui_dist/assets/index-CMq50kkV.css +1 -0
  87. keboola_agent_cli/_ui_dist/assets/index-D8W97DAz.js +118 -0
  88. keboola_agent_cli/_ui_dist/assets/index-D8W97DAz.js.map +1 -0
  89. keboola_agent_cli/_ui_dist/assets/info-J43DQDTF-DdCTRIzU.js +1 -0
  90. keboola_agent_cli/_ui_dist/assets/infoDiagram-5YYISTIA-C77rsoTp.js +3 -0
  91. keboola_agent_cli/_ui_dist/assets/infoDiagram-5YYISTIA-C77rsoTp.js.map +1 -0
  92. keboola_agent_cli/_ui_dist/assets/init-D6jRqBbL.js +2 -0
  93. keboola_agent_cli/_ui_dist/assets/init-D6jRqBbL.js.map +1 -0
  94. keboola_agent_cli/_ui_dist/assets/ishikawaDiagram-YF4QCWOH-BcTbXaLy.js +71 -0
  95. keboola_agent_cli/_ui_dist/assets/ishikawaDiagram-YF4QCWOH-BcTbXaLy.js.map +1 -0
  96. keboola_agent_cli/_ui_dist/assets/journeyDiagram-JHISSGLW-BejeAJQ_.js +140 -0
  97. keboola_agent_cli/_ui_dist/assets/journeyDiagram-JHISSGLW-BejeAJQ_.js.map +1 -0
  98. keboola_agent_cli/_ui_dist/assets/kanban-definition-UN3LZRKU-BRNz_UrH.js +90 -0
  99. keboola_agent_cli/_ui_dist/assets/kanban-definition-UN3LZRKU-BRNz_UrH.js.map +1 -0
  100. keboola_agent_cli/_ui_dist/assets/katex-C4eR7coU.js +258 -0
  101. keboola_agent_cli/_ui_dist/assets/katex-C4eR7coU.js.map +1 -0
  102. keboola_agent_cli/_ui_dist/assets/line-CzAQKFbJ.js +2 -0
  103. keboola_agent_cli/_ui_dist/assets/line-CzAQKFbJ.js.map +1 -0
  104. keboola_agent_cli/_ui_dist/assets/linear-DUNFFdck.js +2 -0
  105. keboola_agent_cli/_ui_dist/assets/linear-DUNFFdck.js.map +1 -0
  106. keboola_agent_cli/_ui_dist/assets/mermaid-parser.core-CpuBOkFa.js +5 -0
  107. keboola_agent_cli/_ui_dist/assets/mermaid-parser.core-CpuBOkFa.js.map +1 -0
  108. keboola_agent_cli/_ui_dist/assets/mindmap-definition-RKZ34NQL-9EJQNjH0.js +97 -0
  109. keboola_agent_cli/_ui_dist/assets/mindmap-definition-RKZ34NQL-9EJQNjH0.js.map +1 -0
  110. keboola_agent_cli/_ui_dist/assets/ordinal-hYBb2elL.js +2 -0
  111. keboola_agent_cli/_ui_dist/assets/ordinal-hYBb2elL.js.map +1 -0
  112. keboola_agent_cli/_ui_dist/assets/packet-YPE3B663-DLiiw_B2.js +1 -0
  113. keboola_agent_cli/_ui_dist/assets/path-BWPyau1x.js +2 -0
  114. keboola_agent_cli/_ui_dist/assets/path-BWPyau1x.js.map +1 -0
  115. keboola_agent_cli/_ui_dist/assets/pie-LRSECV5Y-CRoO8G1g.js +1 -0
  116. keboola_agent_cli/_ui_dist/assets/pieDiagram-4H26LBE5-XH4cy6Cb.js +31 -0
  117. keboola_agent_cli/_ui_dist/assets/pieDiagram-4H26LBE5-XH4cy6Cb.js.map +1 -0
  118. keboola_agent_cli/_ui_dist/assets/quadrantDiagram-W4KKPZXB-fdhc93U8.js +8 -0
  119. keboola_agent_cli/_ui_dist/assets/quadrantDiagram-W4KKPZXB-fdhc93U8.js.map +1 -0
  120. keboola_agent_cli/_ui_dist/assets/radar-GUYGQ44K-DAlLVJHm.js +1 -0
  121. keboola_agent_cli/_ui_dist/assets/requirementDiagram-4Y6WPE33-a94eP3R9.js +85 -0
  122. keboola_agent_cli/_ui_dist/assets/requirementDiagram-4Y6WPE33-a94eP3R9.js.map +1 -0
  123. keboola_agent_cli/_ui_dist/assets/rough.esm-CSKSodPl.js +2 -0
  124. keboola_agent_cli/_ui_dist/assets/rough.esm-CSKSodPl.js.map +1 -0
  125. keboola_agent_cli/_ui_dist/assets/sankeyDiagram-5OEKKPKP-jcBa02sp.js +41 -0
  126. keboola_agent_cli/_ui_dist/assets/sankeyDiagram-5OEKKPKP-jcBa02sp.js.map +1 -0
  127. keboola_agent_cli/_ui_dist/assets/sequenceDiagram-3UESZ5HK-A5-GGM-e.js +163 -0
  128. keboola_agent_cli/_ui_dist/assets/sequenceDiagram-3UESZ5HK-A5-GGM-e.js.map +1 -0
  129. keboola_agent_cli/_ui_dist/assets/src-ZI-V_AF0.js +2 -0
  130. keboola_agent_cli/_ui_dist/assets/src-ZI-V_AF0.js.map +1 -0
  131. keboola_agent_cli/_ui_dist/assets/stateDiagram-AJRCARHV-BKAA5rqE.js +2 -0
  132. keboola_agent_cli/_ui_dist/assets/stateDiagram-AJRCARHV-BKAA5rqE.js.map +1 -0
  133. keboola_agent_cli/_ui_dist/assets/stateDiagram-v2-BHNVJYJU-DnJwJBsE.js +2 -0
  134. keboola_agent_cli/_ui_dist/assets/stateDiagram-v2-BHNVJYJU-DnJwJBsE.js.map +1 -0
  135. keboola_agent_cli/_ui_dist/assets/timeline-definition-PNZ67QCA-Cy39jp8b.js +121 -0
  136. keboola_agent_cli/_ui_dist/assets/timeline-definition-PNZ67QCA-Cy39jp8b.js.map +1 -0
  137. keboola_agent_cli/_ui_dist/assets/treeView-BLDUP644-DbLYl23-.js +1 -0
  138. keboola_agent_cli/_ui_dist/assets/treemap-LRROVOQU-Bp0eGlOt.js +1 -0
  139. keboola_agent_cli/_ui_dist/assets/vennDiagram-CIIHVFJN-BGECKubd.js +35 -0
  140. keboola_agent_cli/_ui_dist/assets/vennDiagram-CIIHVFJN-BGECKubd.js.map +1 -0
  141. keboola_agent_cli/_ui_dist/assets/wardley-L42UT6IY-D4yH4jqS.js +1 -0
  142. keboola_agent_cli/_ui_dist/assets/wardleyDiagram-YWT4CUSO-D6XRG3cZ.js +79 -0
  143. keboola_agent_cli/_ui_dist/assets/wardleyDiagram-YWT4CUSO-D6XRG3cZ.js.map +1 -0
  144. keboola_agent_cli/_ui_dist/assets/xychartDiagram-2RQKCTM6-DRre-pfZ.js +8 -0
  145. keboola_agent_cli/_ui_dist/assets/xychartDiagram-2RQKCTM6-DRre-pfZ.js.map +1 -0
  146. keboola_agent_cli/_ui_dist/index.html +50 -0
  147. keboola_agent_cli/ai_client.py +83 -0
  148. keboola_agent_cli/auto_update.py +550 -0
  149. keboola_agent_cli/changelog.py +1198 -0
  150. keboola_agent_cli/cli.py +448 -0
  151. keboola_agent_cli/client.py +3422 -0
  152. keboola_agent_cli/commands/__init__.py +0 -0
  153. keboola_agent_cli/commands/_data_app_git.py +343 -0
  154. keboola_agent_cli/commands/_helpers.py +377 -0
  155. keboola_agent_cli/commands/_metadata_input.py +49 -0
  156. keboola_agent_cli/commands/_semantic_layer_crud.py +632 -0
  157. keboola_agent_cli/commands/_semantic_layer_helpers.py +44 -0
  158. keboola_agent_cli/commands/_semantic_layer_reference_data.py +247 -0
  159. keboola_agent_cli/commands/agent.py +968 -0
  160. keboola_agent_cli/commands/branch.py +423 -0
  161. keboola_agent_cli/commands/changelog.py +168 -0
  162. keboola_agent_cli/commands/component.py +216 -0
  163. keboola_agent_cli/commands/config.py +2442 -0
  164. keboola_agent_cli/commands/context.py +1481 -0
  165. keboola_agent_cli/commands/data_app.py +1279 -0
  166. keboola_agent_cli/commands/dev_portal.py +584 -0
  167. keboola_agent_cli/commands/doctor.py +37 -0
  168. keboola_agent_cli/commands/encrypt.py +145 -0
  169. keboola_agent_cli/commands/feature.py +311 -0
  170. keboola_agent_cli/commands/flow.py +948 -0
  171. keboola_agent_cli/commands/http_client.py +157 -0
  172. keboola_agent_cli/commands/init.py +279 -0
  173. keboola_agent_cli/commands/job.py +661 -0
  174. keboola_agent_cli/commands/kai.py +301 -0
  175. keboola_agent_cli/commands/lineage.py +1464 -0
  176. keboola_agent_cli/commands/org.py +292 -0
  177. keboola_agent_cli/commands/permissions.py +360 -0
  178. keboola_agent_cli/commands/project.py +1192 -0
  179. keboola_agent_cli/commands/repl.py +243 -0
  180. keboola_agent_cli/commands/schedule.py +340 -0
  181. keboola_agent_cli/commands/search.py +178 -0
  182. keboola_agent_cli/commands/semantic_layer.py +939 -0
  183. keboola_agent_cli/commands/serve.py +272 -0
  184. keboola_agent_cli/commands/sharing.py +340 -0
  185. keboola_agent_cli/commands/storage.py +2630 -0
  186. keboola_agent_cli/commands/stream.py +266 -0
  187. keboola_agent_cli/commands/sync.py +1277 -0
  188. keboola_agent_cli/commands/tool.py +206 -0
  189. keboola_agent_cli/commands/version.py +186 -0
  190. keboola_agent_cli/commands/workspace.py +635 -0
  191. keboola_agent_cli/config_store.py +582 -0
  192. keboola_agent_cli/constants.py +528 -0
  193. keboola_agent_cli/data_science_client.py +342 -0
  194. keboola_agent_cli/dev_portal_client.py +323 -0
  195. keboola_agent_cli/errors.py +248 -0
  196. keboola_agent_cli/http_base.py +315 -0
  197. keboola_agent_cli/json_utils.py +126 -0
  198. keboola_agent_cli/lib.py +536 -0
  199. keboola_agent_cli/manage_client.py +324 -0
  200. keboola_agent_cli/metastore_client.py +214 -0
  201. keboola_agent_cli/models.py +427 -0
  202. keboola_agent_cli/output.py +1084 -0
  203. keboola_agent_cli/permissions.py +469 -0
  204. keboola_agent_cli/py.typed +3 -0
  205. keboola_agent_cli/result_models.py +271 -0
  206. keboola_agent_cli/server/__init__.py +34 -0
  207. keboola_agent_cli/server/agent_runner.py +1289 -0
  208. keboola_agent_cli/server/agents_store.py +325 -0
  209. keboola_agent_cli/server/app.py +764 -0
  210. keboola_agent_cli/server/auth.py +117 -0
  211. keboola_agent_cli/server/dependencies.py +149 -0
  212. keboola_agent_cli/server/pricing.py +303 -0
  213. keboola_agent_cli/server/routers/__init__.py +1 -0
  214. keboola_agent_cli/server/routers/agents.py +616 -0
  215. keboola_agent_cli/server/routers/ai_chat.py +129 -0
  216. keboola_agent_cli/server/routers/branches.py +133 -0
  217. keboola_agent_cli/server/routers/components.py +48 -0
  218. keboola_agent_cli/server/routers/configs.py +507 -0
  219. keboola_agent_cli/server/routers/data_apps.py +384 -0
  220. keboola_agent_cli/server/routers/dev_portal.py +67 -0
  221. keboola_agent_cli/server/routers/encrypt.py +35 -0
  222. keboola_agent_cli/server/routers/feature.py +179 -0
  223. keboola_agent_cli/server/routers/flows.py +204 -0
  224. keboola_agent_cli/server/routers/health.py +53 -0
  225. keboola_agent_cli/server/routers/jobs.py +175 -0
  226. keboola_agent_cli/server/routers/kai.py +80 -0
  227. keboola_agent_cli/server/routers/lineage.py +226 -0
  228. keboola_agent_cli/server/routers/mcp.py +70 -0
  229. keboola_agent_cli/server/routers/members.py +170 -0
  230. keboola_agent_cli/server/routers/org.py +96 -0
  231. keboola_agent_cli/server/routers/projects.py +106 -0
  232. keboola_agent_cli/server/routers/schedules.py +54 -0
  233. keboola_agent_cli/server/routers/search.py +30 -0
  234. keboola_agent_cli/server/routers/semantic_layer.py +650 -0
  235. keboola_agent_cli/server/routers/sharing.py +86 -0
  236. keboola_agent_cli/server/routers/storage.py +574 -0
  237. keboola_agent_cli/server/routers/stream.py +100 -0
  238. keboola_agent_cli/server/routers/workspaces.py +302 -0
  239. keboola_agent_cli/server/run_broadcaster.py +329 -0
  240. keboola_agent_cli/server/sse.py +25 -0
  241. keboola_agent_cli/services/__init__.py +0 -0
  242. keboola_agent_cli/services/_encryption.py +217 -0
  243. keboola_agent_cli/services/_semantic_layer_cascade.py +147 -0
  244. keboola_agent_cli/services/_semantic_layer_crud.py +382 -0
  245. keboola_agent_cli/services/_semantic_layer_internals.py +1078 -0
  246. keboola_agent_cli/services/_semantic_layer_lookup.py +181 -0
  247. keboola_agent_cli/services/_semantic_layer_reference_data.py +217 -0
  248. keboola_agent_cli/services/_sync_bindings.py +456 -0
  249. keboola_agent_cli/services/_sync_branch.py +191 -0
  250. keboola_agent_cli/services/_sync_bulk.py +228 -0
  251. keboola_agent_cli/services/_sync_clone.py +163 -0
  252. keboola_agent_cli/services/_sync_models.py +97 -0
  253. keboola_agent_cli/services/_sync_push_ops.py +369 -0
  254. keboola_agent_cli/services/_sync_storage.py +376 -0
  255. keboola_agent_cli/services/_sync_writeback.py +167 -0
  256. keboola_agent_cli/services/agent_service.py +458 -0
  257. keboola_agent_cli/services/base.py +175 -0
  258. keboola_agent_cli/services/branch_service.py +588 -0
  259. keboola_agent_cli/services/component_service.py +694 -0
  260. keboola_agent_cli/services/config_service.py +2099 -0
  261. keboola_agent_cli/services/data_app_git_service.py +224 -0
  262. keboola_agent_cli/services/data_app_service.py +2082 -0
  263. keboola_agent_cli/services/deep_lineage_service.py +1322 -0
  264. keboola_agent_cli/services/dev_portal_service.py +345 -0
  265. keboola_agent_cli/services/doctor_service.py +445 -0
  266. keboola_agent_cli/services/encrypt_service.py +87 -0
  267. keboola_agent_cli/services/feature_service.py +268 -0
  268. keboola_agent_cli/services/flow_service.py +769 -0
  269. keboola_agent_cli/services/flow_validation.py +188 -0
  270. keboola_agent_cli/services/http_forwarder_service.py +236 -0
  271. keboola_agent_cli/services/job_idempotency_store.py +285 -0
  272. keboola_agent_cli/services/job_service.py +797 -0
  273. keboola_agent_cli/services/kai_service.py +367 -0
  274. keboola_agent_cli/services/lineage_service.py +274 -0
  275. keboola_agent_cli/services/mcp_service.py +1498 -0
  276. keboola_agent_cli/services/mcp_transport.py +259 -0
  277. keboola_agent_cli/services/member_service.py +593 -0
  278. keboola_agent_cli/services/org_service.py +619 -0
  279. keboola_agent_cli/services/project_service.py +947 -0
  280. keboola_agent_cli/services/repo_validate_service.py +767 -0
  281. keboola_agent_cli/services/schedule_service.py +731 -0
  282. keboola_agent_cli/services/search_service.py +331 -0
  283. keboola_agent_cli/services/semantic_layer_service.py +1497 -0
  284. keboola_agent_cli/services/sharing_service.py +307 -0
  285. keboola_agent_cli/services/storage_service.py +2524 -0
  286. keboola_agent_cli/services/stream_service.py +395 -0
  287. keboola_agent_cli/services/sync_service.py +2244 -0
  288. keboola_agent_cli/services/variables_service.py +447 -0
  289. keboola_agent_cli/services/version_service.py +1038 -0
  290. keboola_agent_cli/services/workspace_service.py +1103 -0
  291. keboola_agent_cli/stream_client.py +217 -0
  292. keboola_agent_cli/sync/__init__.py +1 -0
  293. keboola_agent_cli/sync/branch_mapping.py +174 -0
  294. keboola_agent_cli/sync/clone.py +211 -0
  295. keboola_agent_cli/sync/code_extraction.py +655 -0
  296. keboola_agent_cli/sync/config_format.py +290 -0
  297. keboola_agent_cli/sync/diff_engine.py +566 -0
  298. keboola_agent_cli/sync/git_utils.py +93 -0
  299. keboola_agent_cli/sync/manifest.py +162 -0
  300. keboola_agent_cli/sync/naming.py +90 -0
  301. keboola_agent_cli/sync/secrets.py +62 -0
  302. keboola_agent_cli/sync/sql_split.py +134 -0
  303. keboola_cli-0.63.4.dist-info/METADATA +308 -0
  304. keboola_cli-0.63.4.dist-info/RECORD +306 -0
  305. keboola_cli-0.63.4.dist-info/WHEEL +4 -0
  306. keboola_cli-0.63.4.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,5 @@
1
+ import{g as e,h as t}from"./src-ZI-V_AF0.js";import{x as n}from"./chunk-CSCIHK7Q-CcTsLrFc.js";import"./chunk-5ZQYHXKU-BjcTN7ul.js";import"./chunk-BSJP7CBP-Oj_FO9Q7.js";import{n as r}from"./chunk-L5ZTLDWV-B1Ky_e7O.js";import"./chunk-NZK2D7GU-tnrSoegS.js";import"./chunk-O5CBEL6O-DxxqDH0l.js";import{a as i,c as a,i as o,l as s,n as c,t as l,u}from"./chunk-3OPIFGDE-BQC5CRHI.js";import{a as d,i as f,o as p,r as m,s as h}from"./index-D8W97DAz.js";import{r as g,t as _}from"./graphlib-B8gBHxth.js";import{n as v,r as y,t as b}from"./dagre-Bx709z4p.js";var x=4;function S(e){return y(e,x)}function C(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:w(e),edges:T(e)};return g(e.graph())||(t.value=S(e.graph())),t}function w(e){return v(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return g(n)||(i.value=n),g(r)||(i.parent=r),i})}function T(e){return v(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return g(t.name)||(r.name=t.name),g(n)||(r.value=n),r})}var E=new Map,D=new Map,O=new Map,k=t(()=>{D.clear(),O.clear(),E.clear()},`clear`),A=t((t,n)=>{let r=D.get(n)||[];return e.trace(`In isDescendant`,n,` `,t,` = `,r.includes(t)),r.includes(t)},`isDescendant`),j=t((t,n)=>{let r=D.get(n)||[];return e.info(`Descendants of `,n,` is `,r),e.info(`Edge is `,t),t.v===n||t.w===n?!1:r?r.includes(t.v)||A(t.v,n)||A(t.w,n)||r.includes(t.w):(e.debug(`Tilt, `,n,`,not in descendants`),!1)},`edgeInCluster`),M=t((t,n,r,i)=>{e.warn(`Copying children of `,t,`root`,i,`data`,n.node(t),i);let a=n.children(t)||[];t!==i&&a.push(t),e.warn(`Copying (nodes) clusterId`,t,`nodes`,a),a.forEach(a=>{if(n.children(a).length>0)M(a,n,r,i);else{let o=n.node(a);e.info(`cp `,a,` to `,i,` with parent `,t),r.setNode(a,o),i!==n.parent(a)&&(e.warn(`Setting parent`,a,n.parent(a)),r.setParent(a,n.parent(a))),t!==i&&a!==t?(e.debug(`Setting parent`,a,t),r.setParent(a,t)):(e.info(`In copy `,t,`root`,i,`data`,n.node(t),i),e.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,t!==i,`node!==clusterId`,a!==t));let s=n.edges(a);e.debug(`Copying Edges`,s),s.forEach(a=>{e.info(`Edge`,a);let o=n.edge(a.v,a.w,a.name);e.info(`Edge data`,o,i);try{j(a,i)?(e.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),e.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):e.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,t)}catch(t){e.error(t)}})}e.debug(`Removing node`,a),n.removeNode(a)})},`copy`),N=t((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)O.set(i,e),r=[...r,...N(i,t)];return r},`extractDescendants`),P=t((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),F=t((t,n,r)=>{let i=n.children(t);if(e.trace(`Searching children of id `,t,i),i.length<1)return t;let a;for(let e of i){let t=F(e,n,r),i=P(n,r,t);if(t)if(i.length>0)a=t;else return t}return a},`findNonClusterChild`),I=t(e=>!E.has(e)||!E.get(e).externalConnections?e:E.has(e)?E.get(e).id:e,`getAnchorId`),L=t((t,n)=>{if(!t||n>10){e.debug(`Opting out, no graph `);return}else e.debug(`Opting in, graph `);t.nodes().forEach(function(n){t.children(n).length>0&&(e.warn(`Cluster identified`,n,` Replacement id in edges: `,F(n,t,n)),D.set(n,N(n,t)),E.set(n,{id:F(n,t,n),clusterData:t.node(n)}))}),t.nodes().forEach(function(n){let r=t.children(n),i=t.edges();r.length>0?(e.debug(`Cluster identified`,n,D),i.forEach(t=>{A(t.v,n)^A(t.w,n)&&(e.warn(`Edge: `,t,` leaves cluster `,n),e.warn(`Descendants of XXX `,n,`: `,D.get(n)),E.get(n).externalConnections=!0)})):e.debug(`Not a cluster `,n,D)});for(let e of E.keys()){let n=E.get(e).id,r=t.parent(n);r!==e&&E.has(r)&&!E.get(r).externalConnections&&(E.get(e).id=r)}t.edges().forEach(function(n){let r=t.edge(n);e.warn(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(n)),e.warn(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(t.edge(n)));let i=n.v,a=n.w;if(e.warn(`Fix XXX`,E,`ids:`,n.v,n.w,`Translating: `,E.get(n.v),` --- `,E.get(n.w)),E.get(n.v)||E.get(n.w)){if(e.warn(`Fixing and trying - removing XXX`,n.v,n.w,n.name),i=I(n.v),a=I(n.w),t.removeEdge(n.v,n.w,n.name),i!==n.v){let e=t.parent(i);E.get(e).externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){let e=t.parent(a);E.get(e).externalConnections=!0,r.toCluster=n.w}e.warn(`Fix Replacing with XXX`,i,a,n.name),t.setEdge(i,a,r,n.name)}}),e.warn(`Adjusted Graph`,C(t)),R(t,0),e.trace(E)},`adjustClustersAndEdges`),R=t((t,n)=>{if(e.warn(`extractor - `,n,C(t),t.children(`D`)),n>10){e.error(`Bailing out`);return}let r=t.nodes(),i=!1;for(let e of r){let n=t.children(e);i||=n.length>0}if(!i){e.debug(`Done, no node has children`,t.nodes());return}e.debug(`Nodes = `,r,n);for(let i of r)if(e.debug(`Extracting node`,i,E,E.has(i)&&!E.get(i).externalConnections,!t.parent(i),t.node(i),t.children(`D`),` Depth `,n),!E.has(i))e.debug(`Not a cluster`,i,n);else if(!E.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){e.warn(`Cluster without external connections, without a parent and with children`,i,n);let r=t.graph().rankdir===`TB`?`LR`:`TB`;E.get(i)?.clusterData?.dir&&(r=E.get(i).clusterData.dir,e.warn(`Fixing dir`,E.get(i).clusterData.dir,r));let a=new _({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});e.warn(`Old graph before copy`,C(t)),M(i,t,a,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:E.get(i).clusterData,label:E.get(i).label,graph:a}),e.warn(`New graph after copy node: (`,i,`)`,C(a)),e.debug(`Old graph after copy`,C(t))}else e.warn(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!E.get(i).externalConnections,` no parent: `,!t.parent(i),` children `,t.children(i)&&t.children(i).length>0,t.children(`D`),n),e.debug(E);r=t.nodes(),e.warn(`New list of nodes`,r);for(let i of r){let r=t.node(i);e.warn(` Now next level`,i,r),r?.clusterNode&&R(r.graph,n+1)}},`extractor`),z=t((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=z(e,e.children(t));n=[...n,...r]}),n},`sorter`),B=t(e=>z(e,e.children()),`sortNodesByHierarchy`),V=t(async(n,c,l,p,m,g)=>{e.warn(`Graph in recursive render:XAX`,C(c),m);let _=c.graph().rankdir;e.trace(`Dir in recursive render - dir:`,_);let v=n.insert(`g`).attr(`class`,`root`);c.nodes()?e.info(`Recursive render XXX`,c.nodes()):e.info(`No nodes found for`,c),c.edges().length>0&&e.info(`Recursive edges`,c.edge(c.edges()[0]));let y=v.insert(`g`).attr(`class`,`clusters`),x=v.insert(`g`).attr(`class`,`edgePaths`),S=v.insert(`g`).attr(`class`,`edgeLabels`),w=v.insert(`g`).attr(`class`,`nodes`);await Promise.all(c.nodes().map(async function(t){let n=c.node(t);if(m!==void 0){let n=JSON.parse(JSON.stringify(m.clusterData));e.trace(`Setting data for parent cluster XXX
2
+ Node.id = `,t,`
3
+ data=`,n.height,`
4
+ Parent cluster`,m.height),c.setNode(m.id,n),c.parent(t)||(e.trace(`Setting parent`,t,m.id),c.setParent(t,m.id,n))}if(e.info(`(Insert) Node XXX`+t+`: `+JSON.stringify(c.node(t))),n?.clusterNode){e.info(`Cluster identified XBX`,t,n.width,c.node(t));let{ranksep:r,nodesep:i}=c.graph();n.graph.setGraph({...n.graph.graph(),ranksep:r+25,nodesep:i});let a=await V(w,n.graph,l,p,c.node(t),g),o=a.elem;u(n,o),n.diff=a.diff||0,e.info(`New compound node after recursive render XAX`,t,`width`,n.width,`height`,n.height),s(o,n)}else c.children(t).length>0?(e.trace(`Cluster - the non recursive path XBX`,t,n.id,n,n.width,`Graph:`,c),e.trace(F(n.id,c)),E.set(n.id,{id:F(n.id,c),node:n})):(e.trace(`Node - the non recursive path XAX`,t,w,c.node(t),_),await i(w,c.node(t),{config:g,dir:_}))})),await t(async()=>{let t=c.edges().map(async function(t){let n=c.edge(t.v,t.w,t.name);e.info(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),e.info(`Edge `+t.v+` -> `+t.w+`: `,t,` `,JSON.stringify(c.edge(t))),e.info(`Fix`,E,`ids:`,t.v,t.w,`Translating: `,E.get(t.v),E.get(t.w)),await d(S,n)});await Promise.all(t)},`processEdges`)(),e.info(`Graph before layout:`,JSON.stringify(C(c))),e.info(`############################################# XXX`),e.info(`### Layout ### XXX`),e.info(`############################################# XXX`),b(c),e.info(`Graph after layout:`,JSON.stringify(C(c)));let T=0,{subGraphTitleTotalMargin:D}=r(g);return await Promise.all(B(c).map(async function(t){let n=c.node(t);if(e.info(`Position XBX => `+t+`: (`+n.x,`,`+n.y,`) width: `,n.width,` height: `,n.height),n?.clusterNode)n.y+=D,e.info(`A tainted cluster node XBX1`,t,n.id,n.width,n.height,n.x,n.y,c.parent(t)),E.get(n.id).node=n,a(n);else if(c.children(t).length>0){e.info(`A pure cluster node XBX1`,t,n.id,n.x,n.y,n.width,n.height,c.parent(t)),n.height+=D,c.node(n.parentId);let r=n?.padding/2||0,i=n?.labelBBox?.height||0,a=i-r||0;e.debug(`OffsetY`,a,`labelHeight`,i,`halfPadding`,r),await o(y,n),E.get(n.id).node=n}else{let t=c.node(n.parentId);n.y+=D/2,e.info(`A regular node XBX1 - using the padding`,n.id,`parent`,n.parentId,n.width,n.height,n.x,n.y,`offsetY`,n.offsetY,`parent`,t,t?.offsetY,n),a(n)}})),c.edges().forEach(function(t){let n=c.edge(t);e.info(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(n),n),n.points.forEach(e=>e.y+=D/2),h(n,f(x,n,E,l,c.node(t.v),c.node(t.w),p))}),c.nodes().forEach(function(t){let n=c.node(t);e.info(t,n.type,n.diff),n.isGroup&&(T=n.diff)}),e.warn(`Returning from recursive render XAX`,v,T),{elem:v,diff:T}},`recursiveRender`),H=t(async(t,r)=>{let i=new _({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=r.select(`g`);p(a,t.markers,t.type,t.diagramId),c(),m(),l(),k(),t.nodes.forEach(e=>{i.setNode(e.id,{...e}),e.parentId&&i.setParent(e.id,e.parentId)}),e.debug(`Edges:`,t.edges),t.edges.forEach(e=>{if(e.start===e.end){let t=e.start,n=t+`---`+t+`---1`,r=t+`---`+t+`---2`,a=i.node(t);i.setNode(n,{domId:n,id:n,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),i.setParent(n,a.parentId),i.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),i.setParent(r,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e);o.label=``,o.arrowTypeEnd=`none`,o.endLabelLeft=``,o.endLabelRight=``,o.startLabelLeft=``,o.id=t+`-cyclic-special-1`,s.startLabelRight=``,s.startLabelLeft=``,s.endLabelLeft=``,s.endLabelRight=``,s.arrowTypeStart=`none`,s.arrowTypeEnd=`none`,s.id=t+`-cyclic-special-mid`,c.label=``,c.startLabelRight=``,c.startLabelLeft=``,c.arrowTypeStart=`none`,a.isGroup&&(o.fromCluster=t,c.toCluster=t),c.id=t+`-cyclic-special-2`,c.arrowTypeStart=`none`,i.setEdge(t,n,o,t+`-cyclic-special-0`),i.setEdge(n,r,s,t+`-cyclic-special-1`),i.setEdge(r,t,c,t+`-cyc<lic-special-2`)}else i.setEdge(e.start,e.end,{...e},e.id)}),e.warn(`Graph at first:`,JSON.stringify(C(i))),L(i),e.warn(`Graph after XAX:`,JSON.stringify(C(i)));let o=n();await V(a,i,t.type,t.diagramId,void 0,o)},`render`);export{H as render};
5
+ //# sourceMappingURL=dagre-BM42HDAG-UZ-9BTqF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dagre-BM42HDAG-UZ-9BTqF.js","names":["_.isUndefined","_.clone","_.map","graphlibJson.write","graphlib.Graph","graphlibJson2.write","graphlib2.Graph","getConfig"],"sources":["../../node_modules/lodash-es/clone.js","../../node_modules/dagre-d3-es/src/graphlib/json.js","../../node_modules/mermaid/dist/chunks/mermaid.core/dagre-BM42HDAG.mjs"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\n/**\n * @import { NodeID, EdgeObj, GraphOptions } from './graph.js';\n */\n\nexport { write, read };\n\n/**\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n *\n * @typedef {object} GraphJSON\n * @property {Required<GraphOptions>} options - The options used to create the graph.\n * @property {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} nodes - The nodes in the graph.\n * @property {Array<EdgeObj & { value?: EdgeLabel }>} edges - The edges in the graph.\n * @property {GraphLabel} [value] - The graph's value, if any.\n */\n\n/**\n * Creates a JSON representation of the graph that can be serialized to a\n * string with\n * [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify).\n * The graph can later be restored using {@link read}.\n *\n * @example\n *\n * ```js\n * var g = new graphlib.Graph();\n * g.setNode(\"a\", { label: \"node a\" });\n * g.setNode(\"b\", { label: \"node b\" });\n * g.setEdge(\"a\", \"b\", { label: \"edge a->b\" });\n * graphlib.json.write(g);\n * // Returns the object:\n * //\n * // {\n * // \"options\": {\n * // \"directed\": true,\n * // \"multigraph\": false,\n * // \"compound\": false\n * // },\n * // \"nodes\": [\n * // { \"v\": \"a\", \"value\": { \"label\": \"node a\" } },\n * // { \"v\": \"b\", \"value\": { \"label\": \"node b\" } }\n * // ],\n * // \"edges\": [\n * // { \"v\": \"a\", \"w\": \"b\", \"value\": { \"label\": \"edge a->b\" } }\n * // ]\n * // }\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {Graph<GraphLabel, NodeLabel, EdgeLabel>} g - The graph to serialize.\n * @returns {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} The JSON representation of the graph.\n */\nfunction write(g) {\n /** @type {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} */\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\n/**\n * @template NodeLabel - Label of a node.\n *\n * @param {Graph<unknown, NodeLabel, unknown>} g - The graph to serialize.\n * @returns {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} The nodes in the graph.\n */\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n /** @type {{ v: NodeID; value?: NodeLabel; parent?: NodeID }} */\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\n/**\n * @template EdgeLabel - Label of a node.\n *\n * @param {Graph<unknown, unknown, EdgeLabel>} g - The graph to serialize.\n * @returns {Array<EdgeObj & { value?: EdgeLabel }>} The edges in the graph.\n */\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n /** @type {EdgeObj & { value?: EdgeLabel }} */\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\n/**\n * Takes JSON as input and returns the graph representation.\n *\n * @example\n *\n * For example, if we have serialized the graph in {@link write}\n * to a string named `str`, we can restore it to a graph as follows:\n *\n * ```js\n * var g2 = graphlib.json.read(JSON.parse(str));\n * // or, in order to copy the graph\n * var g3 = graphlib.json.read(graphlib.json.write(g))\n *\n * g2.nodes();\n * // ['a', 'b']\n * g2.edges()\n * // [ { v: 'a', w: 'b' } ]\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} json - The JSON representation of the graph.\n * @returns {Graph<GraphLabel, NodeLabel, EdgeLabel>} The restored graph.\n */\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-KSCS5N6A.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-3OPIFGDE.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-L5ZTLDWV.mjs\";\nimport \"./chunk-NZK2D7GU.mjs\";\nimport \"./chunk-O5CBEL6O.mjs\";\nimport \"./chunk-5ZQYHXKU.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson2 from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib2 from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear4 = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson2.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson2.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson2.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);\n const startNode = graph.node(e.v);\n var endNode = graph.node(e.w);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib2.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.endLabelLeft = \"\";\n edge1.endLabelRight = \"\";\n edge1.startLabelLeft = \"\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.startLabelRight = \"\";\n edgeMid.startLabelLeft = \"\";\n edgeMid.endLabelLeft = \"\";\n edgeMid.endLabelRight = \"\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n edge2.startLabelRight = \"\";\n edge2.startLabelLeft = \"\";\n edge2.arrowTypeStart = \"none\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyc<lic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson2.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson2.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n render\n};\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as ee,T as te,U as ne,V as re,W as ie,X as ae,Y as oe,Z as y,_ as b,a as x,b as se,c as ce,d as le,et as S,f as C,g as ue,h as de,i as w,it as fe,j as pe,k as me,l as he,m as ge,n as T,nt as _e,o as E,p as ve,q as ye,r as D,rt as be,s as xe,t as O,tt as k,u as Se,v as Ce,w as we,x as Te,y as Ee,z as A}from"./graphlib-B8gBHxth.js";var De=/\s/;function Oe(e){for(var t=e.length;t--&&De.test(e.charAt(t)););return t}var ke=/^\s+/;function Ae(e){return e&&e.slice(0,Oe(e)+1).replace(ke,``)}var je=NaN,Me=/^[-+]0x[0-9a-f]+$/i,Ne=/^0b[01]+$/i,Pe=/^0o[0-7]+$/i,Fe=parseInt;function Ie(e){if(typeof e==`number`)return e;if(S(e))return je;if(y(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=y(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Ae(e);var n=Ne.test(e);return n||Pe.test(e)?Fe(e.slice(2),n?2:8):Me.test(e)?je:+e}var Le=1/0,Re=17976931348623157e292;function j(e){return e?(e=Ie(e),e===Le||e===-Le?(e<0?-1:1)*Re:e===e?e:0):e===0?e:0}function ze(e){var t=j(e),n=t%1;return t===t?n?t-n:t:0}var Be=Object.create,Ve=function(){function e(){}return function(t){if(!y(t))return{};if(Be)return Be(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function He(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}function M(e,t,n){t==`__proto__`&&ye?ye(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var Ue=Object.prototype.hasOwnProperty;function N(e,t,n){var r=e[t];(!(Ue.call(e,t)&&c(r,n))||n===void 0&&!(t in e))&&M(e,t,n)}function P(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?M(n,s,c):N(n,s,c)}return n}function F(e,t,n){if(!y(n))return!1;var r=typeof t;return(r==`number`?A(n)&&ne(t,n.length):r==`string`&&t in n)?c(n[t],e):!1}function We(e){return n(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&F(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}function Ge(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Ke=Object.prototype.hasOwnProperty;function qe(e){if(!y(e))return Ge(e);var t=v(e),n=[];for(var r in e)r==`constructor`&&(t||!Ke.call(e,r))||n.push(r);return n}function I(e){return A(e)?p(e,!0):qe(e)}function L(e){return e!=null&&e.length?r(e,1):[]}function Je(e){return d(re(e,void 0,L),e+``)}var Ye=pe(Object.getPrototypeOf,Object),Xe=`[object Object]`,Ze=Function.prototype,Qe=Object.prototype,$e=Ze.toString,et=Qe.hasOwnProperty,tt=$e.call(Object);function nt(e){if(!k(e)||_e(e)!=Xe)return!1;var t=Ye(e);if(t===null)return!0;var n=et.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&$e.call(n)==tt}var rt=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function it(e){return rt.test(e)}function at(e,t){return e&&P(t,me(t),e)}function ot(e,t){return e&&P(t,I(t),e)}var st=typeof exports==`object`&&exports&&!exports.nodeType&&exports,ct=st&&typeof module==`object`&&module&&!module.nodeType&&module,lt=ct&&ct.exports===st?fe.Buffer:void 0,ut=lt?lt.allocUnsafe:void 0;function dt(e,t){if(t)return e.slice();var n=e.length,r=ut?ut(n):new e.constructor(n);return e.copy(r),r}function ft(e,t){return P(e,se(e),t)}var pt=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)we(t,se(e)),e=Ye(e);return t}:Te;function mt(e,t){return P(e,pt(e),t)}function ht(e){return Ee(e,I,pt)}var gt=Object.prototype.hasOwnProperty;function _t(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&gt.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function vt(e){var t=new e.constructor(e.byteLength);return new ue(t).set(new ue(e)),t}function yt(e,t){var n=t?vt(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var bt=/\w*$/;function xt(e){var t=new e.constructor(e.source,bt.exec(e));return t.lastIndex=e.lastIndex,t}var St=be?be.prototype:void 0,Ct=St?St.valueOf:void 0;function wt(e){return Ct?Object(Ct.call(e)):{}}function Tt(e,t){var n=t?vt(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var Et=`[object Boolean]`,Dt=`[object Date]`,Ot=`[object Map]`,kt=`[object Number]`,At=`[object RegExp]`,jt=`[object Set]`,Mt=`[object String]`,Nt=`[object Symbol]`,Pt=`[object ArrayBuffer]`,Ft=`[object DataView]`,It=`[object Float32Array]`,Lt=`[object Float64Array]`,Rt=`[object Int8Array]`,zt=`[object Int16Array]`,Bt=`[object Int32Array]`,Vt=`[object Uint8Array]`,Ht=`[object Uint8ClampedArray]`,Ut=`[object Uint16Array]`,Wt=`[object Uint32Array]`;function Gt(e,t,n){var r=e.constructor;switch(t){case Pt:return vt(e);case Et:case Dt:return new r(+e);case Ft:return yt(e,n);case It:case Lt:case Rt:case zt:case Bt:case Vt:case Ht:case Ut:case Wt:return Tt(e,n);case Ot:return new r;case kt:case Mt:return new r(e);case At:return xt(e);case jt:return new r;case Nt:return wt(e)}}function Kt(e){return typeof e.constructor==`function`&&!v(e)?Ve(Ye(e)):{}}var qt=`[object Map]`;function Jt(e){return k(e)&&b(e)==qt}var Yt=g&&g.isMap,Xt=Yt?o(Yt):Jt,Zt=`[object Set]`;function Qt(e){return k(e)&&b(e)==Zt}var $t=g&&g.isSet,en=$t?o($t):Qt,tn=1,nn=2,rn=4,an=`[object Arguments]`,on=`[object Array]`,sn=`[object Boolean]`,cn=`[object Date]`,ln=`[object Error]`,un=`[object Function]`,dn=`[object GeneratorFunction]`,fn=`[object Map]`,pn=`[object Number]`,mn=`[object Object]`,hn=`[object RegExp]`,gn=`[object Set]`,_n=`[object String]`,vn=`[object Symbol]`,yn=`[object WeakMap]`,bn=`[object ArrayBuffer]`,xn=`[object DataView]`,Sn=`[object Float32Array]`,Cn=`[object Float64Array]`,wn=`[object Int8Array]`,Tn=`[object Int16Array]`,En=`[object Int32Array]`,Dn=`[object Uint8Array]`,On=`[object Uint8ClampedArray]`,kn=`[object Uint16Array]`,An=`[object Uint32Array]`,R={};R[an]=R[on]=R[bn]=R[xn]=R[sn]=R[cn]=R[Sn]=R[Cn]=R[wn]=R[Tn]=R[En]=R[fn]=R[pn]=R[mn]=R[hn]=R[gn]=R[_n]=R[vn]=R[Dn]=R[On]=R[kn]=R[An]=!0,R[ln]=R[un]=R[yn]=!1;function z(e,t,n,r,i,a){var o,c=t&tn,u=t&nn,d=t&rn;if(n&&(o=i?n(e,r,i,a):n(e)),o!==void 0)return o;if(!y(e))return e;var f=_(e);if(f){if(o=_t(e),!c)return He(e,o)}else{var p=b(e),m=p==un||p==dn;if(l(e))return dt(e,c);if(p==mn||p==an||m&&!i){if(o=u||m?{}:Kt(e),!c)return u?mt(e,ot(o,e)):ft(e,at(o,e))}else{if(!R[p])return i?e:{};o=Gt(e,p,c)}}a||=new ee;var h=a.get(e);if(h)return h;a.set(e,o),en(e)?e.forEach(function(r){o.add(z(r,t,n,r,e,a))}):Xt(e)&&e.forEach(function(r,i){o.set(i,z(r,t,n,i,e,a))});var g=f?void 0:(d?u?ht:Ce:u?I:me)(e);return s(g||e,function(r,i){g&&(i=r,r=e[i]),N(o,i,z(r,t,n,i,e,a))}),o}var jn=1,Mn=4;function Nn(e){return z(e,jn|Mn)}var Pn=function(){return fe.Date.now()},Fn=Object.prototype,In=Fn.hasOwnProperty,Ln=n(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&F(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=I(a),s=-1,l=o.length;++s<l;){var u=o[s],d=e[u];(d===void 0||c(d,Fn[u])&&!In.call(e,u))&&(e[u]=a[u])}return e});function Rn(e,t,n){(n!==void 0&&!c(e[t],n)||n===void 0&&!(t in e))&&M(e,t,n)}function zn(e,t){if(!(t===`constructor`&&typeof e[t]==`function`)&&t!=`__proto__`)return e[t]}function Bn(e){return P(e,I(e))}function Vn(e,t,n,r,i,a,o){var s=zn(e,n),c=zn(t,n),u=o.get(c);if(u){Rn(e,n,u);return}var d=a?a(s,c,n+``,e,t,o):void 0,p=d===void 0;if(p){var h=_(c),g=!h&&l(c),v=!h&&!g&&m(c);d=c,h||g||v?_(s)?d=s:ce(s)?d=He(s):g?(p=!1,d=dt(c,!0)):v?(p=!1,d=Tt(c,!0)):d=[]:nt(c)||f(c)?(d=s,f(s)?d=Bn(s):(!y(s)||oe(s))&&(d=Kt(c))):p=!1}p&&(o.set(c,d),i(d,c,r,a,o),o.delete(c)),Rn(e,n,d)}function Hn(e,t,n,r,i){e!==t&&le(t,function(a,o){if(i||=new ee,y(a))Vn(e,t,o,n,Hn,r,i);else{var s=r?r(zn(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),Rn(e,o,s)}},I)}function B(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function Un(e){return function(t,n,r){var i=Object(t);if(!A(t)){var a=C(n,3);t=me(t),n=function(e){return a(i[e],e,i)}}var o=e(t,n,r);return o>-1?i[a?t[o]:o]:void 0}}var Wn=Math.max;function Gn(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:ze(n);return i<0&&(i=Wn(r+i,0)),ie(e,C(t,3),i)}var Kn=Un(Gn);function qn(e,t){var n=-1,r=A(e)?Array(e.length):[];return he(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function V(t,n){return(_(t)?e:qn)(t,C(n,3))}function Jn(e,t){return e==null?e:le(e,xe(t),I)}function Yn(e,t){return e&&Se(e,xe(t))}function Xn(e,t){return e>t}var Zn=Object.prototype.hasOwnProperty;function Qn(e,t){return e!=null&&Zn.call(e,t)}function $n(e,t){return e!=null&&de(e,t,Qn)}var er=`[object String]`;function tr(e){return typeof e==`string`||!_(e)&&k(e)&&_e(e)==er}function nr(e,t){return e<t}function H(e,t){var n={};return t=C(t,3),Se(e,function(e,r,i){M(n,r,t(e,r,i))}),n}function rr(e,t,n){for(var r=-1,i=e.length;++r<i;){var a=e[r],o=t(a);if(o!=null&&(s===void 0?o===o&&!S(o):n(o,s)))var s=o,c=a}return c}function U(e){return e&&e.length?rr(e,ae,Xn):void 0}var ir=We(function(e,t,n){Hn(e,t,n)});function W(e){return e&&e.length?rr(e,ae,nr):void 0}function ar(e,t){return e&&e.length?rr(e,C(t,2),nr):void 0}function or(e,t,n,r){if(!y(e))return e;t=i(t,e);for(var o=-1,s=t.length,c=s-1,l=e;l!=null&&++o<s;){var u=a(t[o]),d=n;if(u===`__proto__`||u===`constructor`||u===`prototype`)return e;if(o!=c){var f=l[u];d=r?r(f,u,l):void 0,d===void 0&&(d=y(f)?f:ne(t[o+1])?[]:{})}N(l,u,d),l=l[u]}return e}function sr(e,t,n){for(var r=-1,a=t.length,o={};++r<a;){var s=t[r],c=te(e,s);n(c,s)&&or(o,i(s,e),c)}return o}function cr(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function lr(e,t){if(e!==t){var n=e!==void 0,r=e===null,i=e===e,a=S(e),o=t!==void 0,s=t===null,c=t===t,l=S(t);if(!s&&!l&&!a&&e>t||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e<t||l&&n&&i&&!r&&!a||s&&n&&i||!o&&i||!c)return-1}return 0}function ur(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=lr(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function dr(t,n,r){n=n.length?e(n,function(e){return _(e)?function(t){return te(t,e.length===1?e[0]:e)}:e}):[ae];var i=-1;return n=e(n,o(C)),cr(qn(t,function(t,r,a){return{criteria:e(n,function(e){return e(t)}),index:++i,value:t}}),function(e,t){return ur(e,t,r)})}var fr=ve(`length`),pr=`\\ud800-\\udfff`,mr=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,hr=`\\ufe0e\\ufe0f`,gr=`[`+pr+`]`,G=`[`+mr+`]`,_r=`\\ud83c[\\udffb-\\udfff]`,vr=`(?:`+G+`|`+_r+`)`,yr=`[^`+pr+`]`,br=`(?:\\ud83c[\\udde6-\\uddff]){2}`,xr=`[\\ud800-\\udbff][\\udc00-\\udfff]`,Sr=`\\u200d`,Cr=vr+`?`,wr=`[`+hr+`]?`,Tr=`(?:`+Sr+`(?:`+[yr,br,xr].join(`|`)+`)`+wr+Cr+`)*`,Er=wr+Cr+Tr,Dr=`(?:`+[yr+G+`?`,G,br,xr,gr].join(`|`)+`)`,Or=RegExp(_r+`(?=`+_r+`)|`+Dr+Er,`g`);function kr(e){for(var t=Or.lastIndex=0;Or.test(e);)++t;return t}function Ar(e){return it(e)?kr(e):fr(e)}function jr(e,t){return sr(e,t,function(t,n){return ge(e,n)})}var K=Je(function(e,t){return e==null?{}:jr(e,t)}),Mr=Math.ceil,Nr=Math.max;function Pr(e,t,n,r){for(var i=-1,a=Nr(Mr((t-e)/(n||1)),0),o=Array(a);a--;)o[r?a:++i]=e,e+=n;return o}function Fr(e){return function(t,n,r){return r&&typeof r!=`number`&&F(t,n,r)&&(n=r=void 0),t=j(t),n===void 0?(n=t,t=0):n=j(n),r=r===void 0?t<n?1:-1:j(r),Pr(t,n,r,e)}}var q=Fr(),Ir=`[object Map]`,Lr=`[object Set]`;function Rr(e){if(e==null)return 0;if(A(e))return tr(e)?Ar(e):e.length;var n=b(e);return n==Ir||n==Lr?e.size:t(e).length}var J=n(function(e,t){if(e==null)return[];var n=t.length;return n>1&&F(e,t[0],t[1])?t=[]:n>2&&F(t[0],t[1],t[2])&&(t=[t[0]]),dr(e,r(t,1),[])}),zr=0;function Br(e){var t=++zr;return h(e)+t}function Vr(e,t,n){for(var r=-1,i=e.length,a=t.length,o={};++r<i;){var s=r<a?t[r]:void 0;n(o,e[r],s)}return o}function Hr(e,t){return Vr(e||[],t||[],N)}var Ur=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return Wr(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&Wr(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,Gr)),n=n._prev;return`[`+e.join(`, `)+`]`}};function Wr(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Gr(e,t){if(e!==`_next`&&e!==`_prev`)return t}var Kr=u(1);function qr(e,t){if(e.nodeCount()<=1)return[];var n=Xr(e,t||Kr);return L(V(Jr(n.graph,n.buckets,n.zeroIdx),function(t){return e.outEdges(t.v,t.w)}))}function Jr(e,t,n){for(var r=[],i=t[t.length-1],a=t[0],o;e.nodeCount();){for(;o=a.dequeue();)Yr(e,t,n,o);for(;o=i.dequeue();)Yr(e,t,n,o);if(e.nodeCount()){for(var s=t.length-2;s>0;--s)if(o=t[s].dequeue(),o){r=r.concat(Yr(e,t,n,o,!0));break}}}return r}function Yr(e,t,n,r,i){var a=i?[]:void 0;return E(e.inEdges(r.v),function(r){var o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,Zr(t,n,s)}),E(e.outEdges(r.v),function(r){var i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,Zr(t,n,o)}),e.removeNode(r.v),a}function Xr(e,t){var n=new O,r=0,i=0;E(e.nodes(),function(e){n.setNode(e,{v:e,in:0,out:0})}),E(e.edges(),function(e){var a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s),i=Math.max(i,n.node(e.v).out+=o),r=Math.max(r,n.node(e.w).in+=o)});var a=q(i+r+3).map(function(){return new Ur}),o=r+1;return E(n.nodes(),function(e){Zr(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function Zr(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function Qr(e){E(e.graph().acyclicer===`greedy`?qr(e,t(e)):$r(e),function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,Br(`rev`))});function t(e){return function(t){return e.edge(t).weight}}}function $r(e){var t=[],n={},r={};function i(a){Object.prototype.hasOwnProperty.call(r,a)||(r[a]=!0,n[a]=!0,E(e.outEdges(a),function(e){Object.prototype.hasOwnProperty.call(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return E(e.nodes(),i),t}function ei(e){E(e.edges(),function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function Y(e,t,n,r){var i;do i=Br(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function ti(e){var t=new O().setGraph(e.graph());return E(e.nodes(),function(n){t.setNode(n,e.node(n))}),E(e.edges(),function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function ni(e){var t=new O({multigraph:e.isMultigraph()}).setGraph(e.graph());return E(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),E(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function ri(e,t){var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);var c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function X(e){var t=V(q(si(e)+1),function(){return[]});return E(e.nodes(),function(n){var r=e.node(n),i=r.rank;D(i)||(t[i][r.order]=n)}),t}function ii(e){var t=W(V(e.nodes(),function(t){return e.node(t).rank}));E(e.nodes(),function(n){var r=e.node(n);$n(r,`rank`)&&(r.rank-=t)})}function ai(e){var t=W(V(e.nodes(),function(t){return e.node(t).rank})),n=[];E(e.nodes(),function(r){var i=e.node(r).rank-t;n[i]||(n[i]=[]),n[i].push(r)});var r=0,i=e.graph().nodeRankFactor;E(n,function(t,n){D(t)&&n%i!==0?--r:r&&E(t,function(t){e.node(t).rank+=r})})}function oi(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),Y(e,`border`,i,t)}function si(e){return U(V(e.nodes(),function(t){var n=e.node(t).rank;if(!D(n))return n}))}function ci(e,t){var n={lhs:[],rhs:[]};return E(e,function(e){t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function li(e,t){var n=Pn();try{return t()}finally{console.log(e+` time: `+(Pn()-n)+`ms`)}}function ui(e,t){return t()}function di(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&E(r,t),Object.prototype.hasOwnProperty.call(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a<o;++a)fi(e,`borderLeft`,`_bl`,n,i,a),fi(e,`borderRight`,`_br`,n,i,a)}}E(e.children(),t)}function fi(e,t,n,r,i,a){var o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=Y(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function pi(e){var t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&hi(e)}function mi(e){var t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&_i(e),(t===`lr`||t===`rl`)&&(yi(e),hi(e))}function hi(e){E(e.nodes(),function(t){gi(e.node(t))}),E(e.edges(),function(t){gi(e.edge(t))})}function gi(e){var t=e.width;e.width=e.height,e.height=t}function _i(e){E(e.nodes(),function(t){vi(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);E(n.points,vi),Object.prototype.hasOwnProperty.call(n,`y`)&&vi(n)})}function vi(e){e.y=-e.y}function yi(e){E(e.nodes(),function(t){bi(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);E(n.points,bi),Object.prototype.hasOwnProperty.call(n,`x`)&&bi(n)})}function bi(e){var t=e.x;e.x=e.y,e.y=t}function xi(e){e.graph().dummyChains=[],E(e.edges(),function(t){Si(e,t)})}function Si(e,t){var n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==r+1){e.removeEdge(t);var l=void 0,u,d;for(d=0,++r;r<a;++d,++r)s.points=[],l={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},u=Y(e,`edge`,l,`_d`),r===c&&(l.width=s.width,l.height=s.height,l.dummy=`edge-label`,l.labelpos=s.labelpos),e.setEdge(n,u,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(u),n=u;e.setEdge(n,i,{weight:s.weight},o)}}function Ci(e){E(e.graph().dummyChains,function(t){var n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function wi(e){var t={};function n(r){var i=e.node(r);if(Object.prototype.hasOwnProperty.call(t,r))return i.rank;t[r]=!0;var a=W(V(e.outEdges(r),function(t){return n(t.w)-e.edge(t).minlen}));return(a===1/0||a==null)&&(a=0),i.rank=a}E(e.sources(),n)}function Z(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function Ti(e){var t=new O({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,a;Ei(t,e)<r;)i=Di(t,e),a=t.hasNode(i.v)?Z(e,i):-Z(e,i),Oi(t,e,a);return t}function Ei(e,t){function n(r){E(t.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!Z(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return E(e.nodes(),n),e.nodeCount()}function Di(e,t){return ar(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return Z(t,n)})}function Oi(e,t,n){E(e.nodes(),function(e){t.node(e).rank+=n})}u(1),u(1),ki.CycleException=Q;function ki(e){var t={},n={},r=[];function i(a){if(Object.prototype.hasOwnProperty.call(n,a))throw new Q;Object.prototype.hasOwnProperty.call(t,a)||(n[a]=!0,t[a]=!0,E(e.predecessors(a),i),delete n[a],r.push(a))}if(E(e.sinks(),i),Rr(t)!==e.nodeCount())throw new Q;return r}function Q(){}Q.prototype=Error();function Ai(e,t,n){_(t)||(t=[t]);var r=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],a={};return E(t,function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);ji(e,t,n===`post`,a,r,i)}),i}function ji(e,t,n,r,i,a){Object.prototype.hasOwnProperty.call(r,t)||(r[t]=!0,n||a.push(t),E(i(t),function(t){ji(e,t,n,r,i,a)}),n&&a.push(t))}function Mi(e,t){return Ai(e,t,`post`)}function Ni(e,t){return Ai(e,t,`pre`)}$.initLowLimValues=Li,$.initCutValues=Pi,$.calcCutValue=Ii,$.leaveEdge=zi,$.enterEdge=Bi,$.exchangeEdges=Vi;function $(e){e=ti(e),wi(e);var t=Ti(e);Li(t),Pi(t,e);for(var n,r;n=zi(t);)r=Bi(t,e,n),Vi(t,e,n,r)}function Pi(e,t){var n=Mi(e,e.nodes());n=n.slice(0,n.length-1),E(n,function(n){Fi(e,t,n)})}function Fi(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=Ii(e,t,n)}function Ii(e,t,n){var r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;return a||=(i=!1,t.edge(r,n)),o=a.weight,E(t.nodeEdges(n),function(a){var s=a.v===n,c=s?a.w:a.v;if(c!==r){var l=s===i,u=t.edge(a).weight;if(o+=l?u:-u,Ui(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function Li(e,t){arguments.length<2&&(t=e.nodes()[0]),Ri(e,{},1,t)}function Ri(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,E(e.neighbors(r),function(i){Object.prototype.hasOwnProperty.call(t,i)||(n=Ri(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function zi(e){return Kn(e.edges(),function(t){return e.edge(t).cutvalue<0})}function Bi(e,t,n){var r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);var a=e.node(r),o=e.node(i),s=a,c=!1;return a.lim>o.lim&&(s=o,c=!0),ar(x(t.edges(),function(t){return c===Wi(e,e.node(t.v),s)&&c!==Wi(e,e.node(t.w),s)}),function(e){return Z(t,e)})}function Vi(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Li(e),Pi(e,t),Hi(e,t)}function Hi(e,t){var n=Ni(e,Kn(e.nodes(),function(e){return!t.node(e).parent}));n=n.slice(1),E(n,function(n){var r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function Ui(e,t,n){return e.hasEdge(t,n)}function Wi(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}function Gi(e){switch(e.graph().ranker){case`network-simplex`:Ji(e);break;case`tight-tree`:qi(e);break;case`longest-path`:Ki(e);break;default:Ji(e)}}var Ki=wi;function qi(e){wi(e),Ti(e)}function Ji(e){$(e)}function Yi(e){var t=Y(e,`root`,{},`_root`),n=Zi(e),r=U(w(n))-1,i=2*r+1;e.graph().nestingRoot=t,E(e.edges(),function(t){e.edge(t).minlen*=i});var a=Qi(e)+1;E(e.children(),function(o){Xi(e,t,i,a,r,n,o)}),e.graph().nodeRankFactor=i}function Xi(e,t,n,r,i,a,o){var s=e.children(o);if(!s.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}var c=oi(e,`_bt`),l=oi(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,E(s,function(s){Xi(e,t,n,r,i,a,s);var u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+a[o]})}function Zi(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&E(a,function(e){n(e,i+1)}),t[r]=i}return E(e.children(),function(e){n(e,1)}),t}function Qi(e){return T(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function $i(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,E(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}function ea(e,t,n){var r={},i;E(n,function(n){for(var a=e.parent(n),o,s;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function ta(e,t,n){var r=na(e),i=new O({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(t){return e.node(t)});return E(e.nodes(),function(a){var o=e.node(a),s=e.parent(a);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(i.setNode(a),i.setParent(a,s||r),E(e[n](a),function(t){var n=t.v===a?t.w:t.v,r=i.edge(n,a),o=D(r)?0:r.weight;i.setEdge(n,a,{weight:e.edge(t).weight+o})}),Object.prototype.hasOwnProperty.call(o,`minRank`)&&i.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),i}function na(e){for(var t;e.hasNode(t=Br(`_root`)););return t}function ra(e,t){for(var n=0,r=1;r<t.length;++r)n+=ia(e,t[r-1],t[r]);return n}function ia(e,t,n){for(var r=Hr(n,V(n,function(e,t){return t})),i=L(V(t,function(t){return J(V(e.outEdges(t),function(t){return{pos:r[t.w],weight:e.edge(t).weight}}),`pos`)})),a=1;a<n.length;)a<<=1;var o=2*a-1;--a;var s=V(Array(o),function(){return 0}),c=0;return E(i.forEach(function(e){var t=e.pos+a;s[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n})),c}function aa(e){var t={},n=x(e.nodes(),function(t){return!e.children(t).length}),r=V(q(U(V(n,function(t){return e.node(t).rank}))+1),function(){return[]});function i(n){$n(t,n)||(t[n]=!0,r[e.node(n).rank].push(n),E(e.successors(n),i))}return E(J(n,function(t){return e.node(t).rank}),i),r}function oa(e,t){return V(t,function(t){var n=e.inEdges(t);if(n.length){var r=T(n,function(t,n){var r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}else return{v:t}})}function sa(e,t){var n={};return E(e,function(e,t){var r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};D(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),E(t.edges(),function(e){var t=n[e.v],r=n[e.w];!D(t)&&!D(r)&&(r.indegree++,t.out.push(n[e.w]))}),ca(x(n,function(e){return!e.indegree}))}function ca(e){var t=[];function n(e){return function(t){t.merged||(D(t.barycenter)||D(e.barycenter)||t.barycenter>=e.barycenter)&&la(e,t)}}function r(t){return function(n){n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){var i=e.pop();t.push(i),E(i.in.reverse(),n(i)),E(i.out,r(i))}return V(x(t,function(e){return!e.merged}),function(e){return K(e,[`vs`,`i`,`barycenter`,`weight`])})}function la(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function ua(e,t){var n=ci(e,function(e){return Object.prototype.hasOwnProperty.call(e,`barycenter`)}),r=n.lhs,i=J(n.rhs,function(e){return-e.i}),a=[],o=0,s=0,c=0;r.sort(fa(!!t)),c=da(a,i,c),E(r,function(e){c+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,c=da(a,i,c)});var l={vs:L(a)};return s&&(l.barycenter=o/s,l.weight=s),l}function da(e,t,n){for(var r;t.length&&(r=B(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function fa(e){return function(t,n){return t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}}function pa(e,t,n,r){var i=e.children(t),a=e.node(t),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(i=x(i,function(e){return e!==o&&e!==s}));var l=oa(e,i);E(l,function(t){if(e.children(t.v).length){var i=pa(e,t.v,n,r);c[t.v]=i,Object.prototype.hasOwnProperty.call(i,`barycenter`)&&ha(t,i)}});var u=sa(l,n);ma(u,c);var d=ua(u,r);if(o&&(d.vs=L([o,d.vs,s]),e.predecessors(o).length)){var f=e.node(e.predecessors(o)[0]),p=e.node(e.predecessors(s)[0]);Object.prototype.hasOwnProperty.call(d,`barycenter`)||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function ma(e,t){E(e,function(e){e.vs=L(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}function ha(e,t){D(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function ga(e){var t=si(e),n=_a(e,q(1,t+1),`inEdges`),r=_a(e,q(t-1,-1,-1),`outEdges`),i=aa(e);ya(e,i);for(var a=1/0,o,s=0,c=0;c<4;++s,++c){va(s%2?n:r,s%4>=2),i=X(e);var l=ra(e,i);l<a&&(c=0,o=Nn(i),a=l)}ya(e,o)}function _a(e,t,n){return V(t,function(t){return ta(e,t,n)})}function va(e,t){var n=new O;E(e,function(e){var r=e.graph().root,i=pa(e,r,n,t);E(i.vs,function(t,n){e.node(t).order=n}),ea(e,n,i.vs)})}function ya(e,t){E(t,function(t){E(t,function(t,n){e.node(t).order=n})})}function ba(e){var t=Sa(e);E(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,a=xa(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(l=o[c+1]).minRank<=r.rank;)c++;l=o[c]}e.setParent(n,l),n=e.successors(n)[0]}})}function xa(e,t,n,r){var i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c=n,l;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function Sa(e){var t={},n=0;function r(i){var a=n;E(e.children(i),r),t[i]={low:a,lim:n++}}return E(e.children(),r),t}function Ca(e,t){var n={};function r(t,r){var i=0,a=0,o=t.length,s=B(r);return E(r,function(t,c){var l=Ta(e,t),u=l?e.node(l).order:o;(l||t===s)&&(E(r.slice(a,c+1),function(t){E(e.predecessors(t),function(r){var a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&Ea(n,r,t)})}),a=c+1,i=u)}),r}return T(t,r),n}function wa(e,t){var n={};function r(t,r,i,a,o){var s;E(q(r,i),function(r){s=t[r],e.node(s).dummy&&E(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&Ea(n,t,s)})})}function i(t,n){var i=-1,a,o=0;return E(n,function(s,c){if(e.node(s).dummy===`border`){var l=e.predecessors(s);l.length&&(a=e.node(l[0]).order,r(n,o,c,i,a),o=c,i=a)}r(n,o,n.length,a,t.length)}),n}return T(t,i),n}function Ta(e,t){if(e.node(t).dummy)return Kn(e.predecessors(t),function(t){return e.node(t).dummy})}function Ea(e,t,n){if(t>n){var r=t;t=n,n=r}Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[t];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function Da(e,t,n){if(t>n){var r=t;t=n,n=r}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],n)}function Oa(e,t,n,r){var i={},a={},o={};return E(t,function(e){E(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),E(t,function(e){var t=-1;E(e,function(e){var s=r(e);if(s.length){s=J(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),u=Math.ceil(c);l<=u;++l){var d=s[l];a[e]===e&&t<o[d]&&!Da(n,e,d)&&(a[d]=e,a[e]=i[e]=i[d],t=o[d])}}})}),{root:i,align:a}}function ka(e,t,n,r,i){var a={},o=Aa(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){for(var n=o.nodes(),r=n.pop(),i={};r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}function l(e){a[e]=o.inEdges(e).reduce(function(e,t){return Math.max(e,a[t.v]+o.edge(t))},0)}function u(t){var n=o.outEdges(t).reduce(function(e,t){return Math.min(e,a[t.w]-o.edge(t))},1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),E(r,function(e){a[e]=a[n[e]]}),a}function Aa(e,t,n,r){var i=new O,a=e.graph(),o=Fa(a.nodesep,a.edgesep,r);return E(t,function(t){var r;E(t,function(t){var a=n[t];if(i.setNode(a),r){var s=n[r],c=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),c||0))}r=t})}),i}function ja(e,t){return ar(w(t),function(t){var n=-1/0,r=1/0;return Jn(t,function(t,i){var a=Ia(e,i)/2;n=Math.max(t+a,n),r=Math.min(t-a,r)}),n-r})}function Ma(e,t){var n=w(t),r=W(n),i=U(n);E([`u`,`d`],function(n){E([`l`,`r`],function(a){var o=n+a,s=e[o],c;if(s!==t){var l=w(s);c=a===`l`?r-W(l):i-U(l),c&&(e[o]=H(s,function(e){return e+c}))}})})}function Na(e,t){return H(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=J(V(e,r));return(i[1]+i[2])/2})}function Pa(e){var t=X(e),n=ir(Ca(e,t),wa(e,t)),r={},i;return E([`u`,`d`],function(a){i=a===`u`?t:w(t).reverse(),E([`l`,`r`],function(t){t===`r`&&(i=V(i,function(e){return w(e).reverse()}));var o=(a===`u`?e.predecessors:e.successors).bind(e),s=Oa(e,i,n,o),c=ka(e,i,s.root,s.align,t===`r`);t===`r`&&(c=H(c,function(e){return-e})),r[a+t]=c})}),Ma(r,ja(e,r)),Na(r,e.graph().align)}function Fa(e,t,n){return function(r,i,a){var o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.prototype.hasOwnProperty.call(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2;break}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.prototype.hasOwnProperty.call(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2;break}return l&&(c+=n?l:-l),l=0,c}}function Ia(e,t){return e.node(t).width}function La(e){e=ni(e),Ra(e),Yn(Pa(e),function(t,n){e.node(n).x=t})}function Ra(e){var t=X(e),n=e.graph().ranksep,r=0;E(t,function(t){var i=U(V(t,function(t){return e.node(t).height}));E(t,function(t){e.node(t).y=r+i/2}),r+=i+n})}function za(e,t){var n=t&&t.debugTiming?li:ui;n(`layout`,()=>{var t=n(` buildLayoutGraph`,()=>Xa(e));n(` runLayout`,()=>Ba(t,n)),n(` updateInputGraph`,()=>Va(e,t))})}function Ba(e,t){t(` makeSpaceForEdgeLabels`,()=>Za(e)),t(` removeSelfEdges`,()=>oo(e)),t(` acyclic`,()=>Qr(e)),t(` nestingGraph.run`,()=>Yi(e)),t(` rank`,()=>Gi(ni(e))),t(` injectEdgeLabelProxies`,()=>Qa(e)),t(` removeEmptyRanks`,()=>ai(e)),t(` nestingGraph.cleanup`,()=>$i(e)),t(` normalizeRanks`,()=>ii(e)),t(` assignRankMinMax`,()=>$a(e)),t(` removeEdgeLabelProxies`,()=>eo(e)),t(` normalize.run`,()=>xi(e)),t(` parentDummyChains`,()=>ba(e)),t(` addBorderSegments`,()=>di(e)),t(` order`,()=>ga(e)),t(` insertSelfEdges`,()=>so(e)),t(` adjustCoordinateSystem`,()=>pi(e)),t(` position`,()=>La(e)),t(` positionSelfEdges`,()=>co(e)),t(` removeBorderNodes`,()=>ao(e)),t(` normalize.undo`,()=>Ci(e)),t(` fixupEdgeLabelCoords`,()=>ro(e)),t(` undoCoordinateSystem`,()=>mi(e)),t(` translateGraph`,()=>to(e)),t(` assignNodeIntersects`,()=>no(e)),t(` reversePoints`,()=>io(e)),t(` acyclic.undo`,()=>ei(e))}function Va(e,t){E(e.nodes(),function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))}),E(e.edges(),function(n){var r=e.edge(n),i=t.edge(n);r.points=i.points,Object.prototype.hasOwnProperty.call(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var Ha=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],Ua={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},Wa=[`acyclicer`,`ranker`,`rankdir`,`align`],Ga=[`width`,`height`],Ka={width:0,height:0},qa=[`minlen`,`weight`,`width`,`height`,`labeloffset`],Ja={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},Ya=[`labelpos`];function Xa(e){var t=new O({multigraph:!0,compound:!0}),n=uo(e.graph());return t.setGraph(ir({},Ua,lo(n,Ha),K(n,Wa))),E(e.nodes(),function(n){var r=uo(e.node(n));t.setNode(n,Ln(lo(r,Ga),Ka)),t.setParent(n,e.parent(n))}),E(e.edges(),function(n){var r=uo(e.edge(n));t.setEdge(n,ir({},Ja,lo(r,qa),K(r,Ya)))}),t}function Za(e){var t=e.graph();t.ranksep/=2,E(e.edges(),function(n){var r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Qa(e){E(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v);Y(e,`edge-proxy`,{rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t},`_ep`)}})}function $a(e){var t=0;E(e.nodes(),function(n){var r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=U(t,r.maxRank))}),e.graph().maxRank=t}function eo(e){E(e.nodes(),function(t){var n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function to(e){var t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){var a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}E(e.nodes(),function(t){c(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);Object.prototype.hasOwnProperty.call(n,`x`)&&c(n)}),t-=o,r-=s,E(e.nodes(),function(n){var i=e.node(n);i.x-=t,i.y-=r}),E(e.edges(),function(n){var i=e.edge(n);E(i.points,function(e){e.x-=t,e.y-=r}),Object.prototype.hasOwnProperty.call(i,`x`)&&(i.x-=t),Object.prototype.hasOwnProperty.call(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function no(e){E(e.edges(),function(t){var n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(ri(r,a)),n.points.push(ri(i,o))})}function ro(e){E(e.edges(),function(t){var n=e.edge(t);if(Object.prototype.hasOwnProperty.call(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset;break}})}function io(e){E(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function ao(e){E(e.nodes(),function(t){if(e.children(t).length){var n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(B(n.borderLeft)),o=e.node(B(n.borderRight));n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),E(e.nodes(),function(t){e.node(t).dummy===`border`&&e.removeNode(t)})}function oo(e){E(e.edges(),function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function so(e){E(X(e),function(t){var n=0;E(t,function(t,r){var i=e.node(t);i.order=r+n,E(i.selfEdges,function(t){Y(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function co(e){E(e.nodes(),function(t){var n=e.node(t);if(n.dummy===`selfedge`){var r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function lo(e,t){return H(K(e,t),Number)}function uo(e){var t={};return E(e,function(e,n){t[n.toLowerCase()]=e}),t}export{V as n,z as r,za as t};
2
+ //# sourceMappingURL=dagre-Bx709z4p.js.map