@chrome-acp/proxy-server 1.0.16 → 1.0.17

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 (107) hide show
  1. package/dist/server.d.ts.map +1 -1
  2. package/dist/server.js +12 -3
  3. package/dist/server.js.map +1 -1
  4. package/package.json +1 -1
  5. package/public/assets/{architectureDiagram-VXUJARFQ-ERfmZBZO.js → architectureDiagram-VXUJARFQ-B47Ndmy5.js} +2 -2
  6. package/public/assets/{architectureDiagram-VXUJARFQ-ERfmZBZO.js.map → architectureDiagram-VXUJARFQ-B47Ndmy5.js.map} +1 -1
  7. package/public/assets/{blockDiagram-VD42YOAC-Do2HjB0Z.js → blockDiagram-VD42YOAC-DHW2Yy3m.js} +2 -2
  8. package/public/assets/{blockDiagram-VD42YOAC-Do2HjB0Z.js.map → blockDiagram-VD42YOAC-DHW2Yy3m.js.map} +1 -1
  9. package/public/assets/{c4Diagram-YG6GDRKO-DJnxx7fH.js → c4Diagram-YG6GDRKO-DB1gnVDd.js} +2 -2
  10. package/public/assets/{c4Diagram-YG6GDRKO-DJnxx7fH.js.map → c4Diagram-YG6GDRKO-DB1gnVDd.js.map} +1 -1
  11. package/public/assets/channel--lAGecNa.js +2 -0
  12. package/public/assets/{channel-ByUlP8on.js.map → channel--lAGecNa.js.map} +1 -1
  13. package/public/assets/{chunk-ABZYJK2D-4V3xBx2D.js → chunk-ABZYJK2D-HgbyFrVX.js} +3 -3
  14. package/public/assets/{chunk-ABZYJK2D-4V3xBx2D.js.map → chunk-ABZYJK2D-HgbyFrVX.js.map} +1 -1
  15. package/public/assets/{chunk-ATLVNIR6-DCub4004.js → chunk-ATLVNIR6-BQ-FSJNL.js} +2 -2
  16. package/public/assets/{chunk-ATLVNIR6-DCub4004.js.map → chunk-ATLVNIR6-BQ-FSJNL.js.map} +1 -1
  17. package/public/assets/{chunk-B4BG7PRW-DH_dyws5.js → chunk-B4BG7PRW-CyTjkY1o.js} +2 -2
  18. package/public/assets/{chunk-B4BG7PRW-DH_dyws5.js.map → chunk-B4BG7PRW-CyTjkY1o.js.map} +1 -1
  19. package/public/assets/{chunk-DI55MBZ5-BdKNset0.js → chunk-DI55MBZ5-D-I-DYs-.js} +2 -2
  20. package/public/assets/{chunk-DI55MBZ5-BdKNset0.js.map → chunk-DI55MBZ5-D-I-DYs-.js.map} +1 -1
  21. package/public/assets/{chunk-EXTU4WIE-BhjM7T9E.js → chunk-EXTU4WIE-ClPY4-W1.js} +2 -2
  22. package/public/assets/{chunk-EXTU4WIE-BhjM7T9E.js.map → chunk-EXTU4WIE-ClPY4-W1.js.map} +1 -1
  23. package/public/assets/{chunk-JA3XYJ7Z-DFEpfAPm.js → chunk-JA3XYJ7Z-YYTBY02i.js} +2 -2
  24. package/public/assets/{chunk-JA3XYJ7Z-DFEpfAPm.js.map → chunk-JA3XYJ7Z-YYTBY02i.js.map} +1 -1
  25. package/public/assets/{chunk-JZLCHNYA--0HCyKSB.js → chunk-JZLCHNYA-D-Iiencc.js} +2 -2
  26. package/public/assets/{chunk-JZLCHNYA--0HCyKSB.js.map → chunk-JZLCHNYA-D-Iiencc.js.map} +1 -1
  27. package/public/assets/{chunk-N4CR4FBY-BbZEJGzH.js → chunk-N4CR4FBY-B--mrRvj.js} +3 -3
  28. package/public/assets/{chunk-N4CR4FBY-BbZEJGzH.js.map → chunk-N4CR4FBY-B--mrRvj.js.map} +1 -1
  29. package/public/assets/{chunk-QN33PNHL-BUlRs8Gu.js → chunk-QN33PNHL-Cui1-yfr.js} +2 -2
  30. package/public/assets/{chunk-QN33PNHL-BUlRs8Gu.js.map → chunk-QN33PNHL-Cui1-yfr.js.map} +1 -1
  31. package/public/assets/{chunk-QXUST7PY-t91kbxTi.js → chunk-QXUST7PY-YBa5hlIO.js} +2 -2
  32. package/public/assets/{chunk-QXUST7PY-t91kbxTi.js.map → chunk-QXUST7PY-YBa5hlIO.js.map} +1 -1
  33. package/public/assets/{chunk-S3R3BYOJ-DKNuA38_.js → chunk-S3R3BYOJ-Wd1A1moT.js} +2 -2
  34. package/public/assets/{chunk-S3R3BYOJ-DKNuA38_.js.map → chunk-S3R3BYOJ-Wd1A1moT.js.map} +1 -1
  35. package/public/assets/{chunk-TZMSLE5B-ZI5Is7DP.js → chunk-TZMSLE5B-Dvd5lWom.js} +2 -2
  36. package/public/assets/{chunk-TZMSLE5B-ZI5Is7DP.js.map → chunk-TZMSLE5B-Dvd5lWom.js.map} +1 -1
  37. package/public/assets/classDiagram-2ON5EDUG-CKK0a4Zs.js +2 -0
  38. package/public/assets/{classDiagram-2ON5EDUG-DvJh-abz.js.map → classDiagram-2ON5EDUG-CKK0a4Zs.js.map} +1 -1
  39. package/public/assets/classDiagram-v2-WZHVMYZB-B1Vm7gRS.js +2 -0
  40. package/public/assets/{classDiagram-v2-WZHVMYZB-DPnIn5s9.js.map → classDiagram-v2-WZHVMYZB-B1Vm7gRS.js.map} +1 -1
  41. package/public/assets/clone-zgtJV3S6.js +2 -0
  42. package/public/assets/{clone--vBohEtN.js.map → clone-zgtJV3S6.js.map} +1 -1
  43. package/public/assets/{code-block-IT6T5CEO-nC1YczKC.js → code-block-IT6T5CEO-GXnQl8M7.js} +2 -2
  44. package/public/assets/{code-block-IT6T5CEO-nC1YczKC.js.map → code-block-IT6T5CEO-GXnQl8M7.js.map} +1 -1
  45. package/public/assets/{dagre-6UL2VRFP-CUvrKiYW.js → dagre-6UL2VRFP-CNp3Eal9.js} +2 -2
  46. package/public/assets/{dagre-6UL2VRFP-CUvrKiYW.js.map → dagre-6UL2VRFP-CNp3Eal9.js.map} +1 -1
  47. package/public/assets/{dagre-yyBB715u.js → dagre-je-VuoV3.js} +2 -2
  48. package/public/assets/{dagre-yyBB715u.js.map → dagre-je-VuoV3.js.map} +1 -1
  49. package/public/assets/{diagram-PSM6KHXK-D1PbEKpY.js → diagram-PSM6KHXK-ZZhGRDjY.js} +2 -2
  50. package/public/assets/{diagram-PSM6KHXK-D1PbEKpY.js.map → diagram-PSM6KHXK-ZZhGRDjY.js.map} +1 -1
  51. package/public/assets/{diagram-QEK2KX5R-43BWK26_.js → diagram-QEK2KX5R-BRwEHJ9v.js} +2 -2
  52. package/public/assets/{diagram-QEK2KX5R-43BWK26_.js.map → diagram-QEK2KX5R-BRwEHJ9v.js.map} +1 -1
  53. package/public/assets/{diagram-S2PKOQOG-BqCGm98C.js → diagram-S2PKOQOG-DMxzSGyi.js} +2 -2
  54. package/public/assets/{diagram-S2PKOQOG-BqCGm98C.js.map → diagram-S2PKOQOG-DMxzSGyi.js.map} +1 -1
  55. package/public/assets/{erDiagram-Q2GNP2WA-DT8X0Bkj.js → erDiagram-Q2GNP2WA-p2z5m2J9.js} +2 -2
  56. package/public/assets/{erDiagram-Q2GNP2WA-DT8X0Bkj.js.map → erDiagram-Q2GNP2WA-p2z5m2J9.js.map} +1 -1
  57. package/public/assets/{flowDiagram-NV44I4VS-t9Tw5aTg.js → flowDiagram-NV44I4VS-lZL8iHMB.js} +2 -2
  58. package/public/assets/{flowDiagram-NV44I4VS-t9Tw5aTg.js.map → flowDiagram-NV44I4VS-lZL8iHMB.js.map} +1 -1
  59. package/public/assets/{ganttDiagram-JELNMOA3-BBKujC33.js → ganttDiagram-JELNMOA3-M6ETimdM.js} +2 -2
  60. package/public/assets/{ganttDiagram-JELNMOA3-BBKujC33.js.map → ganttDiagram-JELNMOA3-M6ETimdM.js.map} +1 -1
  61. package/public/assets/{gitGraphDiagram-NY62KEGX-9rrEkUeV.js → gitGraphDiagram-NY62KEGX-B8pIRXqX.js} +2 -2
  62. package/public/assets/{gitGraphDiagram-NY62KEGX-9rrEkUeV.js.map → gitGraphDiagram-NY62KEGX-B8pIRXqX.js.map} +1 -1
  63. package/public/assets/{graphlib-CDA3kMcX.js → graphlib-q5A9GXR_.js} +2 -2
  64. package/public/assets/{graphlib-CDA3kMcX.js.map → graphlib-q5A9GXR_.js.map} +1 -1
  65. package/public/assets/{infoDiagram-WHAUD3N6-BGL4Sxno.js → infoDiagram-WHAUD3N6-BDkuJktd.js} +2 -2
  66. package/public/assets/{infoDiagram-WHAUD3N6-BGL4Sxno.js.map → infoDiagram-WHAUD3N6-BDkuJktd.js.map} +1 -1
  67. package/public/assets/{journeyDiagram-XKPGCS4Q-CHcHWwKh.js → journeyDiagram-XKPGCS4Q-CEjj-_HO.js} +2 -2
  68. package/public/assets/{journeyDiagram-XKPGCS4Q-CHcHWwKh.js.map → journeyDiagram-XKPGCS4Q-CEjj-_HO.js.map} +1 -1
  69. package/public/assets/{kanban-definition-3W4ZIXB7-BMr9yQtH.js → kanban-definition-3W4ZIXB7-DbtQzM5J.js} +2 -2
  70. package/public/assets/{kanban-definition-3W4ZIXB7-BMr9yQtH.js.map → kanban-definition-3W4ZIXB7-DbtQzM5J.js.map} +1 -1
  71. package/public/assets/katex-CiqNjb1N.js +1 -0
  72. package/public/assets/{line-BxFlNVl2.js → line-B595UT0e.js} +2 -2
  73. package/public/assets/{line-BxFlNVl2.js.map → line-B595UT0e.js.map} +1 -1
  74. package/public/assets/{main-rtUrro6N.js → main-DbEuNKip.js} +6 -6
  75. package/public/assets/main-DbEuNKip.js.map +1 -0
  76. package/public/assets/{mermaid-VLURNSYL-Dt6lsMZf.js → mermaid-VLURNSYL-DEjZVUum.js} +1 -1
  77. package/public/assets/{mermaid.core-CHOGuA8G.js → mermaid.core-DpdbzASN.js} +4 -4
  78. package/public/assets/{mermaid.core-CHOGuA8G.js.map → mermaid.core-DpdbzASN.js.map} +1 -1
  79. package/public/assets/{mindmap-definition-VGOIOE7T-CQ3jo7T_.js → mindmap-definition-VGOIOE7T-BEy7XXtV.js} +2 -2
  80. package/public/assets/{mindmap-definition-VGOIOE7T-CQ3jo7T_.js.map → mindmap-definition-VGOIOE7T-BEy7XXtV.js.map} +1 -1
  81. package/public/assets/{pieDiagram-ADFJNKIX-BskQ5vji.js → pieDiagram-ADFJNKIX-BCijKn09.js} +2 -2
  82. package/public/assets/{pieDiagram-ADFJNKIX-BskQ5vji.js.map → pieDiagram-ADFJNKIX-BCijKn09.js.map} +1 -1
  83. package/public/assets/{quadrantDiagram-AYHSOK5B-Bim0kCz4.js → quadrantDiagram-AYHSOK5B-DXS57dMS.js} +2 -2
  84. package/public/assets/{quadrantDiagram-AYHSOK5B-Bim0kCz4.js.map → quadrantDiagram-AYHSOK5B-DXS57dMS.js.map} +1 -1
  85. package/public/assets/{requirementDiagram-UZGBJVZJ-BThYhHgo.js → requirementDiagram-UZGBJVZJ-B0NPSe12.js} +2 -2
  86. package/public/assets/{requirementDiagram-UZGBJVZJ-BThYhHgo.js.map → requirementDiagram-UZGBJVZJ-B0NPSe12.js.map} +1 -1
  87. package/public/assets/{sankeyDiagram-TZEHDZUN-Cu7jxbPR.js → sankeyDiagram-TZEHDZUN-Dl64TeN-.js} +2 -2
  88. package/public/assets/{sankeyDiagram-TZEHDZUN-Cu7jxbPR.js.map → sankeyDiagram-TZEHDZUN-Dl64TeN-.js.map} +1 -1
  89. package/public/assets/{sequenceDiagram-WL72ISMW-CYpkyiQa.js → sequenceDiagram-WL72ISMW-DQvpFwrV.js} +2 -2
  90. package/public/assets/{sequenceDiagram-WL72ISMW-CYpkyiQa.js.map → sequenceDiagram-WL72ISMW-DQvpFwrV.js.map} +1 -1
  91. package/public/assets/{stateDiagram-FKZM4ZOC-CpduAaAE.js → stateDiagram-FKZM4ZOC-BQ3MkoI5.js} +2 -2
  92. package/public/assets/{stateDiagram-FKZM4ZOC-CpduAaAE.js.map → stateDiagram-FKZM4ZOC-BQ3MkoI5.js.map} +1 -1
  93. package/public/assets/stateDiagram-v2-4FDKWEC3-jQFwl8yw.js +2 -0
  94. package/public/assets/{stateDiagram-v2-4FDKWEC3-BbGisRuk.js.map → stateDiagram-v2-4FDKWEC3-jQFwl8yw.js.map} +1 -1
  95. package/public/assets/{timeline-definition-IT6M3QCI-zPIkl5WF.js → timeline-definition-IT6M3QCI-B73sqQEY.js} +2 -2
  96. package/public/assets/{timeline-definition-IT6M3QCI-zPIkl5WF.js.map → timeline-definition-IT6M3QCI-B73sqQEY.js.map} +1 -1
  97. package/public/assets/{xychartDiagram-PRI3JC2R-BqEbqHoy.js → xychartDiagram-PRI3JC2R-BT9nxs4e.js} +2 -2
  98. package/public/assets/{xychartDiagram-PRI3JC2R-BqEbqHoy.js.map → xychartDiagram-PRI3JC2R-BT9nxs4e.js.map} +1 -1
  99. package/public/index.html +1 -1
  100. package/public/sw.js +1 -1
  101. package/public/assets/channel-ByUlP8on.js +0 -2
  102. package/public/assets/classDiagram-2ON5EDUG-DvJh-abz.js +0 -2
  103. package/public/assets/classDiagram-v2-WZHVMYZB-DPnIn5s9.js +0 -2
  104. package/public/assets/clone--vBohEtN.js +0 -2
  105. package/public/assets/katex-BXZ6-Hmb.js +0 -1
  106. package/public/assets/main-rtUrro6N.js.map +0 -1
  107. package/public/assets/stateDiagram-v2-4FDKWEC3-BbGisRuk.js +0 -2
