omni-context-cli 0.0.48 → 0.0.49

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 (56) hide show
  1. package/dist/cli.js +7 -7
  2. package/dist/clients/extension.vsix +0 -0
  3. package/dist/clients/web/assets/{_baseUniq-CWlTL7nF.js → _baseUniq-O6Fk0Wzr.js} +1 -1
  4. package/dist/clients/web/assets/{arc-CZjkqmF_.js → arc-n0x23Ctx.js} +1 -1
  5. package/dist/clients/web/assets/{architectureDiagram-VXUJARFQ-BOYa2bjw.js → architectureDiagram-VXUJARFQ-siUxtu84.js} +1 -1
  6. package/dist/clients/web/assets/{blockDiagram-VD42YOAC-DDOynruE.js → blockDiagram-VD42YOAC-DSqh9eGY.js} +1 -1
  7. package/dist/clients/web/assets/{c4Diagram-YG6GDRKO-C-97RpE_.js → c4Diagram-YG6GDRKO-wYR7H7xi.js} +1 -1
  8. package/dist/clients/web/assets/channel-NwuYDCTJ.js +1 -0
  9. package/dist/clients/web/assets/{chunk-4BX2VUAB-Cq-CVpiF.js → chunk-4BX2VUAB-Cay_iY5D.js} +1 -1
  10. package/dist/clients/web/assets/{chunk-55IACEB6-DgNYsQB7.js → chunk-55IACEB6-BeMIObm3.js} +1 -1
  11. package/dist/clients/web/assets/{chunk-B4BG7PRW-DlQsB2me.js → chunk-B4BG7PRW-B6cIgi7d.js} +1 -1
  12. package/dist/clients/web/assets/{chunk-DI55MBZ5-BHeF7oM6.js → chunk-DI55MBZ5-BXrfKlO3.js} +1 -1
  13. package/dist/clients/web/assets/{chunk-FMBD7UC4-D5QlY4R_.js → chunk-FMBD7UC4-67W1cNu_.js} +1 -1
  14. package/dist/clients/web/assets/{chunk-QN33PNHL-CHk3Nn1_.js → chunk-QN33PNHL-DuPwsSus.js} +1 -1
  15. package/dist/clients/web/assets/{chunk-QZHKN3VN-CAJ02eyq.js → chunk-QZHKN3VN-DWUuzBl_.js} +1 -1
  16. package/dist/clients/web/assets/{chunk-TZMSLE5B-fdEkh5Xq.js → chunk-TZMSLE5B-D3SRAd4i.js} +1 -1
  17. package/dist/clients/web/assets/classDiagram-2ON5EDUG-CA17y53i.js +1 -0
  18. package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-CA17y53i.js +1 -0
  19. package/dist/clients/web/assets/clone-Ccjp7w8U.js +1 -0
  20. package/dist/clients/web/assets/{cose-bilkent-S5V4N54A-C-KgfDpO.js → cose-bilkent-S5V4N54A-2yiAjDsY.js} +1 -1
  21. package/dist/clients/web/assets/{dagre-6UL2VRFP-XmHvxEnn.js → dagre-6UL2VRFP-DWtKyQlZ.js} +1 -1
  22. package/dist/clients/web/assets/{diagram-PSM6KHXK-piStbVS-.js → diagram-PSM6KHXK-BsH8ucOy.js} +1 -1
  23. package/dist/clients/web/assets/{diagram-QEK2KX5R-CclADJ9n.js → diagram-QEK2KX5R-CgAM_caT.js} +1 -1
  24. package/dist/clients/web/assets/{diagram-S2PKOQOG-yfPR_M0P.js → diagram-S2PKOQOG-5sXZE5fB.js} +1 -1
  25. package/dist/clients/web/assets/{erDiagram-Q2GNP2WA-C-QpleLm.js → erDiagram-Q2GNP2WA-SZjIGLfC.js} +1 -1
  26. package/dist/clients/web/assets/{flowDiagram-NV44I4VS-BXBJgvY4.js → flowDiagram-NV44I4VS-B13r1-Qr.js} +1 -1
  27. package/dist/clients/web/assets/{ganttDiagram-JELNMOA3-BId-yi2d.js → ganttDiagram-JELNMOA3-tnNnlmJ_.js} +1 -1
  28. package/dist/clients/web/assets/{gitGraphDiagram-NY62KEGX-C4GmkdUU.js → gitGraphDiagram-NY62KEGX-D3vXxiLR.js} +1 -1
  29. package/dist/clients/web/assets/{graph-lKpmm44U.js → graph-yEZO5As9.js} +1 -1
  30. package/dist/clients/web/assets/index-BvMYTiOr.js +27 -0
  31. package/dist/clients/web/assets/{index-QpapYAy5.css → index-bgcKJQwq.css} +1 -1
  32. package/dist/clients/web/assets/{infoDiagram-WHAUD3N6-DlTKBMRb.js → infoDiagram-WHAUD3N6-Diqs41Bs.js} +1 -1
  33. package/dist/clients/web/assets/{journeyDiagram-XKPGCS4Q-uR4zvhag.js → journeyDiagram-XKPGCS4Q-CsFCBnpU.js} +1 -1
  34. package/dist/clients/web/assets/{kanban-definition-3W4ZIXB7-BAth3XiM.js → kanban-definition-3W4ZIXB7-ToLQEJ6t.js} +1 -1
  35. package/dist/clients/web/assets/{layout-dqzmM9SC.js → layout-DAYHKwLI.js} +1 -1
  36. package/dist/clients/web/assets/{linear-BDsjBD51.js → linear-C6-59Tkb.js} +1 -1
  37. package/dist/clients/web/assets/{min-BpvcSMeI.js → min-CcGwUInn.js} +1 -1
  38. package/dist/clients/web/assets/{mindmap-definition-VGOIOE7T-YOfHJc2b.js → mindmap-definition-VGOIOE7T-DUxl95g0.js} +1 -1
  39. package/dist/clients/web/assets/{pieDiagram-ADFJNKIX-sxupIhex.js → pieDiagram-ADFJNKIX-B01HV9sF.js} +1 -1
  40. package/dist/clients/web/assets/{quadrantDiagram-AYHSOK5B-Clx0aaiI.js → quadrantDiagram-AYHSOK5B-CeqFw4rm.js} +1 -1
  41. package/dist/clients/web/assets/{requirementDiagram-UZGBJVZJ-Jff8r0V3.js → requirementDiagram-UZGBJVZJ-CFCoQIAQ.js} +1 -1
  42. package/dist/clients/web/assets/{sankeyDiagram-TZEHDZUN-tCX6Wk6i.js → sankeyDiagram-TZEHDZUN-C4bOlCv6.js} +1 -1
  43. package/dist/clients/web/assets/{sequenceDiagram-WL72ISMW-B66jOgtV.js → sequenceDiagram-WL72ISMW-CmcZq0aE.js} +1 -1
  44. package/dist/clients/web/assets/{stateDiagram-FKZM4ZOC-DFsarSTD.js → stateDiagram-FKZM4ZOC-BrC_Infp.js} +1 -1
  45. package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-Bi_Pj5vD.js +1 -0
  46. package/dist/clients/web/assets/{timeline-definition-IT6M3QCI-B7iIhHj6.js → timeline-definition-IT6M3QCI-C25RxMkJ.js} +1 -1
  47. package/dist/clients/web/assets/{treemap-KMMF4GRG-bwvPNBHC.js → treemap-KMMF4GRG-CYbXQA3w.js} +1 -1
  48. package/dist/clients/web/assets/{xychartDiagram-PRI3JC2R-CstqFcD3.js → xychartDiagram-PRI3JC2R-DxEjdm1o.js} +1 -1
  49. package/dist/clients/web/index.html +2 -2
  50. package/package.json +1 -1
  51. package/dist/clients/web/assets/channel-CrQbNsBe.js +0 -1
  52. package/dist/clients/web/assets/classDiagram-2ON5EDUG-CoAFxeb1.js +0 -1
  53. package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-CoAFxeb1.js +0 -1
  54. package/dist/clients/web/assets/clone-V8tKmkAv.js +0 -1
  55. package/dist/clients/web/assets/index-5wVqr2Ny.js +0 -27
  56. package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-DhAPZEUr.js +0 -1