@@ -1,5 +1,5 @@
1
- import"./shiki-BE3D5Aiv.js";import{a as e}from"./flatten-BM2m3yKG.js";import{g as t,h as n}from"./src-CK1-XQNk.js";import{b as r}from"./chunk-ABZYJK2D-4V3xBx2D.js";import"./chunk-S3R3BYOJ-DKNuA38_.js";import"./dist-CINaey7q.js";import"./chunk-JA3XYJ7Z-DFEpfAPm.js";import"./chunk-HN2XXSSU-CNPMRzR_.js";import{t as i}from"./chunk-CVBHYZKI-D5XSWNoQ.js";import{n as a,t as o}from"./graphlib-CDA3kMcX.js";import{t as s}from"./clone--vBohEtN.js";import{t as c}from"./dagre-yyBB715u.js";import"./chunk-ATLVNIR6-DCub4004.js";import{a as l,c as u,i as d,l as f,n as p,t as m,u as h}from"./chunk-JZLCHNYA--0HCyKSB.js";import{a as g,i as _,n as v,r as y,t as b}from"./chunk-QXUST7PY-t91kbxTi.js";function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:S(e),edges:C(e)};return a(e.graph())||(t.value=s(e.graph())),t}function S(t){return e(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return a(n)||(i.value=n),a(r)||(i.parent=r),i})}function C(t){return e(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return a(e.name)||(r.name=e.name),a(n)||(r.value=n),r})}var w=new Map,T=new Map,E=new Map,D=n(()=>{T.clear(),E.clear(),w.clear()},`clear`),O=n((e,n)=>{let r=T.get(n)||[];return t.trace(`In isDescendant`,n,` `,e,` = `,r.includes(e)),r.includes(e)},`isDescendant`),k=n((e,n)=>{let r=T.get(n)||[];return t.info(`Descendants of `,n,` is `,r),t.info(`Edge is `,e),e.v===n||e.w===n?!1:r?r.includes(e.v)||O(e.v,n)||O(e.w,n)||r.includes(e.w):(t.debug(`Tilt, `,n,`,not in descendants`),!1)},`edgeInCluster`),A=n((e,n,r,i)=>{t.warn(`Copying children of `,e,`root`,i,`data`,n.node(e),i);let a=n.children(e)||[];e!==i&&a.push(e),t.warn(`Copying (nodes) clusterId`,e,`nodes`,a),a.forEach(a=>{if(n.children(a).length>0)A(a,n,r,i);else{let o=n.node(a);t.info(`cp `,a,` to `,i,` with parent `,e),r.setNode(a,o),i!==n.parent(a)&&(t.warn(`Setting parent`,a,n.parent(a)),r.setParent(a,n.parent(a))),e!==i&&a!==e?(t.debug(`Setting parent`,a,e),r.setParent(a,e)):(t.info(`In copy `,e,`root`,i,`data`,n.node(e),i),t.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,e!==i,`node!==clusterId`,a!==e));let s=n.edges(a);t.debug(`Copying Edges`,s),s.forEach(a=>{t.info(`Edge`,a);let o=n.edge(a.v,a.w,a.name);t.info(`Edge data`,o,i);try{k(a,i)?(t.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),t.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):t.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,e)}catch(e){t.error(e)}})}t.debug(`Removing node`,a),n.removeNode(a)})},`copy`),j=n((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)E.set(i,e),r=[...r,...j(i,t)];return r},`extractDescendants`),M=n((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`),N=n((e,n,r)=>{let i=n.children(e);if(t.trace(`Searching children of id `,e,i),i.length<1)return e;let a;for(let e of i){let t=N(e,n,r),i=M(n,r,t);if(t)if(i.length>0)a=t;else return t}return a},`findNonClusterChild`),P=n(e=>!w.has(e)||!w.get(e).externalConnections?e:w.has(e)?w.get(e).id:e,`getAnchorId`),F=n((e,n)=>{if(!e||n>10){t.debug(`Opting out, no graph `);return}else t.debug(`Opting in, graph `);e.nodes().forEach(function(n){e.children(n).length>0&&(t.warn(`Cluster identified`,n,` Replacement id in edges: `,N(n,e,n)),T.set(n,j(n,e)),w.set(n,{id:N(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let r=e.children(n),i=e.edges();r.length>0?(t.debug(`Cluster identified`,n,T),i.forEach(e=>{O(e.v,n)^O(e.w,n)&&(t.warn(`Edge: `,e,` leaves cluster `,n),t.warn(`Descendants of XXX `,n,`: `,T.get(n)),w.get(n).externalConnections=!0)})):t.debug(`Not a cluster `,n,T)});for(let t of w.keys()){let n=w.get(t).id,r=e.parent(n);r!==t&&w.has(r)&&!w.get(r).externalConnections&&(w.get(t).id=r)}e.edges().forEach(function(n){let r=e.edge(n);t.warn(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(n)),t.warn(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(t.warn(`Fix XXX`,w,`ids:`,n.v,n.w,`Translating: `,w.get(n.v),` --- `,w.get(n.w)),w.get(n.v)||w.get(n.w)){if(t.warn(`Fixing and trying - removing XXX`,n.v,n.w,n.name),i=P(n.v),a=P(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){let t=e.parent(i);w.get(t).externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){let t=e.parent(a);w.get(t).externalConnections=!0,r.toCluster=n.w}t.warn(`Fix Replacing with XXX`,i,a,n.name),e.setEdge(i,a,r,n.name)}}),t.warn(`Adjusted Graph`,x(e)),I(e,0),t.trace(w)},`adjustClustersAndEdges`),I=n((e,n)=>{if(t.warn(`extractor - `,n,x(e),e.children(`D`)),n>10){t.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i){t.debug(`Done, no node has children`,e.nodes());return}t.debug(`Nodes = `,r,n);for(let i of r)if(t.debug(`Extracting node`,i,w,w.has(i)&&!w.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,n),!w.has(i))t.debug(`Not a cluster`,i,n);else if(!w.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){t.warn(`Cluster without external connections, without a parent and with children`,i,n);let r=e.graph().rankdir===`TB`?`LR`:`TB`;w.get(i)?.clusterData?.dir&&(r=w.get(i).clusterData.dir,t.warn(`Fixing dir`,w.get(i).clusterData.dir,r));let a=new o({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});t.warn(`Old graph before copy`,x(e)),A(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:w.get(i).clusterData,label:w.get(i).label,graph:a}),t.warn(`New graph after copy node: (`,i,`)`,x(a)),t.debug(`Old graph after copy`,x(e))}else t.warn(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!w.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),n),t.debug(w);r=e.nodes(),t.warn(`New list of nodes`,r);for(let i of r){let r=e.node(i);t.warn(` Now next level`,i,r),r?.clusterNode&&I(r.graph,n+1)}},`extractor`),L=n((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=L(e,e.children(t));n=[...n,...r]}),n},`sorter`),R=n(e=>L(e,e.children()),`sortNodesByHierarchy`),z=n(async(e,r,a,o,s,p)=>{t.warn(`Graph in recursive render:XAX`,x(r),s);let m=r.graph().rankdir;t.trace(`Dir in recursive render - dir:`,m);let _=e.insert(`g`).attr(`class`,`root`);r.nodes()?t.info(`Recursive render XXX`,r.nodes()):t.info(`No nodes found for`,r),r.edges().length>0&&t.info(`Recursive edges`,r.edge(r.edges()[0]));let b=_.insert(`g`).attr(`class`,`clusters`),S=_.insert(`g`).attr(`class`,`edgePaths`),C=_.insert(`g`).attr(`class`,`edgeLabels`),T=_.insert(`g`).attr(`class`,`nodes`);await Promise.all(r.nodes().map(async function(e){let n=r.node(e);if(s!==void 0){let n=JSON.parse(JSON.stringify(s.clusterData));t.trace(`Setting data for parent cluster XXX
1
+ import"./shiki-BE3D5Aiv.js";import{a as e}from"./flatten-BM2m3yKG.js";import{g as t,h as n}from"./src-CK1-XQNk.js";import{b as r}from"./chunk-ABZYJK2D-HgbyFrVX.js";import"./chunk-S3R3BYOJ-Wd1A1moT.js";import"./dist-CINaey7q.js";import"./chunk-JA3XYJ7Z-YYTBY02i.js";import"./chunk-HN2XXSSU-CNPMRzR_.js";import{t as i}from"./chunk-CVBHYZKI-D5XSWNoQ.js";import{n as a,t as o}from"./graphlib-q5A9GXR_.js";import{t as s}from"./clone-zgtJV3S6.js";import{t as c}from"./dagre-je-VuoV3.js";import"./chunk-ATLVNIR6-BQ-FSJNL.js";import{a as l,c as u,i as d,l as f,n as p,t as m,u as h}from"./chunk-JZLCHNYA-D-Iiencc.js";import{a as g,i as _,n as v,r as y,t as b}from"./chunk-QXUST7PY-YBa5hlIO.js";function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:S(e),edges:C(e)};return a(e.graph())||(t.value=s(e.graph())),t}function S(t){return e(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return a(n)||(i.value=n),a(r)||(i.parent=r),i})}function C(t){return e(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return a(e.name)||(r.name=e.name),a(n)||(r.value=n),r})}var w=new Map,T=new Map,E=new Map,D=n(()=>{T.clear(),E.clear(),w.clear()},`clear`),O=n((e,n)=>{let r=T.get(n)||[];return t.trace(`In isDescendant`,n,` `,e,` = `,r.includes(e)),r.includes(e)},`isDescendant`),k=n((e,n)=>{let r=T.get(n)||[];return t.info(`Descendants of `,n,` is `,r),t.info(`Edge is `,e),e.v===n||e.w===n?!1:r?r.includes(e.v)||O(e.v,n)||O(e.w,n)||r.includes(e.w):(t.debug(`Tilt, `,n,`,not in descendants`),!1)},`edgeInCluster`),A=n((e,n,r,i)=>{t.warn(`Copying children of `,e,`root`,i,`data`,n.node(e),i);let a=n.children(e)||[];e!==i&&a.push(e),t.warn(`Copying (nodes) clusterId`,e,`nodes`,a),a.forEach(a=>{if(n.children(a).length>0)A(a,n,r,i);else{let o=n.node(a);t.info(`cp `,a,` to `,i,` with parent `,e),r.setNode(a,o),i!==n.parent(a)&&(t.warn(`Setting parent`,a,n.parent(a)),r.setParent(a,n.parent(a))),e!==i&&a!==e?(t.debug(`Setting parent`,a,e),r.setParent(a,e)):(t.info(`In copy `,e,`root`,i,`data`,n.node(e),i),t.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,e!==i,`node!==clusterId`,a!==e));let s=n.edges(a);t.debug(`Copying Edges`,s),s.forEach(a=>{t.info(`Edge`,a);let o=n.edge(a.v,a.w,a.name);t.info(`Edge data`,o,i);try{k(a,i)?(t.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),t.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):t.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,e)}catch(e){t.error(e)}})}t.debug(`Removing node`,a),n.removeNode(a)})},`copy`),j=n((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)E.set(i,e),r=[...r,...j(i,t)];return r},`extractDescendants`),M=n((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`),N=n((e,n,r)=>{let i=n.children(e);if(t.trace(`Searching children of id `,e,i),i.length<1)return e;let a;for(let e of i){let t=N(e,n,r),i=M(n,r,t);if(t)if(i.length>0)a=t;else return t}return a},`findNonClusterChild`),P=n(e=>!w.has(e)||!w.get(e).externalConnections?e:w.has(e)?w.get(e).id:e,`getAnchorId`),F=n((e,n)=>{if(!e||n>10){t.debug(`Opting out, no graph `);return}else t.debug(`Opting in, graph `);e.nodes().forEach(function(n){e.children(n).length>0&&(t.warn(`Cluster identified`,n,` Replacement id in edges: `,N(n,e,n)),T.set(n,j(n,e)),w.set(n,{id:N(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let r=e.children(n),i=e.edges();r.length>0?(t.debug(`Cluster identified`,n,T),i.forEach(e=>{O(e.v,n)^O(e.w,n)&&(t.warn(`Edge: `,e,` leaves cluster `,n),t.warn(`Descendants of XXX `,n,`: `,T.get(n)),w.get(n).externalConnections=!0)})):t.debug(`Not a cluster `,n,T)});for(let t of w.keys()){let n=w.get(t).id,r=e.parent(n);r!==t&&w.has(r)&&!w.get(r).externalConnections&&(w.get(t).id=r)}e.edges().forEach(function(n){let r=e.edge(n);t.warn(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(n)),t.warn(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(t.warn(`Fix XXX`,w,`ids:`,n.v,n.w,`Translating: `,w.get(n.v),` --- `,w.get(n.w)),w.get(n.v)||w.get(n.w)){if(t.warn(`Fixing and trying - removing XXX`,n.v,n.w,n.name),i=P(n.v),a=P(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){let t=e.parent(i);w.get(t).externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){let t=e.parent(a);w.get(t).externalConnections=!0,r.toCluster=n.w}t.warn(`Fix Replacing with XXX`,i,a,n.name),e.setEdge(i,a,r,n.name)}}),t.warn(`Adjusted Graph`,x(e)),I(e,0),t.trace(w)},`adjustClustersAndEdges`),I=n((e,n)=>{if(t.warn(`extractor - `,n,x(e),e.children(`D`)),n>10){t.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i){t.debug(`Done, no node has children`,e.nodes());return}t.debug(`Nodes = `,r,n);for(let i of r)if(t.debug(`Extracting node`,i,w,w.has(i)&&!w.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,n),!w.has(i))t.debug(`Not a cluster`,i,n);else if(!w.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){t.warn(`Cluster without external connections, without a parent and with children`,i,n);let r=e.graph().rankdir===`TB`?`LR`:`TB`;w.get(i)?.clusterData?.dir&&(r=w.get(i).clusterData.dir,t.warn(`Fixing dir`,w.get(i).clusterData.dir,r));let a=new o({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});t.warn(`Old graph before copy`,x(e)),A(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:w.get(i).clusterData,label:w.get(i).label,graph:a}),t.warn(`New graph after copy node: (`,i,`)`,x(a)),t.debug(`Old graph after copy`,x(e))}else t.warn(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!w.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),n),t.debug(w);r=e.nodes(),t.warn(`New list of nodes`,r);for(let i of r){let r=e.node(i);t.warn(` Now next level`,i,r),r?.clusterNode&&I(r.graph,n+1)}},`extractor`),L=n((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=L(e,e.children(t));n=[...n,...r]}),n},`sorter`),R=n(e=>L(e,e.children()),`sortNodesByHierarchy`),z=n(async(e,r,a,o,s,p)=>{t.warn(`Graph in recursive render:XAX`,x(r),s);let m=r.graph().rankdir;t.trace(`Dir in recursive render - dir:`,m);let _=e.insert(`g`).attr(`class`,`root`);r.nodes()?t.info(`Recursive render XXX`,r.nodes()):t.info(`No nodes found for`,r),r.edges().length>0&&t.info(`Recursive edges`,r.edge(r.edges()[0]));let b=_.insert(`g`).attr(`class`,`clusters`),S=_.insert(`g`).attr(`class`,`edgePaths`),C=_.insert(`g`).attr(`class`,`edgeLabels`),T=_.insert(`g`).attr(`class`,`nodes`);await Promise.all(r.nodes().map(async function(e){let n=r.node(e);if(s!==void 0){let n=JSON.parse(JSON.stringify(s.clusterData));t.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,e,`
3
3
  data=`,n.height,`
4
4
  Parent cluster`,s.height),r.setNode(s.id,n),r.parent(e)||(t.trace(`Setting parent`,e,s.id),r.setParent(e,s.id,n))}if(t.info(`(Insert) Node XXX`+e+`: `+JSON.stringify(r.node(e))),n?.clusterNode){t.info(`Cluster identified XBX`,e,n.width,r.node(e));let{ranksep:i,nodesep:s}=r.graph();n.graph.setGraph({...n.graph.graph(),ranksep:i+25,nodesep:s});let c=await z(T,n.graph,a,o,r.node(e),p),l=c.elem;h(n,l),n.diff=c.diff||0,t.info(`New compound node after recursive render XAX`,e,`width`,n.width,`height`,n.height),f(l,n)}else r.children(e).length>0?(t.trace(`Cluster - the non recursive path XBX`,e,n.id,n,n.width,`Graph:`,r),t.trace(N(n.id,r)),w.set(n.id,{id:N(n.id,r),node:n})):(t.trace(`Node - the non recursive path XAX`,e,T,r.node(e),m),await l(T,r.node(e),{config:p,dir:m}))})),await n(async()=>{let e=r.edges().map(async function(e){let n=r.edge(e.v,e.w,e.name);t.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(e)),t.info(`Edge `+e.v+` -> `+e.w+`: `,e,` `,JSON.stringify(r.edge(e))),t.info(`Fix`,w,`ids:`,e.v,e.w,`Translating: `,w.get(e.v),w.get(e.w)),await y(C,n)});await Promise.all(e)},`processEdges`)(),t.info(`Graph before layout:`,JSON.stringify(x(r))),t.info(`############################################# XXX`),t.info(`### Layout ### XXX`),t.info(`############################################# XXX`),c(r),t.info(`Graph after layout:`,JSON.stringify(x(r)));let E=0,{subGraphTitleTotalMargin:D}=i(p);return await Promise.all(R(r).map(async function(e){let n=r.node(e);if(t.info(`Position XBX => `+e+`: (`+n.x,`,`+n.y,`) width: `,n.width,` height: `,n.height),n?.clusterNode)n.y+=D,t.info(`A tainted cluster node XBX1`,e,n.id,n.width,n.height,n.x,n.y,r.parent(e)),w.get(n.id).node=n,u(n);else if(r.children(e).length>0){t.info(`A pure cluster node XBX1`,e,n.id,n.x,n.y,n.width,n.height,r.parent(e)),n.height+=D,r.node(n.parentId);let i=n?.padding/2||0,a=n?.labelBBox?.height||0,o=a-i||0;t.debug(`OffsetY`,o,`labelHeight`,a,`halfPadding`,i),await d(b,n),w.get(n.id).node=n}else{let e=r.node(n.parentId);n.y+=D/2,t.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`,e,e?.offsetY,n),u(n)}})),r.edges().forEach(function(e){let n=r.edge(e);t.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(n),n),n.points.forEach(e=>e.y+=D/2),g(n,v(S,n,w,a,r.node(e.v),r.node(e.w),o))}),r.nodes().forEach(function(e){let n=r.node(e);t.info(e,n.type,n.diff),n.isGroup&&(E=n.diff)}),t.warn(`Returning from recursive render XAX`,_,E),{elem:_,diff:E}},`recursiveRender`),B=n(async(e,n)=>{let i=new o({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=n.select(`g`);_(a,e.markers,e.type,e.diagramId),p(),b(),m(),D(),e.nodes.forEach(e=>{i.setNode(e.id,{...e}),e.parentId&&i.setParent(e.id,e.parentId)}),t.debug(`Edges:`,e.edges),e.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.id=t+`-cyclic-special-1`,s.arrowTypeStart=`none`,s.arrowTypeEnd=`none`,s.id=t+`-cyclic-special-mid`,c.label=``,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)}),t.warn(`Graph at first:`,JSON.stringify(x(i))),F(i),t.warn(`Graph after XAX:`,JSON.stringify(x(i)));let s=r();await z(a,i,e.type,e.diagramId,void 0,s)},`render`);export{B as render};
5
- //# sourceMappingURL=dagre-6UL2VRFP-CUvrKiYW.js.map
5
+ //# sourceMappingURL=dagre-6UL2VRFP-CNp3Eal9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dagre-6UL2VRFP-CUvrKiYW.js","names":["_.isUndefined","_.clone","_.map","graphlibJson.write","graphlib.Graph","graphlibJson2.write","graphlib2.Graph","getConfig"],"sources":["../../../../node_modules/dagre-d3-es/src/graphlib/json.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/dagre-6UL2VRFP.mjs"],"sourcesContent":["import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\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\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\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\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\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\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-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-JZLCHNYA.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport \"./chunk-S3R3BYOJ.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-ABZYJK2D.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.id = nodeId + \"-cyclic-special-1\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\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],"mappings":"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"}
1
+ {"version":3,"file":"dagre-6UL2VRFP-CNp3Eal9.js","names":["_.isUndefined","_.clone","_.map","graphlibJson.write","graphlib.Graph","graphlibJson2.write","graphlib2.Graph","getConfig"],"sources":["../../../../node_modules/dagre-d3-es/src/graphlib/json.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/dagre-6UL2VRFP.mjs"],"sourcesContent":["import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\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\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\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\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\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\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-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-JZLCHNYA.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport \"./chunk-S3R3BYOJ.mjs\";\nimport {\n getConfig2 as getConfig\n} from \"./chunk-ABZYJK2D.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.id = nodeId + \"-cyclic-special-1\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\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],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{E as e,_ as t,c as n,d as r,f as i,g as a,h as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m,v as ee,x as te,y as h}from"./reduce-8oaJsJl5.js";import{D as ne,O as re,T as ie,f as ae,g,h as oe,i as se,n as ce,t as le,u as ue,w as _}from"./_baseFor-OepriVua.js";import{i as de,n as fe}from"./isEmpty-_5bEsqJf.js";import{a as v,i as pe,n as y,o as me,r as he,t as b}from"./flatten-BM2m3yKG.js";import{C as ge,E as _e,P as ve,S as x,b as ye,v as S,w as be,x as xe,y as C}from"./chunk-S3R3BYOJ-DKNuA38_.js";import{i as Se,n as w,r as T,t as E}from"./graphlib-CDA3kMcX.js";var Ce=/\s/;function we(e){for(var t=e.length;t--&&Ce.test(e.charAt(t)););return t}var Te=we,Ee=/^\s+/;function De(e){return e&&e.slice(0,Te(e)+1).replace(Ee,``)}var Oe=De,ke=NaN,Ae=/^[-+]0x[0-9a-f]+$/i,je=/^0b[01]+$/i,Me=/^0o[0-7]+$/i,Ne=parseInt;function Pe(e){if(typeof e==`number`)return e;if(h(e))return ke;if(_(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=_(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Oe(e);var n=je.test(e);return n||Me.test(e)?Ne(e.slice(2),n?2:8):Ae.test(e)?ke:+e}var Fe=Pe,Ie=1/0,Le=17976931348623157e292;function Re(e){return e?(e=Fe(e),e===Ie||e===-Ie?(e<0?-1:1)*Le:e===e?e:0):e===0?e:0}var D=Re;function ze(e){var t=D(e),n=t%1;return t===t?n?t-n:t:0}var Be=ze;function Ve(e){return xe(ge(e,void 0,b),e+``)}var He=Ve,Ue=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function We(e){return Ue.test(e)}var Ge=We,Ke=1,qe=4;function Je(e){return Se(e,Ke|qe)}var Ye=Je,Xe=function(){return ne.Date.now()},Ze=Object.prototype,Qe=Ze.hasOwnProperty,$e=ye(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&C(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=be(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||re(u,Ze[l])&&!Qe.call(e,l))&&(e[l]=a[l])}return e});function et(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var O=et;function tt(e){return function(t,n,i){var a=Object(t);if(!se(t)){var o=r(n,3);t=te(t),n=function(e){return o(a[e],e,a)}}var s=e(t,n,i);return s>-1?a[o?t[s]:s]:void 0}}var nt=tt,rt=Math.max;function it(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=n==null?0:Be(n);return a<0&&(a=rt(i+a,0)),l(e,r(t,3),a)}var k=nt(it);function at(e,t){return e==null?e:le(e,d(t),be)}var ot=at;function st(e,t){return e&&m(e,d(t))}var ct=st;function lt(e,t){return e>t}var ut=lt,dt=Object.prototype.hasOwnProperty;function ft(e,t){return e!=null&&dt.call(e,t)}var pt=ft;function mt(e,t){return e!=null&&s(e,t,pt)}var ht=mt,gt=`[object String]`;function _t(e){return typeof e==`string`||!g(e)&&oe(e)&&ie(e)==gt}var vt=_t;function yt(e,t){var n={};return t=r(t,3),m(e,function(e,r,i){ve(n,r,t(e,r,i))}),n}var A=yt;function bt(e){return e&&e.length?pe(e,ce,ut):void 0}var j=bt;function xt(e,t){return e&&e.length?pe(e,r(t,2),he):void 0}var M=xt;function St(e,n,r,i){if(!_(e))return e;n=t(n,e);for(var o=-1,s=n.length,c=s-1,l=e;l!=null&&++o<s;){var u=a(n[o]),d=r;if(u===`__proto__`||u===`constructor`||u===`prototype`)return e;if(o!=c){var f=l[u];d=i?i(f,u,l):void 0,d===void 0&&(d=_(f)?f:ae(n[o+1])?[]:{})}_e(l,u,d),l=l[u]}return e}var Ct=St;function wt(e,n,r){for(var i=-1,a=n.length,s={};++i<a;){var c=n[i],l=o(e,c);r(l,c)&&Ct(s,t(c,e),l)}return s}var Tt=wt;function Et(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}var Dt=Et;function Ot(e,t){if(e!==t){var n=e!==void 0,r=e===null,i=e===e,a=h(e),o=t!==void 0,s=t===null,c=t===t,l=h(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}var kt=Ot;function At(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=kt(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}var jt=At;function Mt(t,n,i){n=n.length?e(n,function(e){return g(e)?function(t){return o(t,e.length===1?e[0]:e)}:e}):[ce];var a=-1;return n=e(n,ue(r)),Dt(me(t,function(t,r,i){return{criteria:e(n,function(e){return e(t)}),index:++a,value:t}}),function(e,t){return jt(e,t,i)})}var Nt=Mt,Pt=i(`length`),Ft=`\\ud800-\\udfff`,It=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,Lt=`\\ufe0e\\ufe0f`,Rt=`[`+Ft+`]`,N=`[`+It+`]`,P=`\\ud83c[\\udffb-\\udfff]`,zt=`(?:`+N+`|`+P+`)`,Bt=`[^`+Ft+`]`,Vt=`(?:\\ud83c[\\udde6-\\uddff]){2}`,Ht=`[\\ud800-\\udbff][\\udc00-\\udfff]`,Ut=`\\u200d`,Wt=zt+`?`,Gt=`[`+Lt+`]?`,Kt=`(?:`+Ut+`(?:`+[Bt,Vt,Ht].join(`|`)+`)`+Gt+Wt+`)*`,qt=Gt+Wt+Kt,Jt=`(?:`+[Bt+N+`?`,N,Vt,Ht,Rt].join(`|`)+`)`,Yt=RegExp(P+`(?=`+P+`)|`+Jt+qt,`g`);function Xt(e){for(var t=Yt.lastIndex=0;Yt.test(e);)++t;return t}var Zt=Xt;function Qt(e){return Ge(e)?Zt(e):Pt(e)}var $t=Qt;function en(e,t){return Tt(e,t,function(t,n){return u(e,n)})}var tn=en,F=He(function(e,t){return e==null?{}:tn(e,t)}),nn=Math.ceil,rn=Math.max;function an(e,t,n,r){for(var i=-1,a=rn(nn((t-e)/(n||1)),0),o=Array(a);a--;)o[r?a:++i]=e,e+=n;return o}var on=an;function sn(e){return function(t,n,r){return r&&typeof r!=`number`&&C(t,n,r)&&(n=r=void 0),t=D(t),n===void 0?(n=t,t=0):n=D(n),r=r===void 0?t<n?1:-1:D(r),on(t,n,r,e)}}var I=sn(),cn=`[object Map]`,ln=`[object Set]`;function un(e){if(e==null)return 0;if(se(e))return vt(e)?$t(e):e.length;var t=fe(e);return t==cn||t==ln?e.size:de(e).length}var dn=un,L=ye(function(e,t){if(e==null)return[];var n=t.length;return n>1&&C(e,t[0],t[1])?t=[]:n>2&&C(t[0],t[1],t[2])&&(t=[t[0]]),Nt(e,f(t,1),[])}),fn=0;function pn(e){var t=++fn;return ee(e)+t}var R=pn;function mn(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}var hn=mn;function gn(e,t){return hn(e||[],t||[],_e)}var _n=gn,vn=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return yn(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&yn(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,bn)),n=n._prev;return`[`+e.join(`, `)+`]`}};function yn(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function bn(e,t){if(e!==`_next`&&e!==`_prev`)return t}var xn=x(1);function Sn(e,t){if(e.nodeCount()<=1)return[];var n=wn(e,t||xn);return b(v(Cn(n.graph,n.buckets,n.zeroIdx),function(t){return e.outEdges(t.v,t.w)}))}function Cn(e,t,n){for(var r=[],i=t[t.length-1],a=t[0],o;e.nodeCount();){for(;o=a.dequeue();)z(e,t,n,o);for(;o=i.dequeue();)z(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(z(e,t,n,o,!0));break}}}return r}function z(e,t,n,r,i){var a=i?[]:void 0;return c(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,B(t,n,s)}),c(e.outEdges(r.v),function(r){var i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,B(t,n,o)}),e.removeNode(r.v),a}function wn(e,t){var n=new E,r=0,i=0;c(e.nodes(),function(e){n.setNode(e,{v:e,in:0,out:0})}),c(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=I(i+r+3).map(function(){return new vn}),o=r+1;return c(n.nodes(),function(e){B(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function B(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 Tn(e){c(e.graph().acyclicer===`greedy`?Sn(e,t(e)):En(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,R(`rev`))});function t(e){return function(t){return e.edge(t).weight}}}function En(e){var t=[],n={},r={};function i(a){Object.prototype.hasOwnProperty.call(r,a)||(r[a]=!0,n[a]=!0,c(e.outEdges(a),function(e){Object.prototype.hasOwnProperty.call(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return c(e.nodes(),i),t}function Dn(e){c(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 V(e,t,n,r){var i;do i=R(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function On(e){var t=new E().setGraph(e.graph());return c(e.nodes(),function(n){t.setNode(n,e.node(n))}),c(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 kn(e){var t=new E({multigraph:e.isMultigraph()}).setGraph(e.graph());return c(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),c(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function An(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 H(e){var t=v(I(Pn(e)+1),function(){return[]});return c(e.nodes(),function(n){var r=e.node(n),i=r.rank;w(i)||(t[i][r.order]=n)}),t}function jn(e){var t=y(v(e.nodes(),function(t){return e.node(t).rank}));c(e.nodes(),function(n){var r=e.node(n);ht(r,`rank`)&&(r.rank-=t)})}function Mn(e){var t=y(v(e.nodes(),function(t){return e.node(t).rank})),n=[];c(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;c(n,function(t,n){w(t)&&n%i!==0?--r:r&&c(t,function(t){e.node(t).rank+=r})})}function Nn(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),V(e,`border`,i,t)}function Pn(e){return j(v(e.nodes(),function(t){var n=e.node(t).rank;if(!w(n))return n}))}function Fn(e,t){var n={lhs:[],rhs:[]};return c(e,function(e){t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function In(e,t){var n=Xe();try{return t()}finally{console.log(e+` time: `+(Xe()-n)+`ms`)}}function Ln(e,t){return t()}function Rn(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&c(r,t),Object.prototype.hasOwnProperty.call(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a<o;++a)zn(e,`borderLeft`,`_bl`,n,i,a),zn(e,`borderRight`,`_br`,n,i,a)}}c(e.children(),t)}function zn(e,t,n,r,i,a){var o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=V(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function Bn(e){var t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&Hn(e)}function Vn(e){var t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&Wn(e),(t===`lr`||t===`rl`)&&(Gn(e),Hn(e))}function Hn(e){c(e.nodes(),function(t){Un(e.node(t))}),c(e.edges(),function(t){Un(e.edge(t))})}function Un(e){var t=e.width;e.width=e.height,e.height=t}function Wn(e){c(e.nodes(),function(t){U(e.node(t))}),c(e.edges(),function(t){var n=e.edge(t);c(n.points,U),Object.prototype.hasOwnProperty.call(n,`y`)&&U(n)})}function U(e){e.y=-e.y}function Gn(e){c(e.nodes(),function(t){W(e.node(t))}),c(e.edges(),function(t){var n=e.edge(t);c(n.points,W),Object.prototype.hasOwnProperty.call(n,`x`)&&W(n)})}function W(e){var t=e.x;e.x=e.y,e.y=t}function Kn(e){e.graph().dummyChains=[],c(e.edges(),function(t){qn(e,t)})}function qn(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=V(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 Jn(e){c(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 G(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=y(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}c(e.sources(),n)}function K(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function Yn(e){var t=new E({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,a;Xn(t,e)<r;)i=Zn(t,e),a=t.hasNode(i.v)?K(e,i):-K(e,i),Qn(t,e,a);return t}function Xn(e,t){function n(r){c(t.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!K(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return c(e.nodes(),n),e.nodeCount()}function Zn(e,t){return M(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return K(t,n)})}function Qn(e,t,n){c(e.nodes(),function(e){t.node(e).rank+=n})}x(1),x(1),$n.CycleException=q;function $n(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,c(e.predecessors(a),i),delete n[a],r.push(a))}if(c(e.sinks(),i),dn(t)!==e.nodeCount())throw new q;return r}function q(){}q.prototype=Error();function er(e,t,n){g(t)||(t=[t]);var r=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],a={};return c(t,function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);tr(e,t,n===`post`,a,r,i)}),i}function tr(e,t,n,r,i,a){Object.prototype.hasOwnProperty.call(r,t)||(r[t]=!0,n||a.push(t),c(i(t),function(t){tr(e,t,n,r,i,a)}),n&&a.push(t))}function nr(e,t){return er(e,t,`post`)}function rr(e,t){return er(e,t,`pre`)}J.initLowLimValues=X,J.initCutValues=Y,J.calcCutValue=ar,J.leaveEdge=sr,J.enterEdge=cr,J.exchangeEdges=lr;function J(e){e=On(e),G(e);var t=Yn(e);X(t),Y(t,e);for(var n,r;n=sr(t);)r=cr(t,e,n),lr(t,e,n,r)}function Y(e,t){var n=nr(e,e.nodes());n=n.slice(0,n.length-1),c(n,function(n){ir(e,t,n)})}function ir(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=ar(e,t,n)}function ar(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,c(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,dr(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function X(e,t){arguments.length<2&&(t=e.nodes()[0]),or(e,{},1,t)}function or(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,c(e.neighbors(r),function(i){Object.prototype.hasOwnProperty.call(t,i)||(n=or(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function sr(e){return k(e.edges(),function(t){return e.edge(t).cutvalue<0})}function cr(e,t,r){var i=r.v,a=r.w;t.hasEdge(i,a)||(i=r.w,a=r.v);var o=e.node(i),s=e.node(a),c=o,l=!1;return o.lim>s.lim&&(c=s,l=!0),M(n(t.edges(),function(t){return l===fr(e,e.node(t.v),c)&&l!==fr(e,e.node(t.w),c)}),function(e){return K(t,e)})}function lr(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),X(e),Y(e,t),ur(e,t)}function ur(e,t){var n=rr(e,k(e.nodes(),function(e){return!t.node(e).parent}));n=n.slice(1),c(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 dr(e,t,n){return e.hasEdge(t,n)}function fr(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}function pr(e){switch(e.graph().ranker){case`network-simplex`:gr(e);break;case`tight-tree`:hr(e);break;case`longest-path`:mr(e);break;default:gr(e)}}var mr=G;function hr(e){G(e),Yn(e)}function gr(e){J(e)}function _r(e){var t=V(e,`root`,{},`_root`),n=yr(e),r=j(T(n))-1,i=2*r+1;e.graph().nestingRoot=t,c(e.edges(),function(t){e.edge(t).minlen*=i});var a=br(e)+1;c(e.children(),function(o){vr(e,t,i,a,r,n,o)}),e.graph().nodeRankFactor=i}function vr(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 l=Nn(e,`_bt`),u=Nn(e,`_bb`),d=e.node(o);e.setParent(l,o),d.borderTop=l,e.setParent(u,o),d.borderBottom=u,c(s,function(s){vr(e,t,n,r,i,a,s);var c=e.node(s),d=c.borderTop?c.borderTop:s,f=c.borderBottom?c.borderBottom:s,p=c.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(l,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,u,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,l,{weight:0,minlen:i+a[o]})}function yr(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&c(a,function(e){n(e,i+1)}),t[r]=i}return c(e.children(),function(e){n(e,1)}),t}function br(e){return p(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function xr(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,c(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}function Sr(e,t,n){var r={},i;c(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 Cr(e,t,n){var r=wr(e),i=new E({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(t){return e.node(t)});return c(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),c(e[n](a),function(t){var n=t.v===a?t.w:t.v,r=i.edge(n,a),o=w(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 wr(e){for(var t;e.hasNode(t=R(`_root`)););return t}function Tr(e,t){for(var n=0,r=1;r<t.length;++r)n+=Er(e,t[r-1],t[r]);return n}function Er(e,t,n){for(var r=_n(n,v(n,function(e,t){return t})),i=b(v(t,function(t){return L(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}),l=0;return c(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;l+=e.weight*n})),l}function Dr(e){var t={},r=n(e.nodes(),function(t){return!e.children(t).length}),i=v(I(j(v(r,function(t){return e.node(t).rank}))+1),function(){return[]});function a(n){ht(t,n)||(t[n]=!0,i[e.node(n).rank].push(n),c(e.successors(n),a))}return c(L(r,function(t){return e.node(t).rank}),a),i}function Or(e,t){return v(t,function(t){var n=e.inEdges(t);if(n.length){var r=p(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 kr(e,t){var r={};return c(e,function(e,t){var n=r[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};w(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),c(t.edges(),function(e){var t=r[e.v],n=r[e.w];!w(t)&&!w(n)&&(n.indegree++,t.out.push(r[e.w]))}),Ar(n(r,function(e){return!e.indegree}))}function Ar(e){var t=[];function r(e){return function(t){t.merged||(w(t.barycenter)||w(e.barycenter)||t.barycenter>=e.barycenter)&&jr(e,t)}}function i(t){return function(n){n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){var a=e.pop();t.push(a),c(a.in.reverse(),r(a)),c(a.out,i(a))}return v(n(t,function(e){return!e.merged}),function(e){return F(e,[`vs`,`i`,`barycenter`,`weight`])})}function jr(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 Mr(e,t){var n=Fn(e,function(e){return Object.prototype.hasOwnProperty.call(e,`barycenter`)}),r=n.lhs,i=L(n.rhs,function(e){return-e.i}),a=[],o=0,s=0,l=0;r.sort(Nr(!!t)),l=Z(a,i,l),c(r,function(e){l+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,l=Z(a,i,l)});var u={vs:b(a)};return s&&(u.barycenter=o/s,u.weight=s),u}function Z(e,t,n){for(var r;t.length&&(r=O(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function Nr(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 Pr(e,t,r,i){var a=e.children(t),o=e.node(t),s=o?o.borderLeft:void 0,l=o?o.borderRight:void 0,u={};s&&(a=n(a,function(e){return e!==s&&e!==l}));var d=Or(e,a);c(d,function(t){if(e.children(t.v).length){var n=Pr(e,t.v,r,i);u[t.v]=n,Object.prototype.hasOwnProperty.call(n,`barycenter`)&&Ir(t,n)}});var f=kr(d,r);Fr(f,u);var p=Mr(f,i);if(s&&(p.vs=b([s,p.vs,l]),e.predecessors(s).length)){var m=e.node(e.predecessors(s)[0]),ee=e.node(e.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(p,`barycenter`)||(p.barycenter=0,p.weight=0),p.barycenter=(p.barycenter*p.weight+m.order+ee.order)/(p.weight+2),p.weight+=2}return p}function Fr(e,t){c(e,function(e){e.vs=b(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}function Ir(e,t){w(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 Lr(e){var t=Pn(e),n=Rr(e,I(1,t+1),`inEdges`),r=Rr(e,I(t-1,-1,-1),`outEdges`),i=Dr(e);Br(e,i);for(var a=1/0,o,s=0,c=0;c<4;++s,++c){zr(s%2?n:r,s%4>=2),i=H(e);var l=Tr(e,i);l<a&&(c=0,o=Ye(i),a=l)}Br(e,o)}function Rr(e,t,n){return v(t,function(t){return Cr(e,t,n)})}function zr(e,t){var n=new E;c(e,function(e){var r=e.graph().root,i=Pr(e,r,n,t);c(i.vs,function(t,n){e.node(t).order=n}),Sr(e,n,i.vs)})}function Br(e,t){c(t,function(t){c(t,function(t,n){e.node(t).order=n})})}function Vr(e){var t=Ur(e);c(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,a=Hr(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 Hr(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 Ur(e){var t={},n=0;function r(i){var a=n;c(e.children(i),r),t[i]={low:a,lim:n++}}return c(e.children(),r),t}function Wr(e,t){var n={};function r(t,r){var i=0,a=0,o=t.length,s=O(r);return c(r,function(t,l){var u=Kr(e,t),d=u?e.node(u).order:o;(u||t===s)&&(c(r.slice(a,l+1),function(t){c(e.predecessors(t),function(r){var a=e.node(r),o=a.order;(o<i||d<o)&&!(a.dummy&&e.node(t).dummy)&&qr(n,r,t)})}),a=l+1,i=d)}),r}return p(t,r),n}function Gr(e,t){var n={};function r(t,r,i,a,o){var s;c(I(r,i),function(r){s=t[r],e.node(s).dummy&&c(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&qr(n,t,s)})})}function i(t,n){var i=-1,a,o=0;return c(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 p(t,i),n}function Kr(e,t){if(e.node(t).dummy)return k(e.predecessors(t),function(t){return e.node(t).dummy})}function qr(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 Jr(e,t,n){if(t>n){var r=t;t=n,n=r}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],n)}function Yr(e,t,n,r){var i={},a={},o={};return c(t,function(e){c(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),c(t,function(e){var t=-1;c(e,function(e){var s=r(e);if(s.length){s=L(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]&&!Jr(n,e,d)&&(a[d]=e,a[e]=i[e]=i[d],t=o[d])}}})}),{root:i,align:a}}function Xr(e,t,n,r,i){var a={},o=Zr(e,t,n,i),s=i?`borderLeft`:`borderRight`;function l(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 u(e){a[e]=o.inEdges(e).reduce(function(e,t){return Math.max(e,a[t.v]+o.edge(t))},0)}function d(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 l(u,o.predecessors.bind(o)),l(d,o.successors.bind(o)),c(r,function(e){a[e]=a[n[e]]}),a}function Zr(e,t,n,r){var i=new E,a=e.graph(),o=ni(a.nodesep,a.edgesep,r);return c(t,function(t){var r;c(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 Qr(e,t){return M(T(t),function(t){var n=-1/0,r=1/0;return ot(t,function(t,i){var a=ri(e,i)/2;n=Math.max(t+a,n),r=Math.min(t-a,r)}),n-r})}function $r(e,t){var n=T(t),r=y(n),i=j(n);c([`u`,`d`],function(n){c([`l`,`r`],function(a){var o=n+a,s=e[o],c;if(s!==t){var l=T(s);c=a===`l`?r-y(l):i-j(l),c&&(e[o]=A(s,function(e){return e+c}))}})})}function ei(e,t){return A(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=L(v(e,r));return(i[1]+i[2])/2})}function ti(e){var t=H(e),n=S(Wr(e,t),Gr(e,t)),r={},i;return c([`u`,`d`],function(a){i=a===`u`?t:T(t).reverse(),c([`l`,`r`],function(t){t===`r`&&(i=v(i,function(e){return T(e).reverse()}));var o=(a===`u`?e.predecessors:e.successors).bind(e),s=Yr(e,i,n,o),c=Xr(e,i,s.root,s.align,t===`r`);t===`r`&&(c=A(c,function(e){return-e})),r[a+t]=c})}),$r(r,Qr(e,r)),ei(r,e.graph().align)}function ni(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 ri(e,t){return e.node(t).width}function ii(e){e=kn(e),ai(e),ct(ti(e),function(t,n){e.node(n).x=t})}function ai(e){var t=H(e),n=e.graph().ranksep,r=0;c(t,function(t){var i=j(v(t,function(t){return e.node(t).height}));c(t,function(t){e.node(t).y=r+i/2}),r+=i+n})}function oi(e,t){var n=t&&t.debugTiming?In:Ln;n(`layout`,()=>{var t=n(` buildLayoutGraph`,()=>_i(e));n(` runLayout`,()=>si(t,n)),n(` updateInputGraph`,()=>ci(e,t))})}function si(e,t){t(` makeSpaceForEdgeLabels`,()=>vi(e)),t(` removeSelfEdges`,()=>Di(e)),t(` acyclic`,()=>Tn(e)),t(` nestingGraph.run`,()=>_r(e)),t(` rank`,()=>pr(kn(e))),t(` injectEdgeLabelProxies`,()=>yi(e)),t(` removeEmptyRanks`,()=>Mn(e)),t(` nestingGraph.cleanup`,()=>xr(e)),t(` normalizeRanks`,()=>jn(e)),t(` assignRankMinMax`,()=>bi(e)),t(` removeEdgeLabelProxies`,()=>xi(e)),t(` normalize.run`,()=>Kn(e)),t(` parentDummyChains`,()=>Vr(e)),t(` addBorderSegments`,()=>Rn(e)),t(` order`,()=>Lr(e)),t(` insertSelfEdges`,()=>Oi(e)),t(` adjustCoordinateSystem`,()=>Bn(e)),t(` position`,()=>ii(e)),t(` positionSelfEdges`,()=>ki(e)),t(` removeBorderNodes`,()=>Ei(e)),t(` normalize.undo`,()=>Jn(e)),t(` fixupEdgeLabelCoords`,()=>wi(e)),t(` undoCoordinateSystem`,()=>Vn(e)),t(` translateGraph`,()=>Si(e)),t(` assignNodeIntersects`,()=>Ci(e)),t(` reversePoints`,()=>Ti(e)),t(` acyclic.undo`,()=>Dn(e))}function ci(e,t){c(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))}),c(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 li=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],ui={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},di=[`acyclicer`,`ranker`,`rankdir`,`align`],fi=[`width`,`height`],pi={width:0,height:0},mi=[`minlen`,`weight`,`width`,`height`,`labeloffset`],hi={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},gi=[`labelpos`];function _i(e){var t=new E({multigraph:!0,compound:!0}),n=$(e.graph());return t.setGraph(S({},ui,Q(n,li),F(n,di))),c(e.nodes(),function(n){var r=$(e.node(n));t.setNode(n,$e(Q(r,fi),pi)),t.setParent(n,e.parent(n))}),c(e.edges(),function(n){var r=$(e.edge(n));t.setEdge(n,S({},hi,Q(r,mi),F(r,gi)))}),t}function vi(e){var t=e.graph();t.ranksep/=2,c(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 yi(e){c(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v);V(e,`edge-proxy`,{rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t},`_ep`)}})}function bi(e){var t=0;c(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=j(t,r.maxRank))}),e.graph().maxRank=t}function xi(e){c(e.nodes(),function(t){var n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function Si(e){var t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function l(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)}c(e.nodes(),function(t){l(e.node(t))}),c(e.edges(),function(t){var n=e.edge(t);Object.prototype.hasOwnProperty.call(n,`x`)&&l(n)}),t-=o,r-=s,c(e.nodes(),function(n){var i=e.node(n);i.x-=t,i.y-=r}),c(e.edges(),function(n){var i=e.edge(n);c(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 Ci(e){c(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(An(r,a)),n.points.push(An(i,o))})}function wi(e){c(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 Ti(e){c(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function Ei(e){c(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(O(n.borderLeft)),o=e.node(O(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}}),c(e.nodes(),function(t){e.node(t).dummy===`border`&&e.removeNode(t)})}function Di(e){c(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 Oi(e){c(H(e),function(t){var n=0;c(t,function(t,r){var i=e.node(t);i.order=r+n,c(i.selfEdges,function(t){V(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 ki(e){c(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 Q(e,t){return A(F(e,t),Number)}function $(e){var t={};return c(e,function(e,n){t[n.toLowerCase()]=e}),t}export{oi as t};
2
- //# sourceMappingURL=dagre-yyBB715u.js.map
1
+ import{E as e,_ as t,c as n,d as r,f as i,g as a,h as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m,v as ee,x as te,y as h}from"./reduce-8oaJsJl5.js";import{D as ne,O as re,T as ie,f as ae,g,h as oe,i as se,n as ce,t as le,u as ue,w as _}from"./_baseFor-OepriVua.js";import{i as de,n as fe}from"./isEmpty-_5bEsqJf.js";import{a as v,i as pe,n as y,o as me,r as he,t as b}from"./flatten-BM2m3yKG.js";import{C as ge,E as _e,P as ve,S as x,b as ye,v as S,w as be,x as xe,y as C}from"./chunk-S3R3BYOJ-Wd1A1moT.js";import{i as Se,n as w,r as T,t as E}from"./graphlib-q5A9GXR_.js";var Ce=/\s/;function we(e){for(var t=e.length;t--&&Ce.test(e.charAt(t)););return t}var Te=we,Ee=/^\s+/;function De(e){return e&&e.slice(0,Te(e)+1).replace(Ee,``)}var Oe=De,ke=NaN,Ae=/^[-+]0x[0-9a-f]+$/i,je=/^0b[01]+$/i,Me=/^0o[0-7]+$/i,Ne=parseInt;function Pe(e){if(typeof e==`number`)return e;if(h(e))return ke;if(_(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=_(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Oe(e);var n=je.test(e);return n||Me.test(e)?Ne(e.slice(2),n?2:8):Ae.test(e)?ke:+e}var Fe=Pe,Ie=1/0,Le=17976931348623157e292;function Re(e){return e?(e=Fe(e),e===Ie||e===-Ie?(e<0?-1:1)*Le:e===e?e:0):e===0?e:0}var D=Re;function ze(e){var t=D(e),n=t%1;return t===t?n?t-n:t:0}var Be=ze;function Ve(e){return xe(ge(e,void 0,b),e+``)}var He=Ve,Ue=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function We(e){return Ue.test(e)}var Ge=We,Ke=1,qe=4;function Je(e){return Se(e,Ke|qe)}var Ye=Je,Xe=function(){return ne.Date.now()},Ze=Object.prototype,Qe=Ze.hasOwnProperty,$e=ye(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&C(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=be(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||re(u,Ze[l])&&!Qe.call(e,l))&&(e[l]=a[l])}return e});function et(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var O=et;function tt(e){return function(t,n,i){var a=Object(t);if(!se(t)){var o=r(n,3);t=te(t),n=function(e){return o(a[e],e,a)}}var s=e(t,n,i);return s>-1?a[o?t[s]:s]:void 0}}var nt=tt,rt=Math.max;function it(e,t,n){var i=e==null?0:e.length;if(!i)return-1;var a=n==null?0:Be(n);return a<0&&(a=rt(i+a,0)),l(e,r(t,3),a)}var k=nt(it);function at(e,t){return e==null?e:le(e,d(t),be)}var ot=at;function st(e,t){return e&&m(e,d(t))}var ct=st;function lt(e,t){return e>t}var ut=lt,dt=Object.prototype.hasOwnProperty;function ft(e,t){return e!=null&&dt.call(e,t)}var pt=ft;function mt(e,t){return e!=null&&s(e,t,pt)}var ht=mt,gt=`[object String]`;function _t(e){return typeof e==`string`||!g(e)&&oe(e)&&ie(e)==gt}var vt=_t;function yt(e,t){var n={};return t=r(t,3),m(e,function(e,r,i){ve(n,r,t(e,r,i))}),n}var A=yt;function bt(e){return e&&e.length?pe(e,ce,ut):void 0}var j=bt;function xt(e,t){return e&&e.length?pe(e,r(t,2),he):void 0}var M=xt;function St(e,n,r,i){if(!_(e))return e;n=t(n,e);for(var o=-1,s=n.length,c=s-1,l=e;l!=null&&++o<s;){var u=a(n[o]),d=r;if(u===`__proto__`||u===`constructor`||u===`prototype`)return e;if(o!=c){var f=l[u];d=i?i(f,u,l):void 0,d===void 0&&(d=_(f)?f:ae(n[o+1])?[]:{})}_e(l,u,d),l=l[u]}return e}var Ct=St;function wt(e,n,r){for(var i=-1,a=n.length,s={};++i<a;){var c=n[i],l=o(e,c);r(l,c)&&Ct(s,t(c,e),l)}return s}var Tt=wt;function Et(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}var Dt=Et;function Ot(e,t){if(e!==t){var n=e!==void 0,r=e===null,i=e===e,a=h(e),o=t!==void 0,s=t===null,c=t===t,l=h(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}var kt=Ot;function At(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=kt(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}var jt=At;function Mt(t,n,i){n=n.length?e(n,function(e){return g(e)?function(t){return o(t,e.length===1?e[0]:e)}:e}):[ce];var a=-1;return n=e(n,ue(r)),Dt(me(t,function(t,r,i){return{criteria:e(n,function(e){return e(t)}),index:++a,value:t}}),function(e,t){return jt(e,t,i)})}var Nt=Mt,Pt=i(`length`),Ft=`\\ud800-\\udfff`,It=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,Lt=`\\ufe0e\\ufe0f`,Rt=`[`+Ft+`]`,N=`[`+It+`]`,P=`\\ud83c[\\udffb-\\udfff]`,zt=`(?:`+N+`|`+P+`)`,Bt=`[^`+Ft+`]`,Vt=`(?:\\ud83c[\\udde6-\\uddff]){2}`,Ht=`[\\ud800-\\udbff][\\udc00-\\udfff]`,Ut=`\\u200d`,Wt=zt+`?`,Gt=`[`+Lt+`]?`,Kt=`(?:`+Ut+`(?:`+[Bt,Vt,Ht].join(`|`)+`)`+Gt+Wt+`)*`,qt=Gt+Wt+Kt,Jt=`(?:`+[Bt+N+`?`,N,Vt,Ht,Rt].join(`|`)+`)`,Yt=RegExp(P+`(?=`+P+`)|`+Jt+qt,`g`);function Xt(e){for(var t=Yt.lastIndex=0;Yt.test(e);)++t;return t}var Zt=Xt;function Qt(e){return Ge(e)?Zt(e):Pt(e)}var $t=Qt;function en(e,t){return Tt(e,t,function(t,n){return u(e,n)})}var tn=en,F=He(function(e,t){return e==null?{}:tn(e,t)}),nn=Math.ceil,rn=Math.max;function an(e,t,n,r){for(var i=-1,a=rn(nn((t-e)/(n||1)),0),o=Array(a);a--;)o[r?a:++i]=e,e+=n;return o}var on=an;function sn(e){return function(t,n,r){return r&&typeof r!=`number`&&C(t,n,r)&&(n=r=void 0),t=D(t),n===void 0?(n=t,t=0):n=D(n),r=r===void 0?t<n?1:-1:D(r),on(t,n,r,e)}}var I=sn(),cn=`[object Map]`,ln=`[object Set]`;function un(e){if(e==null)return 0;if(se(e))return vt(e)?$t(e):e.length;var t=fe(e);return t==cn||t==ln?e.size:de(e).length}var dn=un,L=ye(function(e,t){if(e==null)return[];var n=t.length;return n>1&&C(e,t[0],t[1])?t=[]:n>2&&C(t[0],t[1],t[2])&&(t=[t[0]]),Nt(e,f(t,1),[])}),fn=0;function pn(e){var t=++fn;return ee(e)+t}var R=pn;function mn(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}var hn=mn;function gn(e,t){return hn(e||[],t||[],_e)}var _n=gn,vn=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return yn(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&yn(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,bn)),n=n._prev;return`[`+e.join(`, `)+`]`}};function yn(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function bn(e,t){if(e!==`_next`&&e!==`_prev`)return t}var xn=x(1);function Sn(e,t){if(e.nodeCount()<=1)return[];var n=wn(e,t||xn);return b(v(Cn(n.graph,n.buckets,n.zeroIdx),function(t){return e.outEdges(t.v,t.w)}))}function Cn(e,t,n){for(var r=[],i=t[t.length-1],a=t[0],o;e.nodeCount();){for(;o=a.dequeue();)z(e,t,n,o);for(;o=i.dequeue();)z(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(z(e,t,n,o,!0));break}}}return r}function z(e,t,n,r,i){var a=i?[]:void 0;return c(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,B(t,n,s)}),c(e.outEdges(r.v),function(r){var i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,B(t,n,o)}),e.removeNode(r.v),a}function wn(e,t){var n=new E,r=0,i=0;c(e.nodes(),function(e){n.setNode(e,{v:e,in:0,out:0})}),c(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=I(i+r+3).map(function(){return new vn}),o=r+1;return c(n.nodes(),function(e){B(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function B(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 Tn(e){c(e.graph().acyclicer===`greedy`?Sn(e,t(e)):En(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,R(`rev`))});function t(e){return function(t){return e.edge(t).weight}}}function En(e){var t=[],n={},r={};function i(a){Object.prototype.hasOwnProperty.call(r,a)||(r[a]=!0,n[a]=!0,c(e.outEdges(a),function(e){Object.prototype.hasOwnProperty.call(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return c(e.nodes(),i),t}function Dn(e){c(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 V(e,t,n,r){var i;do i=R(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function On(e){var t=new E().setGraph(e.graph());return c(e.nodes(),function(n){t.setNode(n,e.node(n))}),c(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 kn(e){var t=new E({multigraph:e.isMultigraph()}).setGraph(e.graph());return c(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),c(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function An(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 H(e){var t=v(I(Pn(e)+1),function(){return[]});return c(e.nodes(),function(n){var r=e.node(n),i=r.rank;w(i)||(t[i][r.order]=n)}),t}function jn(e){var t=y(v(e.nodes(),function(t){return e.node(t).rank}));c(e.nodes(),function(n){var r=e.node(n);ht(r,`rank`)&&(r.rank-=t)})}function Mn(e){var t=y(v(e.nodes(),function(t){return e.node(t).rank})),n=[];c(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;c(n,function(t,n){w(t)&&n%i!==0?--r:r&&c(t,function(t){e.node(t).rank+=r})})}function Nn(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),V(e,`border`,i,t)}function Pn(e){return j(v(e.nodes(),function(t){var n=e.node(t).rank;if(!w(n))return n}))}function Fn(e,t){var n={lhs:[],rhs:[]};return c(e,function(e){t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function In(e,t){var n=Xe();try{return t()}finally{console.log(e+` time: `+(Xe()-n)+`ms`)}}function Ln(e,t){return t()}function Rn(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&c(r,t),Object.prototype.hasOwnProperty.call(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a<o;++a)zn(e,`borderLeft`,`_bl`,n,i,a),zn(e,`borderRight`,`_br`,n,i,a)}}c(e.children(),t)}function zn(e,t,n,r,i,a){var o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=V(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function Bn(e){var t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&Hn(e)}function Vn(e){var t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&Wn(e),(t===`lr`||t===`rl`)&&(Gn(e),Hn(e))}function Hn(e){c(e.nodes(),function(t){Un(e.node(t))}),c(e.edges(),function(t){Un(e.edge(t))})}function Un(e){var t=e.width;e.width=e.height,e.height=t}function Wn(e){c(e.nodes(),function(t){U(e.node(t))}),c(e.edges(),function(t){var n=e.edge(t);c(n.points,U),Object.prototype.hasOwnProperty.call(n,`y`)&&U(n)})}function U(e){e.y=-e.y}function Gn(e){c(e.nodes(),function(t){W(e.node(t))}),c(e.edges(),function(t){var n=e.edge(t);c(n.points,W),Object.prototype.hasOwnProperty.call(n,`x`)&&W(n)})}function W(e){var t=e.x;e.x=e.y,e.y=t}function Kn(e){e.graph().dummyChains=[],c(e.edges(),function(t){qn(e,t)})}function qn(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=V(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 Jn(e){c(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 G(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=y(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}c(e.sources(),n)}function K(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function Yn(e){var t=new E({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,a;Xn(t,e)<r;)i=Zn(t,e),a=t.hasNode(i.v)?K(e,i):-K(e,i),Qn(t,e,a);return t}function Xn(e,t){function n(r){c(t.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!K(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return c(e.nodes(),n),e.nodeCount()}function Zn(e,t){return M(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return K(t,n)})}function Qn(e,t,n){c(e.nodes(),function(e){t.node(e).rank+=n})}x(1),x(1),$n.CycleException=q;function $n(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,c(e.predecessors(a),i),delete n[a],r.push(a))}if(c(e.sinks(),i),dn(t)!==e.nodeCount())throw new q;return r}function q(){}q.prototype=Error();function er(e,t,n){g(t)||(t=[t]);var r=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],a={};return c(t,function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);tr(e,t,n===`post`,a,r,i)}),i}function tr(e,t,n,r,i,a){Object.prototype.hasOwnProperty.call(r,t)||(r[t]=!0,n||a.push(t),c(i(t),function(t){tr(e,t,n,r,i,a)}),n&&a.push(t))}function nr(e,t){return er(e,t,`post`)}function rr(e,t){return er(e,t,`pre`)}J.initLowLimValues=X,J.initCutValues=Y,J.calcCutValue=ar,J.leaveEdge=sr,J.enterEdge=cr,J.exchangeEdges=lr;function J(e){e=On(e),G(e);var t=Yn(e);X(t),Y(t,e);for(var n,r;n=sr(t);)r=cr(t,e,n),lr(t,e,n,r)}function Y(e,t){var n=nr(e,e.nodes());n=n.slice(0,n.length-1),c(n,function(n){ir(e,t,n)})}function ir(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=ar(e,t,n)}function ar(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,c(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,dr(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function X(e,t){arguments.length<2&&(t=e.nodes()[0]),or(e,{},1,t)}function or(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,c(e.neighbors(r),function(i){Object.prototype.hasOwnProperty.call(t,i)||(n=or(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function sr(e){return k(e.edges(),function(t){return e.edge(t).cutvalue<0})}function cr(e,t,r){var i=r.v,a=r.w;t.hasEdge(i,a)||(i=r.w,a=r.v);var o=e.node(i),s=e.node(a),c=o,l=!1;return o.lim>s.lim&&(c=s,l=!0),M(n(t.edges(),function(t){return l===fr(e,e.node(t.v),c)&&l!==fr(e,e.node(t.w),c)}),function(e){return K(t,e)})}function lr(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),X(e),Y(e,t),ur(e,t)}function ur(e,t){var n=rr(e,k(e.nodes(),function(e){return!t.node(e).parent}));n=n.slice(1),c(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 dr(e,t,n){return e.hasEdge(t,n)}function fr(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}function pr(e){switch(e.graph().ranker){case`network-simplex`:gr(e);break;case`tight-tree`:hr(e);break;case`longest-path`:mr(e);break;default:gr(e)}}var mr=G;function hr(e){G(e),Yn(e)}function gr(e){J(e)}function _r(e){var t=V(e,`root`,{},`_root`),n=yr(e),r=j(T(n))-1,i=2*r+1;e.graph().nestingRoot=t,c(e.edges(),function(t){e.edge(t).minlen*=i});var a=br(e)+1;c(e.children(),function(o){vr(e,t,i,a,r,n,o)}),e.graph().nodeRankFactor=i}function vr(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 l=Nn(e,`_bt`),u=Nn(e,`_bb`),d=e.node(o);e.setParent(l,o),d.borderTop=l,e.setParent(u,o),d.borderBottom=u,c(s,function(s){vr(e,t,n,r,i,a,s);var c=e.node(s),d=c.borderTop?c.borderTop:s,f=c.borderBottom?c.borderBottom:s,p=c.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(l,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,u,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,l,{weight:0,minlen:i+a[o]})}function yr(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&c(a,function(e){n(e,i+1)}),t[r]=i}return c(e.children(),function(e){n(e,1)}),t}function br(e){return p(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function xr(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,c(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}function Sr(e,t,n){var r={},i;c(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 Cr(e,t,n){var r=wr(e),i=new E({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(t){return e.node(t)});return c(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),c(e[n](a),function(t){var n=t.v===a?t.w:t.v,r=i.edge(n,a),o=w(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 wr(e){for(var t;e.hasNode(t=R(`_root`)););return t}function Tr(e,t){for(var n=0,r=1;r<t.length;++r)n+=Er(e,t[r-1],t[r]);return n}function Er(e,t,n){for(var r=_n(n,v(n,function(e,t){return t})),i=b(v(t,function(t){return L(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}),l=0;return c(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;l+=e.weight*n})),l}function Dr(e){var t={},r=n(e.nodes(),function(t){return!e.children(t).length}),i=v(I(j(v(r,function(t){return e.node(t).rank}))+1),function(){return[]});function a(n){ht(t,n)||(t[n]=!0,i[e.node(n).rank].push(n),c(e.successors(n),a))}return c(L(r,function(t){return e.node(t).rank}),a),i}function Or(e,t){return v(t,function(t){var n=e.inEdges(t);if(n.length){var r=p(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 kr(e,t){var r={};return c(e,function(e,t){var n=r[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};w(e.barycenter)||(n.barycenter=e.barycenter,n.weight=e.weight)}),c(t.edges(),function(e){var t=r[e.v],n=r[e.w];!w(t)&&!w(n)&&(n.indegree++,t.out.push(r[e.w]))}),Ar(n(r,function(e){return!e.indegree}))}function Ar(e){var t=[];function r(e){return function(t){t.merged||(w(t.barycenter)||w(e.barycenter)||t.barycenter>=e.barycenter)&&jr(e,t)}}function i(t){return function(n){n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){var a=e.pop();t.push(a),c(a.in.reverse(),r(a)),c(a.out,i(a))}return v(n(t,function(e){return!e.merged}),function(e){return F(e,[`vs`,`i`,`barycenter`,`weight`])})}function jr(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 Mr(e,t){var n=Fn(e,function(e){return Object.prototype.hasOwnProperty.call(e,`barycenter`)}),r=n.lhs,i=L(n.rhs,function(e){return-e.i}),a=[],o=0,s=0,l=0;r.sort(Nr(!!t)),l=Z(a,i,l),c(r,function(e){l+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,l=Z(a,i,l)});var u={vs:b(a)};return s&&(u.barycenter=o/s,u.weight=s),u}function Z(e,t,n){for(var r;t.length&&(r=O(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function Nr(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 Pr(e,t,r,i){var a=e.children(t),o=e.node(t),s=o?o.borderLeft:void 0,l=o?o.borderRight:void 0,u={};s&&(a=n(a,function(e){return e!==s&&e!==l}));var d=Or(e,a);c(d,function(t){if(e.children(t.v).length){var n=Pr(e,t.v,r,i);u[t.v]=n,Object.prototype.hasOwnProperty.call(n,`barycenter`)&&Ir(t,n)}});var f=kr(d,r);Fr(f,u);var p=Mr(f,i);if(s&&(p.vs=b([s,p.vs,l]),e.predecessors(s).length)){var m=e.node(e.predecessors(s)[0]),ee=e.node(e.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(p,`barycenter`)||(p.barycenter=0,p.weight=0),p.barycenter=(p.barycenter*p.weight+m.order+ee.order)/(p.weight+2),p.weight+=2}return p}function Fr(e,t){c(e,function(e){e.vs=b(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}function Ir(e,t){w(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 Lr(e){var t=Pn(e),n=Rr(e,I(1,t+1),`inEdges`),r=Rr(e,I(t-1,-1,-1),`outEdges`),i=Dr(e);Br(e,i);for(var a=1/0,o,s=0,c=0;c<4;++s,++c){zr(s%2?n:r,s%4>=2),i=H(e);var l=Tr(e,i);l<a&&(c=0,o=Ye(i),a=l)}Br(e,o)}function Rr(e,t,n){return v(t,function(t){return Cr(e,t,n)})}function zr(e,t){var n=new E;c(e,function(e){var r=e.graph().root,i=Pr(e,r,n,t);c(i.vs,function(t,n){e.node(t).order=n}),Sr(e,n,i.vs)})}function Br(e,t){c(t,function(t){c(t,function(t,n){e.node(t).order=n})})}function Vr(e){var t=Ur(e);c(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,a=Hr(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 Hr(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 Ur(e){var t={},n=0;function r(i){var a=n;c(e.children(i),r),t[i]={low:a,lim:n++}}return c(e.children(),r),t}function Wr(e,t){var n={};function r(t,r){var i=0,a=0,o=t.length,s=O(r);return c(r,function(t,l){var u=Kr(e,t),d=u?e.node(u).order:o;(u||t===s)&&(c(r.slice(a,l+1),function(t){c(e.predecessors(t),function(r){var a=e.node(r),o=a.order;(o<i||d<o)&&!(a.dummy&&e.node(t).dummy)&&qr(n,r,t)})}),a=l+1,i=d)}),r}return p(t,r),n}function Gr(e,t){var n={};function r(t,r,i,a,o){var s;c(I(r,i),function(r){s=t[r],e.node(s).dummy&&c(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&qr(n,t,s)})})}function i(t,n){var i=-1,a,o=0;return c(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 p(t,i),n}function Kr(e,t){if(e.node(t).dummy)return k(e.predecessors(t),function(t){return e.node(t).dummy})}function qr(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 Jr(e,t,n){if(t>n){var r=t;t=n,n=r}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],n)}function Yr(e,t,n,r){var i={},a={},o={};return c(t,function(e){c(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),c(t,function(e){var t=-1;c(e,function(e){var s=r(e);if(s.length){s=L(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]&&!Jr(n,e,d)&&(a[d]=e,a[e]=i[e]=i[d],t=o[d])}}})}),{root:i,align:a}}function Xr(e,t,n,r,i){var a={},o=Zr(e,t,n,i),s=i?`borderLeft`:`borderRight`;function l(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 u(e){a[e]=o.inEdges(e).reduce(function(e,t){return Math.max(e,a[t.v]+o.edge(t))},0)}function d(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 l(u,o.predecessors.bind(o)),l(d,o.successors.bind(o)),c(r,function(e){a[e]=a[n[e]]}),a}function Zr(e,t,n,r){var i=new E,a=e.graph(),o=ni(a.nodesep,a.edgesep,r);return c(t,function(t){var r;c(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 Qr(e,t){return M(T(t),function(t){var n=-1/0,r=1/0;return ot(t,function(t,i){var a=ri(e,i)/2;n=Math.max(t+a,n),r=Math.min(t-a,r)}),n-r})}function $r(e,t){var n=T(t),r=y(n),i=j(n);c([`u`,`d`],function(n){c([`l`,`r`],function(a){var o=n+a,s=e[o],c;if(s!==t){var l=T(s);c=a===`l`?r-y(l):i-j(l),c&&(e[o]=A(s,function(e){return e+c}))}})})}function ei(e,t){return A(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=L(v(e,r));return(i[1]+i[2])/2})}function ti(e){var t=H(e),n=S(Wr(e,t),Gr(e,t)),r={},i;return c([`u`,`d`],function(a){i=a===`u`?t:T(t).reverse(),c([`l`,`r`],function(t){t===`r`&&(i=v(i,function(e){return T(e).reverse()}));var o=(a===`u`?e.predecessors:e.successors).bind(e),s=Yr(e,i,n,o),c=Xr(e,i,s.root,s.align,t===`r`);t===`r`&&(c=A(c,function(e){return-e})),r[a+t]=c})}),$r(r,Qr(e,r)),ei(r,e.graph().align)}function ni(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 ri(e,t){return e.node(t).width}function ii(e){e=kn(e),ai(e),ct(ti(e),function(t,n){e.node(n).x=t})}function ai(e){var t=H(e),n=e.graph().ranksep,r=0;c(t,function(t){var i=j(v(t,function(t){return e.node(t).height}));c(t,function(t){e.node(t).y=r+i/2}),r+=i+n})}function oi(e,t){var n=t&&t.debugTiming?In:Ln;n(`layout`,()=>{var t=n(` buildLayoutGraph`,()=>_i(e));n(` runLayout`,()=>si(t,n)),n(` updateInputGraph`,()=>ci(e,t))})}function si(e,t){t(` makeSpaceForEdgeLabels`,()=>vi(e)),t(` removeSelfEdges`,()=>Di(e)),t(` acyclic`,()=>Tn(e)),t(` nestingGraph.run`,()=>_r(e)),t(` rank`,()=>pr(kn(e))),t(` injectEdgeLabelProxies`,()=>yi(e)),t(` removeEmptyRanks`,()=>Mn(e)),t(` nestingGraph.cleanup`,()=>xr(e)),t(` normalizeRanks`,()=>jn(e)),t(` assignRankMinMax`,()=>bi(e)),t(` removeEdgeLabelProxies`,()=>xi(e)),t(` normalize.run`,()=>Kn(e)),t(` parentDummyChains`,()=>Vr(e)),t(` addBorderSegments`,()=>Rn(e)),t(` order`,()=>Lr(e)),t(` insertSelfEdges`,()=>Oi(e)),t(` adjustCoordinateSystem`,()=>Bn(e)),t(` position`,()=>ii(e)),t(` positionSelfEdges`,()=>ki(e)),t(` removeBorderNodes`,()=>Ei(e)),t(` normalize.undo`,()=>Jn(e)),t(` fixupEdgeLabelCoords`,()=>wi(e)),t(` undoCoordinateSystem`,()=>Vn(e)),t(` translateGraph`,()=>Si(e)),t(` assignNodeIntersects`,()=>Ci(e)),t(` reversePoints`,()=>Ti(e)),t(` acyclic.undo`,()=>Dn(e))}function ci(e,t){c(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))}),c(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 li=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],ui={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},di=[`acyclicer`,`ranker`,`rankdir`,`align`],fi=[`width`,`height`],pi={width:0,height:0},mi=[`minlen`,`weight`,`width`,`height`,`labeloffset`],hi={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},gi=[`labelpos`];function _i(e){var t=new E({multigraph:!0,compound:!0}),n=$(e.graph());return t.setGraph(S({},ui,Q(n,li),F(n,di))),c(e.nodes(),function(n){var r=$(e.node(n));t.setNode(n,$e(Q(r,fi),pi)),t.setParent(n,e.parent(n))}),c(e.edges(),function(n){var r=$(e.edge(n));t.setEdge(n,S({},hi,Q(r,mi),F(r,gi)))}),t}function vi(e){var t=e.graph();t.ranksep/=2,c(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 yi(e){c(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v);V(e,`edge-proxy`,{rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t},`_ep`)}})}function bi(e){var t=0;c(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=j(t,r.maxRank))}),e.graph().maxRank=t}function xi(e){c(e.nodes(),function(t){var n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function Si(e){var t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function l(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)}c(e.nodes(),function(t){l(e.node(t))}),c(e.edges(),function(t){var n=e.edge(t);Object.prototype.hasOwnProperty.call(n,`x`)&&l(n)}),t-=o,r-=s,c(e.nodes(),function(n){var i=e.node(n);i.x-=t,i.y-=r}),c(e.edges(),function(n){var i=e.edge(n);c(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 Ci(e){c(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(An(r,a)),n.points.push(An(i,o))})}function wi(e){c(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 Ti(e){c(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function Ei(e){c(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(O(n.borderLeft)),o=e.node(O(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}}),c(e.nodes(),function(t){e.node(t).dummy===`border`&&e.removeNode(t)})}function Di(e){c(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 Oi(e){c(H(e),function(t){var n=0;c(t,function(t,r){var i=e.node(t);i.order=r+n,c(i.selfEdges,function(t){V(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 ki(e){c(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 Q(e,t){return A(F(e,t),Number)}function $(e){var t={};return c(e,function(e,n){t[n.toLowerCase()]=e}),t}export{oi as t};
2
+ //# sourceMappingURL=dagre-je-VuoV3.js.map