@@ -1 +1 @@
1
- import{aG as t,_ as i,l as n,d as r}from"./index-5wVqr2Ny.js";import{c as s}from"./cytoscape.esm-Cw0kmstm.js";var h,u={exports:{}},e={exports:{}},o={exports:{}};function f(){return h?o.exports:(h=1,t=function(){return function(t){var i={};function n(r){if(i[r])return i[r].exports;var s=i[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=i,n.i=function(t){return t},n.d=function(t,i,r){n.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="",n(n.s=26)}([function(t,i,n){function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,i,n){var r=n(2),s=n(8),h=n(9);function u(t,i,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=i}for(var e in u.prototype=Object.create(r.prototype),r)u[e]=r[e];u.prototype.getSource=function(){return this.source},u.prototype.getTarget=function(){return this.target},u.prototype.isInterGraph=function(){return this.isInterGraph},u.prototype.getLength=function(){return this.length},u.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},u.prototype.getBendpoints=function(){return this.bendpoints},u.prototype.getLca=function(){return this.lca},u.prototype.getSourceInLca=function(){return this.sourceInLca},u.prototype.getTargetInLca=function(){return this.targetInLca},u.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},u.prototype.getOtherEndInGraph=function(t,i){for(var n=this.getOtherEnd(t),r=i.getGraphManager().getRoot();;){if(n.getOwner()==i)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},u.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=h.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=h.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},u.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=h.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=h.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=u},function(t,i,n){t.exports=function(t){this.vGraphObject=t}},function(t,i,n){var r=n(2),s=n(10),h=n(13),u=n(0),e=n(16),o=n(4);function f(t,i,n,u){null==n&&null==u&&(u=i),r.call(this,u),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=u,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=i?new h(i.x,i.y,n.width,n.height):new h}for(var a in f.prototype=Object.create(r.prototype),r)f[a]=r[a];f.prototype.getEdges=function(){return this.edges},f.prototype.getChild=function(){return this.child},f.prototype.getOwner=function(){return this.owner},f.prototype.getWidth=function(){return this.rect.width},f.prototype.setWidth=function(t){this.rect.width=t},f.prototype.getHeight=function(){return this.rect.height},f.prototype.setHeight=function(t){this.rect.height=t},f.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},f.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},f.prototype.getCenter=function(){return new o(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},f.prototype.getLocation=function(){return new o(this.rect.x,this.rect.y)},f.prototype.getRect=function(){return this.rect},f.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},f.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},f.prototype.setRect=function(t,i){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=i.width,this.rect.height=i.height},f.prototype.setCenter=function(t,i){this.rect.x=t-this.rect.width/2,this.rect.y=i-this.rect.height/2},f.prototype.setLocation=function(t,i){this.rect.x=t,this.rect.y=i},f.prototype.moveBy=function(t,i){this.rect.x+=t,this.rect.y+=i},f.prototype.getEdgeListToNode=function(t){var i=[],n=this;return n.edges.forEach(function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";i.push(r)}}),i},f.prototype.getEdgesBetween=function(t){var i=[],n=this;return n.edges.forEach(function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||i.push(r)}),i},f.prototype.getNeighborsList=function(){var t=new Set,i=this;return i.edges.forEach(function(n){if(n.source==i)t.add(n.target);else{if(n.target!=i)throw"Incorrect incidency!";t.add(n.source)}}),t},f.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var i=this.child.getNodes(),n=0;n<i.length;n++)i[n].withChildren().forEach(function(i){t.add(i)});return t},f.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var i=this.child.getNodes(),n=0;n<i.length;n++)t+=i[n].getNoOfChildren();return 0==t&&(t=1),t},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==s.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},f.prototype.scatter=function(){var t,i,n=-u.INITIAL_WORLD_BOUNDARY,r=u.INITIAL_WORLD_BOUNDARY;t=u.WORLD_CENTER_X+e.nextDouble()*(r-n)+n;var s=-u.INITIAL_WORLD_BOUNDARY,h=u.INITIAL_WORLD_BOUNDARY;i=u.WORLD_CENTER_Y+e.nextDouble()*(h-s)+s,this.rect.x=t,this.rect.y=i},f.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),u.NODE_DIMENSIONS_INCLUDE_LABELS){var i=t.getRight()-t.getLeft(),n=t.getBottom()-t.getTop();this.labelWidth>i&&(this.rect.x-=(this.labelWidth-i)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},f.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},f.prototype.transform=function(t){var i=this.rect.x;i>u.WORLD_BOUNDARY?i=u.WORLD_BOUNDARY:i<-u.WORLD_BOUNDARY&&(i=-u.WORLD_BOUNDARY);var n=this.rect.y;n>u.WORLD_BOUNDARY?n=u.WORLD_BOUNDARY:n<-u.WORLD_BOUNDARY&&(n=-u.WORLD_BOUNDARY);var r=new o(i,n),s=t.inverseTransformPoint(r);this.setLocation(s.x,s.y)},f.prototype.getLeft=function(){return this.rect.x},f.prototype.getRight=function(){return this.rect.x+this.rect.width},f.prototype.getTop=function(){return this.rect.y},f.prototype.getBottom=function(){return this.rect.y+this.rect.height},f.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=f},function(t,i,n){function r(t,i){null==t&&null==i?(this.x=0,this.y=0):(this.x=t,this.y=i)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,i,n){var r=n(2),s=n(10),h=n(0),u=n(6),e=n(3),o=n(1),f=n(13),a=n(12),c=n(11);function l(t,i,n){r.call(this,n),this.estimatedSize=s.MIN_VALUE,this.margin=h.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=i&&i instanceof u?this.graphManager=i:null!=i&&i instanceof Layout&&(this.graphManager=i.graphManager)}for(var v in l.prototype=Object.create(r.prototype),r)l[v]=r[v];l.prototype.getNodes=function(){return this.nodes},l.prototype.getEdges=function(){return this.edges},l.prototype.getGraphManager=function(){return this.graphManager},l.prototype.getParent=function(){return this.parent},l.prototype.getLeft=function(){return this.left},l.prototype.getRight=function(){return this.right},l.prototype.getTop=function(){return this.top},l.prototype.getBottom=function(){return this.bottom},l.prototype.isConnected=function(){return this.isConnected},l.prototype.add=function(t,i,n){if(null==i&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var s=t;if(!(this.getNodes().indexOf(i)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(i.owner!=n.owner||i.owner!=this)throw"Both owners must be this graph!";return i.owner!=n.owner?null:(s.source=i,s.target=n,s.isInterGraph=!1,this.getEdges().push(s),i.edges.push(s),n!=i&&n.edges.push(s),s)},l.prototype.remove=function(t){var i=t;if(t instanceof e){if(null==i)throw"Node is null!";if(null==i.owner||i.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=i.edges.slice(),r=n.length,s=0;s<r;s++)(h=n[s]).isInterGraph?this.graphManager.remove(h):h.source.owner.remove(h);if(-1==(u=this.nodes.indexOf(i)))throw"Node not in owner node list!";this.nodes.splice(u,1)}else if(t instanceof o){var h;if(null==(h=t))throw"Edge is null!";if(null==h.source||null==h.target)throw"Source and/or target is null!";if(null==h.source.owner||null==h.target.owner||h.source.owner!=this||h.target.owner!=this)throw"Source and/or target owner is invalid!";var u,f=h.source.edges.indexOf(h),a=h.target.edges.indexOf(h);if(!(f>-1&&a>-1))throw"Source and/or target doesn't know this edge!";if(h.source.edges.splice(f,1),h.target!=h.source&&h.target.edges.splice(a,1),-1==(u=h.source.owner.getEdges().indexOf(h)))throw"Not in owner's edge list!";h.source.owner.getEdges().splice(u,1)}},l.prototype.updateLeftTop=function(){for(var t,i,n,r=s.MAX_VALUE,h=s.MAX_VALUE,u=this.getNodes(),e=u.length,o=0;o<e;o++){var f=u[o];r>(t=f.getTop())&&(r=t),h>(i=f.getLeft())&&(h=i)}return r==s.MAX_VALUE?null:(n=null!=u[0].getParent().paddingLeft?u[0].getParent().paddingLeft:this.margin,this.left=h-n,this.top=r-n,new a(this.left,this.top))},l.prototype.updateBounds=function(t){for(var i,n,r,h,u,e=s.MAX_VALUE,o=-s.MAX_VALUE,a=s.MAX_VALUE,c=-s.MAX_VALUE,l=this.nodes,v=l.length,d=0;d<v;d++){var w=l[d];t&&null!=w.child&&w.updateBounds(),e>(i=w.getLeft())&&(e=i),o<(n=w.getRight())&&(o=n),a>(r=w.getTop())&&(a=r),c<(h=w.getBottom())&&(c=h)}var y=new f(e,a,o-e,c-a);e==s.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),u=null!=l[0].getParent().paddingLeft?l[0].getParent().paddingLeft:this.margin,this.left=y.x-u,this.right=y.x+y.width+u,this.top=y.y-u,this.bottom=y.y+y.height+u},l.calculateBounds=function(t){for(var i,n,r,h,u=s.MAX_VALUE,e=-s.MAX_VALUE,o=s.MAX_VALUE,a=-s.MAX_VALUE,c=t.length,l=0;l<c;l++){var v=t[l];u>(i=v.getLeft())&&(u=i),e<(n=v.getRight())&&(e=n),o>(r=v.getTop())&&(o=r),a<(h=v.getBottom())&&(a=h)}return new f(u,o,e-u,a-o)},l.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==s.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){for(var t=0,i=this.nodes,n=i.length,r=0;r<n;r++)t+=i[r].calcEstimatedSize();return this.estimatedSize=0==t?h.EMPTY_COMPOUND_NODE_SIZE:t/Math.sqrt(this.nodes.length),this.estimatedSize},l.prototype.updateConnected=function(){var t=this;if(0!=this.nodes.length){var i,n,r=new c,s=new Set,h=this.nodes[0];for(h.withChildren().forEach(function(t){r.push(t),s.add(t)});0!==r.length;)for(var u=(i=(h=r.shift()).getEdges()).length,e=0;e<u;e++)null==(n=i[e].getOtherEndInGraph(h,this))||s.has(n)||n.withChildren().forEach(function(t){r.push(t),s.add(t)});if(this.isConnected=!1,s.size>=this.nodes.length){var o=0;s.forEach(function(i){i.owner==t&&o++}),o==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=l},function(t,i,n){var r,s=n(1);function h(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}h.prototype.addRoot=function(){var t=this.layout.newGraph(),i=this.layout.newNode(null),n=this.add(t,i);return this.setRootGraph(n),this.rootGraph},h.prototype.add=function(t,i,n,r,s){if(null==n&&null==r&&null==s){if(null==t)throw"Graph is null!";if(null==i)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=i.child)throw"Already has a child!";return t.parent=i,i.child=t,t}s=n,n=t;var h=(r=i).getOwner(),u=s.getOwner();if(null==h||h.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==u||u.getGraphManager()!=this)throw"Target not in this graph mgr!";if(h==u)return n.isInterGraph=!1,h.add(n,r,s);if(n.isInterGraph=!0,n.source=r,n.target=s,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},h.prototype.remove=function(t){if(t instanceof r){var i=t;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(i!=this.rootGraph&&(null==i.parent||i.parent.graphManager!=this))throw"Invalid parent node!";for(var n,h=[],u=(h=h.concat(i.getEdges())).length,e=0;e<u;e++)n=h[e],i.remove(n);var o,f=[];for(u=(f=f.concat(i.getNodes())).length,e=0;e<u;e++)o=f[e],i.remove(o);i==this.rootGraph&&this.setRootGraph(null);var a=this.graphs.indexOf(i);this.graphs.splice(a,1),i.parent=null}else if(t instanceof s){if(null==(n=t))throw"Edge is null!";if(!n.isInterGraph)throw"Not an inter-graph edge!";if(null==n.source||null==n.target)throw"Source and/or target is null!";if(-1==n.source.edges.indexOf(n)||-1==n.target.edges.indexOf(n))throw"Source and/or target doesn't know this edge!";if(a=n.source.edges.indexOf(n),n.source.edges.splice(a,1),a=n.target.edges.indexOf(n),n.target.edges.splice(a,1),null==n.source.owner||null==n.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==n.source.owner.getGraphManager().edges.indexOf(n))throw"Not in owner graph manager's edge list!";a=n.source.owner.getGraphManager().edges.indexOf(n),n.source.owner.getGraphManager().edges.splice(a,1)}},h.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},h.prototype.getGraphs=function(){return this.graphs},h.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],i=this.getGraphs(),n=i.length,r=0;r<n;r++)t=t.concat(i[r].getNodes());this.allNodes=t}return this.allNodes},h.prototype.resetAllNodes=function(){this.allNodes=null},h.prototype.resetAllEdges=function(){this.allEdges=null},h.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},h.prototype.getAllEdges=function(){if(null==this.allEdges){var t=[],i=this.getGraphs();i.length;for(var n=0;n<i.length;n++)t=t.concat(i[n].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},h.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},h.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},h.prototype.getRoot=function(){return this.rootGraph},h.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},h.prototype.getLayout=function(){return this.layout},h.prototype.isOneAncestorOfOther=function(t,i){if(null==t||null==i)throw"assert failed";if(t==i)return!0;for(var n,r=t.getOwner();null!=(n=r.getParent());){if(n==i)return!0;if(null==(r=n.getOwner()))break}for(r=i.getOwner();null!=(n=r.getParent());){if(n==t)return!0;if(null==(r=n.getOwner()))break}return!1},h.prototype.calcLowestCommonAncestors=function(){for(var t,i,n,r,s,h=this.getAllEdges(),u=h.length,e=0;e<u;e++)if(i=(t=h[e]).source,n=t.target,t.lca=null,t.sourceInLca=i,t.targetInLca=n,i!=n){for(r=i.getOwner();null==t.lca;){for(t.targetInLca=n,s=n.getOwner();null==t.lca;){if(s==r){t.lca=s;break}if(s==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=s.getParent(),s=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}else t.lca=i.getOwner()},h.prototype.calcLowestCommonAncestor=function(t,i){if(t==i)return t.getOwner();for(var n=t.getOwner();null!=n;){for(var r=i.getOwner();null!=r;){if(r==n)return r;r=r.getParent().getOwner()}n=n.getParent().getOwner()}return n},h.prototype.calcInclusionTreeDepths=function(t,i){var n;null==t&&null==i&&(t=this.rootGraph,i=1);for(var r=t.getNodes(),s=r.length,h=0;h<s;h++)(n=r[h]).inclusionTreeDepth=i,null!=n.child&&this.calcInclusionTreeDepths(n.child,i+1)},h.prototype.includesInvalidEdge=function(){for(var t,i=this.edges.length,n=0;n<i;n++)if(t=this.edges[n],this.isOneAncestorOfOther(t.source,t.target))return!0;return!1},t.exports=h},function(t,i,n){var r=n(0);function s(){}for(var h in r)s[h]=r[h];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=3*s.MAX_NODE_DISPLACEMENT_INCREMENTAL,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=s},function(t,i,n){var r=n(12);function s(){}s.calcSeparationAmount=function(t,i,n,r){if(!t.intersects(i))throw"assert failed";var s=new Array(2);this.decideDirectionsForOverlappingNodes(t,i,s),n[0]=Math.min(t.getRight(),i.getRight())-Math.max(t.x,i.x),n[1]=Math.min(t.getBottom(),i.getBottom())-Math.max(t.y,i.y),t.getX()<=i.getX()&&t.getRight()>=i.getRight()?n[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?n[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var h=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(h=1);var u=h*n[0],e=n[1]/h;n[0]<e?e=n[0]:u=n[1],n[0]=-1*s[0]*(e/2+r),n[1]=-1*s[1]*(u/2+r)},s.decideDirectionsForOverlappingNodes=function(t,i,n){t.getCenterX()<i.getCenterX()?n[0]=-1:n[0]=1,t.getCenterY()<i.getCenterY()?n[1]=-1:n[1]=1},s.getIntersection2=function(t,i,n){var r=t.getCenterX(),s=t.getCenterY(),h=i.getCenterX(),u=i.getCenterY();if(t.intersects(i))return n[0]=r,n[1]=s,n[2]=h,n[3]=u,!0;var e=t.getX(),o=t.getY(),f=t.getRight(),a=t.getX(),c=t.getBottom(),l=t.getRight(),v=t.getWidthHalf(),d=t.getHeightHalf(),w=i.getX(),y=i.getY(),g=i.getRight(),p=i.getX(),b=i.getBottom(),m=i.getRight(),M=i.getWidthHalf(),k=i.getHeightHalf(),j=!1,O=!1;if(r===h){if(s>u)return n[0]=r,n[1]=o,n[2]=h,n[3]=b,!1;if(s<u)return n[0]=r,n[1]=c,n[2]=h,n[3]=y,!1}else if(s===u){if(r>h)return n[0]=e,n[1]=s,n[2]=g,n[3]=u,!1;if(r<h)return n[0]=f,n[1]=s,n[2]=w,n[3]=u,!1}else{var x=t.height/t.width,A=i.height/i.width,E=(u-s)/(h-r),I=void 0,N=void 0,S=void 0,q=void 0,P=void 0,C=void 0;if(-x===E?r>h?(n[0]=a,n[1]=c,j=!0):(n[0]=f,n[1]=o,j=!0):x===E&&(r>h?(n[0]=e,n[1]=o,j=!0):(n[0]=l,n[1]=c,j=!0)),-A===E?h>r?(n[2]=p,n[3]=b,O=!0):(n[2]=g,n[3]=y,O=!0):A===E&&(h>r?(n[2]=w,n[3]=y,O=!0):(n[2]=m,n[3]=b,O=!0)),j&&O)return!1;if(r>h?s>u?(I=this.getCardinalDirection(x,E,4),N=this.getCardinalDirection(A,E,2)):(I=this.getCardinalDirection(-x,E,3),N=this.getCardinalDirection(-A,E,1)):s>u?(I=this.getCardinalDirection(-x,E,1),N=this.getCardinalDirection(-A,E,3)):(I=this.getCardinalDirection(x,E,2),N=this.getCardinalDirection(A,E,4)),!j)switch(I){case 1:q=o,S=r+-d/E,n[0]=S,n[1]=q;break;case 2:S=l,q=s+v*E,n[0]=S,n[1]=q;break;case 3:q=c,S=r+d/E,n[0]=S,n[1]=q;break;case 4:S=a,q=s+-v*E,n[0]=S,n[1]=q}if(!O)switch(N){case 1:C=y,P=h+-k/E,n[2]=P,n[3]=C;break;case 2:P=m,C=u+M*E,n[2]=P,n[3]=C;break;case 3:C=b,P=h+k/E,n[2]=P,n[3]=C;break;case 4:P=p,C=u+-M*E,n[2]=P,n[3]=C}}return!1},s.getCardinalDirection=function(t,i,n){return t>i?n:1+n%4},s.getIntersection=function(t,i,n,s){if(null==s)return this.getIntersection2(t,i,n);var h,u,e,o,f,a,c,l=t.x,v=t.y,d=i.x,w=i.y,y=n.x,g=n.y,p=s.x,b=s.y;return 0===(c=(h=w-v)*(o=y-p)-(u=b-g)*(e=l-d))?null:new r((e*(a=p*g-y*b)-o*(f=d*v-l*w))/c,(u*f-h*a)/c)},s.angleOfVector=function(t,i,n,r){var s=void 0;return t!==n?(s=Math.atan((r-i)/(n-t)),n<t?s+=Math.PI:r<i&&(s+=this.TWO_PI)):s=r<i?this.ONE_AND_HALF_PI:this.HALF_PI,s},s.doIntersect=function(t,i,n,r){var s=t.x,h=t.y,u=i.x,e=i.y,o=n.x,f=n.y,a=r.x,c=r.y,l=(u-s)*(c-f)-(a-o)*(e-h);if(0===l)return!1;var v=((c-f)*(a-s)+(o-a)*(c-h))/l,d=((h-e)*(a-s)+(u-s)*(c-h))/l;return 0<v&&v<1&&0<d&&d<1},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,t.exports=s},function(t,i,n){function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,i,n){function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,i,n){var r=function(){function t(t,i){for(var n=0;n<i.length;n++){var r=i[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,n,r){return n&&t(i.prototype,n),r&&t(i,r),i}}(),s=function(t){return{value:t,next:null,prev:null}},h=function(t,i,n,r){return null!==t?t.next=i:r.head=i,null!==n?n.prev=i:r.tail=i,i.prev=t,i.next=n,r.length++,i},u=function(t,i){var n=t.prev,r=t.next;return null!==n?n.next=r:i.head=r,null!==r?r.prev=n:i.tail=n,t.prev=t.next=null,i.length--,t},e=function(){function t(i){var n=this;!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),this.length=0,this.head=null,this.tail=null,null!=i&&i.forEach(function(t){return n.push(t)})}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,i){return h(i.prev,s(t),i,this)}},{key:"insertAfter",value:function(t,i){return h(i,s(t),i.next,this)}},{key:"insertNodeBefore",value:function(t,i){return h(i.prev,t,i,this)}},{key:"insertNodeAfter",value:function(t,i){return h(i,t,i.next,this)}},{key:"push",value:function(t){return h(this.tail,s(t),null,this)}},{key:"unshift",value:function(t){return h(null,s(t),this.head,this)}},{key:"remove",value:function(t){return u(t,this)}},{key:"pop",value:function(){return u(this.tail,this).value}},{key:"popNode",value:function(){return u(this.tail,this)}},{key:"shift",value:function(){return u(this.head,this).value}},{key:"shiftNode",value:function(){return u(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var i=1,n=this.head;i<t;)n=n.next,i++;return n.value}}},{key:"set_object_at",value:function(t,i){if(t<=this.length()){for(var n=1,r=this.head;n<t;)r=r.next,n++;r.value=i}}}]),t}();t.exports=e},function(t,i,n){function r(t,i,n){this.x=null,this.y=null,null==t&&null==i&&null==n?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof i&&null==n?(this.x=t,this.y=i):"Point"==t.constructor.name&&null==i&&null==n&&(n=t,this.x=n.x,this.y=n.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,i,n){"Point"==t.constructor.name&&null==i&&null==n?(n=t,this.setLocation(n.x,n.y)):"number"==typeof t&&"number"==typeof i&&null==n&&(parseInt(t)==t&&parseInt(i)==i?this.move(t,i):(this.x=Math.floor(t+.5),this.y=Math.floor(i+.5)))},r.prototype.move=function(t,i){this.x=t,this.y=i},r.prototype.translate=function(t,i){this.x+=t,this.y+=i},r.prototype.equals=function(t){if("Point"==t.constructor.name){var i=t;return this.x==i.x&&this.y==i.y}return this==t},r.prototype.toString=function(){return(new r).constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,i,n){function r(t,i,n,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=i&&null!=n&&null!=r&&(this.x=t,this.y=i,this.width=n,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,i,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function s(){}s.lastID=0,s.createID=function(t){return s.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=s.getString(),s.lastID++),t.uniqueID)},s.getString=function(t){return null==t&&(t=s.lastID),"Object#"+t},s.isPrimitive=function(t){var i=void 0===t?"undefined":r(t);return null==t||"object"!=i&&"function"!=i},t.exports=s},function(t,i,n){function r(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}var s=n(0),h=n(6),u=n(3),e=n(1),o=n(5),f=n(4),a=n(17),c=n(27);function l(t){c.call(this),this.layoutQuality=s.QUALITY,this.createBendsAsNeeded=s.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=s.DEFAULT_INCREMENTAL,this.animationOnLayout=s.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=s.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=s.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=s.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new h(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}l.RANDOM_SEED=1,l.prototype=Object.create(c.prototype),l.prototype.getGraphManager=function(){return this.graphManager},l.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},l.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},l.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},l.prototype.newGraphManager=function(){var t=new h(this);return this.graphManager=t,t},l.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},l.prototype.newNode=function(t){return new u(this.graphManager,t)},l.prototype.newEdge=function(t){return new e(null,null,t)},l.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},l.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==s.ANIMATE&&(t&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},l.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},l.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),i=0;i<t.length;i++)t[i];var n=this.graphManager.getRoot().getNodes();for(i=0;i<n.length;i++)n[i];this.update(this.graphManager.getRoot())}},l.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof u){var i=t;if(null!=i.getChild())for(var n=i.getChild().getNodes(),r=0;r<n.length;r++)update(n[r]);null!=i.vGraphObject&&i.vGraphObject.update(i)}else if(t instanceof e){var s=t;null!=s.vGraphObject&&s.vGraphObject.update(s)}else if(t instanceof o){var h=t;null!=h.vGraphObject&&h.vGraphObject.update(h)}},l.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=s.QUALITY,this.animationDuringLayout=s.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=s.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=s.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=s.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=s.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=s.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},l.prototype.transform=function(t){if(null==t)this.transform(new f(0,0));else{var i=new a,n=this.graphManager.getRoot().updateLeftTop();if(null!=n){i.setWorldOrgX(t.x),i.setWorldOrgY(t.y),i.setDeviceOrgX(n.x),i.setDeviceOrgY(n.y);for(var r=this.getAllNodes(),s=0;s<r.length;s++)r[s].transform(i)}}},l.prototype.positionNodesRandomly=function(t){if(null==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var i,n,r=t.getNodes(),s=0;s<r.length;s++)null==(n=(i=r[s]).getChild())||0==n.getNodes().length?i.scatter():(this.positionNodesRandomly(n),i.updateBounds())},l.prototype.getFlatForest=function(){for(var t=[],i=!0,n=this.graphManager.getRoot().getNodes(),s=!0,h=0;h<n.length;h++)null!=n[h].getChild()&&(s=!1);if(!s)return t;var u=new Set,e=[],o=new Map,f=[];for(f=f.concat(n);f.length>0&&i;){for(e.push(f[0]);e.length>0&&i;){var a=e[0];e.splice(0,1),u.add(a);var c=a.getEdges();for(h=0;h<c.length;h++){var l=c[h].getOtherEnd(a);if(o.get(a)!=l){if(u.has(l)){i=!1;break}e.push(l),o.set(l,a)}}}if(i){var v=[].concat(r(u));for(t.push(v),h=0;h<v.length;h++){var d=v[h],w=f.indexOf(d);w>-1&&f.splice(w,1)}u=new Set,o=new Map}else t=[]}return t},l.prototype.createDummyNodesForBendpoints=function(t){for(var i=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),s=0;s<t.bendpoints.length;s++){var h=this.newNode(null);h.setRect(new Point(0,0),new Dimension(1,1)),r.add(h);var u=this.newEdge(null);this.graphManager.add(u,n,h),i.add(h),n=h}return u=this.newEdge(null),this.graphManager.add(u,n,t.target),this.edgeToDummyNodes.set(t,i),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),i},l.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var i=0;i<t.length;i++){var n=t[i];if(n.bendpoints.length>0){for(var s=this.edgeToDummyNodes.get(n),h=0;h<s.length;h++){var u=s[h],e=new f(u.getCenterX(),u.getCenterY()),o=n.bendpoints.get(h);o.x=e.x,o.y=e.y,u.getOwner().remove(u)}this.graphManager.add(n,n.source,n.target)}}},l.transform=function(t,i,n,r){if(null!=n&&null!=r){var s=i;return t<=50?s-=(i-i/n)/50*(50-t):s+=(i*r-i)/50*(t-50),s}var h,u;return t<=50?(h=9*i/500,u=i/10):(h=9*i/50,u=-8*i),h*t+u},l.findCenterOfTree=function(t){var i=[];i=i.concat(t);var n=[],r=new Map,s=!1,h=null;1!=i.length&&2!=i.length||(s=!0,h=i[0]);for(var u=0;u<i.length;u++){var e=(a=i[u]).getNeighborsList().size;r.set(a,a.getNeighborsList().size),1==e&&n.push(a)}var o=[];for(o=o.concat(n);!s;){var f=[];for(f=f.concat(o),o=[],u=0;u<i.length;u++){var a=i[u],c=i.indexOf(a);c>=0&&i.splice(c,1),a.getNeighborsList().forEach(function(t){if(n.indexOf(t)<0){var i=r.get(t)-1;1==i&&o.push(t),r.set(t,i)}})}n=n.concat(o),1!=i.length&&2!=i.length||(s=!0,h=i[0])}return h},l.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=l},function(t,i,n){function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,i,n){var r=n(4);function s(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(t){this.lworldExtX=t},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(t){this.lworldExtY=t},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},s.prototype.transformX=function(t){var i=0,n=this.lworldExtX;return 0!=n&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),i},s.prototype.transformY=function(t){var i=0,n=this.lworldExtY;return 0!=n&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),i},s.prototype.inverseTransformX=function(t){var i=0,n=this.ldeviceExtX;return 0!=n&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),i},s.prototype.inverseTransformY=function(t){var i=0,n=this.ldeviceExtY;return 0!=n&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),i},s.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=s},function(t,i,n){var r=n(15),s=n(7),h=n(0),u=n(8),e=n(9);function o(){r.call(this),this.useSmartIdealEdgeLengthCalculation=s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=s.DEFAULT_EDGE_LENGTH,this.springConstant=s.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=s.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=s.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=s.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=s.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*s.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=s.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=s.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=s.MAX_ITERATIONS}for(var f in o.prototype=Object.create(r.prototype),r)o[f]=r[f];o.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},o.prototype.calcIdealEdgeLengths=function(){for(var t,i,n,r,u,e,o=this.getGraphManager().getAllEdges(),f=0;f<o.length;f++)(t=o[f]).idealLength=this.idealEdgeLength,t.isInterGraph&&(n=t.getSource(),r=t.getTarget(),u=t.getSourceInLca().getEstimatedSize(),e=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=u+e-2*h.SIMPLE_NODE_SIZE),i=t.getLca().getInclusionTreeDepth(),t.idealLength+=s.DEFAULT_EDGE_LENGTH*s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(n.getInclusionTreeDepth()+r.getInclusionTreeDepth()-2*i))},o.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>s.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*s.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-s.ADAPTATION_LOWER_NODE_LIMIT)/(s.ADAPTATION_UPPER_NODE_LIMIT-s.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-s.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=s.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>s.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(s.COOLING_ADAPTATION_FACTOR,1-(t-s.ADAPTATION_LOWER_NODE_LIMIT)/(s.ADAPTATION_UPPER_NODE_LIMIT-s.ADAPTATION_LOWER_NODE_LIMIT)*(1-s.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=s.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},o.prototype.calcSpringForces=function(){for(var t,i=this.getAllEdges(),n=0;n<i.length;n++)t=i[n],this.calcSpringForce(t,t.idealLength)},o.prototype.calcRepulsionForces=function(){var t,i,n,r,h,u=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%s.GRID_CALCULATION_CHECK_PERIOD==1&&u&&this.updateGrid(),h=new Set,t=0;t<o.length;t++)n=o[t],this.calculateRepulsionForceOfANode(n,h,u,e),h.add(n);else for(t=0;t<o.length;t++)for(n=o[t],i=t+1;i<o.length;i++)r=o[i],n.getOwner()==r.getOwner()&&this.calcRepulsionForce(n,r)},o.prototype.calcGravitationalForces=function(){for(var t,i=this.getAllNodesToApplyGravitation(),n=0;n<i.length;n++)t=i[n],this.calcGravitationalForce(t)},o.prototype.moveNodes=function(){for(var t=this.getAllNodes(),i=0;i<t.length;i++)t[i].move()},o.prototype.calcSpringForce=function(t,i){var n,r,s,h,u=t.getSource(),e=t.getTarget();if(this.uniformLeafNodeSizes&&null==u.getChild()&&null==e.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(n=t.getLength())&&(s=(r=this.springConstant*(n-i))*(t.lengthX/n),h=r*(t.lengthY/n),u.springForceX+=s,u.springForceY+=h,e.springForceX-=s,e.springForceY-=h)},o.prototype.calcRepulsionForce=function(t,i){var n,r,h,o,f,a,c,l=t.getRect(),v=i.getRect(),d=new Array(2),w=new Array(4);if(l.intersects(v)){u.calcSeparationAmount(l,v,d,s.DEFAULT_EDGE_LENGTH/2),a=2*d[0],c=2*d[1];var y=t.noOfChildren*i.noOfChildren/(t.noOfChildren+i.noOfChildren);t.repulsionForceX-=y*a,t.repulsionForceY-=y*c,i.repulsionForceX+=y*a,i.repulsionForceY+=y*c}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==i.getChild()?(n=v.getCenterX()-l.getCenterX(),r=v.getCenterY()-l.getCenterY()):(u.getIntersection(l,v,w),n=w[2]-w[0],r=w[3]-w[1]),Math.abs(n)<s.MIN_REPULSION_DIST&&(n=e.sign(n)*s.MIN_REPULSION_DIST),Math.abs(r)<s.MIN_REPULSION_DIST&&(r=e.sign(r)*s.MIN_REPULSION_DIST),h=n*n+r*r,o=Math.sqrt(h),a=(f=this.repulsionConstant*t.noOfChildren*i.noOfChildren/h)*n/o,c=f*r/o,t.repulsionForceX-=a,t.repulsionForceY-=c,i.repulsionForceX+=a,i.repulsionForceY+=c},o.prototype.calcGravitationalForce=function(t){var i,n,r,s,h,u,e,o;n=((i=t.getOwner()).getRight()+i.getLeft())/2,r=(i.getTop()+i.getBottom())/2,s=t.getCenterX()-n,h=t.getCenterY()-r,u=Math.abs(s)+t.getWidth()/2,e=Math.abs(h)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(u>(o=i.getEstimatedSize()*this.gravityRangeFactor)||e>o)&&(t.gravitationForceX=-this.gravityConstant*s,t.gravitationForceY=-this.gravityConstant*h):(u>(o=i.getEstimatedSize()*this.compoundGravityRangeFactor)||e>o)&&(t.gravitationForceX=-this.gravityConstant*s*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*h*this.compoundGravityConstant)},o.prototype.isConverged=function(){var t,i=!1;return this.totalIterations>this.maxIterations/3&&(i=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||i},o.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},o.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,i=this.graphManager.getAllNodes(),n=0;n<i.length;n++)(t=i[n]).noOfChildren=t.getNoOfChildren()},o.prototype.calcGrid=function(t){var i,n;i=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),n=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=new Array(i),s=0;s<i;s++)r[s]=new Array(n);for(s=0;s<i;s++)for(var h=0;h<n;h++)r[s][h]=new Array;return r},o.prototype.addNodeToGrid=function(t,i,n){var r,s,h,u;r=parseInt(Math.floor((t.getRect().x-i)/this.repulsionRange)),s=parseInt(Math.floor((t.getRect().width+t.getRect().x-i)/this.repulsionRange)),h=parseInt(Math.floor((t.getRect().y-n)/this.repulsionRange)),u=parseInt(Math.floor((t.getRect().height+t.getRect().y-n)/this.repulsionRange));for(var e=r;e<=s;e++)for(var o=h;o<=u;o++)this.grid[e][o].push(t),t.setGridCoordinates(r,s,h,u)},o.prototype.updateGrid=function(){var t,i,n=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),t=0;t<n.length;t++)i=n[t],this.addNodeToGrid(i,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},o.prototype.calculateRepulsionForceOfANode=function(t,i,n,r){if(this.totalIterations%s.GRID_CALCULATION_CHECK_PERIOD==1&&n||r){var h,u=new Set;t.surrounding=new Array;for(var e=this.grid,o=t.startX-1;o<t.finishX+2;o++)for(var f=t.startY-1;f<t.finishY+2;f++)if(!(o<0||f<0||o>=e.length||f>=e[0].length))for(var a=0;a<e[o][f].length;a++)if(h=e[o][f][a],t.getOwner()==h.getOwner()&&t!=h&&!i.has(h)&&!u.has(h)){var c=Math.abs(t.getCenterX()-h.getCenterX())-(t.getWidth()/2+h.getWidth()/2),l=Math.abs(t.getCenterY()-h.getCenterY())-(t.getHeight()/2+h.getHeight()/2);c<=this.repulsionRange&&l<=this.repulsionRange&&u.add(h)}t.surrounding=[].concat(function(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}(u))}for(o=0;o<t.surrounding.length;o++)this.calcRepulsionForce(t,t.surrounding[o])},o.prototype.calcRepulsionRange=function(){return 0},t.exports=o},function(t,i,n){var r=n(1),s=n(7);function h(t,i,n){r.call(this,t,i,n),this.idealLength=s.DEFAULT_EDGE_LENGTH}for(var u in h.prototype=Object.create(r.prototype),r)h[u]=r[u];t.exports=h},function(t,i,n){var r=n(3);function s(t,i,n,s){r.call(this,t,i,n,s),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var h in s.prototype=Object.create(r.prototype),r)s[h]=r[h];s.prototype.setGridCoordinates=function(t,i,n,r){this.startX=t,this.finishX=i,this.startY=n,this.finishY=r},t.exports=s},function(t,i,n){function r(t,i){this.width=0,this.height=0,null!==t&&null!==i&&(this.height=i,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,i,n){var r=n(14);function s(){this.map={},this.keys=[]}s.prototype.put=function(t,i){var n=r.createID(t);this.contains(n)||(this.map[n]=i,this.keys.push(t))},s.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},s.prototype.get=function(t){var i=r.createID(t);return this.map[i]},s.prototype.keySet=function(){return this.keys},t.exports=s},function(t,i,n){var r=n(14);function s(){this.set={}}s.prototype.add=function(t){var i=r.createID(t);this.contains(i)||(this.set[i]=t)},s.prototype.remove=function(t){delete this.set[r.createID(t)]},s.prototype.clear=function(){this.set={}},s.prototype.contains=function(t){return this.set[r.createID(t)]==t},s.prototype.isEmpty=function(){return 0===this.size()},s.prototype.size=function(){return Object.keys(this.set).length},s.prototype.addAllTo=function(t){for(var i=Object.keys(this.set),n=i.length,r=0;r<n;r++)t.push(this.set[i[r]])},s.prototype.size=function(){return Object.keys(this.set).length},s.prototype.addAll=function(t){for(var i=t.length,n=0;n<i;n++){var r=t[n];this.add(r)}},t.exports=s},function(t,i,n){var r=function(){function t(t,i){for(var n=0;n<i.length;n++){var r=i[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,n,r){return n&&t(i.prototype,n),r&&t(i,r),i}}(),s=n(11),h=function(){function t(i,n){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),null===n&&void 0===n||(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=i instanceof s?i.size():i.length,this._quicksort(i,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,i,n){if(i<n){var r=this._partition(t,i,n);this._quicksort(t,i,r),this._quicksort(t,r+1,n)}}},{key:"_partition",value:function(t,i,n){for(var r=this._get(t,i),s=i,h=n;;){for(;this.compareFunction(r,this._get(t,h));)h--;for(;this.compareFunction(this._get(t,s),r);)s++;if(!(s<h))return h;this._swap(t,s,h),s++,h--}}},{key:"_get",value:function(t,i){return t instanceof s?t.get_object_at(i):t[i]}},{key:"_set",value:function(t,i,n){t instanceof s?t.set_object_at(i,n):t[i]=n}},{key:"_swap",value:function(t,i,n){var r=this._get(t,i);this._set(t,i,this._get(t,n)),this._set(t,n,r)}},{key:"_defaultCompareFunction",value:function(t,i){return i>t}}]),t}();t.exports=h},function(t,i,n){var r=function(){function t(t,i){for(var n=0;n<i.length;n++){var r=i[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,n,r){return n&&t(i.prototype,n),r&&t(i,r),i}}(),s=function(){function t(i,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=i,this.sequence2=n,this.match_score=r,this.mismatch_penalty=s,this.gap_penalty=h,this.iMax=i.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var u=0;u<this.iMax;u++){this.grid[u]=new Array(this.jMax);for(var e=0;e<this.jMax;e++)this.grid[u][e]=0}this.tracebackGrid=new Array(this.iMax);for(var o=0;o<this.iMax;o++){this.tracebackGrid[o]=new Array(this.jMax);for(var f=0;f<this.jMax;f++)this.tracebackGrid[o][f]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var i=1;i<this.iMax;i++)this.grid[i][0]=this.grid[i-1][0]+this.gap_penalty,this.tracebackGrid[i][0]=[!1,!0,!1];for(var n=1;n<this.iMax;n++)for(var r=1;r<this.jMax;r++){var s=[this.sequence1[n-1]===this.sequence2[r-1]?this.grid[n-1][r-1]+this.match_score:this.grid[n-1][r-1]+this.mismatch_penalty,this.grid[n-1][r]+this.gap_penalty,this.grid[n][r-1]+this.gap_penalty],h=this.arrayAllMaxIndexes(s);this.grid[n][r]=s[h[0]],this.tracebackGrid[n][r]=[h.includes(0),h.includes(1),h.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var i=t[0],n=this.tracebackGrid[i.pos[0]][i.pos[1]];n[0]&&t.push({pos:[i.pos[0]-1,i.pos[1]-1],seq1:this.sequence1[i.pos[0]-1]+i.seq1,seq2:this.sequence2[i.pos[1]-1]+i.seq2}),n[1]&&t.push({pos:[i.pos[0]-1,i.pos[1]],seq1:this.sequence1[i.pos[0]-1]+i.seq1,seq2:"-"+i.seq2}),n[2]&&t.push({pos:[i.pos[0],i.pos[1]-1],seq1:"-"+i.seq1,seq2:this.sequence2[i.pos[1]-1]+i.seq2}),0===i.pos[0]&&0===i.pos[1]&&this.alignments.push({sequence1:i.seq1,sequence2:i.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,i){for(var n=[],r=-1;-1!==(r=t.indexOf(i,r+1));)n.push(r);return n}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}();t.exports=s},function(t,i,n){var r=function(){};r.FDLayout=n(18),r.FDLayoutConstants=n(7),r.FDLayoutEdge=n(19),r.FDLayoutNode=n(20),r.DimensionD=n(21),r.HashMap=n(22),r.HashSet=n(23),r.IGeometry=n(8),r.IMath=n(9),r.Integer=n(10),r.Point=n(12),r.PointD=n(4),r.RandomSeed=n(16),r.RectangleD=n(13),r.Transform=n(17),r.UniqueIDGeneretor=n(14),r.Quicksort=n(24),r.LinkedList=n(11),r.LGraphObject=n(2),r.LGraph=n(5),r.LEdge=n(1),r.LGraphManager=n(6),r.LNode=n(3),r.Layout=n(15),r.LayoutConstants=n(0),r.NeedlemanWunsch=n(25),t.exports=r},function(t,i,n){function r(){this.listeners=[]}var s=r.prototype;s.addListener=function(t,i){this.listeners.push({event:t,callback:i})},s.removeListener=function(t,i){for(var n=this.listeners.length;n>=0;n--){var r=this.listeners[n];r.event===t&&r.callback===i&&this.listeners.splice(n,1)}},s.emit=function(t,i){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];t===r.event&&r.callback(i)}},t.exports=r}])},o.exports=t());var t}var a;var c,l;const v=t((c||(c=1,u.exports=(l=a?e.exports:(a=1,e.exports=function(t){return function(t){var i={};function n(r){if(i[r])return i[r].exports;var s=i[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=i,n.i=function(t){return t},n.d=function(t,i,r){n.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="",n(n.s=7)}([function(i,n){i.exports=t},function(t,i,n){var r=n(0).FDLayoutConstants;function s(){}for(var h in r)s[h]=r[h];s.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,s.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,s.DEFAULT_COMPONENT_SEPERATION=60,s.TILE=!0,s.TILING_PADDING_VERTICAL=10,s.TILING_PADDING_HORIZONTAL=10,s.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=s},function(t,i,n){var r=n(0).FDLayoutEdge;function s(t,i,n){r.call(this,t,i,n)}for(var h in s.prototype=Object.create(r.prototype),r)s[h]=r[h];t.exports=s},function(t,i,n){var r=n(0).LGraph;function s(t,i,n){r.call(this,t,i,n)}for(var h in s.prototype=Object.create(r.prototype),r)s[h]=r[h];t.exports=s},function(t,i,n){var r=n(0).LGraphManager;function s(t){r.call(this,t)}for(var h in s.prototype=Object.create(r.prototype),r)s[h]=r[h];t.exports=s},function(t,i,n){var r=n(0).FDLayoutNode,s=n(0).IMath;function h(t,i,n,s){r.call(this,t,i,n,s)}for(var u in h.prototype=Object.create(r.prototype),r)h[u]=r[u];h.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*s.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*s.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},h.prototype.propogateDisplacementToChildren=function(t,i){for(var n,r=this.getChild().getNodes(),s=0;s<r.length;s++)null==(n=r[s]).getChild()?(n.moveBy(t,i),n.displacementX+=t,n.displacementY+=i):n.propogateDisplacementToChildren(t,i)},h.prototype.setPred1=function(t){this.pred1=t},h.prototype.getPred1=function(){return pred1},h.prototype.getPred2=function(){return pred2},h.prototype.setNext=function(t){this.next=t},h.prototype.getNext=function(){return next},h.prototype.setProcessed=function(t){this.processed=t},h.prototype.isProcessed=function(){return processed},t.exports=h},function(t,i,n){var r=n(0).FDLayout,s=n(4),h=n(3),u=n(5),e=n(2),o=n(1),f=n(0).FDLayoutConstants,a=n(0).LayoutConstants,c=n(0).Point,l=n(0).PointD,v=n(0).Layout,d=n(0).Integer,w=n(0).IGeometry,y=n(0).LGraph,g=n(0).Transform;function p(){r.call(this),this.toBeTiled={}}for(var b in p.prototype=Object.create(r.prototype),r)p[b]=r[b];p.prototype.newGraphManager=function(){var t=new s(this);return this.graphManager=t,t},p.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},p.prototype.newNode=function(t){return new u(this.graphManager,t)},p.prototype.newEdge=function(t){return new e(null,null,t)},p.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=f.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=f.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=f.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=f.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=f.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/f.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=f.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},p.prototype.layout=function(){return a.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},p.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)o.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),i=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter(function(t){return i.has(t)}),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var i=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter(function(t){return i.has(t)});this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},p.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),i=this.nodesWithGravity.filter(function(i){return t.has(i)});this.graphManager.setAllNodesToApplyGravitation(i),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},p.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),i={},n=0;n<t.length;n++){var r=t[n].rect,s=t[n].id;i[s]={id:s,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return i},p.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===f.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},p.prototype.calculateNodesToApplyGravitationTo=function(){var t,i,n=[],r=this.graphManager.getGraphs(),s=r.length;for(i=0;i<s;i++)(t=r[i]).updateConnected(),t.isConnected||(n=n.concat(t.getNodes()));return n},p.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var i,n=new Set;for(i=0;i<t.length;i++){var r=t[i];if(!n.has(r)){var s=r.getSource(),h=r.getTarget();if(s==h)r.getBendpoints().push(new l),r.getBendpoints().push(new l),this.createDummyNodesForBendpoints(r),n.add(r);else{var u=[];if(u=(u=u.concat(s.getEdgeListToNode(h))).concat(h.getEdgeListToNode(s)),!n.has(u[0])){var e;if(u.length>1)for(e=0;e<u.length;e++){var o=u[e];o.getBendpoints().push(new l),this.createDummyNodesForBendpoints(o)}u.forEach(function(t){n.add(t)})}}}if(n.size==t.length)break}},p.prototype.positionNodesRadially=function(t){for(var i=new c(0,0),n=Math.ceil(Math.sqrt(t.length)),r=0,s=0,h=0,u=new l(0,0),e=0;e<t.length;e++){e%n==0&&(h=0,s=r,0!=e&&(s+=o.DEFAULT_COMPONENT_SEPERATION),r=0);var f=t[e],d=v.findCenterOfTree(f);i.x=h,i.y=s,(u=p.radialLayout(f,d,i)).y>r&&(r=Math.floor(u.y)),h=Math.floor(u.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new l(a.WORLD_CENTER_X-u.x/2,a.WORLD_CENTER_Y-u.y/2))},p.radialLayout=function(t,i,n){var r=Math.max(this.maxDiagonalInTree(t),o.DEFAULT_RADIAL_SEPARATION);p.branchRadialLayout(i,null,0,359,0,r);var s=y.calculateBounds(t),h=new g;h.setDeviceOrgX(s.getMinX()),h.setDeviceOrgY(s.getMinY()),h.setWorldOrgX(n.x),h.setWorldOrgY(n.y);for(var u=0;u<t.length;u++)t[u].transform(h);var e=new l(s.getMaxX(),s.getMaxY());return h.inverseTransformPoint(e)},p.branchRadialLayout=function(t,i,n,r,s,h){var u=(r-n+1)/2;u<0&&(u+=180);var e=(u+n)%360*w.TWO_PI/360,o=s*Math.cos(e),f=s*Math.sin(e);t.setCenter(o,f);var a=[],c=(a=a.concat(t.getEdges())).length;null!=i&&c--;for(var l,v=0,d=a.length,y=t.getEdgesBetween(i);y.length>1;){var g=y[0];y.splice(0,1);var b=a.indexOf(g);b>=0&&a.splice(b,1),d--,c--}l=null!=i?(a.indexOf(y[0])+1)%d:0;for(var m=Math.abs(r-n)/c,M=l;v!=c;M=++M%d){var k=a[M].getOtherEnd(t);if(k!=i){var j=(n+v*m)%360,O=(j+m)%360;p.branchRadialLayout(k,t,j,O,s+h,h),v++}}},p.maxDiagonalInTree=function(t){for(var i=d.MIN_VALUE,n=0;n<t.length;n++){var r=t[n].getDiagonal();r>i&&(i=r)}return i},p.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},p.prototype.groupZeroDegreeMembers=function(){var t=this,i={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),s=0;s<r.length;s++){var h=(e=r[s]).getParent();0!==this.getNodeDegreeWithChildren(e)||null!=h.id&&this.getToBeTiled(h)||n.push(e)}for(s=0;s<n.length;s++){var e,o=(e=n[s]).getParent().id;void 0===i[o]&&(i[o]=[]),i[o]=i[o].concat(e)}Object.keys(i).forEach(function(n){if(i[n].length>1){var r="DummyCompound_"+n;t.memberGroups[r]=i[n];var s=i[n][0].getParent(),h=new u(t.graphManager);h.id=r,h.paddingLeft=s.paddingLeft||0,h.paddingRight=s.paddingRight||0,h.paddingBottom=s.paddingBottom||0,h.paddingTop=s.paddingTop||0,t.idToDummyNode[r]=h;var e=t.getGraphManager().add(t.newGraph(),h),o=s.getChild();o.add(h);for(var f=0;f<i[n].length;f++){var a=i[n][f];o.remove(a),e.add(a)}}})},p.prototype.clearCompounds=function(){var t={},i={};this.performDFSOnCompounds();for(var n=0;n<this.compoundOrder.length;n++)i[this.compoundOrder[n].id]=this.compoundOrder[n],t[this.compoundOrder[n].id]=[].concat(this.compoundOrder[n].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[n].getChild()),this.compoundOrder[n].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,i)},p.prototype.clearZeroDegreeMembers=function(){var t=this,i=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(n){var r=t.idToDummyNode[n];i[n]=t.tileNodes(t.memberGroups[n],r.paddingLeft+r.paddingRight),r.rect.width=i[n].width,r.rect.height=i[n].height})},p.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var i=this.compoundOrder[t],n=i.id,r=i.paddingLeft,s=i.paddingTop;this.adjustLocations(this.tiledMemberPack[n],i.rect.x,i.rect.y,r,s)}},p.prototype.repopulateZeroDegreeMembers=function(){var t=this,i=this.tiledZeroDegreePack;Object.keys(i).forEach(function(n){var r=t.idToDummyNode[n],s=r.paddingLeft,h=r.paddingTop;t.adjustLocations(i[n],r.rect.x,r.rect.y,s,h)})},p.prototype.getToBeTiled=function(t){var i=t.id;if(null!=this.toBeTiled[i])return this.toBeTiled[i];var n=t.getChild();if(null==n)return this.toBeTiled[i]=!1,!1;for(var r=n.getNodes(),s=0;s<r.length;s++){var h=r[s];if(this.getNodeDegree(h)>0)return this.toBeTiled[i]=!1,!1;if(null!=h.getChild()){if(!this.getToBeTiled(h))return this.toBeTiled[i]=!1,!1}else this.toBeTiled[h.id]=!1}return this.toBeTiled[i]=!0,!0},p.prototype.getNodeDegree=function(t){t.id;for(var i=t.getEdges(),n=0,r=0;r<i.length;r++){var s=i[r];s.getSource().id!==s.getTarget().id&&(n+=1)}return n},p.prototype.getNodeDegreeWithChildren=function(t){var i=this.getNodeDegree(t);if(null==t.getChild())return i;for(var n=t.getChild().getNodes(),r=0;r<n.length;r++){var s=n[r];i+=this.getNodeDegreeWithChildren(s)}return i},p.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},p.prototype.fillCompexOrderByDFS=function(t){for(var i=0;i<t.length;i++){var n=t[i];null!=n.getChild()&&this.fillCompexOrderByDFS(n.getChild().getNodes()),this.getToBeTiled(n)&&this.compoundOrder.push(n)}},p.prototype.adjustLocations=function(t,i,n,r,s){n+=s;for(var h=i+=r,u=0;u<t.rows.length;u++){var e=t.rows[u];i=h;for(var o=0,f=0;f<e.length;f++){var a=e[f];a.rect.x=i,a.rect.y=n,i+=a.rect.width+t.horizontalPadding,a.rect.height>o&&(o=a.rect.height)}n+=o+t.verticalPadding}},p.prototype.tileCompoundMembers=function(t,i){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(r){var s=i[r];n.tiledMemberPack[r]=n.tileNodes(t[r],s.paddingLeft+s.paddingRight),s.rect.width=n.tiledMemberPack[r].width,s.rect.height=n.tiledMemberPack[r].height})},p.prototype.tileNodes=function(t,i){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:i,verticalPadding:o.TILING_PADDING_VERTICAL,horizontalPadding:o.TILING_PADDING_HORIZONTAL};t.sort(function(t,i){return t.rect.width*t.rect.height>i.rect.width*i.rect.height?-1:t.rect.width*t.rect.height<i.rect.width*i.rect.height?1:0});for(var r=0;r<t.length;r++){var s=t[r];0==n.rows.length?this.insertNodeToRow(n,s,0,i):this.canAddHorizontal(n,s.rect.width,s.rect.height)?this.insertNodeToRow(n,s,this.getShortestRowIndex(n),i):this.insertNodeToRow(n,s,n.rows.length,i),this.shiftToLastRow(n)}return n},p.prototype.insertNodeToRow=function(t,i,n,r){var s=r;n==t.rows.length&&(t.rows.push([]),t.rowWidth.push(s),t.rowHeight.push(0));var h=t.rowWidth[n]+i.rect.width;t.rows[n].length>0&&(h+=t.horizontalPadding),t.rowWidth[n]=h,t.width<h&&(t.width=h);var u=i.rect.height;n>0&&(u+=t.verticalPadding);var e=0;u>t.rowHeight[n]&&(e=t.rowHeight[n],t.rowHeight[n]=u,e=t.rowHeight[n]-e),t.height+=e,t.rows[n].push(i)},p.prototype.getShortestRowIndex=function(t){for(var i=-1,n=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<n&&(i=r,n=t.rowWidth[r]);return i},p.prototype.getLongestRowIndex=function(t){for(var i=-1,n=Number.MIN_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]>n&&(i=r,n=t.rowWidth[r]);return i},p.prototype.canAddHorizontal=function(t,i,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var s=t.rowWidth[r];if(s+t.horizontalPadding+i<=t.width)return!0;var h,u,e=0;return t.rowHeight[r]<n&&r>0&&(e=n+t.verticalPadding-t.rowHeight[r]),h=t.width-s>=i+t.horizontalPadding?(t.height+e)/(s+i+t.horizontalPadding):(t.height+e)/t.width,e=n+t.verticalPadding,(u=t.width<i?(t.height+e)/i:(t.height+e)/t.width)<1&&(u=1/u),h<1&&(h=1/h),h<u},p.prototype.shiftToLastRow=function(t){var i=this.getLongestRowIndex(t),n=t.rowWidth.length-1,r=t.rows[i],s=r[r.length-1],h=s.width+t.horizontalPadding;if(t.width-t.rowWidth[n]>h&&i!=n){r.splice(-1,1),t.rows[n].push(s),t.rowWidth[i]=t.rowWidth[i]-h,t.rowWidth[n]=t.rowWidth[n]+h,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var u=Number.MIN_VALUE,e=0;e<r.length;e++)r[e].height>u&&(u=r[e].height);i>0&&(u+=t.verticalPadding);var o=t.rowHeight[i]+t.rowHeight[n];t.rowHeight[i]=u,t.rowHeight[n]<s.height+t.verticalPadding&&(t.rowHeight[n]=s.height+t.verticalPadding);var f=t.rowHeight[i]+t.rowHeight[n];t.height+=f-o,this.shiftToLastRow(t)}},p.prototype.tilingPreLayout=function(){o.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},p.prototype.tilingPostLayout=function(){o.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},p.prototype.reduceTrees=function(){for(var t,i=[],n=!0;n;){var r=this.graphManager.getAllNodes(),s=[];n=!1;for(var h=0;h<r.length;h++)1!=(t=r[h]).getEdges().length||t.getEdges()[0].isInterGraph||null!=t.getChild()||(s.push([t,t.getEdges()[0],t.getOwner()]),n=!0);if(1==n){for(var u=[],e=0;e<s.length;e++)1==s[e][0].getEdges().length&&(u.push(s[e]),s[e][0].getOwner().remove(s[e][0]));i.push(u),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=i},p.prototype.growTree=function(t){for(var i,n=t[t.length-1],r=0;r<n.length;r++)i=n[r],this.findPlaceforPrunedNode(i),i[2].add(i[0]),i[2].add(i[1],i[1].source,i[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},p.prototype.findPlaceforPrunedNode=function(t){var i,n,r=t[0],s=(n=r==t[1].source?t[1].target:t[1].source).startX,h=n.finishX,u=n.startY,e=n.finishY,o=[0,0,0,0];if(u>0)for(var a=s;a<=h;a++)o[0]+=this.grid[a][u-1].length+this.grid[a][u].length-1;if(h<this.grid.length-1)for(a=u;a<=e;a++)o[1]+=this.grid[h+1][a].length+this.grid[h][a].length-1;if(e<this.grid[0].length-1)for(a=s;a<=h;a++)o[2]+=this.grid[a][e+1].length+this.grid[a][e].length-1;if(s>0)for(a=u;a<=e;a++)o[3]+=this.grid[s-1][a].length+this.grid[s][a].length-1;for(var c,l,v=d.MAX_VALUE,w=0;w<o.length;w++)o[w]<v?(v=o[w],c=1,l=w):o[w]==v&&c++;if(3==c&&0==v)0==o[0]&&0==o[1]&&0==o[2]?i=1:0==o[0]&&0==o[1]&&0==o[3]?i=0:0==o[0]&&0==o[2]&&0==o[3]?i=3:0==o[1]&&0==o[2]&&0==o[3]&&(i=2);else if(2==c&&0==v){var y=Math.floor(2*Math.random());i=0==o[0]&&0==o[1]?0==y?0:1:0==o[0]&&0==o[2]?0==y?0:2:0==o[0]&&0==o[3]?0==y?0:3:0==o[1]&&0==o[2]?0==y?1:2:0==o[1]&&0==o[3]?0==y?1:3:0==y?2:3}else i=4==c&&0==v?y=Math.floor(4*Math.random()):l;0==i?r.setCenter(n.getCenterX(),n.getCenterY()-n.getHeight()/2-f.DEFAULT_EDGE_LENGTH-r.getHeight()/2):1==i?r.setCenter(n.getCenterX()+n.getWidth()/2+f.DEFAULT_EDGE_LENGTH+r.getWidth()/2,n.getCenterY()):2==i?r.setCenter(n.getCenterX(),n.getCenterY()+n.getHeight()/2+f.DEFAULT_EDGE_LENGTH+r.getHeight()/2):r.setCenter(n.getCenterX()-n.getWidth()/2-f.DEFAULT_EDGE_LENGTH-r.getWidth()/2,n.getCenterY())},t.exports=p},function(t,i,n){var r={};r.layoutBase=n(0),r.CoSEConstants=n(1),r.CoSEEdge=n(2),r.CoSEGraph=n(3),r.CoSEGraphManager=n(4),r.CoSELayout=n(6),r.CoSENode=n(5),t.exports=r}])}(f())),function(t){var i={};function n(r){if(i[r])return i[r].exports;var s=i[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=i,n.i=function(t){return t},n.d=function(t,i,r){n.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="",n(n.s=1)}([function(t,i){t.exports=l},function(t,i,n){var r=n(0).layoutBase.LayoutConstants,s=n(0).layoutBase.FDLayoutConstants,h=n(0).CoSEConstants,u=n(0).CoSELayout,e=n(0).CoSENode,o=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,a={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function c(t){this.options=function(t,i){var n={};for(var r in t)n[r]=t[r];for(var r in i)n[r]=i[r];return n}(a,t),l(this.options)}var l=function(t){null!=t.nodeRepulsion&&(h.DEFAULT_REPULSION_STRENGTH=s.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(h.DEFAULT_EDGE_LENGTH=s.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(h.DEFAULT_SPRING_STRENGTH=s.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(h.DEFAULT_GRAVITY_STRENGTH=s.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(h.MAX_ITERATIONS=s.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=s.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=s.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,h.NODE_DIMENSIONS_INCLUDE_LABELS=s.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=s.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,h.ANIMATE=s.ANIMATE=r.ANIMATE=t.animate,h.TILE=t.tile,h.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};c.prototype.run=function(){var t,i,n=this.options;this.idToLNode={};var r=this.layout=new u,s=this;s.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var h=r.newGraphManager();this.gm=h;var e=this.options.eles.nodes(),o=this.options.eles.edges();this.root=h.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(e),r);for(var f=0;f<o.length;f++){var a=o[f],c=this.idToLNode[a.data("source")],l=this.idToLNode[a.data("target")];c!==l&&0==c.getEdgesBetween(l).length&&(h.add(r.newEdge(),c,l).id=a.id())}var v=function(t,i){"number"==typeof t&&(t=i);var n=t.data("id"),r=s.idToLNode[n];return{x:r.getRect().getCenterX(),y:r.getRect().getCenterY()}},d=function h(){for(var u,e=function(){n.fit&&n.cy.fit(n.eles,n.padding),t||(t=!0,s.cy.one("layoutready",n.ready),s.cy.trigger({type:"layoutready",layout:s}))},o=s.options.refresh,f=0;f<o&&!u;f++)u=s.stopped||s.layout.tick();if(u)return r.checkLayoutSuccess()&&!r.isSubLayout&&r.doPostLayout(),r.tilingPostLayout&&r.tilingPostLayout(),r.isLayoutFinished=!0,s.options.eles.nodes().positions(v),e(),s.cy.one("layoutstop",s.options.stop),s.cy.trigger({type:"layoutstop",layout:s}),i&&cancelAnimationFrame(i),void(t=!1);var a=s.layout.getPositionsData();n.eles.nodes().positions(function(t,i){if("number"==typeof t&&(t=i),!t.isParent()){for(var n=t.id(),r=a[n],s=t;null==r&&(r=a[s.data("parent")]||a["DummyCompound_"+s.data("parent")],a[n]=r,null!=(s=s.parent()[0])););return null!=r?{x:r.x,y:r.y}:{x:t.position("x"),y:t.position("y")}}}),e(),i=requestAnimationFrame(h)};return r.addListener("layoutstarted",function(){"during"===s.options.animate&&(i=requestAnimationFrame(d))}),r.runLayout(),"during"!==this.options.animate&&(s.options.eles.nodes().not(":parent").layoutPositions(s,s.options,v),t=!1),this},c.prototype.getTopMostNodes=function(t){for(var i={},n=0;n<t.length;n++)i[t[n].id()]=!0;return t.filter(function(t,n){"number"==typeof t&&(t=n);for(var r=t.parent()[0];null!=r;){if(i[r.id()])return!1;r=r.parent()[0]}return!0})},c.prototype.processChildrenList=function(t,i,n){for(var r=i.length,s=0;s<r;s++){var h,u,a=i[s],c=a.children(),l=a.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((h=null!=a.outerWidth()&&null!=a.outerHeight()?t.add(new e(n.graphManager,new o(a.position("x")-l.w/2,a.position("y")-l.h/2),new f(parseFloat(l.w),parseFloat(l.h)))):t.add(new e(this.graphManager))).id=a.data("id"),h.paddingLeft=parseInt(a.css("padding")),h.paddingTop=parseInt(a.css("padding")),h.paddingRight=parseInt(a.css("padding")),h.paddingBottom=parseInt(a.css("padding")),this.options.nodeDimensionsIncludeLabels&&a.isParent()){var v=a.boundingBox({includeLabels:!0,includeNodes:!1}).w,d=a.boundingBox({includeLabels:!0,includeNodes:!1}).h,w=a.css("text-halign");h.labelWidth=v,h.labelHeight=d,h.labelPos=w}this.idToLNode[a.data("id")]=h,isNaN(h.rect.x)&&(h.rect.x=0),isNaN(h.rect.y)&&(h.rect.y=0),null!=c&&c.length>0&&(u=n.getGraphManager().add(n.newGraph(),h),this.processChildrenList(u,c,n))}},c.prototype.stop=function(){return this.stopped=!0,this};var v=function(t){t("layout","cose-bilkent",c)};"undefined"!=typeof cytoscape&&v(cytoscape),t.exports=v}]))),u.exports));function d(t,i){t.forEach(t=>{const n={id:t.id,labelText:t.label,height:t.height,width:t.width,padding:t.padding??0};Object.keys(t).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=t[i])}),i.add({group:"nodes",data:n,position:{x:t.x??0,y:t.y??0}})})}function w(t,i){t.forEach(t=>{const n={id:t.id,source:t.start,target:t.end};Object.keys(t).forEach(i=>{["id","start","end"].includes(i)||(n[i]=t[i])}),i.add({group:"edges",data:n})})}function y(t){return new Promise(i=>{const h=r("body").append("div").attr("id","cy").attr("style","display:none"),u=s({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});h.remove(),d(t.nodes,u),w(t.edges,u),u.nodes().forEach(function(t){t.layoutDimensions=()=>{const i=t.data();return{w:i.width,h:i.height}}});u.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),u.ready(t=>{n.info("Cytoscape ready",t),i(u)})})}function g(t){return t.nodes().map(t=>{const i=t.data(),n=t.position(),r={id:i.id,x:n.x,y:n.y};return Object.keys(i).forEach(t=>{"id"!==t&&(r[t]=i[t])}),r})}function p(t){return t.edges().map(t=>{const i=t.data(),n=t.t.rscratch,r={id:i.id,source:i.source,target:i.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(i).forEach(t=>{["id","source","target"].includes(t)||(r[t]=i[t])}),r})}async function b(t,i){n.debug("Starting cose-bilkent layout algorithm");try{m(t);const i=await y(t),r=g(i),s=p(i);return n.debug(`Layout completed: ${r.length} nodes, ${s.length} edges`),{nodes:r,edges:s}}catch(r){throw n.error("Error in cose-bilkent layout algorithm:",r),r}}function m(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}s.use(v),i(d,"addNodes"),i(w,"addEdges"),i(y,"createCytoscapeInstance"),i(g,"extractPositionedNodes"),i(p,"extractPositionedEdges"),i(b,"executeCoseBilkentLayout"),i(m,"validateLayoutData");var M=i(async(t,i,{insertCluster:n,insertEdge:r,insertEdgeLabel:s,insertMarkers:h,insertNode:u,log:e,positionEdgeLabel:o},{algorithm:f})=>{const a={},c={},l=i.select("g");h(l,t.markers,t.type,t.diagramId);const v=l.insert("g").attr("class","subgraphs"),d=l.insert("g").attr("class","edgePaths"),w=l.insert("g").attr("class","edgeLabels"),y=l.insert("g").attr("class","nodes");e.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async i=>{if(i.isGroup){const t={...i};c[i.id]=t,a[i.id]=t,await n(v,i)}else{const n={...i};a[i.id]=n;const r=await u(y,i,{config:t.config,dir:t.direction||"TB"}),s=r.node().getBBox();n.width=s.width,n.height=s.height,n.domId=r,e.debug(`Node ${i.id} dimensions: ${s.width}x${s.height}`)}})),e.debug("Running cose-bilkent layout algorithm");const g={...t,nodes:t.nodes.map(t=>{const i=a[t.id];return{...t,width:i.width,height:i.height}})},p=await b(g,t.config);e.debug("Positioning nodes based on layout results"),p.nodes.forEach(t=>{const i=a[t.id];(null==i?void 0:i.domId)&&(i.domId.attr("transform",`translate(${t.x}, ${t.y})`),i.x=t.x,i.y=t.y,e.debug(`Positioned node ${i.id} at center (${t.x}, ${t.y})`))}),p.edges.forEach(i=>{const n=t.edges.find(t=>t.id===i.id);n&&(n.points=[{x:i.startX,y:i.startY},{x:i.midX,y:i.midY},{x:i.endX,y:i.endY}])}),e.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async i=>{await s(w,i);const n=a[i.start??""],h=a[i.end??""];if(n&&h){const s=p.edges.find(t=>t.id===i.id);if(s){e.debug("APA01 positionedEdge",s);const u={...i},f=r(d,u,c,t.type,n,h,t.diagramId);o(u,f)}else{const s={...i,points:[{x:n.x||0,y:n.y||0},{x:h.x||0,y:h.y||0}]},u=r(d,s,c,t.type,n,h,t.diagramId);o(s,u)}}})),e.debug("Cose-bilkent rendering completed")},"render");export{M as render};
1
+ import{aG as t,_ as i,l as n,d as r}from"./index-BvMYTiOr.js";import{c as s}from"./cytoscape.esm-Cw0kmstm.js";var h,u={exports:{}},e={exports:{}},o={exports:{}};function f(){return h?o.exports:(h=1,t=function(){return function(t){var i={};function n(r){if(i[r])return i[r].exports;var s=i[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=i,n.i=function(t){return t},n.d=function(t,i,r){n.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="",n(n.s=26)}([function(t,i,n){function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,i,n){var r=n(2),s=n(8),h=n(9);function u(t,i,n){r.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=t,this.target=i}for(var e in u.prototype=Object.create(r.prototype),r)u[e]=r[e];u.prototype.getSource=function(){return this.source},u.prototype.getTarget=function(){return this.target},u.prototype.isInterGraph=function(){return this.isInterGraph},u.prototype.getLength=function(){return this.length},u.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},u.prototype.getBendpoints=function(){return this.bendpoints},u.prototype.getLca=function(){return this.lca},u.prototype.getSourceInLca=function(){return this.sourceInLca},u.prototype.getTargetInLca=function(){return this.targetInLca},u.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},u.prototype.getOtherEndInGraph=function(t,i){for(var n=this.getOtherEnd(t),r=i.getGraphManager().getRoot();;){if(n.getOwner()==i)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},u.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=h.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=h.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},u.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=h.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=h.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=u},function(t,i,n){t.exports=function(t){this.vGraphObject=t}},function(t,i,n){var r=n(2),s=n(10),h=n(13),u=n(0),e=n(16),o=n(4);function f(t,i,n,u){null==n&&null==u&&(u=i),r.call(this,u),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=u,this.edges=[],this.graphManager=t,this.rect=null!=n&&null!=i?new h(i.x,i.y,n.width,n.height):new h}for(var a in f.prototype=Object.create(r.prototype),r)f[a]=r[a];f.prototype.getEdges=function(){return this.edges},f.prototype.getChild=function(){return this.child},f.prototype.getOwner=function(){return this.owner},f.prototype.getWidth=function(){return this.rect.width},f.prototype.setWidth=function(t){this.rect.width=t},f.prototype.getHeight=function(){return this.rect.height},f.prototype.setHeight=function(t){this.rect.height=t},f.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},f.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},f.prototype.getCenter=function(){return new o(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},f.prototype.getLocation=function(){return new o(this.rect.x,this.rect.y)},f.prototype.getRect=function(){return this.rect},f.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},f.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},f.prototype.setRect=function(t,i){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=i.width,this.rect.height=i.height},f.prototype.setCenter=function(t,i){this.rect.x=t-this.rect.width/2,this.rect.y=i-this.rect.height/2},f.prototype.setLocation=function(t,i){this.rect.x=t,this.rect.y=i},f.prototype.moveBy=function(t,i){this.rect.x+=t,this.rect.y+=i},f.prototype.getEdgeListToNode=function(t){var i=[],n=this;return n.edges.forEach(function(r){if(r.target==t){if(r.source!=n)throw"Incorrect edge source!";i.push(r)}}),i},f.prototype.getEdgesBetween=function(t){var i=[],n=this;return n.edges.forEach(function(r){if(r.source!=n&&r.target!=n)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||i.push(r)}),i},f.prototype.getNeighborsList=function(){var t=new Set,i=this;return i.edges.forEach(function(n){if(n.source==i)t.add(n.target);else{if(n.target!=i)throw"Incorrect incidency!";t.add(n.source)}}),t},f.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var i=this.child.getNodes(),n=0;n<i.length;n++)i[n].withChildren().forEach(function(i){t.add(i)});return t},f.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var i=this.child.getNodes(),n=0;n<i.length;n++)t+=i[n].getNoOfChildren();return 0==t&&(t=1),t},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==s.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},f.prototype.scatter=function(){var t,i,n=-u.INITIAL_WORLD_BOUNDARY,r=u.INITIAL_WORLD_BOUNDARY;t=u.WORLD_CENTER_X+e.nextDouble()*(r-n)+n;var s=-u.INITIAL_WORLD_BOUNDARY,h=u.INITIAL_WORLD_BOUNDARY;i=u.WORLD_CENTER_Y+e.nextDouble()*(h-s)+s,this.rect.x=t,this.rect.y=i},f.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),u.NODE_DIMENSIONS_INCLUDE_LABELS){var i=t.getRight()-t.getLeft(),n=t.getBottom()-t.getTop();this.labelWidth>i&&(this.rect.x-=(this.labelWidth-i)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},f.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},f.prototype.transform=function(t){var i=this.rect.x;i>u.WORLD_BOUNDARY?i=u.WORLD_BOUNDARY:i<-u.WORLD_BOUNDARY&&(i=-u.WORLD_BOUNDARY);var n=this.rect.y;n>u.WORLD_BOUNDARY?n=u.WORLD_BOUNDARY:n<-u.WORLD_BOUNDARY&&(n=-u.WORLD_BOUNDARY);var r=new o(i,n),s=t.inverseTransformPoint(r);this.setLocation(s.x,s.y)},f.prototype.getLeft=function(){return this.rect.x},f.prototype.getRight=function(){return this.rect.x+this.rect.width},f.prototype.getTop=function(){return this.rect.y},f.prototype.getBottom=function(){return this.rect.y+this.rect.height},f.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=f},function(t,i,n){function r(t,i){null==t&&null==i?(this.x=0,this.y=0):(this.x=t,this.y=i)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,i,n){var r=n(2),s=n(10),h=n(0),u=n(6),e=n(3),o=n(1),f=n(13),a=n(12),c=n(11);function l(t,i,n){r.call(this,n),this.estimatedSize=s.MIN_VALUE,this.margin=h.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=i&&i instanceof u?this.graphManager=i:null!=i&&i instanceof Layout&&(this.graphManager=i.graphManager)}for(var v in l.prototype=Object.create(r.prototype),r)l[v]=r[v];l.prototype.getNodes=function(){return this.nodes},l.prototype.getEdges=function(){return this.edges},l.prototype.getGraphManager=function(){return this.graphManager},l.prototype.getParent=function(){return this.parent},l.prototype.getLeft=function(){return this.left},l.prototype.getRight=function(){return this.right},l.prototype.getTop=function(){return this.top},l.prototype.getBottom=function(){return this.bottom},l.prototype.isConnected=function(){return this.isConnected},l.prototype.add=function(t,i,n){if(null==i&&null==n){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var s=t;if(!(this.getNodes().indexOf(i)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(i.owner!=n.owner||i.owner!=this)throw"Both owners must be this graph!";return i.owner!=n.owner?null:(s.source=i,s.target=n,s.isInterGraph=!1,this.getEdges().push(s),i.edges.push(s),n!=i&&n.edges.push(s),s)},l.prototype.remove=function(t){var i=t;if(t instanceof e){if(null==i)throw"Node is null!";if(null==i.owner||i.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=i.edges.slice(),r=n.length,s=0;s<r;s++)(h=n[s]).isInterGraph?this.graphManager.remove(h):h.source.owner.remove(h);if(-1==(u=this.nodes.indexOf(i)))throw"Node not in owner node list!";this.nodes.splice(u,1)}else if(t instanceof o){var h;if(null==(h=t))throw"Edge is null!";if(null==h.source||null==h.target)throw"Source and/or target is null!";if(null==h.source.owner||null==h.target.owner||h.source.owner!=this||h.target.owner!=this)throw"Source and/or target owner is invalid!";var u,f=h.source.edges.indexOf(h),a=h.target.edges.indexOf(h);if(!(f>-1&&a>-1))throw"Source and/or target doesn't know this edge!";if(h.source.edges.splice(f,1),h.target!=h.source&&h.target.edges.splice(a,1),-1==(u=h.source.owner.getEdges().indexOf(h)))throw"Not in owner's edge list!";h.source.owner.getEdges().splice(u,1)}},l.prototype.updateLeftTop=function(){for(var t,i,n,r=s.MAX_VALUE,h=s.MAX_VALUE,u=this.getNodes(),e=u.length,o=0;o<e;o++){var f=u[o];r>(t=f.getTop())&&(r=t),h>(i=f.getLeft())&&(h=i)}return r==s.MAX_VALUE?null:(n=null!=u[0].getParent().paddingLeft?u[0].getParent().paddingLeft:this.margin,this.left=h-n,this.top=r-n,new a(this.left,this.top))},l.prototype.updateBounds=function(t){for(var i,n,r,h,u,e=s.MAX_VALUE,o=-s.MAX_VALUE,a=s.MAX_VALUE,c=-s.MAX_VALUE,l=this.nodes,v=l.length,d=0;d<v;d++){var w=l[d];t&&null!=w.child&&w.updateBounds(),e>(i=w.getLeft())&&(e=i),o<(n=w.getRight())&&(o=n),a>(r=w.getTop())&&(a=r),c<(h=w.getBottom())&&(c=h)}var y=new f(e,a,o-e,c-a);e==s.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),u=null!=l[0].getParent().paddingLeft?l[0].getParent().paddingLeft:this.margin,this.left=y.x-u,this.right=y.x+y.width+u,this.top=y.y-u,this.bottom=y.y+y.height+u},l.calculateBounds=function(t){for(var i,n,r,h,u=s.MAX_VALUE,e=-s.MAX_VALUE,o=s.MAX_VALUE,a=-s.MAX_VALUE,c=t.length,l=0;l<c;l++){var v=t[l];u>(i=v.getLeft())&&(u=i),e<(n=v.getRight())&&(e=n),o>(r=v.getTop())&&(o=r),a<(h=v.getBottom())&&(a=h)}return new f(u,o,e-u,a-o)},l.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==s.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){for(var t=0,i=this.nodes,n=i.length,r=0;r<n;r++)t+=i[r].calcEstimatedSize();return this.estimatedSize=0==t?h.EMPTY_COMPOUND_NODE_SIZE:t/Math.sqrt(this.nodes.length),this.estimatedSize},l.prototype.updateConnected=function(){var t=this;if(0!=this.nodes.length){var i,n,r=new c,s=new Set,h=this.nodes[0];for(h.withChildren().forEach(function(t){r.push(t),s.add(t)});0!==r.length;)for(var u=(i=(h=r.shift()).getEdges()).length,e=0;e<u;e++)null==(n=i[e].getOtherEndInGraph(h,this))||s.has(n)||n.withChildren().forEach(function(t){r.push(t),s.add(t)});if(this.isConnected=!1,s.size>=this.nodes.length){var o=0;s.forEach(function(i){i.owner==t&&o++}),o==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=l},function(t,i,n){var r,s=n(1);function h(t){r=n(5),this.layout=t,this.graphs=[],this.edges=[]}h.prototype.addRoot=function(){var t=this.layout.newGraph(),i=this.layout.newNode(null),n=this.add(t,i);return this.setRootGraph(n),this.rootGraph},h.prototype.add=function(t,i,n,r,s){if(null==n&&null==r&&null==s){if(null==t)throw"Graph is null!";if(null==i)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=i.child)throw"Already has a child!";return t.parent=i,i.child=t,t}s=n,n=t;var h=(r=i).getOwner(),u=s.getOwner();if(null==h||h.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==u||u.getGraphManager()!=this)throw"Target not in this graph mgr!";if(h==u)return n.isInterGraph=!1,h.add(n,r,s);if(n.isInterGraph=!0,n.source=r,n.target=s,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},h.prototype.remove=function(t){if(t instanceof r){var i=t;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(i!=this.rootGraph&&(null==i.parent||i.parent.graphManager!=this))throw"Invalid parent node!";for(var n,h=[],u=(h=h.concat(i.getEdges())).length,e=0;e<u;e++)n=h[e],i.remove(n);var o,f=[];for(u=(f=f.concat(i.getNodes())).length,e=0;e<u;e++)o=f[e],i.remove(o);i==this.rootGraph&&this.setRootGraph(null);var a=this.graphs.indexOf(i);this.graphs.splice(a,1),i.parent=null}else if(t instanceof s){if(null==(n=t))throw"Edge is null!";if(!n.isInterGraph)throw"Not an inter-graph edge!";if(null==n.source||null==n.target)throw"Source and/or target is null!";if(-1==n.source.edges.indexOf(n)||-1==n.target.edges.indexOf(n))throw"Source and/or target doesn't know this edge!";if(a=n.source.edges.indexOf(n),n.source.edges.splice(a,1),a=n.target.edges.indexOf(n),n.target.edges.splice(a,1),null==n.source.owner||null==n.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==n.source.owner.getGraphManager().edges.indexOf(n))throw"Not in owner graph manager's edge list!";a=n.source.owner.getGraphManager().edges.indexOf(n),n.source.owner.getGraphManager().edges.splice(a,1)}},h.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},h.prototype.getGraphs=function(){return this.graphs},h.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],i=this.getGraphs(),n=i.length,r=0;r<n;r++)t=t.concat(i[r].getNodes());this.allNodes=t}return this.allNodes},h.prototype.resetAllNodes=function(){this.allNodes=null},h.prototype.resetAllEdges=function(){this.allEdges=null},h.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},h.prototype.getAllEdges=function(){if(null==this.allEdges){var t=[],i=this.getGraphs();i.length;for(var n=0;n<i.length;n++)t=t.concat(i[n].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},h.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},h.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},h.prototype.getRoot=function(){return this.rootGraph},h.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},h.prototype.getLayout=function(){return this.layout},h.prototype.isOneAncestorOfOther=function(t,i){if(null==t||null==i)throw"assert failed";if(t==i)return!0;for(var n,r=t.getOwner();null!=(n=r.getParent());){if(n==i)return!0;if(null==(r=n.getOwner()))break}for(r=i.getOwner();null!=(n=r.getParent());){if(n==t)return!0;if(null==(r=n.getOwner()))break}return!1},h.prototype.calcLowestCommonAncestors=function(){for(var t,i,n,r,s,h=this.getAllEdges(),u=h.length,e=0;e<u;e++)if(i=(t=h[e]).source,n=t.target,t.lca=null,t.sourceInLca=i,t.targetInLca=n,i!=n){for(r=i.getOwner();null==t.lca;){for(t.targetInLca=n,s=n.getOwner();null==t.lca;){if(s==r){t.lca=s;break}if(s==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=s.getParent(),s=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}else t.lca=i.getOwner()},h.prototype.calcLowestCommonAncestor=function(t,i){if(t==i)return t.getOwner();for(var n=t.getOwner();null!=n;){for(var r=i.getOwner();null!=r;){if(r==n)return r;r=r.getParent().getOwner()}n=n.getParent().getOwner()}return n},h.prototype.calcInclusionTreeDepths=function(t,i){var n;null==t&&null==i&&(t=this.rootGraph,i=1);for(var r=t.getNodes(),s=r.length,h=0;h<s;h++)(n=r[h]).inclusionTreeDepth=i,null!=n.child&&this.calcInclusionTreeDepths(n.child,i+1)},h.prototype.includesInvalidEdge=function(){for(var t,i=this.edges.length,n=0;n<i;n++)if(t=this.edges[n],this.isOneAncestorOfOther(t.source,t.target))return!0;return!1},t.exports=h},function(t,i,n){var r=n(0);function s(){}for(var h in r)s[h]=r[h];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=3*s.MAX_NODE_DISPLACEMENT_INCREMENTAL,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=s},function(t,i,n){var r=n(12);function s(){}s.calcSeparationAmount=function(t,i,n,r){if(!t.intersects(i))throw"assert failed";var s=new Array(2);this.decideDirectionsForOverlappingNodes(t,i,s),n[0]=Math.min(t.getRight(),i.getRight())-Math.max(t.x,i.x),n[1]=Math.min(t.getBottom(),i.getBottom())-Math.max(t.y,i.y),t.getX()<=i.getX()&&t.getRight()>=i.getRight()?n[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?n[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var h=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(h=1);var u=h*n[0],e=n[1]/h;n[0]<e?e=n[0]:u=n[1],n[0]=-1*s[0]*(e/2+r),n[1]=-1*s[1]*(u/2+r)},s.decideDirectionsForOverlappingNodes=function(t,i,n){t.getCenterX()<i.getCenterX()?n[0]=-1:n[0]=1,t.getCenterY()<i.getCenterY()?n[1]=-1:n[1]=1},s.getIntersection2=function(t,i,n){var r=t.getCenterX(),s=t.getCenterY(),h=i.getCenterX(),u=i.getCenterY();if(t.intersects(i))return n[0]=r,n[1]=s,n[2]=h,n[3]=u,!0;var e=t.getX(),o=t.getY(),f=t.getRight(),a=t.getX(),c=t.getBottom(),l=t.getRight(),v=t.getWidthHalf(),d=t.getHeightHalf(),w=i.getX(),y=i.getY(),g=i.getRight(),p=i.getX(),b=i.getBottom(),m=i.getRight(),M=i.getWidthHalf(),k=i.getHeightHalf(),j=!1,O=!1;if(r===h){if(s>u)return n[0]=r,n[1]=o,n[2]=h,n[3]=b,!1;if(s<u)return n[0]=r,n[1]=c,n[2]=h,n[3]=y,!1}else if(s===u){if(r>h)return n[0]=e,n[1]=s,n[2]=g,n[3]=u,!1;if(r<h)return n[0]=f,n[1]=s,n[2]=w,n[3]=u,!1}else{var x=t.height/t.width,A=i.height/i.width,E=(u-s)/(h-r),I=void 0,N=void 0,S=void 0,q=void 0,P=void 0,C=void 0;if(-x===E?r>h?(n[0]=a,n[1]=c,j=!0):(n[0]=f,n[1]=o,j=!0):x===E&&(r>h?(n[0]=e,n[1]=o,j=!0):(n[0]=l,n[1]=c,j=!0)),-A===E?h>r?(n[2]=p,n[3]=b,O=!0):(n[2]=g,n[3]=y,O=!0):A===E&&(h>r?(n[2]=w,n[3]=y,O=!0):(n[2]=m,n[3]=b,O=!0)),j&&O)return!1;if(r>h?s>u?(I=this.getCardinalDirection(x,E,4),N=this.getCardinalDirection(A,E,2)):(I=this.getCardinalDirection(-x,E,3),N=this.getCardinalDirection(-A,E,1)):s>u?(I=this.getCardinalDirection(-x,E,1),N=this.getCardinalDirection(-A,E,3)):(I=this.getCardinalDirection(x,E,2),N=this.getCardinalDirection(A,E,4)),!j)switch(I){case 1:q=o,S=r+-d/E,n[0]=S,n[1]=q;break;case 2:S=l,q=s+v*E,n[0]=S,n[1]=q;break;case 3:q=c,S=r+d/E,n[0]=S,n[1]=q;break;case 4:S=a,q=s+-v*E,n[0]=S,n[1]=q}if(!O)switch(N){case 1:C=y,P=h+-k/E,n[2]=P,n[3]=C;break;case 2:P=m,C=u+M*E,n[2]=P,n[3]=C;break;case 3:C=b,P=h+k/E,n[2]=P,n[3]=C;break;case 4:P=p,C=u+-M*E,n[2]=P,n[3]=C}}return!1},s.getCardinalDirection=function(t,i,n){return t>i?n:1+n%4},s.getIntersection=function(t,i,n,s){if(null==s)return this.getIntersection2(t,i,n);var h,u,e,o,f,a,c,l=t.x,v=t.y,d=i.x,w=i.y,y=n.x,g=n.y,p=s.x,b=s.y;return 0===(c=(h=w-v)*(o=y-p)-(u=b-g)*(e=l-d))?null:new r((e*(a=p*g-y*b)-o*(f=d*v-l*w))/c,(u*f-h*a)/c)},s.angleOfVector=function(t,i,n,r){var s=void 0;return t!==n?(s=Math.atan((r-i)/(n-t)),n<t?s+=Math.PI:r<i&&(s+=this.TWO_PI)):s=r<i?this.ONE_AND_HALF_PI:this.HALF_PI,s},s.doIntersect=function(t,i,n,r){var s=t.x,h=t.y,u=i.x,e=i.y,o=n.x,f=n.y,a=r.x,c=r.y,l=(u-s)*(c-f)-(a-o)*(e-h);if(0===l)return!1;var v=((c-f)*(a-s)+(o-a)*(c-h))/l,d=((h-e)*(a-s)+(u-s)*(c-h))/l;return 0<v&&v<1&&0<d&&d<1},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,t.exports=s},function(t,i,n){function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,i,n){function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,i,n){var r=function(){function t(t,i){for(var n=0;n<i.length;n++){var r=i[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,n,r){return n&&t(i.prototype,n),r&&t(i,r),i}}(),s=function(t){return{value:t,next:null,prev:null}},h=function(t,i,n,r){return null!==t?t.next=i:r.head=i,null!==n?n.prev=i:r.tail=i,i.prev=t,i.next=n,r.length++,i},u=function(t,i){var n=t.prev,r=t.next;return null!==n?n.next=r:i.head=r,null!==r?r.prev=n:i.tail=n,t.prev=t.next=null,i.length--,t},e=function(){function t(i){var n=this;!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),this.length=0,this.head=null,this.tail=null,null!=i&&i.forEach(function(t){return n.push(t)})}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,i){return h(i.prev,s(t),i,this)}},{key:"insertAfter",value:function(t,i){return h(i,s(t),i.next,this)}},{key:"insertNodeBefore",value:function(t,i){return h(i.prev,t,i,this)}},{key:"insertNodeAfter",value:function(t,i){return h(i,t,i.next,this)}},{key:"push",value:function(t){return h(this.tail,s(t),null,this)}},{key:"unshift",value:function(t){return h(null,s(t),this.head,this)}},{key:"remove",value:function(t){return u(t,this)}},{key:"pop",value:function(){return u(this.tail,this).value}},{key:"popNode",value:function(){return u(this.tail,this)}},{key:"shift",value:function(){return u(this.head,this).value}},{key:"shiftNode",value:function(){return u(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var i=1,n=this.head;i<t;)n=n.next,i++;return n.value}}},{key:"set_object_at",value:function(t,i){if(t<=this.length()){for(var n=1,r=this.head;n<t;)r=r.next,n++;r.value=i}}}]),t}();t.exports=e},function(t,i,n){function r(t,i,n){this.x=null,this.y=null,null==t&&null==i&&null==n?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof i&&null==n?(this.x=t,this.y=i):"Point"==t.constructor.name&&null==i&&null==n&&(n=t,this.x=n.x,this.y=n.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,i,n){"Point"==t.constructor.name&&null==i&&null==n?(n=t,this.setLocation(n.x,n.y)):"number"==typeof t&&"number"==typeof i&&null==n&&(parseInt(t)==t&&parseInt(i)==i?this.move(t,i):(this.x=Math.floor(t+.5),this.y=Math.floor(i+.5)))},r.prototype.move=function(t,i){this.x=t,this.y=i},r.prototype.translate=function(t,i){this.x+=t,this.y+=i},r.prototype.equals=function(t){if("Point"==t.constructor.name){var i=t;return this.x==i.x&&this.y==i.y}return this==t},r.prototype.toString=function(){return(new r).constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,i,n){function r(t,i,n,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=i&&null!=n&&null!=r&&(this.x=t,this.y=i,this.width=n,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,i,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function s(){}s.lastID=0,s.createID=function(t){return s.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=s.getString(),s.lastID++),t.uniqueID)},s.getString=function(t){return null==t&&(t=s.lastID),"Object#"+t},s.isPrimitive=function(t){var i=void 0===t?"undefined":r(t);return null==t||"object"!=i&&"function"!=i},t.exports=s},function(t,i,n){function r(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}var s=n(0),h=n(6),u=n(3),e=n(1),o=n(5),f=n(4),a=n(17),c=n(27);function l(t){c.call(this),this.layoutQuality=s.QUALITY,this.createBendsAsNeeded=s.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=s.DEFAULT_INCREMENTAL,this.animationOnLayout=s.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=s.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=s.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=s.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new h(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}l.RANDOM_SEED=1,l.prototype=Object.create(c.prototype),l.prototype.getGraphManager=function(){return this.graphManager},l.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},l.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},l.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},l.prototype.newGraphManager=function(){var t=new h(this);return this.graphManager=t,t},l.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},l.prototype.newNode=function(t){return new u(this.graphManager,t)},l.prototype.newEdge=function(t){return new e(null,null,t)},l.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},l.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==s.ANIMATE&&(t&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},l.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},l.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),i=0;i<t.length;i++)t[i];var n=this.graphManager.getRoot().getNodes();for(i=0;i<n.length;i++)n[i];this.update(this.graphManager.getRoot())}},l.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof u){var i=t;if(null!=i.getChild())for(var n=i.getChild().getNodes(),r=0;r<n.length;r++)update(n[r]);null!=i.vGraphObject&&i.vGraphObject.update(i)}else if(t instanceof e){var s=t;null!=s.vGraphObject&&s.vGraphObject.update(s)}else if(t instanceof o){var h=t;null!=h.vGraphObject&&h.vGraphObject.update(h)}},l.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=s.QUALITY,this.animationDuringLayout=s.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=s.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=s.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=s.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=s.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=s.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},l.prototype.transform=function(t){if(null==t)this.transform(new f(0,0));else{var i=new a,n=this.graphManager.getRoot().updateLeftTop();if(null!=n){i.setWorldOrgX(t.x),i.setWorldOrgY(t.y),i.setDeviceOrgX(n.x),i.setDeviceOrgY(n.y);for(var r=this.getAllNodes(),s=0;s<r.length;s++)r[s].transform(i)}}},l.prototype.positionNodesRandomly=function(t){if(null==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var i,n,r=t.getNodes(),s=0;s<r.length;s++)null==(n=(i=r[s]).getChild())||0==n.getNodes().length?i.scatter():(this.positionNodesRandomly(n),i.updateBounds())},l.prototype.getFlatForest=function(){for(var t=[],i=!0,n=this.graphManager.getRoot().getNodes(),s=!0,h=0;h<n.length;h++)null!=n[h].getChild()&&(s=!1);if(!s)return t;var u=new Set,e=[],o=new Map,f=[];for(f=f.concat(n);f.length>0&&i;){for(e.push(f[0]);e.length>0&&i;){var a=e[0];e.splice(0,1),u.add(a);var c=a.getEdges();for(h=0;h<c.length;h++){var l=c[h].getOtherEnd(a);if(o.get(a)!=l){if(u.has(l)){i=!1;break}e.push(l),o.set(l,a)}}}if(i){var v=[].concat(r(u));for(t.push(v),h=0;h<v.length;h++){var d=v[h],w=f.indexOf(d);w>-1&&f.splice(w,1)}u=new Set,o=new Map}else t=[]}return t},l.prototype.createDummyNodesForBendpoints=function(t){for(var i=[],n=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),s=0;s<t.bendpoints.length;s++){var h=this.newNode(null);h.setRect(new Point(0,0),new Dimension(1,1)),r.add(h);var u=this.newEdge(null);this.graphManager.add(u,n,h),i.add(h),n=h}return u=this.newEdge(null),this.graphManager.add(u,n,t.target),this.edgeToDummyNodes.set(t,i),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),i},l.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var i=0;i<t.length;i++){var n=t[i];if(n.bendpoints.length>0){for(var s=this.edgeToDummyNodes.get(n),h=0;h<s.length;h++){var u=s[h],e=new f(u.getCenterX(),u.getCenterY()),o=n.bendpoints.get(h);o.x=e.x,o.y=e.y,u.getOwner().remove(u)}this.graphManager.add(n,n.source,n.target)}}},l.transform=function(t,i,n,r){if(null!=n&&null!=r){var s=i;return t<=50?s-=(i-i/n)/50*(50-t):s+=(i*r-i)/50*(t-50),s}var h,u;return t<=50?(h=9*i/500,u=i/10):(h=9*i/50,u=-8*i),h*t+u},l.findCenterOfTree=function(t){var i=[];i=i.concat(t);var n=[],r=new Map,s=!1,h=null;1!=i.length&&2!=i.length||(s=!0,h=i[0]);for(var u=0;u<i.length;u++){var e=(a=i[u]).getNeighborsList().size;r.set(a,a.getNeighborsList().size),1==e&&n.push(a)}var o=[];for(o=o.concat(n);!s;){var f=[];for(f=f.concat(o),o=[],u=0;u<i.length;u++){var a=i[u],c=i.indexOf(a);c>=0&&i.splice(c,1),a.getNeighborsList().forEach(function(t){if(n.indexOf(t)<0){var i=r.get(t)-1;1==i&&o.push(t),r.set(t,i)}})}n=n.concat(o),1!=i.length&&2!=i.length||(s=!0,h=i[0])}return h},l.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=l},function(t,i,n){function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,i,n){var r=n(4);function s(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(t){this.lworldExtX=t},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(t){this.lworldExtY=t},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},s.prototype.transformX=function(t){var i=0,n=this.lworldExtX;return 0!=n&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),i},s.prototype.transformY=function(t){var i=0,n=this.lworldExtY;return 0!=n&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),i},s.prototype.inverseTransformX=function(t){var i=0,n=this.ldeviceExtX;return 0!=n&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),i},s.prototype.inverseTransformY=function(t){var i=0,n=this.ldeviceExtY;return 0!=n&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),i},s.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=s},function(t,i,n){var r=n(15),s=n(7),h=n(0),u=n(8),e=n(9);function o(){r.call(this),this.useSmartIdealEdgeLengthCalculation=s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=s.DEFAULT_EDGE_LENGTH,this.springConstant=s.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=s.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=s.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=s.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=s.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*s.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=s.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=s.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=s.MAX_ITERATIONS}for(var f in o.prototype=Object.create(r.prototype),r)o[f]=r[f];o.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},o.prototype.calcIdealEdgeLengths=function(){for(var t,i,n,r,u,e,o=this.getGraphManager().getAllEdges(),f=0;f<o.length;f++)(t=o[f]).idealLength=this.idealEdgeLength,t.isInterGraph&&(n=t.getSource(),r=t.getTarget(),u=t.getSourceInLca().getEstimatedSize(),e=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=u+e-2*h.SIMPLE_NODE_SIZE),i=t.getLca().getInclusionTreeDepth(),t.idealLength+=s.DEFAULT_EDGE_LENGTH*s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(n.getInclusionTreeDepth()+r.getInclusionTreeDepth()-2*i))},o.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>s.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*s.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-s.ADAPTATION_LOWER_NODE_LIMIT)/(s.ADAPTATION_UPPER_NODE_LIMIT-s.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-s.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=s.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>s.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(s.COOLING_ADAPTATION_FACTOR,1-(t-s.ADAPTATION_LOWER_NODE_LIMIT)/(s.ADAPTATION_UPPER_NODE_LIMIT-s.ADAPTATION_LOWER_NODE_LIMIT)*(1-s.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=s.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},o.prototype.calcSpringForces=function(){for(var t,i=this.getAllEdges(),n=0;n<i.length;n++)t=i[n],this.calcSpringForce(t,t.idealLength)},o.prototype.calcRepulsionForces=function(){var t,i,n,r,h,u=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%s.GRID_CALCULATION_CHECK_PERIOD==1&&u&&this.updateGrid(),h=new Set,t=0;t<o.length;t++)n=o[t],this.calculateRepulsionForceOfANode(n,h,u,e),h.add(n);else for(t=0;t<o.length;t++)for(n=o[t],i=t+1;i<o.length;i++)r=o[i],n.getOwner()==r.getOwner()&&this.calcRepulsionForce(n,r)},o.prototype.calcGravitationalForces=function(){for(var t,i=this.getAllNodesToApplyGravitation(),n=0;n<i.length;n++)t=i[n],this.calcGravitationalForce(t)},o.prototype.moveNodes=function(){for(var t=this.getAllNodes(),i=0;i<t.length;i++)t[i].move()},o.prototype.calcSpringForce=function(t,i){var n,r,s,h,u=t.getSource(),e=t.getTarget();if(this.uniformLeafNodeSizes&&null==u.getChild()&&null==e.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(n=t.getLength())&&(s=(r=this.springConstant*(n-i))*(t.lengthX/n),h=r*(t.lengthY/n),u.springForceX+=s,u.springForceY+=h,e.springForceX-=s,e.springForceY-=h)},o.prototype.calcRepulsionForce=function(t,i){var n,r,h,o,f,a,c,l=t.getRect(),v=i.getRect(),d=new Array(2),w=new Array(4);if(l.intersects(v)){u.calcSeparationAmount(l,v,d,s.DEFAULT_EDGE_LENGTH/2),a=2*d[0],c=2*d[1];var y=t.noOfChildren*i.noOfChildren/(t.noOfChildren+i.noOfChildren);t.repulsionForceX-=y*a,t.repulsionForceY-=y*c,i.repulsionForceX+=y*a,i.repulsionForceY+=y*c}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==i.getChild()?(n=v.getCenterX()-l.getCenterX(),r=v.getCenterY()-l.getCenterY()):(u.getIntersection(l,v,w),n=w[2]-w[0],r=w[3]-w[1]),Math.abs(n)<s.MIN_REPULSION_DIST&&(n=e.sign(n)*s.MIN_REPULSION_DIST),Math.abs(r)<s.MIN_REPULSION_DIST&&(r=e.sign(r)*s.MIN_REPULSION_DIST),h=n*n+r*r,o=Math.sqrt(h),a=(f=this.repulsionConstant*t.noOfChildren*i.noOfChildren/h)*n/o,c=f*r/o,t.repulsionForceX-=a,t.repulsionForceY-=c,i.repulsionForceX+=a,i.repulsionForceY+=c},o.prototype.calcGravitationalForce=function(t){var i,n,r,s,h,u,e,o;n=((i=t.getOwner()).getRight()+i.getLeft())/2,r=(i.getTop()+i.getBottom())/2,s=t.getCenterX()-n,h=t.getCenterY()-r,u=Math.abs(s)+t.getWidth()/2,e=Math.abs(h)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(u>(o=i.getEstimatedSize()*this.gravityRangeFactor)||e>o)&&(t.gravitationForceX=-this.gravityConstant*s,t.gravitationForceY=-this.gravityConstant*h):(u>(o=i.getEstimatedSize()*this.compoundGravityRangeFactor)||e>o)&&(t.gravitationForceX=-this.gravityConstant*s*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*h*this.compoundGravityConstant)},o.prototype.isConverged=function(){var t,i=!1;return this.totalIterations>this.maxIterations/3&&(i=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||i},o.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},o.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,i=this.graphManager.getAllNodes(),n=0;n<i.length;n++)(t=i[n]).noOfChildren=t.getNoOfChildren()},o.prototype.calcGrid=function(t){var i,n;i=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),n=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=new Array(i),s=0;s<i;s++)r[s]=new Array(n);for(s=0;s<i;s++)for(var h=0;h<n;h++)r[s][h]=new Array;return r},o.prototype.addNodeToGrid=function(t,i,n){var r,s,h,u;r=parseInt(Math.floor((t.getRect().x-i)/this.repulsionRange)),s=parseInt(Math.floor((t.getRect().width+t.getRect().x-i)/this.repulsionRange)),h=parseInt(Math.floor((t.getRect().y-n)/this.repulsionRange)),u=parseInt(Math.floor((t.getRect().height+t.getRect().y-n)/this.repulsionRange));for(var e=r;e<=s;e++)for(var o=h;o<=u;o++)this.grid[e][o].push(t),t.setGridCoordinates(r,s,h,u)},o.prototype.updateGrid=function(){var t,i,n=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),t=0;t<n.length;t++)i=n[t],this.addNodeToGrid(i,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},o.prototype.calculateRepulsionForceOfANode=function(t,i,n,r){if(this.totalIterations%s.GRID_CALCULATION_CHECK_PERIOD==1&&n||r){var h,u=new Set;t.surrounding=new Array;for(var e=this.grid,o=t.startX-1;o<t.finishX+2;o++)for(var f=t.startY-1;f<t.finishY+2;f++)if(!(o<0||f<0||o>=e.length||f>=e[0].length))for(var a=0;a<e[o][f].length;a++)if(h=e[o][f][a],t.getOwner()==h.getOwner()&&t!=h&&!i.has(h)&&!u.has(h)){var c=Math.abs(t.getCenterX()-h.getCenterX())-(t.getWidth()/2+h.getWidth()/2),l=Math.abs(t.getCenterY()-h.getCenterY())-(t.getHeight()/2+h.getHeight()/2);c<=this.repulsionRange&&l<=this.repulsionRange&&u.add(h)}t.surrounding=[].concat(function(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}(u))}for(o=0;o<t.surrounding.length;o++)this.calcRepulsionForce(t,t.surrounding[o])},o.prototype.calcRepulsionRange=function(){return 0},t.exports=o},function(t,i,n){var r=n(1),s=n(7);function h(t,i,n){r.call(this,t,i,n),this.idealLength=s.DEFAULT_EDGE_LENGTH}for(var u in h.prototype=Object.create(r.prototype),r)h[u]=r[u];t.exports=h},function(t,i,n){var r=n(3);function s(t,i,n,s){r.call(this,t,i,n,s),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var h in s.prototype=Object.create(r.prototype),r)s[h]=r[h];s.prototype.setGridCoordinates=function(t,i,n,r){this.startX=t,this.finishX=i,this.startY=n,this.finishY=r},t.exports=s},function(t,i,n){function r(t,i){this.width=0,this.height=0,null!==t&&null!==i&&(this.height=i,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,i,n){var r=n(14);function s(){this.map={},this.keys=[]}s.prototype.put=function(t,i){var n=r.createID(t);this.contains(n)||(this.map[n]=i,this.keys.push(t))},s.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},s.prototype.get=function(t){var i=r.createID(t);return this.map[i]},s.prototype.keySet=function(){return this.keys},t.exports=s},function(t,i,n){var r=n(14);function s(){this.set={}}s.prototype.add=function(t){var i=r.createID(t);this.contains(i)||(this.set[i]=t)},s.prototype.remove=function(t){delete this.set[r.createID(t)]},s.prototype.clear=function(){this.set={}},s.prototype.contains=function(t){return this.set[r.createID(t)]==t},s.prototype.isEmpty=function(){return 0===this.size()},s.prototype.size=function(){return Object.keys(this.set).length},s.prototype.addAllTo=function(t){for(var i=Object.keys(this.set),n=i.length,r=0;r<n;r++)t.push(this.set[i[r]])},s.prototype.size=function(){return Object.keys(this.set).length},s.prototype.addAll=function(t){for(var i=t.length,n=0;n<i;n++){var r=t[n];this.add(r)}},t.exports=s},function(t,i,n){var r=function(){function t(t,i){for(var n=0;n<i.length;n++){var r=i[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,n,r){return n&&t(i.prototype,n),r&&t(i,r),i}}(),s=n(11),h=function(){function t(i,n){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),null===n&&void 0===n||(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=i instanceof s?i.size():i.length,this._quicksort(i,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,i,n){if(i<n){var r=this._partition(t,i,n);this._quicksort(t,i,r),this._quicksort(t,r+1,n)}}},{key:"_partition",value:function(t,i,n){for(var r=this._get(t,i),s=i,h=n;;){for(;this.compareFunction(r,this._get(t,h));)h--;for(;this.compareFunction(this._get(t,s),r);)s++;if(!(s<h))return h;this._swap(t,s,h),s++,h--}}},{key:"_get",value:function(t,i){return t instanceof s?t.get_object_at(i):t[i]}},{key:"_set",value:function(t,i,n){t instanceof s?t.set_object_at(i,n):t[i]=n}},{key:"_swap",value:function(t,i,n){var r=this._get(t,i);this._set(t,i,this._get(t,n)),this._set(t,n,r)}},{key:"_defaultCompareFunction",value:function(t,i){return i>t}}]),t}();t.exports=h},function(t,i,n){var r=function(){function t(t,i){for(var n=0;n<i.length;n++){var r=i[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(i,n,r){return n&&t(i.prototype,n),r&&t(i,r),i}}(),s=function(){function t(i,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=i,this.sequence2=n,this.match_score=r,this.mismatch_penalty=s,this.gap_penalty=h,this.iMax=i.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var u=0;u<this.iMax;u++){this.grid[u]=new Array(this.jMax);for(var e=0;e<this.jMax;e++)this.grid[u][e]=0}this.tracebackGrid=new Array(this.iMax);for(var o=0;o<this.iMax;o++){this.tracebackGrid[o]=new Array(this.jMax);for(var f=0;f<this.jMax;f++)this.tracebackGrid[o][f]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var i=1;i<this.iMax;i++)this.grid[i][0]=this.grid[i-1][0]+this.gap_penalty,this.tracebackGrid[i][0]=[!1,!0,!1];for(var n=1;n<this.iMax;n++)for(var r=1;r<this.jMax;r++){var s=[this.sequence1[n-1]===this.sequence2[r-1]?this.grid[n-1][r-1]+this.match_score:this.grid[n-1][r-1]+this.mismatch_penalty,this.grid[n-1][r]+this.gap_penalty,this.grid[n][r-1]+this.gap_penalty],h=this.arrayAllMaxIndexes(s);this.grid[n][r]=s[h[0]],this.tracebackGrid[n][r]=[h.includes(0),h.includes(1),h.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var i=t[0],n=this.tracebackGrid[i.pos[0]][i.pos[1]];n[0]&&t.push({pos:[i.pos[0]-1,i.pos[1]-1],seq1:this.sequence1[i.pos[0]-1]+i.seq1,seq2:this.sequence2[i.pos[1]-1]+i.seq2}),n[1]&&t.push({pos:[i.pos[0]-1,i.pos[1]],seq1:this.sequence1[i.pos[0]-1]+i.seq1,seq2:"-"+i.seq2}),n[2]&&t.push({pos:[i.pos[0],i.pos[1]-1],seq1:"-"+i.seq1,seq2:this.sequence2[i.pos[1]-1]+i.seq2}),0===i.pos[0]&&0===i.pos[1]&&this.alignments.push({sequence1:i.seq1,sequence2:i.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,i){for(var n=[],r=-1;-1!==(r=t.indexOf(i,r+1));)n.push(r);return n}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}();t.exports=s},function(t,i,n){var r=function(){};r.FDLayout=n(18),r.FDLayoutConstants=n(7),r.FDLayoutEdge=n(19),r.FDLayoutNode=n(20),r.DimensionD=n(21),r.HashMap=n(22),r.HashSet=n(23),r.IGeometry=n(8),r.IMath=n(9),r.Integer=n(10),r.Point=n(12),r.PointD=n(4),r.RandomSeed=n(16),r.RectangleD=n(13),r.Transform=n(17),r.UniqueIDGeneretor=n(14),r.Quicksort=n(24),r.LinkedList=n(11),r.LGraphObject=n(2),r.LGraph=n(5),r.LEdge=n(1),r.LGraphManager=n(6),r.LNode=n(3),r.Layout=n(15),r.LayoutConstants=n(0),r.NeedlemanWunsch=n(25),t.exports=r},function(t,i,n){function r(){this.listeners=[]}var s=r.prototype;s.addListener=function(t,i){this.listeners.push({event:t,callback:i})},s.removeListener=function(t,i){for(var n=this.listeners.length;n>=0;n--){var r=this.listeners[n];r.event===t&&r.callback===i&&this.listeners.splice(n,1)}},s.emit=function(t,i){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];t===r.event&&r.callback(i)}},t.exports=r}])},o.exports=t());var t}var a;var c,l;const v=t((c||(c=1,u.exports=(l=a?e.exports:(a=1,e.exports=function(t){return function(t){var i={};function n(r){if(i[r])return i[r].exports;var s=i[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=i,n.i=function(t){return t},n.d=function(t,i,r){n.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="",n(n.s=7)}([function(i,n){i.exports=t},function(t,i,n){var r=n(0).FDLayoutConstants;function s(){}for(var h in r)s[h]=r[h];s.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,s.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,s.DEFAULT_COMPONENT_SEPERATION=60,s.TILE=!0,s.TILING_PADDING_VERTICAL=10,s.TILING_PADDING_HORIZONTAL=10,s.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=s},function(t,i,n){var r=n(0).FDLayoutEdge;function s(t,i,n){r.call(this,t,i,n)}for(var h in s.prototype=Object.create(r.prototype),r)s[h]=r[h];t.exports=s},function(t,i,n){var r=n(0).LGraph;function s(t,i,n){r.call(this,t,i,n)}for(var h in s.prototype=Object.create(r.prototype),r)s[h]=r[h];t.exports=s},function(t,i,n){var r=n(0).LGraphManager;function s(t){r.call(this,t)}for(var h in s.prototype=Object.create(r.prototype),r)s[h]=r[h];t.exports=s},function(t,i,n){var r=n(0).FDLayoutNode,s=n(0).IMath;function h(t,i,n,s){r.call(this,t,i,n,s)}for(var u in h.prototype=Object.create(r.prototype),r)h[u]=r[u];h.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*s.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*s.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},h.prototype.propogateDisplacementToChildren=function(t,i){for(var n,r=this.getChild().getNodes(),s=0;s<r.length;s++)null==(n=r[s]).getChild()?(n.moveBy(t,i),n.displacementX+=t,n.displacementY+=i):n.propogateDisplacementToChildren(t,i)},h.prototype.setPred1=function(t){this.pred1=t},h.prototype.getPred1=function(){return pred1},h.prototype.getPred2=function(){return pred2},h.prototype.setNext=function(t){this.next=t},h.prototype.getNext=function(){return next},h.prototype.setProcessed=function(t){this.processed=t},h.prototype.isProcessed=function(){return processed},t.exports=h},function(t,i,n){var r=n(0).FDLayout,s=n(4),h=n(3),u=n(5),e=n(2),o=n(1),f=n(0).FDLayoutConstants,a=n(0).LayoutConstants,c=n(0).Point,l=n(0).PointD,v=n(0).Layout,d=n(0).Integer,w=n(0).IGeometry,y=n(0).LGraph,g=n(0).Transform;function p(){r.call(this),this.toBeTiled={}}for(var b in p.prototype=Object.create(r.prototype),r)p[b]=r[b];p.prototype.newGraphManager=function(){var t=new s(this);return this.graphManager=t,t},p.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},p.prototype.newNode=function(t){return new u(this.graphManager,t)},p.prototype.newEdge=function(t){return new e(null,null,t)},p.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=f.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=f.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=f.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=f.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=f.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/f.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=f.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},p.prototype.layout=function(){return a.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},p.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)o.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),i=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter(function(t){return i.has(t)}),this.graphManager.setAllNodesToApplyGravitation(n));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var i=new Set(this.getAllNodes()),n=this.nodesWithGravity.filter(function(t){return i.has(t)});this.graphManager.setAllNodesToApplyGravitation(n),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},p.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),i=this.nodesWithGravity.filter(function(i){return t.has(i)});this.graphManager.setAllNodesToApplyGravitation(i),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},p.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),i={},n=0;n<t.length;n++){var r=t[n].rect,s=t[n].id;i[s]={id:s,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return i},p.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===f.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},p.prototype.calculateNodesToApplyGravitationTo=function(){var t,i,n=[],r=this.graphManager.getGraphs(),s=r.length;for(i=0;i<s;i++)(t=r[i]).updateConnected(),t.isConnected||(n=n.concat(t.getNodes()));return n},p.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var i,n=new Set;for(i=0;i<t.length;i++){var r=t[i];if(!n.has(r)){var s=r.getSource(),h=r.getTarget();if(s==h)r.getBendpoints().push(new l),r.getBendpoints().push(new l),this.createDummyNodesForBendpoints(r),n.add(r);else{var u=[];if(u=(u=u.concat(s.getEdgeListToNode(h))).concat(h.getEdgeListToNode(s)),!n.has(u[0])){var e;if(u.length>1)for(e=0;e<u.length;e++){var o=u[e];o.getBendpoints().push(new l),this.createDummyNodesForBendpoints(o)}u.forEach(function(t){n.add(t)})}}}if(n.size==t.length)break}},p.prototype.positionNodesRadially=function(t){for(var i=new c(0,0),n=Math.ceil(Math.sqrt(t.length)),r=0,s=0,h=0,u=new l(0,0),e=0;e<t.length;e++){e%n==0&&(h=0,s=r,0!=e&&(s+=o.DEFAULT_COMPONENT_SEPERATION),r=0);var f=t[e],d=v.findCenterOfTree(f);i.x=h,i.y=s,(u=p.radialLayout(f,d,i)).y>r&&(r=Math.floor(u.y)),h=Math.floor(u.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new l(a.WORLD_CENTER_X-u.x/2,a.WORLD_CENTER_Y-u.y/2))},p.radialLayout=function(t,i,n){var r=Math.max(this.maxDiagonalInTree(t),o.DEFAULT_RADIAL_SEPARATION);p.branchRadialLayout(i,null,0,359,0,r);var s=y.calculateBounds(t),h=new g;h.setDeviceOrgX(s.getMinX()),h.setDeviceOrgY(s.getMinY()),h.setWorldOrgX(n.x),h.setWorldOrgY(n.y);for(var u=0;u<t.length;u++)t[u].transform(h);var e=new l(s.getMaxX(),s.getMaxY());return h.inverseTransformPoint(e)},p.branchRadialLayout=function(t,i,n,r,s,h){var u=(r-n+1)/2;u<0&&(u+=180);var e=(u+n)%360*w.TWO_PI/360,o=s*Math.cos(e),f=s*Math.sin(e);t.setCenter(o,f);var a=[],c=(a=a.concat(t.getEdges())).length;null!=i&&c--;for(var l,v=0,d=a.length,y=t.getEdgesBetween(i);y.length>1;){var g=y[0];y.splice(0,1);var b=a.indexOf(g);b>=0&&a.splice(b,1),d--,c--}l=null!=i?(a.indexOf(y[0])+1)%d:0;for(var m=Math.abs(r-n)/c,M=l;v!=c;M=++M%d){var k=a[M].getOtherEnd(t);if(k!=i){var j=(n+v*m)%360,O=(j+m)%360;p.branchRadialLayout(k,t,j,O,s+h,h),v++}}},p.maxDiagonalInTree=function(t){for(var i=d.MIN_VALUE,n=0;n<t.length;n++){var r=t[n].getDiagonal();r>i&&(i=r)}return i},p.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},p.prototype.groupZeroDegreeMembers=function(){var t=this,i={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),s=0;s<r.length;s++){var h=(e=r[s]).getParent();0!==this.getNodeDegreeWithChildren(e)||null!=h.id&&this.getToBeTiled(h)||n.push(e)}for(s=0;s<n.length;s++){var e,o=(e=n[s]).getParent().id;void 0===i[o]&&(i[o]=[]),i[o]=i[o].concat(e)}Object.keys(i).forEach(function(n){if(i[n].length>1){var r="DummyCompound_"+n;t.memberGroups[r]=i[n];var s=i[n][0].getParent(),h=new u(t.graphManager);h.id=r,h.paddingLeft=s.paddingLeft||0,h.paddingRight=s.paddingRight||0,h.paddingBottom=s.paddingBottom||0,h.paddingTop=s.paddingTop||0,t.idToDummyNode[r]=h;var e=t.getGraphManager().add(t.newGraph(),h),o=s.getChild();o.add(h);for(var f=0;f<i[n].length;f++){var a=i[n][f];o.remove(a),e.add(a)}}})},p.prototype.clearCompounds=function(){var t={},i={};this.performDFSOnCompounds();for(var n=0;n<this.compoundOrder.length;n++)i[this.compoundOrder[n].id]=this.compoundOrder[n],t[this.compoundOrder[n].id]=[].concat(this.compoundOrder[n].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[n].getChild()),this.compoundOrder[n].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,i)},p.prototype.clearZeroDegreeMembers=function(){var t=this,i=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(n){var r=t.idToDummyNode[n];i[n]=t.tileNodes(t.memberGroups[n],r.paddingLeft+r.paddingRight),r.rect.width=i[n].width,r.rect.height=i[n].height})},p.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var i=this.compoundOrder[t],n=i.id,r=i.paddingLeft,s=i.paddingTop;this.adjustLocations(this.tiledMemberPack[n],i.rect.x,i.rect.y,r,s)}},p.prototype.repopulateZeroDegreeMembers=function(){var t=this,i=this.tiledZeroDegreePack;Object.keys(i).forEach(function(n){var r=t.idToDummyNode[n],s=r.paddingLeft,h=r.paddingTop;t.adjustLocations(i[n],r.rect.x,r.rect.y,s,h)})},p.prototype.getToBeTiled=function(t){var i=t.id;if(null!=this.toBeTiled[i])return this.toBeTiled[i];var n=t.getChild();if(null==n)return this.toBeTiled[i]=!1,!1;for(var r=n.getNodes(),s=0;s<r.length;s++){var h=r[s];if(this.getNodeDegree(h)>0)return this.toBeTiled[i]=!1,!1;if(null!=h.getChild()){if(!this.getToBeTiled(h))return this.toBeTiled[i]=!1,!1}else this.toBeTiled[h.id]=!1}return this.toBeTiled[i]=!0,!0},p.prototype.getNodeDegree=function(t){t.id;for(var i=t.getEdges(),n=0,r=0;r<i.length;r++){var s=i[r];s.getSource().id!==s.getTarget().id&&(n+=1)}return n},p.prototype.getNodeDegreeWithChildren=function(t){var i=this.getNodeDegree(t);if(null==t.getChild())return i;for(var n=t.getChild().getNodes(),r=0;r<n.length;r++){var s=n[r];i+=this.getNodeDegreeWithChildren(s)}return i},p.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},p.prototype.fillCompexOrderByDFS=function(t){for(var i=0;i<t.length;i++){var n=t[i];null!=n.getChild()&&this.fillCompexOrderByDFS(n.getChild().getNodes()),this.getToBeTiled(n)&&this.compoundOrder.push(n)}},p.prototype.adjustLocations=function(t,i,n,r,s){n+=s;for(var h=i+=r,u=0;u<t.rows.length;u++){var e=t.rows[u];i=h;for(var o=0,f=0;f<e.length;f++){var a=e[f];a.rect.x=i,a.rect.y=n,i+=a.rect.width+t.horizontalPadding,a.rect.height>o&&(o=a.rect.height)}n+=o+t.verticalPadding}},p.prototype.tileCompoundMembers=function(t,i){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(r){var s=i[r];n.tiledMemberPack[r]=n.tileNodes(t[r],s.paddingLeft+s.paddingRight),s.rect.width=n.tiledMemberPack[r].width,s.rect.height=n.tiledMemberPack[r].height})},p.prototype.tileNodes=function(t,i){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:i,verticalPadding:o.TILING_PADDING_VERTICAL,horizontalPadding:o.TILING_PADDING_HORIZONTAL};t.sort(function(t,i){return t.rect.width*t.rect.height>i.rect.width*i.rect.height?-1:t.rect.width*t.rect.height<i.rect.width*i.rect.height?1:0});for(var r=0;r<t.length;r++){var s=t[r];0==n.rows.length?this.insertNodeToRow(n,s,0,i):this.canAddHorizontal(n,s.rect.width,s.rect.height)?this.insertNodeToRow(n,s,this.getShortestRowIndex(n),i):this.insertNodeToRow(n,s,n.rows.length,i),this.shiftToLastRow(n)}return n},p.prototype.insertNodeToRow=function(t,i,n,r){var s=r;n==t.rows.length&&(t.rows.push([]),t.rowWidth.push(s),t.rowHeight.push(0));var h=t.rowWidth[n]+i.rect.width;t.rows[n].length>0&&(h+=t.horizontalPadding),t.rowWidth[n]=h,t.width<h&&(t.width=h);var u=i.rect.height;n>0&&(u+=t.verticalPadding);var e=0;u>t.rowHeight[n]&&(e=t.rowHeight[n],t.rowHeight[n]=u,e=t.rowHeight[n]-e),t.height+=e,t.rows[n].push(i)},p.prototype.getShortestRowIndex=function(t){for(var i=-1,n=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<n&&(i=r,n=t.rowWidth[r]);return i},p.prototype.getLongestRowIndex=function(t){for(var i=-1,n=Number.MIN_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]>n&&(i=r,n=t.rowWidth[r]);return i},p.prototype.canAddHorizontal=function(t,i,n){var r=this.getShortestRowIndex(t);if(r<0)return!0;var s=t.rowWidth[r];if(s+t.horizontalPadding+i<=t.width)return!0;var h,u,e=0;return t.rowHeight[r]<n&&r>0&&(e=n+t.verticalPadding-t.rowHeight[r]),h=t.width-s>=i+t.horizontalPadding?(t.height+e)/(s+i+t.horizontalPadding):(t.height+e)/t.width,e=n+t.verticalPadding,(u=t.width<i?(t.height+e)/i:(t.height+e)/t.width)<1&&(u=1/u),h<1&&(h=1/h),h<u},p.prototype.shiftToLastRow=function(t){var i=this.getLongestRowIndex(t),n=t.rowWidth.length-1,r=t.rows[i],s=r[r.length-1],h=s.width+t.horizontalPadding;if(t.width-t.rowWidth[n]>h&&i!=n){r.splice(-1,1),t.rows[n].push(s),t.rowWidth[i]=t.rowWidth[i]-h,t.rowWidth[n]=t.rowWidth[n]+h,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var u=Number.MIN_VALUE,e=0;e<r.length;e++)r[e].height>u&&(u=r[e].height);i>0&&(u+=t.verticalPadding);var o=t.rowHeight[i]+t.rowHeight[n];t.rowHeight[i]=u,t.rowHeight[n]<s.height+t.verticalPadding&&(t.rowHeight[n]=s.height+t.verticalPadding);var f=t.rowHeight[i]+t.rowHeight[n];t.height+=f-o,this.shiftToLastRow(t)}},p.prototype.tilingPreLayout=function(){o.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},p.prototype.tilingPostLayout=function(){o.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},p.prototype.reduceTrees=function(){for(var t,i=[],n=!0;n;){var r=this.graphManager.getAllNodes(),s=[];n=!1;for(var h=0;h<r.length;h++)1!=(t=r[h]).getEdges().length||t.getEdges()[0].isInterGraph||null!=t.getChild()||(s.push([t,t.getEdges()[0],t.getOwner()]),n=!0);if(1==n){for(var u=[],e=0;e<s.length;e++)1==s[e][0].getEdges().length&&(u.push(s[e]),s[e][0].getOwner().remove(s[e][0]));i.push(u),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=i},p.prototype.growTree=function(t){for(var i,n=t[t.length-1],r=0;r<n.length;r++)i=n[r],this.findPlaceforPrunedNode(i),i[2].add(i[0]),i[2].add(i[1],i[1].source,i[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},p.prototype.findPlaceforPrunedNode=function(t){var i,n,r=t[0],s=(n=r==t[1].source?t[1].target:t[1].source).startX,h=n.finishX,u=n.startY,e=n.finishY,o=[0,0,0,0];if(u>0)for(var a=s;a<=h;a++)o[0]+=this.grid[a][u-1].length+this.grid[a][u].length-1;if(h<this.grid.length-1)for(a=u;a<=e;a++)o[1]+=this.grid[h+1][a].length+this.grid[h][a].length-1;if(e<this.grid[0].length-1)for(a=s;a<=h;a++)o[2]+=this.grid[a][e+1].length+this.grid[a][e].length-1;if(s>0)for(a=u;a<=e;a++)o[3]+=this.grid[s-1][a].length+this.grid[s][a].length-1;for(var c,l,v=d.MAX_VALUE,w=0;w<o.length;w++)o[w]<v?(v=o[w],c=1,l=w):o[w]==v&&c++;if(3==c&&0==v)0==o[0]&&0==o[1]&&0==o[2]?i=1:0==o[0]&&0==o[1]&&0==o[3]?i=0:0==o[0]&&0==o[2]&&0==o[3]?i=3:0==o[1]&&0==o[2]&&0==o[3]&&(i=2);else if(2==c&&0==v){var y=Math.floor(2*Math.random());i=0==o[0]&&0==o[1]?0==y?0:1:0==o[0]&&0==o[2]?0==y?0:2:0==o[0]&&0==o[3]?0==y?0:3:0==o[1]&&0==o[2]?0==y?1:2:0==o[1]&&0==o[3]?0==y?1:3:0==y?2:3}else i=4==c&&0==v?y=Math.floor(4*Math.random()):l;0==i?r.setCenter(n.getCenterX(),n.getCenterY()-n.getHeight()/2-f.DEFAULT_EDGE_LENGTH-r.getHeight()/2):1==i?r.setCenter(n.getCenterX()+n.getWidth()/2+f.DEFAULT_EDGE_LENGTH+r.getWidth()/2,n.getCenterY()):2==i?r.setCenter(n.getCenterX(),n.getCenterY()+n.getHeight()/2+f.DEFAULT_EDGE_LENGTH+r.getHeight()/2):r.setCenter(n.getCenterX()-n.getWidth()/2-f.DEFAULT_EDGE_LENGTH-r.getWidth()/2,n.getCenterY())},t.exports=p},function(t,i,n){var r={};r.layoutBase=n(0),r.CoSEConstants=n(1),r.CoSEEdge=n(2),r.CoSEGraph=n(3),r.CoSEGraphManager=n(4),r.CoSELayout=n(6),r.CoSENode=n(5),t.exports=r}])}(f())),function(t){var i={};function n(r){if(i[r])return i[r].exports;var s=i[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=i,n.i=function(t){return t},n.d=function(t,i,r){n.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="",n(n.s=1)}([function(t,i){t.exports=l},function(t,i,n){var r=n(0).layoutBase.LayoutConstants,s=n(0).layoutBase.FDLayoutConstants,h=n(0).CoSEConstants,u=n(0).CoSELayout,e=n(0).CoSENode,o=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,a={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function c(t){this.options=function(t,i){var n={};for(var r in t)n[r]=t[r];for(var r in i)n[r]=i[r];return n}(a,t),l(this.options)}var l=function(t){null!=t.nodeRepulsion&&(h.DEFAULT_REPULSION_STRENGTH=s.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(h.DEFAULT_EDGE_LENGTH=s.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(h.DEFAULT_SPRING_STRENGTH=s.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(h.DEFAULT_GRAVITY_STRENGTH=s.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(h.MAX_ITERATIONS=s.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=s.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=s.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,h.NODE_DIMENSIONS_INCLUDE_LABELS=s.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=s.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,h.ANIMATE=s.ANIMATE=r.ANIMATE=t.animate,h.TILE=t.tile,h.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};c.prototype.run=function(){var t,i,n=this.options;this.idToLNode={};var r=this.layout=new u,s=this;s.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var h=r.newGraphManager();this.gm=h;var e=this.options.eles.nodes(),o=this.options.eles.edges();this.root=h.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(e),r);for(var f=0;f<o.length;f++){var a=o[f],c=this.idToLNode[a.data("source")],l=this.idToLNode[a.data("target")];c!==l&&0==c.getEdgesBetween(l).length&&(h.add(r.newEdge(),c,l).id=a.id())}var v=function(t,i){"number"==typeof t&&(t=i);var n=t.data("id"),r=s.idToLNode[n];return{x:r.getRect().getCenterX(),y:r.getRect().getCenterY()}},d=function h(){for(var u,e=function(){n.fit&&n.cy.fit(n.eles,n.padding),t||(t=!0,s.cy.one("layoutready",n.ready),s.cy.trigger({type:"layoutready",layout:s}))},o=s.options.refresh,f=0;f<o&&!u;f++)u=s.stopped||s.layout.tick();if(u)return r.checkLayoutSuccess()&&!r.isSubLayout&&r.doPostLayout(),r.tilingPostLayout&&r.tilingPostLayout(),r.isLayoutFinished=!0,s.options.eles.nodes().positions(v),e(),s.cy.one("layoutstop",s.options.stop),s.cy.trigger({type:"layoutstop",layout:s}),i&&cancelAnimationFrame(i),void(t=!1);var a=s.layout.getPositionsData();n.eles.nodes().positions(function(t,i){if("number"==typeof t&&(t=i),!t.isParent()){for(var n=t.id(),r=a[n],s=t;null==r&&(r=a[s.data("parent")]||a["DummyCompound_"+s.data("parent")],a[n]=r,null!=(s=s.parent()[0])););return null!=r?{x:r.x,y:r.y}:{x:t.position("x"),y:t.position("y")}}}),e(),i=requestAnimationFrame(h)};return r.addListener("layoutstarted",function(){"during"===s.options.animate&&(i=requestAnimationFrame(d))}),r.runLayout(),"during"!==this.options.animate&&(s.options.eles.nodes().not(":parent").layoutPositions(s,s.options,v),t=!1),this},c.prototype.getTopMostNodes=function(t){for(var i={},n=0;n<t.length;n++)i[t[n].id()]=!0;return t.filter(function(t,n){"number"==typeof t&&(t=n);for(var r=t.parent()[0];null!=r;){if(i[r.id()])return!1;r=r.parent()[0]}return!0})},c.prototype.processChildrenList=function(t,i,n){for(var r=i.length,s=0;s<r;s++){var h,u,a=i[s],c=a.children(),l=a.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((h=null!=a.outerWidth()&&null!=a.outerHeight()?t.add(new e(n.graphManager,new o(a.position("x")-l.w/2,a.position("y")-l.h/2),new f(parseFloat(l.w),parseFloat(l.h)))):t.add(new e(this.graphManager))).id=a.data("id"),h.paddingLeft=parseInt(a.css("padding")),h.paddingTop=parseInt(a.css("padding")),h.paddingRight=parseInt(a.css("padding")),h.paddingBottom=parseInt(a.css("padding")),this.options.nodeDimensionsIncludeLabels&&a.isParent()){var v=a.boundingBox({includeLabels:!0,includeNodes:!1}).w,d=a.boundingBox({includeLabels:!0,includeNodes:!1}).h,w=a.css("text-halign");h.labelWidth=v,h.labelHeight=d,h.labelPos=w}this.idToLNode[a.data("id")]=h,isNaN(h.rect.x)&&(h.rect.x=0),isNaN(h.rect.y)&&(h.rect.y=0),null!=c&&c.length>0&&(u=n.getGraphManager().add(n.newGraph(),h),this.processChildrenList(u,c,n))}},c.prototype.stop=function(){return this.stopped=!0,this};var v=function(t){t("layout","cose-bilkent",c)};"undefined"!=typeof cytoscape&&v(cytoscape),t.exports=v}]))),u.exports));function d(t,i){t.forEach(t=>{const n={id:t.id,labelText:t.label,height:t.height,width:t.width,padding:t.padding??0};Object.keys(t).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=t[i])}),i.add({group:"nodes",data:n,position:{x:t.x??0,y:t.y??0}})})}function w(t,i){t.forEach(t=>{const n={id:t.id,source:t.start,target:t.end};Object.keys(t).forEach(i=>{["id","start","end"].includes(i)||(n[i]=t[i])}),i.add({group:"edges",data:n})})}function y(t){return new Promise(i=>{const h=r("body").append("div").attr("id","cy").attr("style","display:none"),u=s({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});h.remove(),d(t.nodes,u),w(t.edges,u),u.nodes().forEach(function(t){t.layoutDimensions=()=>{const i=t.data();return{w:i.width,h:i.height}}});u.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),u.ready(t=>{n.info("Cytoscape ready",t),i(u)})})}function g(t){return t.nodes().map(t=>{const i=t.data(),n=t.position(),r={id:i.id,x:n.x,y:n.y};return Object.keys(i).forEach(t=>{"id"!==t&&(r[t]=i[t])}),r})}function p(t){return t.edges().map(t=>{const i=t.data(),n=t.t.rscratch,r={id:i.id,source:i.source,target:i.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(i).forEach(t=>{["id","source","target"].includes(t)||(r[t]=i[t])}),r})}async function b(t,i){n.debug("Starting cose-bilkent layout algorithm");try{m(t);const i=await y(t),r=g(i),s=p(i);return n.debug(`Layout completed: ${r.length} nodes, ${s.length} edges`),{nodes:r,edges:s}}catch(r){throw n.error("Error in cose-bilkent layout algorithm:",r),r}}function m(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}s.use(v),i(d,"addNodes"),i(w,"addEdges"),i(y,"createCytoscapeInstance"),i(g,"extractPositionedNodes"),i(p,"extractPositionedEdges"),i(b,"executeCoseBilkentLayout"),i(m,"validateLayoutData");var M=i(async(t,i,{insertCluster:n,insertEdge:r,insertEdgeLabel:s,insertMarkers:h,insertNode:u,log:e,positionEdgeLabel:o},{algorithm:f})=>{const a={},c={},l=i.select("g");h(l,t.markers,t.type,t.diagramId);const v=l.insert("g").attr("class","subgraphs"),d=l.insert("g").attr("class","edgePaths"),w=l.insert("g").attr("class","edgeLabels"),y=l.insert("g").attr("class","nodes");e.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async i=>{if(i.isGroup){const t={...i};c[i.id]=t,a[i.id]=t,await n(v,i)}else{const n={...i};a[i.id]=n;const r=await u(y,i,{config:t.config,dir:t.direction||"TB"}),s=r.node().getBBox();n.width=s.width,n.height=s.height,n.domId=r,e.debug(`Node ${i.id} dimensions: ${s.width}x${s.height}`)}})),e.debug("Running cose-bilkent layout algorithm");const g={...t,nodes:t.nodes.map(t=>{const i=a[t.id];return{...t,width:i.width,height:i.height}})},p=await b(g,t.config);e.debug("Positioning nodes based on layout results"),p.nodes.forEach(t=>{const i=a[t.id];(null==i?void 0:i.domId)&&(i.domId.attr("transform",`translate(${t.x}, ${t.y})`),i.x=t.x,i.y=t.y,e.debug(`Positioned node ${i.id} at center (${t.x}, ${t.y})`))}),p.edges.forEach(i=>{const n=t.edges.find(t=>t.id===i.id);n&&(n.points=[{x:i.startX,y:i.startY},{x:i.midX,y:i.midY},{x:i.endX,y:i.endY}])}),e.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async i=>{await s(w,i);const n=a[i.start??""],h=a[i.end??""];if(n&&h){const s=p.edges.find(t=>t.id===i.id);if(s){e.debug("APA01 positionedEdge",s);const u={...i},f=r(d,u,c,t.type,n,h,t.diagramId);o(u,f)}else{const s={...i,points:[{x:n.x||0,y:n.y||0},{x:h.x||0,y:h.y||0}]},u=r(d,s,c,t.type,n,h,t.diagramId);o(s,u)}}})),e.debug("Cose-bilkent rendering completed")},"render");export{M as render};
@@ -1 +1 @@
1
- import{_ as e,ar as n,as as t,at as o,au as r,l as s,c as i,av as a,aw as c,ag as d,al as l,ah as u,af as p,ax as f,ay as g,az as h}from"./index-5wVqr2Ny.js";import{i as X,G as v}from"./graph-lKpmm44U.js";import{l as m}from"./layout-dqzmM9SC.js";import{c as y}from"./clone-V8tKmkAv.js";import{m as w}from"./min-BpvcSMeI.js";import"./_baseUniq-CWlTL7nF.js";function N(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:S(e),edges:C(e)};return X(e.graph())||(n.value=y(e.graph())),n}function S(e){return w(e.nodes(),function(n){var t=e.node(n),o=e.parent(n),r={v:n};return X(t)||(r.value=t),X(o)||(r.parent=o),r})}function C(e){return w(e.edges(),function(n){var t=e.edge(n),o={v:n.v,w:n.w};return X(n.name)||(o.name=n.name),X(t)||(o.value=t),o})}var x=new Map,O=new Map,E=new Map,b=e(()=>{O.clear(),E.clear(),x.clear()},"clear"),I=e((e,n)=>{const t=O.get(n)||[];return s.trace("In isDescendant",n," ",e," = ",t.includes(e)),t.includes(e)},"isDescendant"),D=e((e,n)=>{const t=O.get(n)||[];return s.info("Descendants of ",n," is ",t),s.info("Edge is ",e),e.v!==n&&e.w!==n&&(t?t.includes(e.v)||I(e.v,n)||I(e.w,n)||t.includes(e.w):(s.debug("Tilt, ",n,",not in descendants"),!1))},"edgeInCluster"),J=e((e,n,t,o)=>{s.warn("Copying children of ",e,"root",o,"data",n.node(e),o);const r=n.children(e)||[];e!==o&&r.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach(r=>{if(n.children(r).length>0)J(r,n,t,o);else{const i=n.node(r);s.info("cp ",r," to ",o," with parent ",e),t.setNode(r,i),o!==n.parent(r)&&(s.warn("Setting parent",r,n.parent(r)),t.setParent(r,n.parent(r))),e!==o&&r!==e?(s.debug("Setting parent",r,e),t.setParent(r,e)):(s.info("In copy ",e,"root",o,"data",n.node(e),o),s.debug("Not Setting parent for node=",r,"cluster!==rootId",e!==o,"node!==clusterId",r!==e));const a=n.edges(r);s.debug("Copying Edges",a),a.forEach(r=>{s.info("Edge",r);const i=n.edge(r.v,r.w,r.name);s.info("Edge data",i,o);try{D(r,o)?(s.info("Copying as ",r.v,r.w,i,r.name),t.setEdge(r.v,r.w,i,r.name),s.info("newGraph edges ",t.edges(),t.edge(t.edges()[0]))):s.info("Skipping copy of edge ",r.v,"--\x3e",r.w," rootId: ",o," clusterId:",e)}catch(a){s.error(a)}})}s.debug("Removing node",r),n.removeNode(r)})},"copy"),A=e((e,n)=>{const t=n.children(e);let o=[...t];for(const r of t)E.set(r,e),o=[...o,...A(r,n)];return o},"extractDescendants"),B=e((e,n,t)=>{const o=e.edges().filter(e=>e.v===n||e.w===n),r=e.edges().filter(e=>e.v===t||e.w===t),s=o.map(e=>({v:e.v===n?t:e.v,w:e.w===n?n:e.w})),i=r.map(e=>({v:e.v,w:e.w}));return s.filter(e=>i.some(n=>e.v===n.v&&e.w===n.w))},"findCommonEdges"),G=e((e,n,t)=>{const o=n.children(e);if(s.trace("Searching children of id ",e,o),o.length<1)return e;let r;for(const s of o){const e=G(s,n,t),o=B(n,t,e);if(e){if(!(o.length>0))return e;r=e}}return r},"findNonClusterChild"),R=e(e=>x.has(e)&&x.get(e).externalConnections&&x.has(e)?x.get(e).id:e,"getAnchorId"),j=e((e,n)=>{if(!e||n>10)s.debug("Opting out, no graph ");else{s.debug("Opting in, graph "),e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",G(n,e,n)),O.set(n,A(n,e)),x.set(n,{id:G(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const t=e.children(n),o=e.edges();t.length>0?(s.debug("Cluster identified",n,O),o.forEach(e=>{I(e.v,n)^I(e.w,n)&&(s.warn("Edge: ",e," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",O.get(n)),x.get(n).externalConnections=!0)})):s.debug("Not a cluster ",n,O)});for(let n of x.keys()){const t=x.get(n).id,o=e.parent(t);o!==n&&x.has(o)&&!x.get(o).externalConnections&&(x.get(n).id=o)}e.edges().forEach(function(n){const t=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let o=n.v,r=n.w;if(s.warn("Fix XXX",x,"ids:",n.v,n.w,"Translating: ",x.get(n.v)," --- ",x.get(n.w)),x.get(n.v)||x.get(n.w)){if(s.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),o=R(n.v),r=R(n.w),e.removeEdge(n.v,n.w,n.name),o!==n.v){const r=e.parent(o);x.get(r).externalConnections=!0,t.fromCluster=n.v}if(r!==n.w){const o=e.parent(r);x.get(o).externalConnections=!0,t.toCluster=n.w}s.warn("Fix Replacing with XXX",o,r,n.name),e.setEdge(o,r,t,n.name)}}),s.warn("Adjusted Graph",N(e)),k(e,0),s.trace(x)}},"adjustClustersAndEdges"),k=e((e,n)=>{var t,o;if(s.warn("extractor - ",n,N(e),e.children("D")),n>10)return void s.error("Bailing out");let r=e.nodes(),i=!1;for(const s of r){const n=e.children(s);i=i||n.length>0}if(i){s.debug("Nodes = ",r,n);for(const i of r)if(s.debug("Extracting node",i,x,x.has(i)&&!x.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",n),x.has(i))if(!x.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,n);let r="TB"===e.graph().rankdir?"LR":"TB";(null==(o=null==(t=x.get(i))?void 0:t.clusterData)?void 0:o.dir)&&(r=x.get(i).clusterData.dir,s.warn("Fixing dir",x.get(i).clusterData.dir,r));const a=new v({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",N(e)),J(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:x.get(i).clusterData,label:x.get(i).label,graph:a}),s.warn("New graph after copy node: (",i,")",N(a)),s.debug("Old graph after copy",N(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!x.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),n),s.debug(x);else s.debug("Not a cluster",i,n);r=e.nodes(),s.warn("New list of nodes",r);for(const t of r){const o=e.node(t);s.warn(" Now next level",t,o),(null==o?void 0:o.clusterNode)&&k(o.graph,n+1)}}else s.debug("Done, no node has children",e.nodes())},"extractor"),P=e((e,n)=>{if(0===n.length)return[];let t=Object.assign([],n);return n.forEach(n=>{const o=e.children(n),r=P(e,o);t=[...t,...r]}),t},"sorter"),T=e(e=>P(e,e.children()),"sortNodesByHierarchy"),F=e(async(n,t,o,r,i,X)=>{s.warn("Graph in recursive render:XAX",N(t),i);const v=t.graph().rankdir;s.trace("Dir in recursive render - dir:",v);const y=n.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.info("Recursive edges",t.edge(t.edges()[0]));const w=y.insert("g").attr("class","clusters"),S=y.insert("g").attr("class","edgePaths"),C=y.insert("g").attr("class","edgeLabels"),O=y.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(e){const n=t.node(e);if(void 0!==i){const n=JSON.parse(JSON.stringify(i.clusterData));s.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",n.height,"\nParent cluster",i.height),t.setNode(i.id,n),t.parent(e)||(s.trace("Setting parent",e,i.id),t.setParent(e,i.id,n))}if(s.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),null==n?void 0:n.clusterNode){s.info("Cluster identified XBX",e,n.width,t.node(e));const{ranksep:i,nodesep:d}=t.graph();n.graph.setGraph({...n.graph.graph(),ranksep:i+25,nodesep:d});const l=await F(O,n.graph,o,r,t.node(e),X),u=l.elem;a(n,u),n.diff=l.diff||0,s.info("New compound node after recursive render XAX",e,"width",n.width,"height",n.height),c(u,n)}else t.children(e).length>0?(s.trace("Cluster - the non recursive path XBX",e,n.id,n,n.width,"Graph:",t),s.trace(G(n.id,t)),x.set(n.id,{id:G(n.id,t),node:n})):(s.trace("Node - the non recursive path XAX",e,O,t.node(e),v),await d(O,t.node(e),{config:X,dir:v}))}));const E=e(async()=>{const e=t.edges().map(async function(e){const n=t.edge(e.v,e.w,e.name);s.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),s.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),s.info("Fix",x,"ids:",e.v,e.w,"Translating: ",x.get(e.v),x.get(e.w)),await h(C,n)});await Promise.all(e)},"processEdges");await E(),s.info("Graph before layout:",JSON.stringify(N(t))),s.info("############################################# XXX"),s.info("### Layout ### XXX"),s.info("############################################# XXX"),m(t),s.info("Graph after layout:",JSON.stringify(N(t)));let b=0,{subGraphTitleTotalMargin:I}=l(X);return await Promise.all(T(t).map(async function(e){var n;const o=t.node(e);if(s.info("Position XBX => "+e+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),null==o?void 0:o.clusterNode)o.y+=I,s.info("A tainted cluster node XBX1",e,o.id,o.width,o.height,o.x,o.y,t.parent(e)),x.get(o.id).node=o,u(o);else if(t.children(e).length>0){s.info("A pure cluster node XBX1",e,o.id,o.x,o.y,o.width,o.height,t.parent(e)),o.height+=I,t.node(o.parentId);const r=(null==o?void 0:o.padding)/2||0,i=(null==(n=null==o?void 0:o.labelBBox)?void 0:n.height)||0,a=i-r||0;s.debug("OffsetY",a,"labelHeight",i,"halfPadding",r),await p(w,o),x.get(o.id).node=o}else{const e=t.node(o.parentId);o.y+=I/2,s.info("A regular node XBX1 - using the padding",o.id,"parent",o.parentId,o.width,o.height,o.x,o.y,"offsetY",o.offsetY,"parent",e,null==e?void 0:e.offsetY,o),u(o)}})),t.edges().forEach(function(e){const n=t.edge(e);s.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(n),n),n.points.forEach(e=>e.y+=I/2);const i=t.node(e.v);var a=t.node(e.w);const c=f(S,n,x,o,i,a,r);g(n,c)}),t.nodes().forEach(function(e){const n=t.node(e);s.info(e,n.type,n.diff),n.isGroup&&(b=n.diff)}),s.warn("Returning from recursive render XAX",y,b),{elem:y,diff:b}},"recursiveRender"),M=e(async(e,a)=>{var c,d,l,u,p,f;const g=new v({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:(null==(c=e.config)?void 0:c.nodeSpacing)||(null==(l=null==(d=e.config)?void 0:d.flowchart)?void 0:l.nodeSpacing)||e.nodeSpacing,ranksep:(null==(u=e.config)?void 0:u.rankSpacing)||(null==(f=null==(p=e.config)?void 0:p.flowchart)?void 0:f.rankSpacing)||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),h=a.select("g");n(h,e.markers,e.type,e.diagramId),t(),o(),r(),b(),e.nodes.forEach(e=>{g.setNode(e.id,{...e}),e.parentId&&g.setParent(e.id,e.parentId)}),s.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){const n=e.start,t=n+"---"+n+"---1",o=n+"---"+n+"---2",r=g.node(n);g.setNode(t,{domId:t,id:t,parentId:r.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),g.setParent(t,r.parentId),g.setNode(o,{domId:o,id:o,parentId:r.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),g.setParent(o,r.parentId);const s=structuredClone(e),i=structuredClone(e),a=structuredClone(e);s.label="",s.arrowTypeEnd="none",s.id=n+"-cyclic-special-1",i.arrowTypeStart="none",i.arrowTypeEnd="none",i.id=n+"-cyclic-special-mid",a.label="",r.isGroup&&(s.fromCluster=n,a.toCluster=n),a.id=n+"-cyclic-special-2",a.arrowTypeStart="none",g.setEdge(n,t,s,n+"-cyclic-special-0"),g.setEdge(t,o,i,n+"-cyclic-special-1"),g.setEdge(o,n,a,n+"-cyc<lic-special-2")}else g.setEdge(e.start,e.end,{...e},e.id)}),s.warn("Graph at first:",JSON.stringify(N(g))),j(g),s.warn("Graph after XAX:",JSON.stringify(N(g)));const X=i();await F(h,g,e.type,e.diagramId,void 0,X)},"render");export{M as render};
1
+ import{_ as e,ar as n,as as t,at as o,au as r,l as s,c as i,av as a,aw as c,ag as d,al as l,ah as u,af as p,ax as f,ay as g,az as h}from"./index-BvMYTiOr.js";import{i as X,G as v}from"./graph-yEZO5As9.js";import{l as m}from"./layout-DAYHKwLI.js";import{c as y}from"./clone-Ccjp7w8U.js";import{m as w}from"./min-CcGwUInn.js";import"./_baseUniq-O6Fk0Wzr.js";function N(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:S(e),edges:C(e)};return X(e.graph())||(n.value=y(e.graph())),n}function S(e){return w(e.nodes(),function(n){var t=e.node(n),o=e.parent(n),r={v:n};return X(t)||(r.value=t),X(o)||(r.parent=o),r})}function C(e){return w(e.edges(),function(n){var t=e.edge(n),o={v:n.v,w:n.w};return X(n.name)||(o.name=n.name),X(t)||(o.value=t),o})}var x=new Map,O=new Map,E=new Map,b=e(()=>{O.clear(),E.clear(),x.clear()},"clear"),I=e((e,n)=>{const t=O.get(n)||[];return s.trace("In isDescendant",n," ",e," = ",t.includes(e)),t.includes(e)},"isDescendant"),D=e((e,n)=>{const t=O.get(n)||[];return s.info("Descendants of ",n," is ",t),s.info("Edge is ",e),e.v!==n&&e.w!==n&&(t?t.includes(e.v)||I(e.v,n)||I(e.w,n)||t.includes(e.w):(s.debug("Tilt, ",n,",not in descendants"),!1))},"edgeInCluster"),J=e((e,n,t,o)=>{s.warn("Copying children of ",e,"root",o,"data",n.node(e),o);const r=n.children(e)||[];e!==o&&r.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach(r=>{if(n.children(r).length>0)J(r,n,t,o);else{const i=n.node(r);s.info("cp ",r," to ",o," with parent ",e),t.setNode(r,i),o!==n.parent(r)&&(s.warn("Setting parent",r,n.parent(r)),t.setParent(r,n.parent(r))),e!==o&&r!==e?(s.debug("Setting parent",r,e),t.setParent(r,e)):(s.info("In copy ",e,"root",o,"data",n.node(e),o),s.debug("Not Setting parent for node=",r,"cluster!==rootId",e!==o,"node!==clusterId",r!==e));const a=n.edges(r);s.debug("Copying Edges",a),a.forEach(r=>{s.info("Edge",r);const i=n.edge(r.v,r.w,r.name);s.info("Edge data",i,o);try{D(r,o)?(s.info("Copying as ",r.v,r.w,i,r.name),t.setEdge(r.v,r.w,i,r.name),s.info("newGraph edges ",t.edges(),t.edge(t.edges()[0]))):s.info("Skipping copy of edge ",r.v,"--\x3e",r.w," rootId: ",o," clusterId:",e)}catch(a){s.error(a)}})}s.debug("Removing node",r),n.removeNode(r)})},"copy"),A=e((e,n)=>{const t=n.children(e);let o=[...t];for(const r of t)E.set(r,e),o=[...o,...A(r,n)];return o},"extractDescendants"),B=e((e,n,t)=>{const o=e.edges().filter(e=>e.v===n||e.w===n),r=e.edges().filter(e=>e.v===t||e.w===t),s=o.map(e=>({v:e.v===n?t:e.v,w:e.w===n?n:e.w})),i=r.map(e=>({v:e.v,w:e.w}));return s.filter(e=>i.some(n=>e.v===n.v&&e.w===n.w))},"findCommonEdges"),G=e((e,n,t)=>{const o=n.children(e);if(s.trace("Searching children of id ",e,o),o.length<1)return e;let r;for(const s of o){const e=G(s,n,t),o=B(n,t,e);if(e){if(!(o.length>0))return e;r=e}}return r},"findNonClusterChild"),R=e(e=>x.has(e)&&x.get(e).externalConnections&&x.has(e)?x.get(e).id:e,"getAnchorId"),j=e((e,n)=>{if(!e||n>10)s.debug("Opting out, no graph ");else{s.debug("Opting in, graph "),e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",G(n,e,n)),O.set(n,A(n,e)),x.set(n,{id:G(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const t=e.children(n),o=e.edges();t.length>0?(s.debug("Cluster identified",n,O),o.forEach(e=>{I(e.v,n)^I(e.w,n)&&(s.warn("Edge: ",e," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",O.get(n)),x.get(n).externalConnections=!0)})):s.debug("Not a cluster ",n,O)});for(let n of x.keys()){const t=x.get(n).id,o=e.parent(t);o!==n&&x.has(o)&&!x.get(o).externalConnections&&(x.get(n).id=o)}e.edges().forEach(function(n){const t=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let o=n.v,r=n.w;if(s.warn("Fix XXX",x,"ids:",n.v,n.w,"Translating: ",x.get(n.v)," --- ",x.get(n.w)),x.get(n.v)||x.get(n.w)){if(s.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),o=R(n.v),r=R(n.w),e.removeEdge(n.v,n.w,n.name),o!==n.v){const r=e.parent(o);x.get(r).externalConnections=!0,t.fromCluster=n.v}if(r!==n.w){const o=e.parent(r);x.get(o).externalConnections=!0,t.toCluster=n.w}s.warn("Fix Replacing with XXX",o,r,n.name),e.setEdge(o,r,t,n.name)}}),s.warn("Adjusted Graph",N(e)),k(e,0),s.trace(x)}},"adjustClustersAndEdges"),k=e((e,n)=>{var t,o;if(s.warn("extractor - ",n,N(e),e.children("D")),n>10)return void s.error("Bailing out");let r=e.nodes(),i=!1;for(const s of r){const n=e.children(s);i=i||n.length>0}if(i){s.debug("Nodes = ",r,n);for(const i of r)if(s.debug("Extracting node",i,x,x.has(i)&&!x.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",n),x.has(i))if(!x.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,n);let r="TB"===e.graph().rankdir?"LR":"TB";(null==(o=null==(t=x.get(i))?void 0:t.clusterData)?void 0:o.dir)&&(r=x.get(i).clusterData.dir,s.warn("Fixing dir",x.get(i).clusterData.dir,r));const a=new v({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",N(e)),J(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:x.get(i).clusterData,label:x.get(i).label,graph:a}),s.warn("New graph after copy node: (",i,")",N(a)),s.debug("Old graph after copy",N(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!x.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),n),s.debug(x);else s.debug("Not a cluster",i,n);r=e.nodes(),s.warn("New list of nodes",r);for(const t of r){const o=e.node(t);s.warn(" Now next level",t,o),(null==o?void 0:o.clusterNode)&&k(o.graph,n+1)}}else s.debug("Done, no node has children",e.nodes())},"extractor"),P=e((e,n)=>{if(0===n.length)return[];let t=Object.assign([],n);return n.forEach(n=>{const o=e.children(n),r=P(e,o);t=[...t,...r]}),t},"sorter"),T=e(e=>P(e,e.children()),"sortNodesByHierarchy"),F=e(async(n,t,o,r,i,X)=>{s.warn("Graph in recursive render:XAX",N(t),i);const v=t.graph().rankdir;s.trace("Dir in recursive render - dir:",v);const y=n.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.info("Recursive edges",t.edge(t.edges()[0]));const w=y.insert("g").attr("class","clusters"),S=y.insert("g").attr("class","edgePaths"),C=y.insert("g").attr("class","edgeLabels"),O=y.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(e){const n=t.node(e);if(void 0!==i){const n=JSON.parse(JSON.stringify(i.clusterData));s.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",n.height,"\nParent cluster",i.height),t.setNode(i.id,n),t.parent(e)||(s.trace("Setting parent",e,i.id),t.setParent(e,i.id,n))}if(s.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),null==n?void 0:n.clusterNode){s.info("Cluster identified XBX",e,n.width,t.node(e));const{ranksep:i,nodesep:d}=t.graph();n.graph.setGraph({...n.graph.graph(),ranksep:i+25,nodesep:d});const l=await F(O,n.graph,o,r,t.node(e),X),u=l.elem;a(n,u),n.diff=l.diff||0,s.info("New compound node after recursive render XAX",e,"width",n.width,"height",n.height),c(u,n)}else t.children(e).length>0?(s.trace("Cluster - the non recursive path XBX",e,n.id,n,n.width,"Graph:",t),s.trace(G(n.id,t)),x.set(n.id,{id:G(n.id,t),node:n})):(s.trace("Node - the non recursive path XAX",e,O,t.node(e),v),await d(O,t.node(e),{config:X,dir:v}))}));const E=e(async()=>{const e=t.edges().map(async function(e){const n=t.edge(e.v,e.w,e.name);s.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),s.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),s.info("Fix",x,"ids:",e.v,e.w,"Translating: ",x.get(e.v),x.get(e.w)),await h(C,n)});await Promise.all(e)},"processEdges");await E(),s.info("Graph before layout:",JSON.stringify(N(t))),s.info("############################################# XXX"),s.info("### Layout ### XXX"),s.info("############################################# XXX"),m(t),s.info("Graph after layout:",JSON.stringify(N(t)));let b=0,{subGraphTitleTotalMargin:I}=l(X);return await Promise.all(T(t).map(async function(e){var n;const o=t.node(e);if(s.info("Position XBX => "+e+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),null==o?void 0:o.clusterNode)o.y+=I,s.info("A tainted cluster node XBX1",e,o.id,o.width,o.height,o.x,o.y,t.parent(e)),x.get(o.id).node=o,u(o);else if(t.children(e).length>0){s.info("A pure cluster node XBX1",e,o.id,o.x,o.y,o.width,o.height,t.parent(e)),o.height+=I,t.node(o.parentId);const r=(null==o?void 0:o.padding)/2||0,i=(null==(n=null==o?void 0:o.labelBBox)?void 0:n.height)||0,a=i-r||0;s.debug("OffsetY",a,"labelHeight",i,"halfPadding",r),await p(w,o),x.get(o.id).node=o}else{const e=t.node(o.parentId);o.y+=I/2,s.info("A regular node XBX1 - using the padding",o.id,"parent",o.parentId,o.width,o.height,o.x,o.y,"offsetY",o.offsetY,"parent",e,null==e?void 0:e.offsetY,o),u(o)}})),t.edges().forEach(function(e){const n=t.edge(e);s.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(n),n),n.points.forEach(e=>e.y+=I/2);const i=t.node(e.v);var a=t.node(e.w);const c=f(S,n,x,o,i,a,r);g(n,c)}),t.nodes().forEach(function(e){const n=t.node(e);s.info(e,n.type,n.diff),n.isGroup&&(b=n.diff)}),s.warn("Returning from recursive render XAX",y,b),{elem:y,diff:b}},"recursiveRender"),M=e(async(e,a)=>{var c,d,l,u,p,f;const g=new v({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:(null==(c=e.config)?void 0:c.nodeSpacing)||(null==(l=null==(d=e.config)?void 0:d.flowchart)?void 0:l.nodeSpacing)||e.nodeSpacing,ranksep:(null==(u=e.config)?void 0:u.rankSpacing)||(null==(f=null==(p=e.config)?void 0:p.flowchart)?void 0:f.rankSpacing)||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),h=a.select("g");n(h,e.markers,e.type,e.diagramId),t(),o(),r(),b(),e.nodes.forEach(e=>{g.setNode(e.id,{...e}),e.parentId&&g.setParent(e.id,e.parentId)}),s.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){const n=e.start,t=n+"---"+n+"---1",o=n+"---"+n+"---2",r=g.node(n);g.setNode(t,{domId:t,id:t,parentId:r.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),g.setParent(t,r.parentId),g.setNode(o,{domId:o,id:o,parentId:r.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),g.setParent(o,r.parentId);const s=structuredClone(e),i=structuredClone(e),a=structuredClone(e);s.label="",s.arrowTypeEnd="none",s.id=n+"-cyclic-special-1",i.arrowTypeStart="none",i.arrowTypeEnd="none",i.id=n+"-cyclic-special-mid",a.label="",r.isGroup&&(s.fromCluster=n,a.toCluster=n),a.id=n+"-cyclic-special-2",a.arrowTypeStart="none",g.setEdge(n,t,s,n+"-cyclic-special-0"),g.setEdge(t,o,i,n+"-cyclic-special-1"),g.setEdge(o,n,a,n+"-cyc<lic-special-2")}else g.setEdge(e.start,e.end,{...e},e.id)}),s.warn("Graph at first:",JSON.stringify(N(g))),j(g),s.warn("Graph after XAX:",JSON.stringify(N(g)));const X=i();await F(h,g,e.type,e.diagramId,void 0,X)},"render");export{M as render};
@@ -1 +1 @@
1
- var t;import{_ as e,D as n,F as i,H as r,e as o,l as s,b9 as a,d as l,b as f,a as c,p as u,q as h,g as d,s as p,E as m,ba as y,y as v}from"./index-5wVqr2Ny.js";import{s as w}from"./chunk-QN33PNHL-CHk3Nn1_.js";import{p as $}from"./chunk-4BX2VUAB-Cq-CVpiF.js";import{p as b}from"./treemap-KMMF4GRG-bwvPNBHC.js";import{b as x}from"./defaultLocale-DK_abR1s.js";import{o as g}from"./ordinal-2upbOM02.js";import"./min-BpvcSMeI.js";import"./_baseUniq-CWlTL7nF.js";import"./init-C9Lo50Hz.js";function M(t){var e=0,n=t.children,i=n&&n.length;if(i)for(;--i>=0;)e+=n[i].value;else e=1;t.value=e}function S(t,e){t instanceof Map?(t=[void 0,t],void 0===e&&(e=C)):void 0===e&&(e=k);for(var n,i,r,o,s,a=new L(t),l=[a];n=l.pop();)if((r=e(n.data))&&(s=(r=Array.from(r)).length))for(n.children=r,o=s-1;o>=0;--o)l.push(i=r[o]=new L(r[o])),i.parent=n,i.depth=n.depth+1;return a.eachBefore(F)}function k(t){return t.children}function C(t){return Array.isArray(t)?t[1]:null}function z(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function F(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function L(t){this.data=t,this.depth=this.height=0,this.parent=null}function j(){return 0}function N(t){return function(){return t}}function T(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function A(t,e,n,i,r){for(var o,s=t.children,a=-1,l=s.length,f=t.value&&(i-e)/t.value;++a<l;)(o=s[a]).y0=n,o.y1=r,o.x0=e,o.x1=e+=o.value*f}function B(t,e,n,i,r){for(var o,s=t.children,a=-1,l=s.length,f=t.value&&(r-n)/t.value;++a<l;)(o=s[a]).x0=e,o.x1=i,o.y0=n,o.y1=n+=o.value*f}L.prototype=S.prototype={constructor:L,count:function(){return this.eachAfter(M)},each:function(t,e){let n=-1;for(const i of this)t.call(e,i,++n,this);return this},eachAfter:function(t,e){for(var n,i,r,o=this,s=[o],a=[],l=-1;o=s.pop();)if(a.push(o),n=o.children)for(i=0,r=n.length;i<r;++i)s.push(n[i]);for(;o=a.pop();)t.call(e,o,++l,this);return this},eachBefore:function(t,e){for(var n,i,r=this,o=[r],s=-1;r=o.pop();)if(t.call(e,r,++s,this),n=r.children)for(i=n.length-1;i>=0;--i)o.push(n[i]);return this},find:function(t,e){let n=-1;for(const i of this)if(t.call(e,i,++n,this))return i},sum:function(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,i=e.children,r=i&&i.length;--r>=0;)n+=i[r].value;e.value=n})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),i=e.ancestors(),r=null;t=n.pop(),e=i.pop();for(;t===e;)r=t,t=n.pop(),e=i.pop();return r}(e,t),i=[e];e!==n;)e=e.parent,i.push(e);for(var r=i.length;t!==n;)i.splice(r,0,t),t=t.parent;return i},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e},copy:function(){return S(this).eachBefore(z)},[Symbol.iterator]:function*(){var t,e,n,i,r=this,o=[r];do{for(t=o.reverse(),o=[];r=t.pop();)if(yield r,e=r.children)for(n=0,i=e.length;n<i;++n)o.push(e[n])}while(o.length)}};const E=function t(e){function n(t,n,i,r,o){!function(t,e,n,i,r,o){for(var s,a,l,f,c,u,h,d,p,m,y,v=[],w=e.children,$=0,b=0,x=w.length,g=e.value;$<x;){l=r-n,f=o-i;do{c=w[b++].value}while(!c&&b<x);for(u=h=c,y=c*c*(m=Math.max(f/l,l/f)/(g*t)),p=Math.max(h/y,y/u);b<x;++b){if(c+=a=w[b].value,a<u&&(u=a),a>h&&(h=a),y=c*c*m,(d=Math.max(h/y,y/u))>p){c-=a;break}p=d}v.push(s={value:c,dice:l<f,children:w.slice($,b)}),s.dice?A(s,n,i,r,g?i+=f*c/g:o):B(s,n,i,g?n+=l*c/g:r,o),g-=c,$=b}}(e,t,n,i,r,o)}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}((1+Math.sqrt(5))/2);function V(){var t=E,e=!1,n=1,i=1,r=[0],o=j,s=j,a=j,l=j,f=j;function c(t){return t.x0=t.y0=0,t.x1=n,t.y1=i,t.eachBefore(u),r=[0],e&&t.eachBefore(T),t}function u(e){var n=r[e.depth],i=e.x0+n,c=e.y0+n,u=e.x1-n,h=e.y1-n;u<i&&(i=u=(i+u)/2),h<c&&(c=h=(c+h)/2),e.x0=i,e.y0=c,e.x1=u,e.y1=h,e.children&&(n=r[e.depth+1]=o(e)/2,i+=f(e)-n,c+=s(e)-n,(u-=a(e)-n)<i&&(i=u=(i+u)/2),(h-=l(e)-n)<c&&(c=h=(c+h)/2),t(e,i,c,u,h))}return c.round=function(t){return arguments.length?(e=!!t,c):e},c.size=function(t){return arguments.length?(n=+t[0],i=+t[1],c):[n,i]},c.tile=function(e){return arguments.length?(t=function(t){if("function"!=typeof t)throw new Error;return t}(e),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(o="function"==typeof t?t:N(+t),c):o},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(s="function"==typeof t?t:N(+t),c):s},c.paddingRight=function(t){return arguments.length?(a="function"==typeof t?t:N(+t),c):a},c.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:N(+t),c):l},c.paddingLeft=function(t){return arguments.length?(f="function"==typeof t?t:N(+t),c):f},c}var D=(e(t=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=f,this.getAccTitle=c,this.setDiagramTitle=u,this.getDiagramTitle=h,this.getAccDescription=d,this.setAccDescription=p}getNodes(){return this.nodes}getConfig(){const t=m,e=i();return n({...t.treemap,...e.treemap??{}})}addNode(t,e){this.nodes.push(t),this.levels.set(t,e),0===e&&(this.outerNodes.push(t),this.root??(this.root=t))}getRoot(){return{name:"",children:this.outerNodes}}addClass(t,e){const n=this.classes.get(t)??{id:t,styles:[],textStyles:[]},i=e.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(t=>{y(t)&&((null==n?void 0:n.textStyles)?n.textStyles.push(t):n.textStyles=[t]),(null==n?void 0:n.styles)?n.styles.push(t):n.styles=[t]}),this.classes.set(t,n)}getClasses(){return this.classes}getStylesForClass(t){var e;return(null==(e=this.classes.get(t))?void 0:e.styles)??[]}clear(){v(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},"TreeMapDB"),t);function G(t){if(!t.length)return[];const e=[],n=[];return t.forEach(t=>{const i={name:t.name,children:"Leaf"===t.type?void 0:[]};for(i.classSelector=null==t?void 0:t.classSelector,(null==t?void 0:t.cssCompiledStyles)&&(i.cssCompiledStyles=[t.cssCompiledStyles]),"Leaf"===t.type&&void 0!==t.value&&(i.value=t.value);n.length>0&&n[n.length-1].level>=t.level;)n.pop();if(0===n.length)e.push(i);else{const t=n[n.length-1].node;t.children?t.children.push(i):t.children=[i]}"Leaf"!==t.type&&n.push({node:i,level:t.level})}),e}e(G,"buildHierarchy");var H=e((t,n)=>{$(t,n);const i=[];for(const e of t.TreemapRows??[])"ClassDefStatement"===e.$type&&n.addClass(e.className??"",e.styleText??"");for(const e of t.TreemapRows??[]){const t=e.item;if(!t)continue;const r=e.indent?parseInt(e.indent):0,o=I(t),s=t.classSelector?n.getStylesForClass(t.classSelector):[],a=s.length>0?s.join(";"):void 0,l={level:r,name:o,type:t.$type,value:t.value,classSelector:t.classSelector,cssCompiledStyles:a};i.push(l)}const r=G(i),o=e((t,e)=>{for(const i of t)n.addNode(i,e),i.children&&i.children.length>0&&o(i.children,e+1)},"addNodesRecursively");o(r,0)},"populate"),I=e(t=>t.name?String(t.name):"","getItemName"),P={parser:{yy:void 0},parse:e(async t=>{var e;try{const n=b,i=await n("treemap",t);s.debug("Treemap AST:",i);const r=null==(e=P.parser)?void 0:e.yy;if(!(r instanceof D))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");H(i,r)}catch(n){throw s.error("Error parsing treemap:",n),n}},"parse")},R=10,q={draw:e((t,n,f,c)=>{const u=c.db,h=u.getConfig(),d=h.padding??10,p=u.getDiagramTitle(),m=u.getRoot(),{themeVariables:y}=i();if(!m)return;const v=p?30:0,$=r(n),b=h.nodeWidth?h.nodeWidth*R:960,M=h.nodeHeight?h.nodeHeight*R:500,k=b,C=M+v;let z;$.attr("viewBox",`0 0 ${k} ${C}`),o($,C,k,h.useMaxWidth);try{const t=h.valueFormat||",";if("$0,0"===t)z=e(t=>"$"+x(",")(t),"valueFormat");else if(t.startsWith("$")&&t.includes(",")){const n=/\.\d+/.exec(t),i=n?n[0]:"";z=e(t=>"$"+x(","+i)(t),"valueFormat")}else if(t.startsWith("$")){const n=t.substring(1);z=e(t=>"$"+x(n||"")(t),"valueFormat")}else z=x(t)}catch(I){s.error("Error creating format function:",I),z=x(",")}const F=g().range(["transparent",y.cScale0,y.cScale1,y.cScale2,y.cScale3,y.cScale4,y.cScale5,y.cScale6,y.cScale7,y.cScale8,y.cScale9,y.cScale10,y.cScale11]),L=g().range(["transparent",y.cScalePeer0,y.cScalePeer1,y.cScalePeer2,y.cScalePeer3,y.cScalePeer4,y.cScalePeer5,y.cScalePeer6,y.cScalePeer7,y.cScalePeer8,y.cScalePeer9,y.cScalePeer10,y.cScalePeer11]),j=g().range([y.cScaleLabel0,y.cScaleLabel1,y.cScaleLabel2,y.cScaleLabel3,y.cScaleLabel4,y.cScaleLabel5,y.cScaleLabel6,y.cScaleLabel7,y.cScaleLabel8,y.cScaleLabel9,y.cScaleLabel10,y.cScaleLabel11]);p&&$.append("text").attr("x",k/2).attr("y",v/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(p);const N=$.append("g").attr("transform",`translate(0, ${v})`).attr("class","treemapContainer"),T=S(m).sum(t=>t.value??0).sort((t,e)=>(e.value??0)-(t.value??0)),A=V().size([b,M]).paddingTop(t=>t.children&&t.children.length>0?35:0).paddingInner(d).paddingLeft(t=>t.children&&t.children.length>0?R:0).paddingRight(t=>t.children&&t.children.length>0?R:0).paddingBottom(t=>t.children&&t.children.length>0?R:0).round(!0)(T),B=A.descendants().filter(t=>t.children&&t.children.length>0),E=N.selectAll(".treemapSection").data(B).enter().append("g").attr("class","treemapSection").attr("transform",t=>`translate(${t.x0},${t.y0})`);E.append("rect").attr("width",t=>t.x1-t.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",t=>0===t.depth?"display: none;":""),E.append("clipPath").attr("id",(t,e)=>`clip-section-${n}-${e}`).append("rect").attr("width",t=>Math.max(0,t.x1-t.x0-12)).attr("height",25),E.append("rect").attr("width",t=>t.x1-t.x0).attr("height",t=>t.y1-t.y0).attr("class",(t,e)=>`treemapSection section${e}`).attr("fill",t=>F(t.data.name)).attr("fill-opacity",.6).attr("stroke",t=>L(t.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",t=>{if(0===t.depth)return"display: none;";const e=a({cssCompiledStyles:t.data.cssCompiledStyles});return e.nodeStyles+";"+e.borderStyles.join(";")}),E.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(t=>0===t.depth?"":t.data.name).attr("font-weight","bold").attr("style",t=>{if(0===t.depth)return"display: none;";return"dominant-baseline: middle; font-size: 12px; fill:"+j(t.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+a({cssCompiledStyles:t.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")}).each(function(t){if(0===t.depth)return;const e=l(this),n=t.data.name;e.text(n);const i=t.x1-t.x0;let r;if(!1!==h.showValues&&t.value){r=i-10-30-10-6}else{r=i-6-6}const o=Math.max(15,r),s=e.node();if(s.getComputedTextLength()>o){const t="...";let i=n;for(;i.length>0;){if(i=n.substring(0,i.length-1),0===i.length){e.text(t),s.getComputedTextLength()>o&&e.text("");break}if(e.text(i+t),s.getComputedTextLength()<=o)break}}}),!1!==h.showValues&&E.append("text").attr("class","treemapSectionValue").attr("x",t=>t.x1-t.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(t=>t.value?z(t.value):"").attr("font-style","italic").attr("style",t=>{if(0===t.depth)return"display: none;";return"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+j(t.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+a({cssCompiledStyles:t.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")});const D=A.leaves(),G=N.selectAll(".treemapLeafGroup").data(D).enter().append("g").attr("class",(t,e)=>`treemapNode treemapLeafGroup leaf${e}${t.data.classSelector?` ${t.data.classSelector}`:""}x`).attr("transform",t=>`translate(${t.x0},${t.y0})`);G.append("rect").attr("width",t=>t.x1-t.x0).attr("height",t=>t.y1-t.y0).attr("class","treemapLeaf").attr("fill",t=>t.parent?F(t.parent.data.name):F(t.data.name)).attr("style",t=>a({cssCompiledStyles:t.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",t=>t.parent?F(t.parent.data.name):F(t.data.name)).attr("stroke-width",3),G.append("clipPath").attr("id",(t,e)=>`clip-${n}-${e}`).append("rect").attr("width",t=>Math.max(0,t.x1-t.x0-4)).attr("height",t=>Math.max(0,t.y1-t.y0-4));if(G.append("text").attr("class","treemapLabel").attr("x",t=>(t.x1-t.x0)/2).attr("y",t=>(t.y1-t.y0)/2).attr("style",t=>"text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+j(t.data.name)+";"+a({cssCompiledStyles:t.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(t,e)=>`url(#clip-${n}-${e})`).text(t=>t.data.name).each(function(t){const e=l(this),n=t.x1-t.x0,i=t.y1-t.y0,r=e.node(),o=n-8,s=i-8;if(o<10||s<10)return void e.style("display","none");let a=parseInt(e.style("font-size"),10);for(;r.getComputedTextLength()>o&&a>8;)a--,e.style("font-size",`${a}px`);let f=Math.max(6,Math.min(28,Math.round(.6*a))),c=a+2+f;for(;c>s&&a>8&&(a--,f=Math.max(6,Math.min(28,Math.round(.6*a))),!(f<6&&8===a));)e.style("font-size",`${a}px`),c=a+2+f;e.style("font-size",`${a}px`),(r.getComputedTextLength()>o||a<8||s<a)&&e.style("display","none")}),!1!==h.showValues){G.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>"text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+j(t.data.name)+";"+a({cssCompiledStyles:t.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(t,e)=>`url(#clip-${n}-${e})`).text(t=>t.value?z(t.value):"").each(function(t){const e=l(this),n=this.parentNode;if(!n)return void e.style("display","none");const i=l(n).select(".treemapLabel");if(i.empty()||"none"===i.style("display"))return void e.style("display","none");const r=parseFloat(i.style("font-size")),o=Math.max(6,Math.min(28,Math.round(.6*r)));e.style("font-size",`${o}px`);const s=(t.y1-t.y0)/2+r/2+2;e.attr("y",s);const a=t.x1-t.x0,f=t.y1-t.y0-4,c=a-8;e.node().getComputedTextLength()>c||s+o>f||o<6?e.style("display","none"):e.style("display",null)})}const H=h.diagramPadding??8;w($,H,"flowchart",(null==h?void 0:h.useMaxWidth)||!1)},"draw"),getClasses:e(function(t,e){return e.db.getClasses()},"getClasses")},U={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},W=e(({treemap:t}={})=>{const e=n(U,t);return`\n .treemapNode.section {\n stroke: ${e.sectionStrokeColor};\n stroke-width: ${e.sectionStrokeWidth};\n fill: ${e.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${e.leafStrokeColor};\n stroke-width: ${e.leafStrokeWidth};\n fill: ${e.leafFillColor};\n }\n .treemapLabel {\n fill: ${e.labelColor};\n font-size: ${e.labelFontSize};\n }\n .treemapValue {\n fill: ${e.valueColor};\n font-size: ${e.valueFontSize};\n }\n .treemapTitle {\n fill: ${e.titleColor};\n font-size: ${e.titleFontSize};\n }\n `},"getStyles"),_={parser:P,get db(){return new D},renderer:q,styles:W};export{_ as diagram};
1
+ var t;import{_ as e,D as n,F as i,H as r,e as o,l as s,b9 as a,d as l,b as f,a as c,p as u,q as h,g as d,s as p,E as m,ba as y,y as v}from"./index-BvMYTiOr.js";import{s as w}from"./chunk-QN33PNHL-DuPwsSus.js";import{p as $}from"./chunk-4BX2VUAB-Cay_iY5D.js";import{p as b}from"./treemap-KMMF4GRG-CYbXQA3w.js";import{b as x}from"./defaultLocale-DK_abR1s.js";import{o as g}from"./ordinal-2upbOM02.js";import"./min-CcGwUInn.js";import"./_baseUniq-O6Fk0Wzr.js";import"./init-C9Lo50Hz.js";function M(t){var e=0,n=t.children,i=n&&n.length;if(i)for(;--i>=0;)e+=n[i].value;else e=1;t.value=e}function S(t,e){t instanceof Map?(t=[void 0,t],void 0===e&&(e=C)):void 0===e&&(e=k);for(var n,i,r,o,s,a=new L(t),l=[a];n=l.pop();)if((r=e(n.data))&&(s=(r=Array.from(r)).length))for(n.children=r,o=s-1;o>=0;--o)l.push(i=r[o]=new L(r[o])),i.parent=n,i.depth=n.depth+1;return a.eachBefore(F)}function k(t){return t.children}function C(t){return Array.isArray(t)?t[1]:null}function z(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function F(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function L(t){this.data=t,this.depth=this.height=0,this.parent=null}function j(){return 0}function N(t){return function(){return t}}function T(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function A(t,e,n,i,r){for(var o,s=t.children,a=-1,l=s.length,f=t.value&&(i-e)/t.value;++a<l;)(o=s[a]).y0=n,o.y1=r,o.x0=e,o.x1=e+=o.value*f}function B(t,e,n,i,r){for(var o,s=t.children,a=-1,l=s.length,f=t.value&&(r-n)/t.value;++a<l;)(o=s[a]).x0=e,o.x1=i,o.y0=n,o.y1=n+=o.value*f}L.prototype=S.prototype={constructor:L,count:function(){return this.eachAfter(M)},each:function(t,e){let n=-1;for(const i of this)t.call(e,i,++n,this);return this},eachAfter:function(t,e){for(var n,i,r,o=this,s=[o],a=[],l=-1;o=s.pop();)if(a.push(o),n=o.children)for(i=0,r=n.length;i<r;++i)s.push(n[i]);for(;o=a.pop();)t.call(e,o,++l,this);return this},eachBefore:function(t,e){for(var n,i,r=this,o=[r],s=-1;r=o.pop();)if(t.call(e,r,++s,this),n=r.children)for(i=n.length-1;i>=0;--i)o.push(n[i]);return this},find:function(t,e){let n=-1;for(const i of this)if(t.call(e,i,++n,this))return i},sum:function(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,i=e.children,r=i&&i.length;--r>=0;)n+=i[r].value;e.value=n})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),i=e.ancestors(),r=null;t=n.pop(),e=i.pop();for(;t===e;)r=t,t=n.pop(),e=i.pop();return r}(e,t),i=[e];e!==n;)e=e.parent,i.push(e);for(var r=i.length;t!==n;)i.splice(r,0,t),t=t.parent;return i},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e},copy:function(){return S(this).eachBefore(z)},[Symbol.iterator]:function*(){var t,e,n,i,r=this,o=[r];do{for(t=o.reverse(),o=[];r=t.pop();)if(yield r,e=r.children)for(n=0,i=e.length;n<i;++n)o.push(e[n])}while(o.length)}};const E=function t(e){function n(t,n,i,r,o){!function(t,e,n,i,r,o){for(var s,a,l,f,c,u,h,d,p,m,y,v=[],w=e.children,$=0,b=0,x=w.length,g=e.value;$<x;){l=r-n,f=o-i;do{c=w[b++].value}while(!c&&b<x);for(u=h=c,y=c*c*(m=Math.max(f/l,l/f)/(g*t)),p=Math.max(h/y,y/u);b<x;++b){if(c+=a=w[b].value,a<u&&(u=a),a>h&&(h=a),y=c*c*m,(d=Math.max(h/y,y/u))>p){c-=a;break}p=d}v.push(s={value:c,dice:l<f,children:w.slice($,b)}),s.dice?A(s,n,i,r,g?i+=f*c/g:o):B(s,n,i,g?n+=l*c/g:r,o),g-=c,$=b}}(e,t,n,i,r,o)}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}((1+Math.sqrt(5))/2);function V(){var t=E,e=!1,n=1,i=1,r=[0],o=j,s=j,a=j,l=j,f=j;function c(t){return t.x0=t.y0=0,t.x1=n,t.y1=i,t.eachBefore(u),r=[0],e&&t.eachBefore(T),t}function u(e){var n=r[e.depth],i=e.x0+n,c=e.y0+n,u=e.x1-n,h=e.y1-n;u<i&&(i=u=(i+u)/2),h<c&&(c=h=(c+h)/2),e.x0=i,e.y0=c,e.x1=u,e.y1=h,e.children&&(n=r[e.depth+1]=o(e)/2,i+=f(e)-n,c+=s(e)-n,(u-=a(e)-n)<i&&(i=u=(i+u)/2),(h-=l(e)-n)<c&&(c=h=(c+h)/2),t(e,i,c,u,h))}return c.round=function(t){return arguments.length?(e=!!t,c):e},c.size=function(t){return arguments.length?(n=+t[0],i=+t[1],c):[n,i]},c.tile=function(e){return arguments.length?(t=function(t){if("function"!=typeof t)throw new Error;return t}(e),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(o="function"==typeof t?t:N(+t),c):o},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(s="function"==typeof t?t:N(+t),c):s},c.paddingRight=function(t){return arguments.length?(a="function"==typeof t?t:N(+t),c):a},c.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:N(+t),c):l},c.paddingLeft=function(t){return arguments.length?(f="function"==typeof t?t:N(+t),c):f},c}var D=(e(t=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=f,this.getAccTitle=c,this.setDiagramTitle=u,this.getDiagramTitle=h,this.getAccDescription=d,this.setAccDescription=p}getNodes(){return this.nodes}getConfig(){const t=m,e=i();return n({...t.treemap,...e.treemap??{}})}addNode(t,e){this.nodes.push(t),this.levels.set(t,e),0===e&&(this.outerNodes.push(t),this.root??(this.root=t))}getRoot(){return{name:"",children:this.outerNodes}}addClass(t,e){const n=this.classes.get(t)??{id:t,styles:[],textStyles:[]},i=e.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(t=>{y(t)&&((null==n?void 0:n.textStyles)?n.textStyles.push(t):n.textStyles=[t]),(null==n?void 0:n.styles)?n.styles.push(t):n.styles=[t]}),this.classes.set(t,n)}getClasses(){return this.classes}getStylesForClass(t){var e;return(null==(e=this.classes.get(t))?void 0:e.styles)??[]}clear(){v(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},"TreeMapDB"),t);function G(t){if(!t.length)return[];const e=[],n=[];return t.forEach(t=>{const i={name:t.name,children:"Leaf"===t.type?void 0:[]};for(i.classSelector=null==t?void 0:t.classSelector,(null==t?void 0:t.cssCompiledStyles)&&(i.cssCompiledStyles=[t.cssCompiledStyles]),"Leaf"===t.type&&void 0!==t.value&&(i.value=t.value);n.length>0&&n[n.length-1].level>=t.level;)n.pop();if(0===n.length)e.push(i);else{const t=n[n.length-1].node;t.children?t.children.push(i):t.children=[i]}"Leaf"!==t.type&&n.push({node:i,level:t.level})}),e}e(G,"buildHierarchy");var H=e((t,n)=>{$(t,n);const i=[];for(const e of t.TreemapRows??[])"ClassDefStatement"===e.$type&&n.addClass(e.className??"",e.styleText??"");for(const e of t.TreemapRows??[]){const t=e.item;if(!t)continue;const r=e.indent?parseInt(e.indent):0,o=I(t),s=t.classSelector?n.getStylesForClass(t.classSelector):[],a=s.length>0?s.join(";"):void 0,l={level:r,name:o,type:t.$type,value:t.value,classSelector:t.classSelector,cssCompiledStyles:a};i.push(l)}const r=G(i),o=e((t,e)=>{for(const i of t)n.addNode(i,e),i.children&&i.children.length>0&&o(i.children,e+1)},"addNodesRecursively");o(r,0)},"populate"),I=e(t=>t.name?String(t.name):"","getItemName"),P={parser:{yy:void 0},parse:e(async t=>{var e;try{const n=b,i=await n("treemap",t);s.debug("Treemap AST:",i);const r=null==(e=P.parser)?void 0:e.yy;if(!(r instanceof D))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");H(i,r)}catch(n){throw s.error("Error parsing treemap:",n),n}},"parse")},R=10,q={draw:e((t,n,f,c)=>{const u=c.db,h=u.getConfig(),d=h.padding??10,p=u.getDiagramTitle(),m=u.getRoot(),{themeVariables:y}=i();if(!m)return;const v=p?30:0,$=r(n),b=h.nodeWidth?h.nodeWidth*R:960,M=h.nodeHeight?h.nodeHeight*R:500,k=b,C=M+v;let z;$.attr("viewBox",`0 0 ${k} ${C}`),o($,C,k,h.useMaxWidth);try{const t=h.valueFormat||",";if("$0,0"===t)z=e(t=>"$"+x(",")(t),"valueFormat");else if(t.startsWith("$")&&t.includes(",")){const n=/\.\d+/.exec(t),i=n?n[0]:"";z=e(t=>"$"+x(","+i)(t),"valueFormat")}else if(t.startsWith("$")){const n=t.substring(1);z=e(t=>"$"+x(n||"")(t),"valueFormat")}else z=x(t)}catch(I){s.error("Error creating format function:",I),z=x(",")}const F=g().range(["transparent",y.cScale0,y.cScale1,y.cScale2,y.cScale3,y.cScale4,y.cScale5,y.cScale6,y.cScale7,y.cScale8,y.cScale9,y.cScale10,y.cScale11]),L=g().range(["transparent",y.cScalePeer0,y.cScalePeer1,y.cScalePeer2,y.cScalePeer3,y.cScalePeer4,y.cScalePeer5,y.cScalePeer6,y.cScalePeer7,y.cScalePeer8,y.cScalePeer9,y.cScalePeer10,y.cScalePeer11]),j=g().range([y.cScaleLabel0,y.cScaleLabel1,y.cScaleLabel2,y.cScaleLabel3,y.cScaleLabel4,y.cScaleLabel5,y.cScaleLabel6,y.cScaleLabel7,y.cScaleLabel8,y.cScaleLabel9,y.cScaleLabel10,y.cScaleLabel11]);p&&$.append("text").attr("x",k/2).attr("y",v/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(p);const N=$.append("g").attr("transform",`translate(0, ${v})`).attr("class","treemapContainer"),T=S(m).sum(t=>t.value??0).sort((t,e)=>(e.value??0)-(t.value??0)),A=V().size([b,M]).paddingTop(t=>t.children&&t.children.length>0?35:0).paddingInner(d).paddingLeft(t=>t.children&&t.children.length>0?R:0).paddingRight(t=>t.children&&t.children.length>0?R:0).paddingBottom(t=>t.children&&t.children.length>0?R:0).round(!0)(T),B=A.descendants().filter(t=>t.children&&t.children.length>0),E=N.selectAll(".treemapSection").data(B).enter().append("g").attr("class","treemapSection").attr("transform",t=>`translate(${t.x0},${t.y0})`);E.append("rect").attr("width",t=>t.x1-t.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",t=>0===t.depth?"display: none;":""),E.append("clipPath").attr("id",(t,e)=>`clip-section-${n}-${e}`).append("rect").attr("width",t=>Math.max(0,t.x1-t.x0-12)).attr("height",25),E.append("rect").attr("width",t=>t.x1-t.x0).attr("height",t=>t.y1-t.y0).attr("class",(t,e)=>`treemapSection section${e}`).attr("fill",t=>F(t.data.name)).attr("fill-opacity",.6).attr("stroke",t=>L(t.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",t=>{if(0===t.depth)return"display: none;";const e=a({cssCompiledStyles:t.data.cssCompiledStyles});return e.nodeStyles+";"+e.borderStyles.join(";")}),E.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(t=>0===t.depth?"":t.data.name).attr("font-weight","bold").attr("style",t=>{if(0===t.depth)return"display: none;";return"dominant-baseline: middle; font-size: 12px; fill:"+j(t.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+a({cssCompiledStyles:t.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")}).each(function(t){if(0===t.depth)return;const e=l(this),n=t.data.name;e.text(n);const i=t.x1-t.x0;let r;if(!1!==h.showValues&&t.value){r=i-10-30-10-6}else{r=i-6-6}const o=Math.max(15,r),s=e.node();if(s.getComputedTextLength()>o){const t="...";let i=n;for(;i.length>0;){if(i=n.substring(0,i.length-1),0===i.length){e.text(t),s.getComputedTextLength()>o&&e.text("");break}if(e.text(i+t),s.getComputedTextLength()<=o)break}}}),!1!==h.showValues&&E.append("text").attr("class","treemapSectionValue").attr("x",t=>t.x1-t.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(t=>t.value?z(t.value):"").attr("font-style","italic").attr("style",t=>{if(0===t.depth)return"display: none;";return"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+j(t.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+a({cssCompiledStyles:t.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")});const D=A.leaves(),G=N.selectAll(".treemapLeafGroup").data(D).enter().append("g").attr("class",(t,e)=>`treemapNode treemapLeafGroup leaf${e}${t.data.classSelector?` ${t.data.classSelector}`:""}x`).attr("transform",t=>`translate(${t.x0},${t.y0})`);G.append("rect").attr("width",t=>t.x1-t.x0).attr("height",t=>t.y1-t.y0).attr("class","treemapLeaf").attr("fill",t=>t.parent?F(t.parent.data.name):F(t.data.name)).attr("style",t=>a({cssCompiledStyles:t.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",t=>t.parent?F(t.parent.data.name):F(t.data.name)).attr("stroke-width",3),G.append("clipPath").attr("id",(t,e)=>`clip-${n}-${e}`).append("rect").attr("width",t=>Math.max(0,t.x1-t.x0-4)).attr("height",t=>Math.max(0,t.y1-t.y0-4));if(G.append("text").attr("class","treemapLabel").attr("x",t=>(t.x1-t.x0)/2).attr("y",t=>(t.y1-t.y0)/2).attr("style",t=>"text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+j(t.data.name)+";"+a({cssCompiledStyles:t.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(t,e)=>`url(#clip-${n}-${e})`).text(t=>t.data.name).each(function(t){const e=l(this),n=t.x1-t.x0,i=t.y1-t.y0,r=e.node(),o=n-8,s=i-8;if(o<10||s<10)return void e.style("display","none");let a=parseInt(e.style("font-size"),10);for(;r.getComputedTextLength()>o&&a>8;)a--,e.style("font-size",`${a}px`);let f=Math.max(6,Math.min(28,Math.round(.6*a))),c=a+2+f;for(;c>s&&a>8&&(a--,f=Math.max(6,Math.min(28,Math.round(.6*a))),!(f<6&&8===a));)e.style("font-size",`${a}px`),c=a+2+f;e.style("font-size",`${a}px`),(r.getComputedTextLength()>o||a<8||s<a)&&e.style("display","none")}),!1!==h.showValues){G.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>"text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+j(t.data.name)+";"+a({cssCompiledStyles:t.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(t,e)=>`url(#clip-${n}-${e})`).text(t=>t.value?z(t.value):"").each(function(t){const e=l(this),n=this.parentNode;if(!n)return void e.style("display","none");const i=l(n).select(".treemapLabel");if(i.empty()||"none"===i.style("display"))return void e.style("display","none");const r=parseFloat(i.style("font-size")),o=Math.max(6,Math.min(28,Math.round(.6*r)));e.style("font-size",`${o}px`);const s=(t.y1-t.y0)/2+r/2+2;e.attr("y",s);const a=t.x1-t.x0,f=t.y1-t.y0-4,c=a-8;e.node().getComputedTextLength()>c||s+o>f||o<6?e.style("display","none"):e.style("display",null)})}const H=h.diagramPadding??8;w($,H,"flowchart",(null==h?void 0:h.useMaxWidth)||!1)},"draw"),getClasses:e(function(t,e){return e.db.getClasses()},"getClasses")},U={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},W=e(({treemap:t}={})=>{const e=n(U,t);return`\n .treemapNode.section {\n stroke: ${e.sectionStrokeColor};\n stroke-width: ${e.sectionStrokeWidth};\n fill: ${e.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${e.leafStrokeColor};\n stroke-width: ${e.leafStrokeWidth};\n fill: ${e.leafFillColor};\n }\n .treemapLabel {\n fill: ${e.labelColor};\n font-size: ${e.labelFontSize};\n }\n .treemapValue {\n fill: ${e.valueColor};\n font-size: ${e.valueFontSize};\n }\n .treemapTitle {\n fill: ${e.titleColor};\n font-size: ${e.titleFontSize};\n }\n `},"getStyles"),_={parser:P,get db(){return new D},renderer:q,styles:W};export{_ as diagram};
@@ -1 +1 @@
1
- import{s as t,g as e,q as r,p as n,a,b as s,_ as o,H as i,y as l,D as c,E as d,F as u,l as $,K as h}from"./index-5wVqr2Ny.js";import{p}from"./chunk-4BX2VUAB-Cq-CVpiF.js";import{p as g}from"./treemap-KMMF4GRG-bwvPNBHC.js";import"./min-BpvcSMeI.js";import"./_baseUniq-CWlTL7nF.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},f={axes:[],curves:[],options:x},m=structuredClone(f),v=d.radar,M=o(()=>c({...v,...u().radar}),"getConfig"),y=o(()=>m.axes,"getAxes"),w=o(()=>m.curves,"getCurves"),b=o(()=>m.options,"getOptions"),A=o(t=>{m.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),C=o(t=>{m.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:L(t.entries)}))},"setCurves"),L=o(t=>{if(null==t[0].axis)return t.map(t=>t.value);const e=y();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(e=>{const r=t.find(t=>{var r;return(null==(r=t.axis)?void 0:r.$refText)===e.name});if(void 0===r)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),k={getAxes:y,getCurves:w,getOptions:b,setAxes:A,setCurves:C,setOptions:o(t=>{var e,r,n,a,s;const o=t.reduce((t,e)=>(t[e.name]=e,t),{});m.options={showLegend:(null==(e=o.showLegend)?void 0:e.value)??x.showLegend,ticks:(null==(r=o.ticks)?void 0:r.value)??x.ticks,max:(null==(n=o.max)?void 0:n.value)??x.max,min:(null==(a=o.min)?void 0:a.value)??x.min,graticule:(null==(s=o.graticule)?void 0:s.value)??x.graticule}},"setOptions"),getConfig:M,clear:o(()=>{l(),m=structuredClone(f)},"clear"),setAccTitle:s,getAccTitle:a,setDiagramTitle:n,getDiagramTitle:r,getAccDescription:e,setAccDescription:t},T=o(t=>{p(t,k);const{axes:e,curves:r,options:n}=t;k.setAxes(e),k.setCurves(r),k.setOptions(n)},"populate"),O={parse:o(async t=>{const e=await g("radar",t);$.debug(e),T(e)},"parse")},G=o((t,e,r,n)=>{const a=n.db,s=a.getAxes(),o=a.getCurves(),l=a.getOptions(),c=a.getConfig(),d=a.getDiagramTitle(),u=i(e),$=j(u,c),h=l.max??Math.max(...o.map(t=>Math.max(...t.entries))),p=l.min,g=Math.min(c.width,c.height)/2;D($,s,g,l.ticks,l.graticule),B($,s,g,c),E($,s,o,p,h,l.graticule,c),F($,o,l.showLegend,c),$.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),j=o((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,a=e.marginLeft+e.width/2,s=e.marginTop+e.height/2;return t.attr("viewbox",`0 0 ${r} ${n}`).attr("width",r).attr("height",n),t.append("g").attr("transform",`translate(${a}, ${s})`)},"drawFrame"),D=o((t,e,r,n,a)=>{if("circle"===a)for(let s=0;s<n;s++){const e=r*(s+1)/n;t.append("circle").attr("r",e).attr("class","radarGraticule")}else if("polygon"===a){const a=e.length;for(let s=0;s<n;s++){const o=r*(s+1)/n,i=e.map((t,e)=>{const r=2*e*Math.PI/a-Math.PI/2;return`${o*Math.cos(r)},${o*Math.sin(r)}`}).join(" ");t.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),B=o((t,e,r,n)=>{const a=e.length;for(let s=0;s<a;s++){const o=e[s].label,i=2*s*Math.PI/a-Math.PI/2;t.append("line").attr("x1",0).attr("y1",0).attr("x2",r*n.axisScaleFactor*Math.cos(i)).attr("y2",r*n.axisScaleFactor*Math.sin(i)).attr("class","radarAxisLine"),t.append("text").text(o).attr("x",r*n.axisLabelFactor*Math.cos(i)).attr("y",r*n.axisLabelFactor*Math.sin(i)).attr("class","radarAxisLabel")}},"drawAxes");function E(t,e,r,n,a,s,o){const i=e.length,l=Math.min(o.width,o.height)/2;r.forEach((e,r)=>{if(e.entries.length!==i)return;const c=e.entries.map((t,e)=>{const r=2*Math.PI*e/i-Math.PI/2,s=R(t,n,a,l);return{x:s*Math.cos(r),y:s*Math.sin(r)}});"circle"===s?t.append("path").attr("d",z(c,o.curveTension)).attr("class",`radarCurve-${r}`):"polygon"===s&&t.append("polygon").attr("points",c.map(t=>`${t.x},${t.y}`).join(" ")).attr("class",`radarCurve-${r}`)})}function R(t,e,r,n){return n*(Math.min(Math.max(t,e),r)-e)/(r-e)}function z(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let a=0;a<r;a++){const s=t[(a-1+r)%r],o=t[a],i=t[(a+1)%r],l=t[(a+2)%r],c={x:o.x+(i.x-s.x)*e,y:o.y+(i.y-s.y)*e},d={x:i.x-(l.x-o.x)*e,y:i.y-(l.y-o.y)*e};n+=` C${c.x},${c.y} ${d.x},${d.y} ${i.x},${i.y}`}return`${n} Z`}function F(t,e,r,n){if(!r)return;const a=3*(n.width/2+n.marginRight)/4,s=3*-(n.height/2+n.marginTop)/4;e.forEach((e,r)=>{const n=t.append("g").attr("transform",`translate(${a}, ${s+20*r})`);n.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${r}`),n.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}o(E,"drawCurves"),o(R,"relativeRadius"),o(z,"closedRoundCurve"),o(F,"drawLegend");var S={draw:G},V=o((t,e)=>{let r="";for(let n=0;n<t.THEME_COLOR_LIMIT;n++){const a=t[`cScale${n}`];r+=`\n\t\t.radarCurve-${n} {\n\t\t\tcolor: ${a};\n\t\t\tfill: ${a};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${a};\n\t\t\tstroke-width: ${e.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${n} {\n\t\t\tfill: ${a};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${a};\n\t\t}\n\t\t`}return r},"genIndexStyles"),q=o(t=>{const e=h(),r=u(),n=c(e,r.themeVariables);return{themeVariables:n,radarOptions:c(n.radar,t)}},"buildRadarStyleOptions"),K={parser:O,db:k,renderer:S,styles:o(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=q(t);return`\n\t.radarTitle {\n\t\tfont-size: ${e.fontSize};\n\t\tcolor: ${e.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${r.axisColor};\n\t\tstroke-width: ${r.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tdominant-baseline: middle;\n\t\ttext-anchor: middle;\n\t\tfont-size: ${r.axisLabelFontSize}px;\n\t\tcolor: ${r.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${r.graticuleColor};\n\t\tfill-opacity: ${r.graticuleOpacity};\n\t\tstroke: ${r.graticuleColor};\n\t\tstroke-width: ${r.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${r.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${V(e,r)}\n\t`},"styles")};export{K as diagram};
1
+ import{s as t,g as e,q as r,p as n,a,b as s,_ as o,H as i,y as l,D as c,E as d,F as u,l as $,K as h}from"./index-BvMYTiOr.js";import{p}from"./chunk-4BX2VUAB-Cay_iY5D.js";import{p as g}from"./treemap-KMMF4GRG-CYbXQA3w.js";import"./min-CcGwUInn.js";import"./_baseUniq-O6Fk0Wzr.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},f={axes:[],curves:[],options:x},m=structuredClone(f),v=d.radar,M=o(()=>c({...v,...u().radar}),"getConfig"),y=o(()=>m.axes,"getAxes"),w=o(()=>m.curves,"getCurves"),b=o(()=>m.options,"getOptions"),A=o(t=>{m.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),C=o(t=>{m.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:L(t.entries)}))},"setCurves"),L=o(t=>{if(null==t[0].axis)return t.map(t=>t.value);const e=y();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(e=>{const r=t.find(t=>{var r;return(null==(r=t.axis)?void 0:r.$refText)===e.name});if(void 0===r)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),k={getAxes:y,getCurves:w,getOptions:b,setAxes:A,setCurves:C,setOptions:o(t=>{var e,r,n,a,s;const o=t.reduce((t,e)=>(t[e.name]=e,t),{});m.options={showLegend:(null==(e=o.showLegend)?void 0:e.value)??x.showLegend,ticks:(null==(r=o.ticks)?void 0:r.value)??x.ticks,max:(null==(n=o.max)?void 0:n.value)??x.max,min:(null==(a=o.min)?void 0:a.value)??x.min,graticule:(null==(s=o.graticule)?void 0:s.value)??x.graticule}},"setOptions"),getConfig:M,clear:o(()=>{l(),m=structuredClone(f)},"clear"),setAccTitle:s,getAccTitle:a,setDiagramTitle:n,getDiagramTitle:r,getAccDescription:e,setAccDescription:t},T=o(t=>{p(t,k);const{axes:e,curves:r,options:n}=t;k.setAxes(e),k.setCurves(r),k.setOptions(n)},"populate"),O={parse:o(async t=>{const e=await g("radar",t);$.debug(e),T(e)},"parse")},G=o((t,e,r,n)=>{const a=n.db,s=a.getAxes(),o=a.getCurves(),l=a.getOptions(),c=a.getConfig(),d=a.getDiagramTitle(),u=i(e),$=j(u,c),h=l.max??Math.max(...o.map(t=>Math.max(...t.entries))),p=l.min,g=Math.min(c.width,c.height)/2;D($,s,g,l.ticks,l.graticule),B($,s,g,c),E($,s,o,p,h,l.graticule,c),F($,o,l.showLegend,c),$.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),j=o((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,a=e.marginLeft+e.width/2,s=e.marginTop+e.height/2;return t.attr("viewbox",`0 0 ${r} ${n}`).attr("width",r).attr("height",n),t.append("g").attr("transform",`translate(${a}, ${s})`)},"drawFrame"),D=o((t,e,r,n,a)=>{if("circle"===a)for(let s=0;s<n;s++){const e=r*(s+1)/n;t.append("circle").attr("r",e).attr("class","radarGraticule")}else if("polygon"===a){const a=e.length;for(let s=0;s<n;s++){const o=r*(s+1)/n,i=e.map((t,e)=>{const r=2*e*Math.PI/a-Math.PI/2;return`${o*Math.cos(r)},${o*Math.sin(r)}`}).join(" ");t.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),B=o((t,e,r,n)=>{const a=e.length;for(let s=0;s<a;s++){const o=e[s].label,i=2*s*Math.PI/a-Math.PI/2;t.append("line").attr("x1",0).attr("y1",0).attr("x2",r*n.axisScaleFactor*Math.cos(i)).attr("y2",r*n.axisScaleFactor*Math.sin(i)).attr("class","radarAxisLine"),t.append("text").text(o).attr("x",r*n.axisLabelFactor*Math.cos(i)).attr("y",r*n.axisLabelFactor*Math.sin(i)).attr("class","radarAxisLabel")}},"drawAxes");function E(t,e,r,n,a,s,o){const i=e.length,l=Math.min(o.width,o.height)/2;r.forEach((e,r)=>{if(e.entries.length!==i)return;const c=e.entries.map((t,e)=>{const r=2*Math.PI*e/i-Math.PI/2,s=R(t,n,a,l);return{x:s*Math.cos(r),y:s*Math.sin(r)}});"circle"===s?t.append("path").attr("d",z(c,o.curveTension)).attr("class",`radarCurve-${r}`):"polygon"===s&&t.append("polygon").attr("points",c.map(t=>`${t.x},${t.y}`).join(" ")).attr("class",`radarCurve-${r}`)})}function R(t,e,r,n){return n*(Math.min(Math.max(t,e),r)-e)/(r-e)}function z(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let a=0;a<r;a++){const s=t[(a-1+r)%r],o=t[a],i=t[(a+1)%r],l=t[(a+2)%r],c={x:o.x+(i.x-s.x)*e,y:o.y+(i.y-s.y)*e},d={x:i.x-(l.x-o.x)*e,y:i.y-(l.y-o.y)*e};n+=` C${c.x},${c.y} ${d.x},${d.y} ${i.x},${i.y}`}return`${n} Z`}function F(t,e,r,n){if(!r)return;const a=3*(n.width/2+n.marginRight)/4,s=3*-(n.height/2+n.marginTop)/4;e.forEach((e,r)=>{const n=t.append("g").attr("transform",`translate(${a}, ${s+20*r})`);n.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${r}`),n.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}o(E,"drawCurves"),o(R,"relativeRadius"),o(z,"closedRoundCurve"),o(F,"drawLegend");var S={draw:G},V=o((t,e)=>{let r="";for(let n=0;n<t.THEME_COLOR_LIMIT;n++){const a=t[`cScale${n}`];r+=`\n\t\t.radarCurve-${n} {\n\t\t\tcolor: ${a};\n\t\t\tfill: ${a};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${a};\n\t\t\tstroke-width: ${e.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${n} {\n\t\t\tfill: ${a};\n\t\t\tfill-opacity: ${e.curveOpacity};\n\t\t\tstroke: ${a};\n\t\t}\n\t\t`}return r},"genIndexStyles"),q=o(t=>{const e=h(),r=u(),n=c(e,r.themeVariables);return{themeVariables:n,radarOptions:c(n.radar,t)}},"buildRadarStyleOptions"),K={parser:O,db:k,renderer:S,styles:o(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=q(t);return`\n\t.radarTitle {\n\t\tfont-size: ${e.fontSize};\n\t\tcolor: ${e.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${r.axisColor};\n\t\tstroke-width: ${r.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tdominant-baseline: middle;\n\t\ttext-anchor: middle;\n\t\tfont-size: ${r.axisLabelFontSize}px;\n\t\tcolor: ${r.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${r.graticuleColor};\n\t\tfill-opacity: ${r.graticuleOpacity};\n\t\tstroke: ${r.graticuleColor};\n\t\tstroke-width: ${r.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${r.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${V(e,r)}\n\t`},"styles")};export{K as diagram};