mirror of
https://github.com/pengzhanbo/vuepress-theme-plume.git
synced 2026-04-23 10:58:13 +08:00
36 lines
146 KiB
JavaScript
36 lines
146 KiB
JavaScript
import{o as e,r as t,t as n}from"./chunk-VELTKBKT-MF1JIm2u.js";import"./chunk-JIN56HTB-CgNZbRDp.js";import"./chunk-QU3B7NT4-Cw7PUtsg.js";import"./chunk-H3VCZNTA-BFf2tOHH.js";import"./chunk-FXACKDTF-E2hqY5pn.js";import"./chunk-XGPFEOL4-BA-aI8Ji.js";import{t as r}from"./chunk-AEOMTBSW-yEbieymo.js";import{t as i}from"./chunk-DKKBVRCY-BkAlPj2g.js";import"./chunk-DU5LTGQ6-DwAwz2T_.js";import"./chunk-6NTNNK5N-BIB8X0lr.js";import"./chunk-RNJOYNJ4-Z-3YcsuX.js";import"./chunk-A34GCYZU-BunvEKxM.js";import"./chunk-W7ZLLLMY-B5IQFffc.js";import"./chunk-WSB5WSVC-B4s_iqpg.js";import"./chunk-DJ7UZH7F-DUPprj7S.js";import{V as a,q as o}from"./chunk-MGPAVIPZ-BiIvV5Xa.js";import{$ as s,A as c,C as l,G as u,H as d,N as f,R as p,Y as m,et as h,p as g,q as _,w as v}from"./chunk-5YUVU3PZ-BK7KuoPj.js";import{t as y}from"./chunk-267PNR3T-CJ5iXtBP.js";import{t as b}from"./chunk-7RZVMHOQ-Og-YPFwp.js";import"./chunk-XBXGYYE5-DKC57bIp.js";import{a as x,i as S}from"./chunk-2HR5LOFI-BF6gey_n.js";import{a as C,i as w,n as T,o as E}from"./chunk-BWNR3NKH-DWeyBdhh.js";import"./chunk-TYMNRAUI-kbBfS4pn.js";var D=t((e,t)=>{n((function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define([],r):typeof e==`object`?e.layoutBase=r():n.layoutBase=r()}),`webpackUniversalModuleDefinition`)(e,function(){return(function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return n(r,`__webpack_require__`),r.m=e,r.c=t,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?n(function(){return e.default},`getDefault`):n(function(){return e},`getModuleExports`);return r.d(t,`a`,t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=``,r(r.s=28)})([(function(e,t,r){function i(){}n(i,`LayoutConstants`),i.QUALITY=1,i.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,i.DEFAULT_INCREMENTAL=!1,i.DEFAULT_ANIMATION_ON_LAYOUT=!0,i.DEFAULT_ANIMATION_DURING_LAYOUT=!1,i.DEFAULT_ANIMATION_PERIOD=50,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,i.DEFAULT_GRAPH_MARGIN=15,i.NODE_DIMENSIONS_INCLUDE_LABELS=!1,i.SIMPLE_NODE_SIZE=40,i.SIMPLE_NODE_HALF_SIZE=i.SIMPLE_NODE_SIZE/2,i.EMPTY_COMPOUND_NODE_SIZE=40,i.MIN_EDGE_LENGTH=1,i.WORLD_BOUNDARY=1e6,i.INITIAL_WORLD_BOUNDARY=i.WORLD_BOUNDARY/1e3,i.WORLD_CENTER_X=1200,i.WORLD_CENTER_Y=900,e.exports=i}),(function(e,t,r){var i=r(2),a=r(8),o=r(9);function s(e,t,n){i.call(this,n),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=n,this.bendpoints=[],this.source=e,this.target=t}for(var c in n(s,`LEdge`),s.prototype=Object.create(i.prototype),i)s[c]=i[c];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(e){if(this.source===e)return this.target;if(this.target===e)return this.source;throw`Node is not incident with this edge`},s.prototype.getOtherEndInGraph=function(e,t){for(var n=this.getOtherEnd(e),r=t.getGraphManager().getRoot();;){if(n.getOwner()==t)return n;if(n.getOwner()==r)break;n=n.getOwner().getParent()}return null},s.prototype.updateLength=function(){var e=[,,,,];this.isOverlapingSourceAndTarget=a.getIntersection(this.target.getRect(),this.source.getRect(),e),this.isOverlapingSourceAndTarget||(this.lengthX=e[0]-e[2],this.lengthY=e[1]-e[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.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=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},e.exports=s}),(function(e,t,r){function i(e){this.vGraphObject=e}n(i,`LGraphObject`),e.exports=i}),(function(e,t,r){var i=r(2),a=r(10),o=r(13),s=r(0),c=r(16),l=r(5);function u(e,t,n,r){n==null&&r==null&&(r=t),i.call(this,r),e.graphManager!=null&&(e=e.graphManager),this.estimatedSize=a.MIN_VALUE,this.inclusionTreeDepth=a.MAX_VALUE,this.vGraphObject=r,this.edges=[],this.graphManager=e,n!=null&&t!=null?this.rect=new o(t.x,t.y,n.width,n.height):this.rect=new o}for(var d in n(u,`LNode`),u.prototype=Object.create(i.prototype),i)u[d]=i[d];u.prototype.getEdges=function(){return this.edges},u.prototype.getChild=function(){return this.child},u.prototype.getOwner=function(){return this.owner},u.prototype.getWidth=function(){return this.rect.width},u.prototype.setWidth=function(e){this.rect.width=e},u.prototype.getHeight=function(){return this.rect.height},u.prototype.setHeight=function(e){this.rect.height=e},u.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},u.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},u.prototype.getCenter=function(){return new l(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},u.prototype.getLocation=function(){return new l(this.rect.x,this.rect.y)},u.prototype.getRect=function(){return this.rect},u.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},u.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},u.prototype.setRect=function(e,t){this.rect.x=e.x,this.rect.y=e.y,this.rect.width=t.width,this.rect.height=t.height},u.prototype.setCenter=function(e,t){this.rect.x=e-this.rect.width/2,this.rect.y=t-this.rect.height/2},u.prototype.setLocation=function(e,t){this.rect.x=e,this.rect.y=t},u.prototype.moveBy=function(e,t){this.rect.x+=e,this.rect.y+=t},u.prototype.getEdgeListToNode=function(e){var t=[],n=this;return n.edges.forEach(function(r){if(r.target==e){if(r.source!=n)throw`Incorrect edge source!`;t.push(r)}}),t},u.prototype.getEdgesBetween=function(e){var t=[],n=this;return n.edges.forEach(function(r){if(!(r.source==n||r.target==n))throw`Incorrect edge source and/or target`;(r.target==e||r.source==e)&&t.push(r)}),t},u.prototype.getNeighborsList=function(){var e=new Set,t=this;return t.edges.forEach(function(n){if(n.source==t)e.add(n.target);else{if(n.target!=t)throw`Incorrect incidency!`;e.add(n.source)}}),e},u.prototype.withChildren=function(){var e=new Set,t,n;if(e.add(this),this.child!=null)for(var r=this.child.getNodes(),i=0;i<r.length;i++)t=r[i],n=t.withChildren(),n.forEach(function(t){e.add(t)});return e},u.prototype.getNoOfChildren=function(){var e=0,t;if(this.child==null)e=1;else for(var n=this.child.getNodes(),r=0;r<n.length;r++)t=n[r],e+=t.getNoOfChildren();return e==0&&(e=1),e},u.prototype.getEstimatedSize=function(){if(this.estimatedSize==a.MIN_VALUE)throw`assert failed`;return this.estimatedSize},u.prototype.calcEstimatedSize=function(){return this.child==null?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)},u.prototype.scatter=function(){var e,t,n=-s.INITIAL_WORLD_BOUNDARY,r=s.INITIAL_WORLD_BOUNDARY;e=s.WORLD_CENTER_X+c.nextDouble()*(r-n)+n;var i=-s.INITIAL_WORLD_BOUNDARY,a=s.INITIAL_WORLD_BOUNDARY;t=s.WORLD_CENTER_Y+c.nextDouble()*(a-i)+i,this.rect.x=e,this.rect.y=t},u.prototype.updateBounds=function(){if(this.getChild()==null)throw`assert failed`;if(this.getChild().getNodes().length!=0){var e=this.getChild();if(e.updateBounds(!0),this.rect.x=e.getLeft(),this.rect.y=e.getTop(),this.setWidth(e.getRight()-e.getLeft()),this.setHeight(e.getBottom()-e.getTop()),s.NODE_DIMENSIONS_INCLUDE_LABELS){var t=e.getRight()-e.getLeft(),n=e.getBottom()-e.getTop();this.labelWidth&&(this.labelPosHorizontal==`left`?(this.rect.x-=this.labelWidth,this.setWidth(t+this.labelWidth)):this.labelPosHorizontal==`center`&&this.labelWidth>t?(this.rect.x-=(this.labelWidth-t)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal==`right`&&this.setWidth(t+this.labelWidth)),this.labelHeight&&(this.labelPosVertical==`top`?(this.rect.y-=this.labelHeight,this.setHeight(n+this.labelHeight)):this.labelPosVertical==`center`&&this.labelHeight>n?(this.rect.y-=(this.labelHeight-n)/2,this.setHeight(this.labelHeight)):this.labelPosVertical==`bottom`&&this.setHeight(n+this.labelHeight))}}},u.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==a.MAX_VALUE)throw`assert failed`;return this.inclusionTreeDepth},u.prototype.transform=function(e){var t=this.rect.x;t>s.WORLD_BOUNDARY?t=s.WORLD_BOUNDARY:t<-s.WORLD_BOUNDARY&&(t=-s.WORLD_BOUNDARY);var n=this.rect.y;n>s.WORLD_BOUNDARY?n=s.WORLD_BOUNDARY:n<-s.WORLD_BOUNDARY&&(n=-s.WORLD_BOUNDARY);var r=new l(t,n),i=e.inverseTransformPoint(r);this.setLocation(i.x,i.y)},u.prototype.getLeft=function(){return this.rect.x},u.prototype.getRight=function(){return this.rect.x+this.rect.width},u.prototype.getTop=function(){return this.rect.y},u.prototype.getBottom=function(){return this.rect.y+this.rect.height},u.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},e.exports=u}),(function(e,t,r){var i=r(0);function a(){}for(var o in n(a,`FDLayoutConstants`),i)a[o]=i[o];a.MAX_ITERATIONS=2500,a.DEFAULT_EDGE_LENGTH=50,a.DEFAULT_SPRING_STRENGTH=.45,a.DEFAULT_REPULSION_STRENGTH=4500,a.DEFAULT_GRAVITY_STRENGTH=.4,a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,a.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,a.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,a.COOLING_ADAPTATION_FACTOR=.33,a.ADAPTATION_LOWER_NODE_LIMIT=1e3,a.ADAPTATION_UPPER_NODE_LIMIT=5e3,a.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,a.MAX_NODE_DISPLACEMENT=a.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,a.MIN_REPULSION_DIST=a.DEFAULT_EDGE_LENGTH/10,a.CONVERGENCE_CHECK_PERIOD=100,a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,a.MIN_EDGE_LENGTH=1,a.GRID_CALCULATION_CHECK_PERIOD=10,e.exports=a}),(function(e,t,r){function i(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}n(i,`PointD`),i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(e){this.x=e},i.prototype.setY=function(e){this.y=e},i.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},e.exports=i}),(function(e,t,r){var i=r(2),a=r(10),o=r(0),s=r(7),c=r(3),l=r(1),u=r(13),d=r(12),f=r(11);function p(e,t,n){i.call(this,n),this.estimatedSize=a.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=e,t!=null&&t instanceof s?this.graphManager=t:t!=null&&t instanceof Layout&&(this.graphManager=t.graphManager)}for(var m in n(p,`LGraph`),p.prototype=Object.create(i.prototype),i)p[m]=i[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(e,t,n){if(t==null&&n==null){var r=e;if(this.graphManager==null)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}else{var i=e;if(!(this.getNodes().indexOf(t)>-1&&this.getNodes().indexOf(n)>-1))throw`Source or target not in graph!`;if(!(t.owner==n.owner&&t.owner==this))throw`Both owners must be this graph!`;return t.owner==n.owner?(i.source=t,i.target=n,i.isInterGraph=!1,this.getEdges().push(i),t.edges.push(i),n!=t&&n.edges.push(i),i):null}},p.prototype.remove=function(e){var t=e;if(e instanceof c){if(t==null)throw`Node is null!`;if(!(t.owner!=null&&t.owner==this))throw`Owner graph is invalid!`;if(this.graphManager==null)throw`Owner graph manager is invalid!`;for(var n=t.edges.slice(),r,i=n.length,a=0;a<i;a++)r=n[a],r.isInterGraph?this.graphManager.remove(r):r.source.owner.remove(r);var o=this.nodes.indexOf(t);if(o==-1)throw`Node not in owner node list!`;this.nodes.splice(o,1)}else if(e instanceof l){var r=e;if(r==null)throw`Edge is null!`;if(!(r.source!=null&&r.target!=null))throw`Source and/or target is null!`;if(!(r.source.owner!=null&&r.target.owner!=null&&r.source.owner==this&&r.target.owner==this))throw`Source and/or target owner is invalid!`;var s=r.source.edges.indexOf(r),u=r.target.edges.indexOf(r);if(!(s>-1&&u>-1))throw`Source and/or target doesn't know this edge!`;r.source.edges.splice(s,1),r.target!=r.source&&r.target.edges.splice(u,1);var o=r.source.owner.getEdges().indexOf(r);if(o==-1)throw`Not in owner's edge list!`;r.source.owner.getEdges().splice(o,1)}},p.prototype.updateLeftTop=function(){for(var e=a.MAX_VALUE,t=a.MAX_VALUE,n,r,i,o=this.getNodes(),s=o.length,c=0;c<s;c++){var l=o[c];n=l.getTop(),r=l.getLeft(),e>n&&(e=n),t>r&&(t=r)}return e==a.MAX_VALUE?null:(i=o[0].getParent().paddingLeft==null?this.margin:o[0].getParent().paddingLeft,this.left=t-i,this.top=e-i,new d(this.left,this.top))},p.prototype.updateBounds=function(e){for(var t=a.MAX_VALUE,n=-a.MAX_VALUE,r=a.MAX_VALUE,i=-a.MAX_VALUE,o,s,c,l,d,f=this.nodes,p=f.length,m=0;m<p;m++){var h=f[m];e&&h.child!=null&&h.updateBounds(),o=h.getLeft(),s=h.getRight(),c=h.getTop(),l=h.getBottom(),t>o&&(t=o),n<s&&(n=s),r>c&&(r=c),i<l&&(i=l)}var g=new u(t,r,n-t,i-r);t==a.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),d=f[0].getParent().paddingLeft==null?this.margin:f[0].getParent().paddingLeft,this.left=g.x-d,this.right=g.x+g.width+d,this.top=g.y-d,this.bottom=g.y+g.height+d},p.calculateBounds=function(e){for(var t=a.MAX_VALUE,n=-a.MAX_VALUE,r=a.MAX_VALUE,i=-a.MAX_VALUE,o,s,c,l,d=e.length,f=0;f<d;f++){var p=e[f];o=p.getLeft(),s=p.getRight(),c=p.getTop(),l=p.getBottom(),t>o&&(t=o),n<s&&(n=s),r>c&&(r=c),i<l&&(i=l)}return new u(t,r,n-t,i-r)},p.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},p.prototype.getEstimatedSize=function(){if(this.estimatedSize==a.MIN_VALUE)throw`assert failed`;return this.estimatedSize},p.prototype.calcEstimatedSize=function(){for(var e=0,t=this.nodes,n=t.length,r=0;r<n;r++){var i=t[r];e+=i.calcEstimatedSize()}return e==0?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=e/Math.sqrt(this.nodes.length),this.estimatedSize},p.prototype.updateConnected=function(){var e=this;if(this.nodes.length==0){this.isConnected=!0;return}var t=new f,n=new Set,r=this.nodes[0],i,a;for(r.withChildren().forEach(function(e){t.push(e),n.add(e)});t.length!==0;){r=t.shift(),i=r.getEdges();for(var o=i.length,s=0;s<o;s++)a=i[s].getOtherEndInGraph(r,this),a!=null&&!n.has(a)&&a.withChildren().forEach(function(e){t.push(e),n.add(e)})}if(this.isConnected=!1,n.size>=this.nodes.length){var c=0;n.forEach(function(t){t.owner==e&&c++}),c==this.nodes.length&&(this.isConnected=!0)}},e.exports=p}),(function(e,t,r){var i,a=r(1);function o(e){i=r(6),this.layout=e,this.graphs=[],this.edges=[]}n(o,`LGraphManager`),o.prototype.addRoot=function(){var e=this.layout.newGraph(),t=this.layout.newNode(null),n=this.add(e,t);return this.setRootGraph(n),this.rootGraph},o.prototype.add=function(e,t,n,r,i){if(n==null&&r==null&&i==null){if(e==null)throw`Graph is null!`;if(t==null)throw`Parent node is null!`;if(this.graphs.indexOf(e)>-1)throw`Graph already in this graph mgr!`;if(this.graphs.push(e),e.parent!=null)throw`Already has a parent!`;if(t.child!=null)throw`Already has a child!`;return e.parent=t,t.child=e,e}else{i=n,r=t,n=e;var a=r.getOwner(),o=i.getOwner();if(!(a!=null&&a.getGraphManager()==this))throw`Source not in this graph mgr!`;if(!(o!=null&&o.getGraphManager()==this))throw`Target not in this graph mgr!`;if(a==o)return n.isInterGraph=!1,a.add(n,r,i);if(n.isInterGraph=!0,n.source=r,n.target=i,this.edges.indexOf(n)>-1)throw`Edge already in inter-graph edge list!`;if(this.edges.push(n),!(n.source!=null&&n.target!=null))throw`Edge source and/or target is null!`;if(!(n.source.edges.indexOf(n)==-1&&n.target.edges.indexOf(n)==-1))throw`Edge already in source and/or target incidency list!`;return n.source.edges.push(n),n.target.edges.push(n),n}},o.prototype.remove=function(e){if(e instanceof i){var t=e;if(t.getGraphManager()!=this)throw`Graph not in this graph mgr`;if(!(t==this.rootGraph||t.parent!=null&&t.parent.graphManager==this))throw`Invalid parent node!`;var n=[];n=n.concat(t.getEdges());for(var r,o=n.length,s=0;s<o;s++)r=n[s],t.remove(r);var c=[];c=c.concat(t.getNodes());var l;o=c.length;for(var s=0;s<o;s++)l=c[s],t.remove(l);t==this.rootGraph&&this.setRootGraph(null);var u=this.graphs.indexOf(t);this.graphs.splice(u,1),t.parent=null}else if(e instanceof a){if(r=e,r==null)throw`Edge is null!`;if(!r.isInterGraph)throw`Not an inter-graph edge!`;if(!(r.source!=null&&r.target!=null))throw`Source and/or target is null!`;if(!(r.source.edges.indexOf(r)!=-1&&r.target.edges.indexOf(r)!=-1))throw`Source and/or target doesn't know this edge!`;var u=r.source.edges.indexOf(r);if(r.source.edges.splice(u,1),u=r.target.edges.indexOf(r),r.target.edges.splice(u,1),!(r.source.owner!=null&&r.source.owner.getGraphManager()!=null))throw`Edge owner graph or owner graph manager is null!`;if(r.source.owner.getGraphManager().edges.indexOf(r)==-1)throw`Not in owner graph manager's edge list!`;var u=r.source.owner.getGraphManager().edges.indexOf(r);r.source.owner.getGraphManager().edges.splice(u,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(this.allNodes==null){for(var e=[],t=this.getGraphs(),n=t.length,r=0;r<n;r++)e=e.concat(t[r].getNodes());this.allNodes=e}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(this.allEdges==null){for(var e=[],t=this.getGraphs(),n=t.length,r=0;r<t.length;r++)e=e.concat(t[r].getEdges());e=e.concat(this.edges),this.allEdges=e}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(e){if(this.allNodesToApplyGravitation!=null)throw`assert failed`;this.allNodesToApplyGravitation=e},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(e){if(e.getGraphManager()!=this)throw`Root not in this graph mgr!`;this.rootGraph=e,e.parent??=this.layout.newNode(`Root node`)},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(e,t){if(!(e!=null&&t!=null))throw`assert failed`;if(e==t)return!0;var n=e.getOwner(),r;do{if(r=n.getParent(),r==null)break;if(r==t)return!0;if(n=r.getOwner(),n==null)break}while(!0);n=t.getOwner();do{if(r=n.getParent(),r==null)break;if(r==e)return!0;if(n=r.getOwner(),n==null)break}while(!0);return!1},o.prototype.calcLowestCommonAncestors=function(){for(var e,t,n,r,i,a=this.getAllEdges(),o=a.length,s=0;s<o;s++){if(e=a[s],t=e.source,n=e.target,e.lca=null,e.sourceInLca=t,e.targetInLca=n,t==n){e.lca=t.getOwner();continue}for(r=t.getOwner();e.lca==null;){for(e.targetInLca=n,i=n.getOwner();e.lca==null;){if(i==r){e.lca=i;break}if(i==this.rootGraph)break;if(e.lca!=null)throw`assert failed`;e.targetInLca=i.getParent(),i=e.targetInLca.getOwner()}if(r==this.rootGraph)break;e.lca??(e.sourceInLca=r.getParent(),r=e.sourceInLca.getOwner())}if(e.lca==null)throw`assert failed`}},o.prototype.calcLowestCommonAncestor=function(e,t){if(e==t)return e.getOwner();var n=e.getOwner();do{if(n==null)break;var r=t.getOwner();do{if(r==null)break;if(r==n)return r;r=r.getParent().getOwner()}while(!0);n=n.getParent().getOwner()}while(!0);return n},o.prototype.calcInclusionTreeDepths=function(e,t){e==null&&t==null&&(e=this.rootGraph,t=1);for(var n,r=e.getNodes(),i=r.length,a=0;a<i;a++)n=r[a],n.inclusionTreeDepth=t,n.child!=null&&this.calcInclusionTreeDepths(n.child,t+1)},o.prototype.includesInvalidEdge=function(){for(var e,t=[],n=this.edges.length,r=0;r<n;r++)e=this.edges[r],this.isOneAncestorOfOther(e.source,e.target)&&t.push(e);for(var r=0;r<t.length;r++)this.remove(t[r]);return!1},e.exports=o}),(function(e,t,r){var i=r(12);function a(){}n(a,`IGeometry`),a.calcSeparationAmount=function(e,t,n,r){if(!e.intersects(t))throw`assert failed`;var i=[,,];this.decideDirectionsForOverlappingNodes(e,t,i),n[0]=Math.min(e.getRight(),t.getRight())-Math.max(e.x,t.x),n[1]=Math.min(e.getBottom(),t.getBottom())-Math.max(e.y,t.y),e.getX()<=t.getX()&&e.getRight()>=t.getRight()?n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight()):t.getX()<=e.getX()&&t.getRight()>=e.getRight()&&(n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight())),e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()?n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()):t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()&&(n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()));var a=Math.abs((t.getCenterY()-e.getCenterY())/(t.getCenterX()-e.getCenterX()));t.getCenterY()===e.getCenterY()&&t.getCenterX()===e.getCenterX()&&(a=1);var o=a*n[0],s=n[1]/a;n[0]<s?s=n[0]:o=n[1],n[0]=-1*i[0]*(s/2+r),n[1]=-1*i[1]*(o/2+r)},a.decideDirectionsForOverlappingNodes=function(e,t,n){e.getCenterX()<t.getCenterX()?n[0]=-1:n[0]=1,e.getCenterY()<t.getCenterY()?n[1]=-1:n[1]=1},a.getIntersection2=function(e,t,n){var r=e.getCenterX(),i=e.getCenterY(),a=t.getCenterX(),o=t.getCenterY();if(e.intersects(t))return n[0]=r,n[1]=i,n[2]=a,n[3]=o,!0;var s=e.getX(),c=e.getY(),l=e.getRight(),u=e.getX(),d=e.getBottom(),f=e.getRight(),p=e.getWidthHalf(),m=e.getHeightHalf(),h=t.getX(),g=t.getY(),_=t.getRight(),v=t.getX(),y=t.getBottom(),b=t.getRight(),x=t.getWidthHalf(),S=t.getHeightHalf(),C=!1,w=!1;if(r===a){if(i>o)return n[0]=r,n[1]=c,n[2]=a,n[3]=y,!1;if(i<o)return n[0]=r,n[1]=d,n[2]=a,n[3]=g,!1}else if(i===o){if(r>a)return n[0]=s,n[1]=i,n[2]=_,n[3]=o,!1;if(r<a)return n[0]=l,n[1]=i,n[2]=h,n[3]=o,!1}else{var T=e.height/e.width,E=t.height/t.width,D=(o-i)/(a-r),O=void 0,k=void 0,A=void 0,j=void 0,M=void 0,N=void 0;if(-T===D?r>a?(n[0]=u,n[1]=d,C=!0):(n[0]=l,n[1]=c,C=!0):T===D&&(r>a?(n[0]=s,n[1]=c,C=!0):(n[0]=f,n[1]=d,C=!0)),-E===D?a>r?(n[2]=v,n[3]=y,w=!0):(n[2]=_,n[3]=g,w=!0):E===D&&(a>r?(n[2]=h,n[3]=g,w=!0):(n[2]=b,n[3]=y,w=!0)),C&&w)return!1;if(r>a?i>o?(O=this.getCardinalDirection(T,D,4),k=this.getCardinalDirection(E,D,2)):(O=this.getCardinalDirection(-T,D,3),k=this.getCardinalDirection(-E,D,1)):i>o?(O=this.getCardinalDirection(-T,D,1),k=this.getCardinalDirection(-E,D,3)):(O=this.getCardinalDirection(T,D,2),k=this.getCardinalDirection(E,D,4)),!C)switch(O){case 1:j=c,A=r+-m/D,n[0]=A,n[1]=j;break;case 2:A=f,j=i+p*D,n[0]=A,n[1]=j;break;case 3:j=d,A=r+m/D,n[0]=A,n[1]=j;break;case 4:A=u,j=i+-p*D,n[0]=A,n[1]=j;break}if(!w)switch(k){case 1:N=g,M=a+-S/D,n[2]=M,n[3]=N;break;case 2:M=b,N=o+x*D,n[2]=M,n[3]=N;break;case 3:N=y,M=a+S/D,n[2]=M,n[3]=N;break;case 4:M=v,N=o+-x*D,n[2]=M,n[3]=N;break}}return!1},a.getCardinalDirection=function(e,t,n){return e>t?n:1+n%4},a.getIntersection=function(e,t,n,r){if(r==null)return this.getIntersection2(e,t,n);var a=e.x,o=e.y,s=t.x,c=t.y,l=n.x,u=n.y,d=r.x,f=r.y,p=void 0,m=void 0,h=void 0,g=void 0,_=void 0,v=void 0,y=void 0,b=void 0,x=void 0;return h=c-o,_=a-s,y=s*o-a*c,g=f-u,v=l-d,b=d*u-l*f,x=h*v-g*_,x===0?null:(p=(_*b-v*y)/x,m=(g*y-h*b)/x,new i(p,m))},a.angleOfVector=function(e,t,n,r){var i=void 0;return e===n?i=r<t?this.ONE_AND_HALF_PI:this.HALF_PI:(i=Math.atan((r-t)/(n-e)),n<e?i+=Math.PI:r<t&&(i+=this.TWO_PI)),i},a.doIntersect=function(e,t,n,r){var i=e.x,a=e.y,o=t.x,s=t.y,c=n.x,l=n.y,u=r.x,d=r.y,f=(o-i)*(d-l)-(u-c)*(s-a);if(f===0)return!1;var p=((d-l)*(u-i)+(c-u)*(d-a))/f,m=((a-s)*(u-i)+(o-i)*(d-a))/f;return 0<p&&p<1&&0<m&&m<1},a.findCircleLineIntersections=function(e,t,n,r,i,a,o){var s=(n-e)*(n-e)+(r-t)*(r-t),c=2*((e-i)*(n-e)+(t-a)*(r-t)),l=(e-i)*(e-i)+(t-a)*(t-a)-o*o;if(c*c-4*s*l>=0){var u=(-c+Math.sqrt(c*c-4*s*l))/(2*s),d=(-c-Math.sqrt(c*c-4*s*l))/(2*s);return u>=0&&u<=1?[u]:d>=0&&d<=1?[d]:null}else return null},a.HALF_PI=.5*Math.PI,a.ONE_AND_HALF_PI=1.5*Math.PI,a.TWO_PI=2*Math.PI,a.THREE_PI=3*Math.PI,e.exports=a}),(function(e,t,r){function i(){}n(i,`IMath`),i.sign=function(e){return e>0?1:e<0?-1:0},i.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},i.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},e.exports=i}),(function(e,t,r){function i(){}n(i,`Integer`),i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,e.exports=i}),(function(e,t,r){var i=(function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return n(e,`defineProperties`),function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}})();function a(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}n(a,`_classCallCheck`);var o=n(function(e){return{value:e,next:null,prev:null}},`nodeFrom`),s=n(function(e,t,n,r){return e===null?r.head=t:e.next=t,n===null?r.tail=t:n.prev=t,t.prev=e,t.next=n,r.length++,t},`add`),c=n(function(e,t){var n=e.prev,r=e.next;return n===null?t.head=r:n.next=r,r===null?t.tail=n:r.prev=n,e.prev=e.next=null,t.length--,e},`_remove`);e.exports=(function(){function e(t){var n=this;a(this,e),this.length=0,this.head=null,this.tail=null,t?.forEach(function(e){return n.push(e)})}return n(e,`LinkedList`),i(e,[{key:`size`,value:n(function(){return this.length},`size`)},{key:`insertBefore`,value:n(function(e,t){return s(t.prev,o(e),t,this)},`insertBefore`)},{key:`insertAfter`,value:n(function(e,t){return s(t,o(e),t.next,this)},`insertAfter`)},{key:`insertNodeBefore`,value:n(function(e,t){return s(t.prev,e,t,this)},`insertNodeBefore`)},{key:`insertNodeAfter`,value:n(function(e,t){return s(t,e,t.next,this)},`insertNodeAfter`)},{key:`push`,value:n(function(e){return s(this.tail,o(e),null,this)},`push`)},{key:`unshift`,value:n(function(e){return s(null,o(e),this.head,this)},`unshift`)},{key:`remove`,value:n(function(e){return c(e,this)},`remove`)},{key:`pop`,value:n(function(){return c(this.tail,this).value},`pop`)},{key:`popNode`,value:n(function(){return c(this.tail,this)},`popNode`)},{key:`shift`,value:n(function(){return c(this.head,this).value},`shift`)},{key:`shiftNode`,value:n(function(){return c(this.head,this)},`shiftNode`)},{key:`get_object_at`,value:n(function(e){if(e<=this.length()){for(var t=1,n=this.head;t<e;)n=n.next,t++;return n.value}},`get_object_at`)},{key:`set_object_at`,value:n(function(e,t){if(e<=this.length()){for(var n=1,r=this.head;n<e;)r=r.next,n++;r.value=t}},`set_object_at`)}]),e})()}),(function(e,t,r){function i(e,t,n){this.x=null,this.y=null,e==null&&t==null&&n==null?(this.x=0,this.y=0):typeof e==`number`&&typeof t==`number`&&n==null?(this.x=e,this.y=t):e.constructor.name==`Point`&&t==null&&n==null&&(n=e,this.x=n.x,this.y=n.y)}n(i,`Point`),i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.getLocation=function(){return new i(this.x,this.y)},i.prototype.setLocation=function(e,t,n){e.constructor.name==`Point`&&t==null&&n==null?(n=e,this.setLocation(n.x,n.y)):typeof e==`number`&&typeof t==`number`&&n==null&&(parseInt(e)==e&&parseInt(t)==t?this.move(e,t):(this.x=Math.floor(e+.5),this.y=Math.floor(t+.5)))},i.prototype.move=function(e,t){this.x=e,this.y=t},i.prototype.translate=function(e,t){this.x+=e,this.y+=t},i.prototype.equals=function(e){if(e.constructor.name==`Point`){var t=e;return this.x==t.x&&this.y==t.y}return this==e},i.prototype.toString=function(){return new i().constructor.name+`[x=`+this.x+`,y=`+this.y+`]`},e.exports=i}),(function(e,t,r){function i(e,t,n,r){this.x=0,this.y=0,this.width=0,this.height=0,e!=null&&t!=null&&n!=null&&r!=null&&(this.x=e,this.y=t,this.width=n,this.height=r)}n(i,`RectangleD`),i.prototype.getX=function(){return this.x},i.prototype.setX=function(e){this.x=e},i.prototype.getY=function(){return this.y},i.prototype.setY=function(e){this.y=e},i.prototype.getWidth=function(){return this.width},i.prototype.setWidth=function(e){this.width=e},i.prototype.getHeight=function(){return this.height},i.prototype.setHeight=function(e){this.height=e},i.prototype.getRight=function(){return this.x+this.width},i.prototype.getBottom=function(){return this.y+this.height},i.prototype.intersects=function(e){return!(this.getRight()<e.x||this.getBottom()<e.y||e.getRight()<this.x||e.getBottom()<this.y)},i.prototype.getCenterX=function(){return this.x+this.width/2},i.prototype.getMinX=function(){return this.getX()},i.prototype.getMaxX=function(){return this.getX()+this.width},i.prototype.getCenterY=function(){return this.y+this.height/2},i.prototype.getMinY=function(){return this.getY()},i.prototype.getMaxY=function(){return this.getY()+this.height},i.prototype.getWidthHalf=function(){return this.width/2},i.prototype.getHeightHalf=function(){return this.height/2},e.exports=i}),(function(e,t,r){var i=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e};function a(){}n(a,`UniqueIDGeneretor`),a.lastID=0,a.createID=function(e){return a.isPrimitive(e)?e:(e.uniqueID??(e.uniqueID=a.getString(),a.lastID++),e.uniqueID)},a.getString=function(e){return e??=a.lastID,`Object#`+e},a.isPrimitive=function(e){var t=typeof e>`u`?`undefined`:i(e);return e==null||t!=`object`&&t!=`function`},e.exports=a}),(function(e,t,r){function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}else return Array.from(e)}n(i,`_toConsumableArray`);var a=r(0),o=r(7),s=r(3),c=r(1),l=r(6),u=r(5),d=r(17),f=r(29);function p(e){f.call(this),this.layoutQuality=a.QUALITY,this.createBendsAsNeeded=a.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=a.DEFAULT_INCREMENTAL,this.animationOnLayout=a.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=a.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=a.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=a.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,e!=null&&(this.isRemoteUse=e)}n(p,`Layout`),p.RANDOM_SEED=1,p.prototype=Object.create(f.prototype),p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},p.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},p.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},p.prototype.newGraphManager=function(){var e=new o(this);return this.graphManager=e,e},p.prototype.newGraph=function(e){return new l(null,this.graphManager,e)},p.prototype.newNode=function(e){return new s(this.graphManager,e)},p.prototype.newEdge=function(e){return new c(null,null,e)},p.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},p.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var e;return e=this.checkLayoutSuccess()?!1:this.layout(),a.ANIMATE===`during`?!1:(e&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,e)},p.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},p.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var e=this.graphManager.getAllEdges(),t=0;t<e.length;t++)e[t];for(var n=this.graphManager.getRoot().getNodes(),t=0;t<n.length;t++)n[t];this.update(this.graphManager.getRoot())}},p.prototype.update=function(e){if(e==null)this.update2();else if(e instanceof s){var t=e;if(t.getChild()!=null)for(var n=t.getChild().getNodes(),r=0;r<n.length;r++)update(n[r]);t.vGraphObject!=null&&t.vGraphObject.update(t)}else if(e instanceof c){var i=e;i.vGraphObject!=null&&i.vGraphObject.update(i)}else if(e instanceof l){var a=e;a.vGraphObject!=null&&a.vGraphObject.update(a)}},p.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=a.QUALITY,this.animationDuringLayout=a.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=a.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=a.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=a.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=a.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=a.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},p.prototype.transform=function(e){if(e==null)this.transform(new u(0,0));else{var t=new d,n=this.graphManager.getRoot().updateLeftTop();if(n!=null){t.setWorldOrgX(e.x),t.setWorldOrgY(e.y),t.setDeviceOrgX(n.x),t.setDeviceOrgY(n.y);for(var r=this.getAllNodes(),i,a=0;a<r.length;a++)i=r[a],i.transform(t)}}},p.prototype.positionNodesRandomly=function(e){if(e==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var t,n,r=e.getNodes(),i=0;i<r.length;i++)t=r[i],n=t.getChild(),n==null||n.getNodes().length==0?t.scatter():(this.positionNodesRandomly(n),t.updateBounds())},p.prototype.getFlatForest=function(){for(var e=[],t=!0,n=this.graphManager.getRoot().getNodes(),r=!0,a=0;a<n.length;a++)n[a].getChild()!=null&&(r=!1);if(!r)return e;var o=new Set,s=[],c=new Map,l=[];for(l=l.concat(n);l.length>0&&t;){for(s.push(l[0]);s.length>0&&t;){var u=s[0];s.splice(0,1),o.add(u);for(var d=u.getEdges(),a=0;a<d.length;a++){var f=d[a].getOtherEnd(u);if(c.get(u)!=f)if(!o.has(f))s.push(f),c.set(f,u);else{t=!1;break}}}if(!t)e=[];else{var p=[].concat(i(o));e.push(p);for(var a=0;a<p.length;a++){var m=p[a],h=l.indexOf(m);h>-1&&l.splice(h,1)}o=new Set,c=new Map}}return e},p.prototype.createDummyNodesForBendpoints=function(e){for(var t=[],n=e.source,r=this.graphManager.calcLowestCommonAncestor(e.source,e.target),i=0;i<e.bendpoints.length;i++){var a=this.newNode(null);a.setRect(new Point(0,0),new Dimension(1,1)),r.add(a);var o=this.newEdge(null);this.graphManager.add(o,n,a),t.add(a),n=a}var o=this.newEdge(null);return this.graphManager.add(o,n,e.target),this.edgeToDummyNodes.set(e,t),e.isInterGraph()?this.graphManager.remove(e):r.remove(e),t},p.prototype.createBendpointsFromDummyNodes=function(){var e=[];e=e.concat(this.graphManager.getAllEdges()),e=[].concat(i(this.edgeToDummyNodes.keys()),e);for(var t=0;t<e.length;t++){var n=e[t];if(n.bendpoints.length>0){for(var r=this.edgeToDummyNodes.get(n),a=0;a<r.length;a++){var o=r[a],s=new u(o.getCenterX(),o.getCenterY()),c=n.bendpoints.get(a);c.x=s.x,c.y=s.y,o.getOwner().remove(o)}this.graphManager.add(n,n.source,n.target)}}},p.transform=function(e,t,n,r){if(n!=null&&r!=null){var i=t;if(e<=50){var a=t/n;i-=(t-a)/50*(50-e)}else{var o=t*r;i+=(o-t)/50*(e-50)}return i}else{var s,c;return e<=50?(s=9*t/500,c=t/10):(s=9*t/50,c=-8*t),s*e+c}},p.findCenterOfTree=function(e){var t=[];t=t.concat(e);var n=[],r=new Map,i=!1,a=null;(t.length==1||t.length==2)&&(i=!0,a=t[0]);for(var o=0;o<t.length;o++){var s=t[o],c=s.getNeighborsList().size;r.set(s,s.getNeighborsList().size),c==1&&n.push(s)}var l=[];for(l=l.concat(n);!i;){var u=[];u=u.concat(l),l=[];for(var o=0;o<t.length;o++){var s=t[o],d=t.indexOf(s);d>=0&&t.splice(d,1),s.getNeighborsList().forEach(function(e){if(n.indexOf(e)<0){var t=r.get(e)-1;t==1&&l.push(e),r.set(e,t)}})}n=n.concat(l),(t.length==1||t.length==2)&&(i=!0,a=t[0])}return a},p.prototype.setGraphManager=function(e){this.graphManager=e},e.exports=p}),(function(e,t,r){function i(){}n(i,`RandomSeed`),i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},e.exports=i}),(function(e,t,r){var i=r(5);function a(e,t){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}n(a,`Transform`),a.prototype.getWorldOrgX=function(){return this.lworldOrgX},a.prototype.setWorldOrgX=function(e){this.lworldOrgX=e},a.prototype.getWorldOrgY=function(){return this.lworldOrgY},a.prototype.setWorldOrgY=function(e){this.lworldOrgY=e},a.prototype.getWorldExtX=function(){return this.lworldExtX},a.prototype.setWorldExtX=function(e){this.lworldExtX=e},a.prototype.getWorldExtY=function(){return this.lworldExtY},a.prototype.setWorldExtY=function(e){this.lworldExtY=e},a.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},a.prototype.setDeviceOrgX=function(e){this.ldeviceOrgX=e},a.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},a.prototype.setDeviceOrgY=function(e){this.ldeviceOrgY=e},a.prototype.getDeviceExtX=function(){return this.ldeviceExtX},a.prototype.setDeviceExtX=function(e){this.ldeviceExtX=e},a.prototype.getDeviceExtY=function(){return this.ldeviceExtY},a.prototype.setDeviceExtY=function(e){this.ldeviceExtY=e},a.prototype.transformX=function(e){var t=0,n=this.lworldExtX;return n!=0&&(t=this.ldeviceOrgX+(e-this.lworldOrgX)*this.ldeviceExtX/n),t},a.prototype.transformY=function(e){var t=0,n=this.lworldExtY;return n!=0&&(t=this.ldeviceOrgY+(e-this.lworldOrgY)*this.ldeviceExtY/n),t},a.prototype.inverseTransformX=function(e){var t=0,n=this.ldeviceExtX;return n!=0&&(t=this.lworldOrgX+(e-this.ldeviceOrgX)*this.lworldExtX/n),t},a.prototype.inverseTransformY=function(e){var t=0,n=this.ldeviceExtY;return n!=0&&(t=this.lworldOrgY+(e-this.ldeviceOrgY)*this.lworldExtY/n),t},a.prototype.inverseTransformPoint=function(e){return new i(this.inverseTransformX(e.x),this.inverseTransformY(e.y))},e.exports=a}),(function(e,t,r){function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}else return Array.from(e)}n(i,`_toConsumableArray`);var a=r(15),o=r(4),s=r(0),c=r(8),l=r(9);function u(){a.call(this),this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=o.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=o.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=o.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=o.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=o.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=o.MAX_ITERATIONS}for(var d in n(u,`FDLayout`),u.prototype=Object.create(a.prototype),a)u[d]=a[d];u.prototype.initParameters=function(){a.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=o.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},u.prototype.calcIdealEdgeLengths=function(){for(var e,t,n,r,i,a,c,l=this.getGraphManager().getAllEdges(),u=0;u<l.length;u++)e=l[u],t=e.idealLength,e.isInterGraph&&(r=e.getSource(),i=e.getTarget(),a=e.getSourceInLca().getEstimatedSize(),c=e.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(e.idealLength+=a+c-2*s.SIMPLE_NODE_SIZE),n=e.getLca().getInclusionTreeDepth(),e.idealLength+=t*o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(r.getInclusionTreeDepth()+i.getInclusionTreeDepth()-2*n))},u.prototype.initSpringEmbedder=function(){var e=this.getAllNodes().length;this.incremental?(e>o.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(e-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(e>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(e-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},u.prototype.calcSpringForces=function(){for(var e=this.getAllEdges(),t,n=0;n<e.length;n++)t=e[n],this.calcSpringForce(t,t.idealLength)},u.prototype.calcRepulsionForces=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n,r,i,a,s=this.getAllNodes(),c;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&e&&this.updateGrid(),c=new Set,n=0;n<s.length;n++)i=s[n],this.calculateRepulsionForceOfANode(i,c,e,t),c.add(i);else for(n=0;n<s.length;n++)for(i=s[n],r=n+1;r<s.length;r++)a=s[r],i.getOwner()==a.getOwner()&&this.calcRepulsionForce(i,a)},u.prototype.calcGravitationalForces=function(){for(var e,t=this.getAllNodesToApplyGravitation(),n=0;n<t.length;n++)e=t[n],this.calcGravitationalForce(e)},u.prototype.moveNodes=function(){for(var e=this.getAllNodes(),t,n=0;n<e.length;n++)t=e[n],t.move()},u.prototype.calcSpringForce=function(e,t){var n=e.getSource(),r=e.getTarget(),i,a,o,s;if(this.uniformLeafNodeSizes&&n.getChild()==null&&r.getChild()==null)e.updateLengthSimple();else if(e.updateLength(),e.isOverlapingSourceAndTarget)return;i=e.getLength(),i!=0&&(a=e.edgeElasticity*(i-t),o=a*(e.lengthX/i),s=a*(e.lengthY/i),n.springForceX+=o,n.springForceY+=s,r.springForceX-=o,r.springForceY-=s)},u.prototype.calcRepulsionForce=function(e,t){var n=e.getRect(),r=t.getRect(),i=[,,],a=[,,,,],s,u,d,f,p,m,h;if(n.intersects(r)){c.calcSeparationAmount(n,r,i,o.DEFAULT_EDGE_LENGTH/2),m=2*i[0],h=2*i[1];var g=e.noOfChildren*t.noOfChildren/(e.noOfChildren+t.noOfChildren);e.repulsionForceX-=g*m,e.repulsionForceY-=g*h,t.repulsionForceX+=g*m,t.repulsionForceY+=g*h}else this.uniformLeafNodeSizes&&e.getChild()==null&&t.getChild()==null?(s=r.getCenterX()-n.getCenterX(),u=r.getCenterY()-n.getCenterY()):(c.getIntersection(n,r,a),s=a[2]-a[0],u=a[3]-a[1]),Math.abs(s)<o.MIN_REPULSION_DIST&&(s=l.sign(s)*o.MIN_REPULSION_DIST),Math.abs(u)<o.MIN_REPULSION_DIST&&(u=l.sign(u)*o.MIN_REPULSION_DIST),d=s*s+u*u,f=Math.sqrt(d),p=(e.nodeRepulsion/2+t.nodeRepulsion/2)*e.noOfChildren*t.noOfChildren/d,m=p*s/f,h=p*u/f,e.repulsionForceX-=m,e.repulsionForceY-=h,t.repulsionForceX+=m,t.repulsionForceY+=h},u.prototype.calcGravitationalForce=function(e){var t=e.getOwner(),n=(t.getRight()+t.getLeft())/2,r=(t.getTop()+t.getBottom())/2,i=e.getCenterX()-n,a=e.getCenterY()-r,o=Math.abs(i)+e.getWidth()/2,s=Math.abs(a)+e.getHeight()/2,c;e.getOwner()==this.graphManager.getRoot()?(c=t.getEstimatedSize()*this.gravityRangeFactor,(o>c||s>c)&&(e.gravitationForceX=-this.gravityConstant*i,e.gravitationForceY=-this.gravityConstant*a)):(c=t.getEstimatedSize()*this.compoundGravityRangeFactor,(o>c||s>c)&&(e.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,e.gravitationForceY=-this.gravityConstant*a*this.compoundGravityConstant))},u.prototype.isConverged=function(){var e,t=!1;return this.totalIterations>this.maxIterations/3&&(t=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),e=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,e||t},u.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},u.prototype.calcNoOfChildrenForAllNodes=function(){for(var e,t=this.graphManager.getAllNodes(),n=0;n<t.length;n++)e=t[n],e.noOfChildren=e.getNoOfChildren()},u.prototype.calcGrid=function(e){var t=0,n=0;t=parseInt(Math.ceil((e.getRight()-e.getLeft())/this.repulsionRange)),n=parseInt(Math.ceil((e.getBottom()-e.getTop())/this.repulsionRange));for(var r=Array(t),i=0;i<t;i++)r[i]=Array(n);for(var i=0;i<t;i++)for(var a=0;a<n;a++)r[i][a]=[];return r},u.prototype.addNodeToGrid=function(e,t,n){var r=0,i=0,a=0,o=0;r=parseInt(Math.floor((e.getRect().x-t)/this.repulsionRange)),i=parseInt(Math.floor((e.getRect().width+e.getRect().x-t)/this.repulsionRange)),a=parseInt(Math.floor((e.getRect().y-n)/this.repulsionRange)),o=parseInt(Math.floor((e.getRect().height+e.getRect().y-n)/this.repulsionRange));for(var s=r;s<=i;s++)for(var c=a;c<=o;c++)this.grid[s][c].push(e),e.setGridCoordinates(r,i,a,o)},u.prototype.updateGrid=function(){var e,t,n=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),e=0;e<n.length;e++)t=n[e],this.addNodeToGrid(t,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},u.prototype.calculateRepulsionForceOfANode=function(e,t,n,r){if(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&n||r){var a=new Set;e.surrounding=[];for(var s,c=this.grid,l=e.startX-1;l<e.finishX+2;l++)for(var u=e.startY-1;u<e.finishY+2;u++)if(!(l<0||u<0||l>=c.length||u>=c[0].length)){for(var d=0;d<c[l][u].length;d++)if(s=c[l][u][d],!(e.getOwner()!=s.getOwner()||e==s)&&!t.has(s)&&!a.has(s)){var f=Math.abs(e.getCenterX()-s.getCenterX())-(e.getWidth()/2+s.getWidth()/2),p=Math.abs(e.getCenterY()-s.getCenterY())-(e.getHeight()/2+s.getHeight()/2);f<=this.repulsionRange&&p<=this.repulsionRange&&a.add(s)}}e.surrounding=[].concat(i(a))}for(l=0;l<e.surrounding.length;l++)this.calcRepulsionForce(e,e.surrounding[l])},u.prototype.calcRepulsionRange=function(){return 0},e.exports=u}),(function(e,t,r){var i=r(1),a=r(4);function o(e,t,n){i.call(this,e,t,n),this.idealLength=a.DEFAULT_EDGE_LENGTH,this.edgeElasticity=a.DEFAULT_SPRING_STRENGTH}for(var s in n(o,`FDLayoutEdge`),o.prototype=Object.create(i.prototype),i)o[s]=i[s];e.exports=o}),(function(e,t,r){var i=r(3),a=r(4);function o(e,t,n,r){i.call(this,e,t,n,r),this.nodeRepulsion=a.DEFAULT_REPULSION_STRENGTH,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 s in n(o,`FDLayoutNode`),o.prototype=Object.create(i.prototype),i)o[s]=i[s];o.prototype.setGridCoordinates=function(e,t,n,r){this.startX=e,this.finishX=t,this.startY=n,this.finishY=r},e.exports=o}),(function(e,t,r){function i(e,t){this.width=0,this.height=0,e!==null&&t!==null&&(this.height=t,this.width=e)}n(i,`DimensionD`),i.prototype.getWidth=function(){return this.width},i.prototype.setWidth=function(e){this.width=e},i.prototype.getHeight=function(){return this.height},i.prototype.setHeight=function(e){this.height=e},e.exports=i}),(function(e,t,r){var i=r(14);function a(){this.map={},this.keys=[]}n(a,`HashMap`),a.prototype.put=function(e,t){var n=i.createID(e);this.contains(n)||(this.map[n]=t,this.keys.push(e))},a.prototype.contains=function(e){return i.createID(e),this.map[e]!=null},a.prototype.get=function(e){var t=i.createID(e);return this.map[t]},a.prototype.keySet=function(){return this.keys},e.exports=a}),(function(e,t,r){var i=r(14);function a(){this.set={}}n(a,`HashSet`),a.prototype.add=function(e){var t=i.createID(e);this.contains(t)||(this.set[t]=e)},a.prototype.remove=function(e){delete this.set[i.createID(e)]},a.prototype.clear=function(){this.set={}},a.prototype.contains=function(e){return this.set[i.createID(e)]==e},a.prototype.isEmpty=function(){return this.size()===0},a.prototype.size=function(){return Object.keys(this.set).length},a.prototype.addAllTo=function(e){for(var t=Object.keys(this.set),n=t.length,r=0;r<n;r++)e.push(this.set[t[r]])},a.prototype.size=function(){return Object.keys(this.set).length},a.prototype.addAll=function(e){for(var t=e.length,n=0;n<t;n++){var r=e[n];this.add(r)}},e.exports=a}),(function(e,t,r){function i(){}n(i,`Matrix`),i.multMat=function(e,t){for(var n=[],r=0;r<e.length;r++){n[r]=[];for(var i=0;i<t[0].length;i++){n[r][i]=0;for(var a=0;a<e[0].length;a++)n[r][i]+=e[r][a]*t[a][i]}}return n},i.transpose=function(e){for(var t=[],n=0;n<e[0].length;n++){t[n]=[];for(var r=0;r<e.length;r++)t[n][r]=e[r][n]}return t},i.multCons=function(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=e[r]*t;return n},i.minusOp=function(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=e[r]-t[r];return n},i.dotProduct=function(e,t){for(var n=0,r=0;r<e.length;r++)n+=e[r]*t[r];return n},i.mag=function(e){return Math.sqrt(this.dotProduct(e,e))},i.normalize=function(e){for(var t=[],n=this.mag(e),r=0;r<e.length;r++)t[r]=e[r]/n;return t},i.multGamma=function(e){for(var t=[],n=0,r=0;r<e.length;r++)n+=e[r];n*=-1/e.length;for(var i=0;i<e.length;i++)t[i]=n+e[i];return t},i.multL=function(e,t,n){for(var r=[],i=[],a=[],o=0;o<t[0].length;o++){for(var s=0,c=0;c<t.length;c++)s+=-.5*t[c][o]*e[c];i[o]=s}for(var l=0;l<n.length;l++){for(var u=0,d=0;d<n.length;d++)u+=n[l][d]*i[d];a[l]=u}for(var f=0;f<t.length;f++){for(var p=0,m=0;m<t[0].length;m++)p+=t[f][m]*a[m];r[f]=p}return r},e.exports=i}),(function(e,t,r){var i=(function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return n(e,`defineProperties`),function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}})();function a(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}n(a,`_classCallCheck`);var o=r(11);e.exports=(function(){function e(t,n){a(this,e),(n!==null||n!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=t instanceof o?t.size():t.length,this._quicksort(t,0,r-1)}return n(e,`Quicksort`),i(e,[{key:`_quicksort`,value:n(function(e,t,n){if(t<n){var r=this._partition(e,t,n);this._quicksort(e,t,r),this._quicksort(e,r+1,n)}},`_quicksort`)},{key:`_partition`,value:n(function(e,t,n){for(var r=this._get(e,t),i=t,a=n;;){for(;this.compareFunction(r,this._get(e,a));)a--;for(;this.compareFunction(this._get(e,i),r);)i++;if(i<a)this._swap(e,i,a),i++,a--;else return a}},`_partition`)},{key:`_get`,value:n(function(e,t){return e instanceof o?e.get_object_at(t):e[t]},`_get`)},{key:`_set`,value:n(function(e,t,n){e instanceof o?e.set_object_at(t,n):e[t]=n},`_set`)},{key:`_swap`,value:n(function(e,t,n){var r=this._get(e,t);this._set(e,t,this._get(e,n)),this._set(e,n,r)},`_swap`)},{key:`_defaultCompareFunction`,value:n(function(e,t){return t>e},`_defaultCompareFunction`)}]),e})()}),(function(e,t,r){function i(){}n(i,`SVD`),i.svd=function(e){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=e.length,this.n=e[0].length;var t=Math.min(this.m,this.n);this.s=(function(e){for(var t=[];e-- >0;)t.push(0);return t})(Math.min(this.m+1,this.n)),this.U=(function(e){return n(function e(t){if(t.length==0)return 0;for(var n=[],r=0;r<t[0];r++)n.push(e(t.slice(1)));return n},`allocate`)(e)})([this.m,t]),this.V=(function(e){return n(function e(t){if(t.length==0)return 0;for(var n=[],r=0;r<t[0];r++)n.push(e(t.slice(1)));return n},`allocate`)(e)})([this.n,this.n]);for(var r=(function(e){for(var t=[];e-- >0;)t.push(0);return t})(this.n),a=(function(e){for(var t=[];e-- >0;)t.push(0);return t})(this.m),o=!0,s=!0,c=Math.min(this.m-1,this.n),l=Math.max(0,Math.min(this.n-2,this.m)),u=0;u<Math.max(c,l);u++){if(u<c){this.s[u]=0;for(var d=u;d<this.m;d++)this.s[u]=i.hypot(this.s[u],e[d][u]);if(this.s[u]!==0){e[u][u]<0&&(this.s[u]=-this.s[u]);for(var f=u;f<this.m;f++)e[f][u]/=this.s[u];e[u][u]+=1}this.s[u]=-this.s[u]}for(var p=u+1;p<this.n;p++){if((function(e,t){return e&&t})(u<c,this.s[u]!==0)){for(var m=0,h=u;h<this.m;h++)m+=e[h][u]*e[h][p];m=-m/e[u][u];for(var g=u;g<this.m;g++)e[g][p]+=m*e[g][u]}r[p]=e[u][p]}if((function(e,t){return e&&t})(o,u<c))for(var _=u;_<this.m;_++)this.U[_][u]=e[_][u];if(u<l){r[u]=0;for(var v=u+1;v<this.n;v++)r[u]=i.hypot(r[u],r[v]);if(r[u]!==0){r[u+1]<0&&(r[u]=-r[u]);for(var y=u+1;y<this.n;y++)r[y]/=r[u];r[u+1]+=1}if(r[u]=-r[u],(function(e,t){return e&&t})(u+1<this.m,r[u]!==0)){for(var b=u+1;b<this.m;b++)a[b]=0;for(var x=u+1;x<this.n;x++)for(var S=u+1;S<this.m;S++)a[S]+=r[x]*e[S][x];for(var C=u+1;C<this.n;C++)for(var w=-r[C]/r[u+1],T=u+1;T<this.m;T++)e[T][C]+=w*a[T]}if(s)for(var E=u+1;E<this.n;E++)this.V[E][u]=r[E]}}var D=Math.min(this.n,this.m+1);if(c<this.n&&(this.s[c]=e[c][c]),this.m<D&&(this.s[D-1]=0),l+1<D&&(r[l]=e[l][D-1]),r[D-1]=0,o){for(var O=c;O<t;O++){for(var k=0;k<this.m;k++)this.U[k][O]=0;this.U[O][O]=1}for(var A=c-1;A>=0;A--)if(this.s[A]!==0){for(var j=A+1;j<t;j++){for(var M=0,N=A;N<this.m;N++)M+=this.U[N][A]*this.U[N][j];M=-M/this.U[A][A];for(var P=A;P<this.m;P++)this.U[P][j]+=M*this.U[P][A]}for(var F=A;F<this.m;F++)this.U[F][A]=-this.U[F][A];this.U[A][A]=1+this.U[A][A];for(var I=0;I<A-1;I++)this.U[I][A]=0}else{for(var L=0;L<this.m;L++)this.U[L][A]=0;this.U[A][A]=1}}if(s)for(var R=this.n-1;R>=0;R--){if((function(e,t){return e&&t})(R<l,r[R]!==0))for(var z=R+1;z<t;z++){for(var B=0,V=R+1;V<this.n;V++)B+=this.V[V][R]*this.V[V][z];B=-B/this.V[R+1][R];for(var H=R+1;H<this.n;H++)this.V[H][z]+=B*this.V[H][R]}for(var ee=0;ee<this.n;ee++)this.V[ee][R]=0;this.V[R][R]=1}for(var te=D-1,U=0,ne=2**-52,W=2**-966;D>0;){var G=void 0,K=void 0;for(G=D-2;G>=-1&&G!==-1;G--)if(Math.abs(r[G])<=W+ne*(Math.abs(this.s[G])+Math.abs(this.s[G+1]))){r[G]=0;break}if(G===D-2)K=4;else{var q=void 0;for(q=D-1;q>=G&&q!==G;q--){var re=(q===D?0:Math.abs(r[q]))+(q===G+1?0:Math.abs(r[q-1]));if(Math.abs(this.s[q])<=W+ne*re){this.s[q]=0;break}}q===G?K=3:q===D-1?K=1:(K=2,G=q)}switch(G++,K){case 1:var J=r[D-2];r[D-2]=0;for(var Y=D-2;Y>=G;Y--){var X=i.hypot(this.s[Y],J),Z=this.s[Y]/X,ie=J/X;if(this.s[Y]=X,Y!==G&&(J=-ie*r[Y-1],r[Y-1]=Z*r[Y-1]),s)for(var Q=0;Q<this.n;Q++)X=Z*this.V[Q][Y]+ie*this.V[Q][D-1],this.V[Q][D-1]=-ie*this.V[Q][Y]+Z*this.V[Q][D-1],this.V[Q][Y]=X}break;case 2:var ae=r[G-1];r[G-1]=0;for(var oe=G;oe<D;oe++){var se=i.hypot(this.s[oe],ae),ce=this.s[oe]/se,le=ae/se;if(this.s[oe]=se,ae=-le*r[oe],r[oe]=ce*r[oe],o)for(var ue=0;ue<this.m;ue++)se=ce*this.U[ue][oe]+le*this.U[ue][G-1],this.U[ue][G-1]=-le*this.U[ue][oe]+ce*this.U[ue][G-1],this.U[ue][oe]=se}break;case 3:var de=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[D-1]),Math.abs(this.s[D-2])),Math.abs(r[D-2])),Math.abs(this.s[G])),Math.abs(r[G])),fe=this.s[D-1]/de,pe=this.s[D-2]/de,me=r[D-2]/de,he=this.s[G]/de,ge=r[G]/de,_e=((pe+fe)*(pe-fe)+me*me)/2,ve=fe*me*(fe*me),ye=0;(function(e,t){return e||t})(_e!==0,ve!==0)&&(ye=Math.sqrt(_e*_e+ve),_e<0&&(ye=-ye),ye=ve/(_e+ye));for(var be=(he+fe)*(he-fe)+ye,xe=he*ge,$=G;$<D-1;$++){var Se=i.hypot(be,xe),Ce=be/Se,we=xe/Se;if($!==G&&(r[$-1]=Se),be=Ce*this.s[$]+we*r[$],r[$]=Ce*r[$]-we*this.s[$],xe=we*this.s[$+1],this.s[$+1]=Ce*this.s[$+1],s)for(var Te=0;Te<this.n;Te++)Se=Ce*this.V[Te][$]+we*this.V[Te][$+1],this.V[Te][$+1]=-we*this.V[Te][$]+Ce*this.V[Te][$+1],this.V[Te][$]=Se;if(Se=i.hypot(be,xe),Ce=be/Se,we=xe/Se,this.s[$]=Se,be=Ce*r[$]+we*this.s[$+1],this.s[$+1]=-we*r[$]+Ce*this.s[$+1],xe=we*r[$+1],r[$+1]=Ce*r[$+1],o&&$<this.m-1)for(var Ee=0;Ee<this.m;Ee++)Se=Ce*this.U[Ee][$]+we*this.U[Ee][$+1],this.U[Ee][$+1]=-we*this.U[Ee][$]+Ce*this.U[Ee][$+1],this.U[Ee][$]=Se}r[D-2]=be,U+=1;break;case 4:if(this.s[G]<=0&&(this.s[G]=this.s[G]<0?-this.s[G]:0,s))for(var De=0;De<=te;De++)this.V[De][G]=-this.V[De][G];for(;G<te&&!(this.s[G]>=this.s[G+1]);){var Oe=this.s[G];if(this.s[G]=this.s[G+1],this.s[G+1]=Oe,s&&G<this.n-1)for(var ke=0;ke<this.n;ke++)Oe=this.V[ke][G+1],this.V[ke][G+1]=this.V[ke][G],this.V[ke][G]=Oe;if(o&&G<this.m-1)for(var Ae=0;Ae<this.m;Ae++)Oe=this.U[Ae][G+1],this.U[Ae][G+1]=this.U[Ae][G],this.U[Ae][G]=Oe;G++}U=0,D--;break}}return{U:this.U,V:this.V,S:this.s}},i.hypot=function(e,t){var n=void 0;return Math.abs(e)>Math.abs(t)?(n=t/e,n=Math.abs(e)*Math.sqrt(1+n*n)):t==0?n=0:(n=e/t,n=Math.abs(t)*Math.sqrt(1+n*n)),n},e.exports=i}),(function(e,t,r){var i=(function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return n(e,`defineProperties`),function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}})();function a(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}n(a,`_classCallCheck`),e.exports=(function(){function e(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;a(this,e),this.sequence1=t,this.sequence2=n,this.match_score=r,this.mismatch_penalty=i,this.gap_penalty=o,this.iMax=t.length+1,this.jMax=n.length+1,this.grid=Array(this.iMax);for(var s=0;s<this.iMax;s++){this.grid[s]=Array(this.jMax);for(var c=0;c<this.jMax;c++)this.grid[s][c]=0}this.tracebackGrid=Array(this.iMax);for(var l=0;l<this.iMax;l++){this.tracebackGrid[l]=Array(this.jMax);for(var u=0;u<this.jMax;u++)this.tracebackGrid[l][u]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return n(e,`NeedlemanWunsch`),i(e,[{key:`getScore`,value:n(function(){return this.score},`getScore`)},{key:`getAlignments`,value:n(function(){return this.alignments},`getAlignments`)},{key:`computeGrids`,value:n(function(){for(var e=1;e<this.jMax;e++)this.grid[0][e]=this.grid[0][e-1]+this.gap_penalty,this.tracebackGrid[0][e]=[!1,!1,!0];for(var t=1;t<this.iMax;t++)this.grid[t][0]=this.grid[t-1][0]+this.gap_penalty,this.tracebackGrid[t][0]=[!1,!0,!1];for(var n=1;n<this.iMax;n++)for(var r=1;r<this.jMax;r++){var i=void 0;i=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;var a=this.grid[n-1][r]+this.gap_penalty,o=this.grid[n][r-1]+this.gap_penalty,s=[i,a,o],c=this.arrayAllMaxIndexes(s);this.grid[n][r]=s[c[0]],this.tracebackGrid[n][r]=[c.includes(0),c.includes(1),c.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]},`computeGrids`)},{key:`alignmentTraceback`,value:n(function(){var e=[];for(e.push({pos:[this.sequence1.length,this.sequence2.length],seq1:``,seq2:``});e[0];){var t=e[0],n=this.tracebackGrid[t.pos[0]][t.pos[1]];n[0]&&e.push({pos:[t.pos[0]-1,t.pos[1]-1],seq1:this.sequence1[t.pos[0]-1]+t.seq1,seq2:this.sequence2[t.pos[1]-1]+t.seq2}),n[1]&&e.push({pos:[t.pos[0]-1,t.pos[1]],seq1:this.sequence1[t.pos[0]-1]+t.seq1,seq2:`-`+t.seq2}),n[2]&&e.push({pos:[t.pos[0],t.pos[1]-1],seq1:`-`+t.seq1,seq2:this.sequence2[t.pos[1]-1]+t.seq2}),t.pos[0]===0&&t.pos[1]===0&&this.alignments.push({sequence1:t.seq1,sequence2:t.seq2}),e.shift()}return this.alignments},`alignmentTraceback`)},{key:`getAllIndexes`,value:n(function(e,t){for(var n=[],r=-1;(r=e.indexOf(t,r+1))!==-1;)n.push(r);return n},`getAllIndexes`)},{key:`arrayAllMaxIndexes`,value:n(function(e){return this.getAllIndexes(e,Math.max.apply(null,e))},`arrayAllMaxIndexes`)}]),e})()}),(function(e,t,r){var i=n(function(){},`layoutBase`);i.FDLayout=r(18),i.FDLayoutConstants=r(4),i.FDLayoutEdge=r(19),i.FDLayoutNode=r(20),i.DimensionD=r(21),i.HashMap=r(22),i.HashSet=r(23),i.IGeometry=r(8),i.IMath=r(9),i.Integer=r(10),i.Point=r(12),i.PointD=r(5),i.RandomSeed=r(16),i.RectangleD=r(13),i.Transform=r(17),i.UniqueIDGeneretor=r(14),i.Quicksort=r(25),i.LinkedList=r(11),i.LGraphObject=r(2),i.LGraph=r(6),i.LEdge=r(1),i.LGraphManager=r(7),i.LNode=r(3),i.Layout=r(15),i.LayoutConstants=r(0),i.NeedlemanWunsch=r(27),i.Matrix=r(24),i.SVD=r(26),e.exports=i}),(function(e,t,r){function i(){this.listeners=[]}n(i,`Emitter`);var a=i.prototype;a.addListener=function(e,t){this.listeners.push({event:e,callback:t})},a.removeListener=function(e,t){for(var n=this.listeners.length;n>=0;n--){var r=this.listeners[n];r.event===e&&r.callback===t&&this.listeners.splice(n,1)}},a.emit=function(e,t){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];e===r.event&&r.callback(t)}},e.exports=i})])})}),O=t((e,t)=>{n((function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r(D()):typeof define==`function`&&define.amd?define([`layout-base`],r):typeof e==`object`?e.coseBase=r(D()):n.coseBase=r(n.layoutBase)}),`webpackUniversalModuleDefinition`)(e,function(e){return(()=>{var t={45:((e,t,n)=>{var r={};r.layoutBase=n(551),r.CoSEConstants=n(806),r.CoSEEdge=n(767),r.CoSEGraph=n(880),r.CoSEGraphManager=n(578),r.CoSELayout=n(765),r.CoSENode=n(991),r.ConstraintHandler=n(902),e.exports=r}),806:((e,t,r)=>{var i=r(551).FDLayoutConstants;function a(){}for(var o in n(a,`CoSEConstants`),i)a[o]=i[o];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,a.ENFORCE_CONSTRAINTS=!0,a.APPLY_LAYOUT=!0,a.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,a.TREE_REDUCTION_ON_INCREMENTAL=!0,a.PURE_INCREMENTAL=a.DEFAULT_INCREMENTAL,e.exports=a}),767:((e,t,r)=>{var i=r(551).FDLayoutEdge;function a(e,t,n){i.call(this,e,t,n)}for(var o in n(a,`CoSEEdge`),a.prototype=Object.create(i.prototype),i)a[o]=i[o];e.exports=a}),880:((e,t,r)=>{var i=r(551).LGraph;function a(e,t,n){i.call(this,e,t,n)}for(var o in n(a,`CoSEGraph`),a.prototype=Object.create(i.prototype),i)a[o]=i[o];e.exports=a}),578:((e,t,r)=>{var i=r(551).LGraphManager;function a(e){i.call(this,e)}for(var o in n(a,`CoSEGraphManager`),a.prototype=Object.create(i.prototype),i)a[o]=i[o];e.exports=a}),765:((e,t,r)=>{var i=r(551).FDLayout,a=r(578),o=r(880),s=r(991),c=r(767),l=r(806),u=r(902),d=r(551).FDLayoutConstants,f=r(551).LayoutConstants,p=r(551).Point,m=r(551).PointD,h=r(551).DimensionD,g=r(551).Layout,_=r(551).Integer,v=r(551).IGeometry,y=r(551).LGraph,b=r(551).Transform,x=r(551).LinkedList;function S(){i.call(this),this.toBeTiled={},this.constraints={}}for(var C in n(S,`CoSELayout`),S.prototype=Object.create(i.prototype),i)S[C]=i[C];S.prototype.newGraphManager=function(){var e=new a(this);return this.graphManager=e,e},S.prototype.newGraph=function(e){return new o(null,this.graphManager,e)},S.prototype.newNode=function(e){return new s(this.graphManager,e)},S.prototype.newEdge=function(e){return new c(null,null,e)},S.prototype.initParameters=function(){i.prototype.initParameters.call(this,arguments),this.isSubLayout||(l.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=l.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=d.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=d.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=d.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=d.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},S.prototype.initSpringEmbedder=function(){i.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/d.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},S.prototype.layout=function(){return f.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},S.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){if(l.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),t=this.nodesWithGravity.filter(function(t){return e.has(t)});this.graphManager.setAllNodesToApplyGravitation(t)}}else{var n=this.getFlatForest();if(n.length>0)this.positionNodesRadially(n);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),t=this.nodesWithGravity.filter(function(t){return e.has(t)});this.graphManager.setAllNodesToApplyGravitation(t),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(u.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),l.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},S.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-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 e=new Set(this.getAllNodes()),t=this.nodesWithGravity.filter(function(t){return e.has(t)});this.graphManager.setAllNodesToApplyGravitation(t),this.graphManager.updateBounds(),this.updateGrid(),l.PURE_INCREMENTAL?this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=d.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()),l.PURE_INCREMENTAL?this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=d.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},S.prototype.getPositionsData=function(){for(var e=this.graphManager.getAllNodes(),t={},n=0;n<e.length;n++){var r=e[n].rect,i=e[n].id;t[i]={id:i,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return t},S.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var e=!1;if(d.ANIMATE===`during`)this.emit(`layoutstarted`);else{for(;!e;)e=this.tick();this.graphManager.updateBounds()}},S.prototype.moveNodes=function(){for(var e=this.getAllNodes(),t,n=0;n<e.length;n++)t=e[n],t.calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var n=0;n<e.length;n++)t=e[n],t.move()},S.prototype.initConstraintVariables=function(){var e=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var t=this.graphManager.getAllNodes(),r=0;r<t.length;r++){var i=t[r];this.idToNodeMap.set(i.id,i)}var a=n(function t(n){for(var r=n.getChild().getNodes(),i,a=0,o=0;o<r.length;o++)i=r[o],i.getChild()==null?e.fixedNodeSet.has(i.id)&&(a+=100):a+=t(i);return a},`calculateCompoundWeight`);if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(t){e.fixedNodeSet.add(t.nodeId)});for(var t=this.graphManager.getAllNodes(),i,r=0;r<t.length;r++)if(i=t[r],i.getChild()!=null){var o=a(i);o>0&&(i.fixedNodeWeight=o)}}if(this.constraints.relativePlacementConstraint){var s=new Map,c=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(t){e.fixedNodesOnHorizontal.add(t),e.fixedNodesOnVertical.add(t)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var u=this.constraints.alignmentConstraint.vertical,r=0;r<u.length;r++)this.dummyToNodeForVerticalAlignment.set(`dummy`+r,[]),u[r].forEach(function(t){s.set(t,`dummy`+r),e.dummyToNodeForVerticalAlignment.get(`dummy`+r).push(t),e.fixedNodeSet.has(t)&&e.fixedNodesOnHorizontal.add(`dummy`+r)});if(this.constraints.alignmentConstraint.horizontal)for(var d=this.constraints.alignmentConstraint.horizontal,r=0;r<d.length;r++)this.dummyToNodeForHorizontalAlignment.set(`dummy`+r,[]),d[r].forEach(function(t){c.set(t,`dummy`+r),e.dummyToNodeForHorizontalAlignment.get(`dummy`+r).push(t),e.fixedNodeSet.has(t)&&e.fixedNodesOnVertical.add(`dummy`+r)})}if(l.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(e){var t,n,r;for(r=e.length-1;r>=2*e.length/3;r--)t=Math.floor(Math.random()*(r+1)),n=e[r],e[r]=e[t],e[t]=n;return e},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(t){if(t.left){var n=s.has(t.left)?s.get(t.left):t.left,r=s.has(t.right)?s.get(t.right):t.right;e.nodesInRelativeHorizontal.includes(n)||(e.nodesInRelativeHorizontal.push(n),e.nodeToRelativeConstraintMapHorizontal.set(n,[]),e.dummyToNodeForVerticalAlignment.has(n)?e.nodeToTempPositionMapHorizontal.set(n,e.idToNodeMap.get(e.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):e.nodeToTempPositionMapHorizontal.set(n,e.idToNodeMap.get(n).getCenterX())),e.nodesInRelativeHorizontal.includes(r)||(e.nodesInRelativeHorizontal.push(r),e.nodeToRelativeConstraintMapHorizontal.set(r,[]),e.dummyToNodeForVerticalAlignment.has(r)?e.nodeToTempPositionMapHorizontal.set(r,e.idToNodeMap.get(e.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):e.nodeToTempPositionMapHorizontal.set(r,e.idToNodeMap.get(r).getCenterX())),e.nodeToRelativeConstraintMapHorizontal.get(n).push({right:r,gap:t.gap}),e.nodeToRelativeConstraintMapHorizontal.get(r).push({left:n,gap:t.gap})}else{var i=c.has(t.top)?c.get(t.top):t.top,a=c.has(t.bottom)?c.get(t.bottom):t.bottom;e.nodesInRelativeVertical.includes(i)||(e.nodesInRelativeVertical.push(i),e.nodeToRelativeConstraintMapVertical.set(i,[]),e.dummyToNodeForHorizontalAlignment.has(i)?e.nodeToTempPositionMapVertical.set(i,e.idToNodeMap.get(e.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):e.nodeToTempPositionMapVertical.set(i,e.idToNodeMap.get(i).getCenterY())),e.nodesInRelativeVertical.includes(a)||(e.nodesInRelativeVertical.push(a),e.nodeToRelativeConstraintMapVertical.set(a,[]),e.dummyToNodeForHorizontalAlignment.has(a)?e.nodeToTempPositionMapVertical.set(a,e.idToNodeMap.get(e.dummyToNodeForHorizontalAlignment.get(a)[0]).getCenterY()):e.nodeToTempPositionMapVertical.set(a,e.idToNodeMap.get(a).getCenterY())),e.nodeToRelativeConstraintMapVertical.get(i).push({bottom:a,gap:t.gap}),e.nodeToRelativeConstraintMapVertical.get(a).push({top:i,gap:t.gap})}});else{var f=new Map,p=new Map;this.constraints.relativePlacementConstraint.forEach(function(e){if(e.left){var t=s.has(e.left)?s.get(e.left):e.left,n=s.has(e.right)?s.get(e.right):e.right;f.has(t)?f.get(t).push(n):f.set(t,[n]),f.has(n)?f.get(n).push(t):f.set(n,[t])}else{var r=c.has(e.top)?c.get(e.top):e.top,i=c.has(e.bottom)?c.get(e.bottom):e.bottom;p.has(r)?p.get(r).push(i):p.set(r,[i]),p.has(i)?p.get(i).push(r):p.set(i,[r])}});var m=n(function(e,t){var n=[],r=[],i=new x,a=new Set,o=0;return e.forEach(function(s,c){if(!a.has(c)){n[o]=[],r[o]=!1;var l=c;for(i.push(l),a.add(l),n[o].push(l);i.length!=0;)l=i.shift(),t.has(l)&&(r[o]=!0),e.get(l).forEach(function(e){a.has(e)||(i.push(e),a.add(e),n[o].push(e))});o++}}),{components:n,isFixed:r}},`constructComponents`),h=m(f,e.fixedNodesOnHorizontal);this.componentsOnHorizontal=h.components,this.fixedComponentsOnHorizontal=h.isFixed;var g=m(p,e.fixedNodesOnVertical);this.componentsOnVertical=g.components,this.fixedComponentsOnVertical=g.isFixed}}},S.prototype.updateDisplacements=function(){var e=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(t){var n=e.idToNodeMap.get(t.nodeId);n.displacementX=0,n.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var t=this.constraints.alignmentConstraint.vertical,n=0;n<t.length;n++){for(var r=0,i=0;i<t[n].length;i++){if(this.fixedNodeSet.has(t[n][i])){r=0;break}r+=this.idToNodeMap.get(t[n][i]).displacementX}for(var a=r/t[n].length,i=0;i<t[n].length;i++)this.idToNodeMap.get(t[n][i]).displacementX=a}if(this.constraints.alignmentConstraint.horizontal)for(var o=this.constraints.alignmentConstraint.horizontal,n=0;n<o.length;n++){for(var s=0,i=0;i<o[n].length;i++){if(this.fixedNodeSet.has(o[n][i])){s=0;break}s+=this.idToNodeMap.get(o[n][i]).displacementY}for(var c=s/o[n].length,i=0;i<o[n].length;i++)this.idToNodeMap.get(o[n][i]).displacementY=c}}if(this.constraints.relativePlacementConstraint)if(l.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(t){if(!e.fixedNodesOnHorizontal.has(t)){var n=0;n=e.dummyToNodeForVerticalAlignment.has(t)?e.idToNodeMap.get(e.dummyToNodeForVerticalAlignment.get(t)[0]).displacementX:e.idToNodeMap.get(t).displacementX,e.nodeToRelativeConstraintMapHorizontal.get(t).forEach(function(r){if(r.right){var i=e.nodeToTempPositionMapHorizontal.get(r.right)-e.nodeToTempPositionMapHorizontal.get(t)-n;i<r.gap&&(n-=r.gap-i)}else{var i=e.nodeToTempPositionMapHorizontal.get(t)-e.nodeToTempPositionMapHorizontal.get(r.left)+n;i<r.gap&&(n+=r.gap-i)}}),e.nodeToTempPositionMapHorizontal.set(t,e.nodeToTempPositionMapHorizontal.get(t)+n),e.dummyToNodeForVerticalAlignment.has(t)?e.dummyToNodeForVerticalAlignment.get(t).forEach(function(t){e.idToNodeMap.get(t).displacementX=n}):e.idToNodeMap.get(t).displacementX=n}}),this.nodesInRelativeVertical.forEach(function(t){if(!e.fixedNodesOnHorizontal.has(t)){var n=0;n=e.dummyToNodeForHorizontalAlignment.has(t)?e.idToNodeMap.get(e.dummyToNodeForHorizontalAlignment.get(t)[0]).displacementY:e.idToNodeMap.get(t).displacementY,e.nodeToRelativeConstraintMapVertical.get(t).forEach(function(r){if(r.bottom){var i=e.nodeToTempPositionMapVertical.get(r.bottom)-e.nodeToTempPositionMapVertical.get(t)-n;i<r.gap&&(n-=r.gap-i)}else{var i=e.nodeToTempPositionMapVertical.get(t)-e.nodeToTempPositionMapVertical.get(r.top)+n;i<r.gap&&(n+=r.gap-i)}}),e.nodeToTempPositionMapVertical.set(t,e.nodeToTempPositionMapVertical.get(t)+n),e.dummyToNodeForHorizontalAlignment.has(t)?e.dummyToNodeForHorizontalAlignment.get(t).forEach(function(t){e.idToNodeMap.get(t).displacementY=n}):e.idToNodeMap.get(t).displacementY=n}});else{for(var n=0;n<this.componentsOnHorizontal.length;n++){var u=this.componentsOnHorizontal[n];if(this.fixedComponentsOnHorizontal[n])for(var i=0;i<u.length;i++)this.dummyToNodeForVerticalAlignment.has(u[i])?this.dummyToNodeForVerticalAlignment.get(u[i]).forEach(function(t){e.idToNodeMap.get(t).displacementX=0}):this.idToNodeMap.get(u[i]).displacementX=0;else{for(var d=0,f=0,i=0;i<u.length;i++)if(this.dummyToNodeForVerticalAlignment.has(u[i])){var p=this.dummyToNodeForVerticalAlignment.get(u[i]);d+=p.length*this.idToNodeMap.get(p[0]).displacementX,f+=p.length}else d+=this.idToNodeMap.get(u[i]).displacementX,f++;for(var m=d/f,i=0;i<u.length;i++)this.dummyToNodeForVerticalAlignment.has(u[i])?this.dummyToNodeForVerticalAlignment.get(u[i]).forEach(function(t){e.idToNodeMap.get(t).displacementX=m}):this.idToNodeMap.get(u[i]).displacementX=m}}for(var n=0;n<this.componentsOnVertical.length;n++){var u=this.componentsOnVertical[n];if(this.fixedComponentsOnVertical[n])for(var i=0;i<u.length;i++)this.dummyToNodeForHorizontalAlignment.has(u[i])?this.dummyToNodeForHorizontalAlignment.get(u[i]).forEach(function(t){e.idToNodeMap.get(t).displacementY=0}):this.idToNodeMap.get(u[i]).displacementY=0;else{for(var d=0,f=0,i=0;i<u.length;i++)if(this.dummyToNodeForHorizontalAlignment.has(u[i])){var p=this.dummyToNodeForHorizontalAlignment.get(u[i]);d+=p.length*this.idToNodeMap.get(p[0]).displacementY,f+=p.length}else d+=this.idToNodeMap.get(u[i]).displacementY,f++;for(var m=d/f,i=0;i<u.length;i++)this.dummyToNodeForHorizontalAlignment.has(u[i])?this.dummyToNodeForHorizontalAlignment.get(u[i]).forEach(function(t){e.idToNodeMap.get(t).displacementY=m}):this.idToNodeMap.get(u[i]).displacementY=m}}}},S.prototype.calculateNodesToApplyGravitationTo=function(){var e=[],t,n=this.graphManager.getGraphs(),r=n.length,i;for(i=0;i<r;i++)t=n[i],t.updateConnected(),t.isConnected||(e=e.concat(t.getNodes()));return e},S.prototype.createBendpoints=function(){var e=[];e=e.concat(this.graphManager.getAllEdges());var t=new Set,n;for(n=0;n<e.length;n++){var r=e[n];if(!t.has(r)){var i=r.getSource(),a=r.getTarget();if(i==a)r.getBendpoints().push(new m),r.getBendpoints().push(new m),this.createDummyNodesForBendpoints(r),t.add(r);else{var o=[];if(o=o.concat(i.getEdgeListToNode(a)),o=o.concat(a.getEdgeListToNode(i)),!t.has(o[0])){if(o.length>1){var s;for(s=0;s<o.length;s++){var c=o[s];c.getBendpoints().push(new m),this.createDummyNodesForBendpoints(c)}}o.forEach(function(e){t.add(e)})}}}if(t.size==e.length)break}},S.prototype.positionNodesRadially=function(e){for(var t=new p(0,0),n=Math.ceil(Math.sqrt(e.length)),r=0,i=0,a=0,o=new m(0,0),s=0;s<e.length;s++){s%n==0&&(a=0,i=r,s!=0&&(i+=l.DEFAULT_COMPONENT_SEPERATION),r=0);var c=e[s],u=g.findCenterOfTree(c);t.x=a,t.y=i,o=S.radialLayout(c,u,t),o.y>r&&(r=Math.floor(o.y)),a=Math.floor(o.x+l.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(f.WORLD_CENTER_X-o.x/2,f.WORLD_CENTER_Y-o.y/2))},S.radialLayout=function(e,t,n){var r=Math.max(this.maxDiagonalInTree(e),l.DEFAULT_RADIAL_SEPARATION);S.branchRadialLayout(t,null,0,359,0,r);var i=y.calculateBounds(e),a=new b;a.setDeviceOrgX(i.getMinX()),a.setDeviceOrgY(i.getMinY()),a.setWorldOrgX(n.x),a.setWorldOrgY(n.y);for(var o=0;o<e.length;o++)e[o].transform(a);var s=new m(i.getMaxX(),i.getMaxY());return a.inverseTransformPoint(s)},S.branchRadialLayout=function(e,t,n,r,i,a){var o=(r-n+1)/2;o<0&&(o+=180);var s=(o+n)%360*v.TWO_PI/360,c=i*Math.cos(s),l=i*Math.sin(s);e.setCenter(c,l);var u=[];u=u.concat(e.getEdges());var d=u.length;t!=null&&d--;for(var f=0,p=u.length,m,h=e.getEdgesBetween(t);h.length>1;){var g=h[0];h.splice(0,1);var _=u.indexOf(g);_>=0&&u.splice(_,1),p--,d--}m=t==null?0:(u.indexOf(h[0])+1)%p;for(var y=Math.abs(r-n)/d,b=m;f!=d;b=++b%p){var x=u[b].getOtherEnd(e);if(x!=t){var C=(n+f*y)%360,w=(C+y)%360;S.branchRadialLayout(x,e,C,w,i+a,a),f++}}},S.maxDiagonalInTree=function(e){for(var t=_.MIN_VALUE,n=0;n<e.length;n++){var r=e[n].getDiagonal();r>t&&(t=r)}return t},S.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},S.prototype.groupZeroDegreeMembers=function(){var e=this,t={};this.memberGroups={},this.idToDummyNode={};for(var n=[],r=this.graphManager.getAllNodes(),i=0;i<r.length;i++){var a=r[i],o=a.getParent();this.getNodeDegreeWithChildren(a)===0&&(o.id==null||!this.getToBeTiled(o))&&n.push(a)}for(var i=0;i<n.length;i++){var a=n[i],c=a.getParent().id;typeof t[c]>`u`&&(t[c]=[]),t[c]=t[c].concat(a)}Object.keys(t).forEach(function(n){if(t[n].length>1){var r=`DummyCompound_`+n;e.memberGroups[r]=t[n];var i=t[n][0].getParent(),a=new s(e.graphManager);a.id=r,a.paddingLeft=i.paddingLeft||0,a.paddingRight=i.paddingRight||0,a.paddingBottom=i.paddingBottom||0,a.paddingTop=i.paddingTop||0,e.idToDummyNode[r]=a;var o=e.getGraphManager().add(e.newGraph(),a),c=i.getChild();c.add(a);for(var l=0;l<t[n].length;l++){var u=t[n][l];c.remove(u),o.add(u)}}})},S.prototype.clearCompounds=function(){var e={},t={};this.performDFSOnCompounds();for(var n=0;n<this.compoundOrder.length;n++)t[this.compoundOrder[n].id]=this.compoundOrder[n],e[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(e,t)},S.prototype.clearZeroDegreeMembers=function(){var e=this,t=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(n){var r=e.idToDummyNode[n];if(t[n]=e.tileNodes(e.memberGroups[n],r.paddingLeft+r.paddingRight),r.rect.width=t[n].width,r.rect.height=t[n].height,r.setCenter(t[n].centerX,t[n].centerY),r.labelMarginLeft=0,r.labelMarginTop=0,l.NODE_DIMENSIONS_INCLUDE_LABELS){var i=r.rect.width,a=r.rect.height;r.labelWidth&&(r.labelPosHorizontal==`left`?(r.rect.x-=r.labelWidth,r.setWidth(i+r.labelWidth),r.labelMarginLeft=r.labelWidth):r.labelPosHorizontal==`center`&&r.labelWidth>i?(r.rect.x-=(r.labelWidth-i)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-i)/2):r.labelPosHorizontal==`right`&&r.setWidth(i+r.labelWidth)),r.labelHeight&&(r.labelPosVertical==`top`?(r.rect.y-=r.labelHeight,r.setHeight(a+r.labelHeight),r.labelMarginTop=r.labelHeight):r.labelPosVertical==`center`&&r.labelHeight>a?(r.rect.y-=(r.labelHeight-a)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-a)/2):r.labelPosVertical==`bottom`&&r.setHeight(a+r.labelHeight))}})},S.prototype.repopulateCompounds=function(){for(var e=this.compoundOrder.length-1;e>=0;e--){var t=this.compoundOrder[e],n=t.id,r=t.paddingLeft,i=t.paddingTop,a=t.labelMarginLeft,o=t.labelMarginTop;this.adjustLocations(this.tiledMemberPack[n],t.rect.x,t.rect.y,r,i,a,o)}},S.prototype.repopulateZeroDegreeMembers=function(){var e=this,t=this.tiledZeroDegreePack;Object.keys(t).forEach(function(n){var r=e.idToDummyNode[n],i=r.paddingLeft,a=r.paddingTop,o=r.labelMarginLeft,s=r.labelMarginTop;e.adjustLocations(t[n],r.rect.x,r.rect.y,i,a,o,s)})},S.prototype.getToBeTiled=function(e){var t=e.id;if(this.toBeTiled[t]!=null)return this.toBeTiled[t];var n=e.getChild();if(n==null)return this.toBeTiled[t]=!1,!1;for(var r=n.getNodes(),i=0;i<r.length;i++){var a=r[i];if(this.getNodeDegree(a)>0)return this.toBeTiled[t]=!1,!1;if(a.getChild()==null){this.toBeTiled[a.id]=!1;continue}if(!this.getToBeTiled(a))return this.toBeTiled[t]=!1,!1}return this.toBeTiled[t]=!0,!0},S.prototype.getNodeDegree=function(e){for(var t=e.id,n=e.getEdges(),r=0,i=0;i<n.length;i++){var a=n[i];a.getSource().id!==a.getTarget().id&&(r+=1)}return r},S.prototype.getNodeDegreeWithChildren=function(e){var t=this.getNodeDegree(e);if(e.getChild()==null)return t;for(var n=e.getChild().getNodes(),r=0;r<n.length;r++){var i=n[r];t+=this.getNodeDegreeWithChildren(i)}return t},S.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},S.prototype.fillCompexOrderByDFS=function(e){for(var t=0;t<e.length;t++){var n=e[t];n.getChild()!=null&&this.fillCompexOrderByDFS(n.getChild().getNodes()),this.getToBeTiled(n)&&this.compoundOrder.push(n)}},S.prototype.adjustLocations=function(e,t,n,r,i,a,o){t+=r+a,n+=i+o;for(var s=t,c=0;c<e.rows.length;c++){var l=e.rows[c];t=s;for(var u=0,d=0;d<l.length;d++){var f=l[d];f.rect.x=t,f.rect.y=n,t+=f.rect.width+e.horizontalPadding,f.rect.height>u&&(u=f.rect.height)}n+=u+e.verticalPadding}},S.prototype.tileCompoundMembers=function(e,t){var n=this;this.tiledMemberPack=[],Object.keys(e).forEach(function(r){var i=t[r];if(n.tiledMemberPack[r]=n.tileNodes(e[r],i.paddingLeft+i.paddingRight),i.rect.width=n.tiledMemberPack[r].width,i.rect.height=n.tiledMemberPack[r].height,i.setCenter(n.tiledMemberPack[r].centerX,n.tiledMemberPack[r].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,l.NODE_DIMENSIONS_INCLUDE_LABELS){var a=i.rect.width,o=i.rect.height;i.labelWidth&&(i.labelPosHorizontal==`left`?(i.rect.x-=i.labelWidth,i.setWidth(a+i.labelWidth),i.labelMarginLeft=i.labelWidth):i.labelPosHorizontal==`center`&&i.labelWidth>a?(i.rect.x-=(i.labelWidth-a)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-a)/2):i.labelPosHorizontal==`right`&&i.setWidth(a+i.labelWidth)),i.labelHeight&&(i.labelPosVertical==`top`?(i.rect.y-=i.labelHeight,i.setHeight(o+i.labelHeight),i.labelMarginTop=i.labelHeight):i.labelPosVertical==`center`&&i.labelHeight>o?(i.rect.y-=(i.labelHeight-o)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-o)/2):i.labelPosVertical==`bottom`&&i.setHeight(o+i.labelHeight))}})},S.prototype.tileNodes=function(e,t){var n=this.tileNodesByFavoringDim(e,t,!0),r=this.tileNodesByFavoringDim(e,t,!1),i=this.getOrgRatio(n),a=this.getOrgRatio(r),o;return o=a<i?r:n,o},S.prototype.getOrgRatio=function(e){var t=e.width/e.height;return t<1&&(t=1/t),t},S.prototype.calcIdealRowWidth=function(e,t){var n=l.TILING_PADDING_VERTICAL,r=l.TILING_PADDING_HORIZONTAL,i=e.length,a=0,o=0,s=0;e.forEach(function(e){a+=e.getWidth(),o+=e.getHeight(),e.getWidth()>s&&(s=e.getWidth())});var c=a/i,u=o/i,d=(n-r)**2+4*(c+r)*(u+n)*i,f=(r-n+Math.sqrt(d))/(2*(c+r)),p;t?(p=Math.ceil(f),p==f&&p++):p=Math.floor(f);var m=p*(c+r)-r;return s>m&&(m=s),m+=r*2,m},S.prototype.tileNodesByFavoringDim=function(e,t,r){var i=l.TILING_PADDING_VERTICAL,a=l.TILING_PADDING_HORIZONTAL,o=l.TILING_COMPARE_BY,s={rows:[],rowWidth:[],rowHeight:[],width:0,height:t,verticalPadding:i,horizontalPadding:a,centerX:0,centerY:0};o&&(s.idealRowWidth=this.calcIdealRowWidth(e,r));var c=n(function(e){return e.rect.width*e.rect.height},`getNodeArea`),u=n(function(e,t){return c(t)-c(e)},`areaCompareFcn`);e.sort(function(e,t){var n=u;return s.idealRowWidth?(n=o,n(e.id,t.id)):n(e,t)});for(var d=0,f=0,p=0;p<e.length;p++){var m=e[p];d+=m.getCenterX(),f+=m.getCenterY()}s.centerX=d/e.length,s.centerY=f/e.length;for(var p=0;p<e.length;p++){var m=e[p];if(s.rows.length==0)this.insertNodeToRow(s,m,0,t);else if(this.canAddHorizontal(s,m.rect.width,m.rect.height)){var h=s.rows.length-1;s.idealRowWidth||(h=this.getShortestRowIndex(s)),this.insertNodeToRow(s,m,h,t)}else this.insertNodeToRow(s,m,s.rows.length,t);this.shiftToLastRow(s)}return s},S.prototype.insertNodeToRow=function(e,t,n,r){var i=r;n==e.rows.length&&(e.rows.push([]),e.rowWidth.push(i),e.rowHeight.push(0));var a=e.rowWidth[n]+t.rect.width;e.rows[n].length>0&&(a+=e.horizontalPadding),e.rowWidth[n]=a,e.width<a&&(e.width=a);var o=t.rect.height;n>0&&(o+=e.verticalPadding);var s=0;o>e.rowHeight[n]&&(s=e.rowHeight[n],e.rowHeight[n]=o,s=e.rowHeight[n]-s),e.height+=s,e.rows[n].push(t)},S.prototype.getShortestRowIndex=function(e){for(var t=-1,n=Number.MAX_VALUE,r=0;r<e.rows.length;r++)e.rowWidth[r]<n&&(t=r,n=e.rowWidth[r]);return t},S.prototype.getLongestRowIndex=function(e){for(var t=-1,n=Number.MIN_VALUE,r=0;r<e.rows.length;r++)e.rowWidth[r]>n&&(t=r,n=e.rowWidth[r]);return t},S.prototype.canAddHorizontal=function(e,t,n){if(e.idealRowWidth){var r=e.rows.length-1;return e.rowWidth[r]+t+e.horizontalPadding<=e.idealRowWidth}var i=this.getShortestRowIndex(e);if(i<0)return!0;var a=e.rowWidth[i];if(a+e.horizontalPadding+t<=e.width)return!0;var o=0;e.rowHeight[i]<n&&i>0&&(o=n+e.verticalPadding-e.rowHeight[i]);var s=e.width-a>=t+e.horizontalPadding?(e.height+o)/(a+t+e.horizontalPadding):(e.height+o)/e.width;o=n+e.verticalPadding;var c;return c=e.width<t?(e.height+o)/t:(e.height+o)/e.width,c<1&&(c=1/c),s<1&&(s=1/s),s<c},S.prototype.shiftToLastRow=function(e){var t=this.getLongestRowIndex(e),n=e.rowWidth.length-1,r=e.rows[t],i=r[r.length-1],a=i.width+e.horizontalPadding;if(e.width-e.rowWidth[n]>a&&t!=n){r.splice(-1,1),e.rows[n].push(i),e.rowWidth[t]=e.rowWidth[t]-a,e.rowWidth[n]=e.rowWidth[n]+a,e.width=e.rowWidth[instance.getLongestRowIndex(e)];for(var o=Number.MIN_VALUE,s=0;s<r.length;s++)r[s].height>o&&(o=r[s].height);t>0&&(o+=e.verticalPadding);var c=e.rowHeight[t]+e.rowHeight[n];e.rowHeight[t]=o,e.rowHeight[n]<i.height+e.verticalPadding&&(e.rowHeight[n]=i.height+e.verticalPadding);var l=e.rowHeight[t]+e.rowHeight[n];e.height+=l-c,this.shiftToLastRow(e)}},S.prototype.tilingPreLayout=function(){l.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},S.prototype.tilingPostLayout=function(){l.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},S.prototype.reduceTrees=function(){for(var e=[],t=!0,n;t;){var r=this.graphManager.getAllNodes(),i=[];t=!1;for(var a=0;a<r.length;a++)if(n=r[a],n.getEdges().length==1&&!n.getEdges()[0].isInterGraph&&n.getChild()==null){if(l.PURE_INCREMENTAL){var o=n.getEdges()[0].getOtherEnd(n),s=new h(n.getCenterX()-o.getCenterX(),n.getCenterY()-o.getCenterY());i.push([n,n.getEdges()[0],n.getOwner(),s])}else i.push([n,n.getEdges()[0],n.getOwner()]);t=!0}if(t==1){for(var c=[],u=0;u<i.length;u++)i[u][0].getEdges().length==1&&(c.push(i[u]),i[u][0].getOwner().remove(i[u][0]));e.push(c),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},S.prototype.growTree=function(e){for(var t=e[e.length-1],n,r=0;r<t.length;r++)n=t[r],this.findPlaceforPrunedNode(n),n[2].add(n[0]),n[2].add(n[1],n[1].source,n[1].target);e.splice(e.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},S.prototype.findPlaceforPrunedNode=function(e){var t,n,r=e[0];if(n=r==e[1].source?e[1].target:e[1].source,l.PURE_INCREMENTAL)r.setCenter(n.getCenterX()+e[3].getWidth(),n.getCenterY()+e[3].getHeight());else{var i=n.startX,a=n.finishX,o=n.startY,s=n.finishY,c=[0,0,0,0];if(o>0)for(var u=i;u<=a;u++)c[0]+=this.grid[u][o-1].length+this.grid[u][o].length-1;if(a<this.grid.length-1)for(var u=o;u<=s;u++)c[1]+=this.grid[a+1][u].length+this.grid[a][u].length-1;if(s<this.grid[0].length-1)for(var u=i;u<=a;u++)c[2]+=this.grid[u][s+1].length+this.grid[u][s].length-1;if(i>0)for(var u=o;u<=s;u++)c[3]+=this.grid[i-1][u].length+this.grid[i][u].length-1;for(var f=_.MAX_VALUE,p,m,h=0;h<c.length;h++)c[h]<f?(f=c[h],p=1,m=h):c[h]==f&&p++;if(p==3&&f==0)c[0]==0&&c[1]==0&&c[2]==0?t=1:c[0]==0&&c[1]==0&&c[3]==0?t=0:c[0]==0&&c[2]==0&&c[3]==0?t=3:c[1]==0&&c[2]==0&&c[3]==0&&(t=2);else if(p==2&&f==0){var g=Math.floor(Math.random()*2);t=c[0]==0&&c[1]==0?g==0?0:1:c[0]==0&&c[2]==0?g==0?0:2:c[0]==0&&c[3]==0?g==0?0:3:c[1]==0&&c[2]==0?g==0?1:2:c[1]==0&&c[3]==0?g==0?1:3:g==0?2:3}else if(p==4&&f==0){var g=Math.floor(Math.random()*4);t=g}else t=m;t==0?r.setCenter(n.getCenterX(),n.getCenterY()-n.getHeight()/2-d.DEFAULT_EDGE_LENGTH-r.getHeight()/2):t==1?r.setCenter(n.getCenterX()+n.getWidth()/2+d.DEFAULT_EDGE_LENGTH+r.getWidth()/2,n.getCenterY()):t==2?r.setCenter(n.getCenterX(),n.getCenterY()+n.getHeight()/2+d.DEFAULT_EDGE_LENGTH+r.getHeight()/2):r.setCenter(n.getCenterX()-n.getWidth()/2-d.DEFAULT_EDGE_LENGTH-r.getWidth()/2,n.getCenterY())}},e.exports=S}),991:((e,t,r)=>{var i=r(551).FDLayoutNode,a=r(551).IMath;function o(e,t,n,r){i.call(this,e,t,n,r)}for(var s in n(o,`CoSENode`),o.prototype=Object.create(i.prototype),i)o[s]=i[s];o.prototype.calculateDisplacement=function(){var e=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementX=e.coolingFactor*e.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementY=e.coolingFactor*e.maxNodeDisplacement*a.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(e,t){for(var n=this.getChild().getNodes(),r,i=0;i<n.length;i++)r=n[i],r.getChild()==null?(r.displacementX+=e,r.displacementY+=t):r.propogateDisplacementToChildren(e,t)},o.prototype.move=function(){var e=this.graphManager.getLayout();(this.child==null||this.child.getNodes().length==0)&&(this.moveBy(this.displacementX,this.displacementY),e.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},o.prototype.setPred1=function(e){this.pred1=e},o.prototype.getPred1=function(){return pred1},o.prototype.getPred2=function(){return pred2},o.prototype.setNext=function(e){this.next=e},o.prototype.getNext=function(){return next},o.prototype.setProcessed=function(e){this.processed=e},o.prototype.isProcessed=function(){return processed},e.exports=o}),902:((e,t,r)=>{function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}else return Array.from(e)}n(i,`_toConsumableArray`);var a=r(806),o=r(551).LinkedList,s=r(551).Matrix,c=r(551).SVD;function l(){}n(l,`ConstraintHandler`),l.handleConstraints=function(e){var t={};t.fixedNodeConstraint=e.constraints.fixedNodeConstraint,t.alignmentConstraint=e.constraints.alignmentConstraint,t.relativePlacementConstraint=e.constraints.relativePlacementConstraint;for(var r=new Map,l=new Map,u=[],d=[],f=e.getAllNodes(),p=0,m=0;m<f.length;m++){var h=f[m];h.getChild()??(l.set(h.id,p++),u.push(h.getCenterX()),d.push(h.getCenterY()),r.set(h.id,h))}t.relativePlacementConstraint&&t.relativePlacementConstraint.forEach(function(e){!e.gap&&e.gap!=0&&(e.left?e.gap=a.DEFAULT_EDGE_LENGTH+r.get(e.left).getWidth()/2+r.get(e.right).getWidth()/2:e.gap=a.DEFAULT_EDGE_LENGTH+r.get(e.top).getHeight()/2+r.get(e.bottom).getHeight()/2)});var g=n(function(e,t){return{x:e.x-t.x,y:e.y-t.y}},`calculatePositionDiff`),_=n(function(e){var t=0,n=0;return e.forEach(function(e){t+=u[l.get(e)],n+=d[l.get(e)]}),{x:t/e.size,y:n/e.size}},`calculateAvgPosition`),v=n(function(e,t,r,a,s){function c(e,t){var n=new Set(e),r=!0,i=!1,a=void 0;try{for(var o=t[Symbol.iterator](),s;!(r=(s=o.next()).done);r=!0){var c=s.value;n.add(c)}}catch(e){i=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw a}}return n}n(c,`setUnion`);var f=new Map;e.forEach(function(e,t){f.set(t,0)}),e.forEach(function(e,t){e.forEach(function(e){f.set(e.id,f.get(e.id)+1)})});var p=new Map,m=new Map,h=new o;f.forEach(function(e,n){e==0?(h.push(n),r||(t==`horizontal`?p.set(n,l.has(n)?u[l.get(n)]:a.get(n)):p.set(n,l.has(n)?d[l.get(n)]:a.get(n)))):p.set(n,-1/0),r&&m.set(n,new Set([n]))}),r&&s.forEach(function(e){var n=[];if(e.forEach(function(e){r.has(e)&&n.push(e)}),n.length>0){var i=0;n.forEach(function(e){t==`horizontal`?(p.set(e,l.has(e)?u[l.get(e)]:a.get(e)),i+=p.get(e)):(p.set(e,l.has(e)?d[l.get(e)]:a.get(e)),i+=p.get(e))}),i/=n.length,e.forEach(function(e){r.has(e)||p.set(e,i)})}else{var o=0;e.forEach(function(e){t==`horizontal`?o+=l.has(e)?u[l.get(e)]:a.get(e):o+=l.has(e)?d[l.get(e)]:a.get(e)}),o/=e.length,e.forEach(function(e){p.set(e,o)})}});for(var g=n(function(){var n=h.shift();e.get(n).forEach(function(e){if(p.get(e.id)<p.get(n)+e.gap)if(r&&r.has(e.id)){var i=void 0;if(i=t==`horizontal`?l.has(e.id)?u[l.get(e.id)]:a.get(e.id):l.has(e.id)?d[l.get(e.id)]:a.get(e.id),p.set(e.id,i),i<p.get(n)+e.gap){var o=p.get(n)+e.gap-i;m.get(n).forEach(function(e){p.set(e,p.get(e)-o)})}}else p.set(e.id,p.get(n)+e.gap);f.set(e.id,f.get(e.id)-1),f.get(e.id)==0&&h.push(e.id),r&&m.set(e.id,c(m.get(n),m.get(e.id)))})},`_loop`);h.length!=0;)g();if(r){var _=new Set;e.forEach(function(e,t){e.length==0&&_.add(t)});var v=[];m.forEach(function(e,t){if(_.has(t)){var n=!1,a=!0,o=!1,s=void 0;try{for(var c=e[Symbol.iterator](),l;!(a=(l=c.next()).done);a=!0){var u=l.value;r.has(u)&&(n=!0)}}catch(e){o=!0,s=e}finally{try{!a&&c.return&&c.return()}finally{if(o)throw s}}if(!n){var d=!1,f=void 0;v.forEach(function(t,n){t.has([].concat(i(e))[0])&&(d=!0,f=n)}),d?e.forEach(function(e){v[f].add(e)}):v.push(new Set(e))}}}),v.forEach(function(e,n){var r=1/0,i=1/0,o=-1/0,s=-1/0,c=!0,f=!1,m=void 0;try{for(var h=e[Symbol.iterator](),g;!(c=(g=h.next()).done);c=!0){var _=g.value,v=void 0;v=t==`horizontal`?l.has(_)?u[l.get(_)]:a.get(_):l.has(_)?d[l.get(_)]:a.get(_);var y=p.get(_);v<r&&(r=v),v>o&&(o=v),y<i&&(i=y),y>s&&(s=y)}}catch(e){f=!0,m=e}finally{try{!c&&h.return&&h.return()}finally{if(f)throw m}}var b=(r+o)/2-(i+s)/2,x=!0,S=!1,C=void 0;try{for(var w=e[Symbol.iterator](),T;!(x=(T=w.next()).done);x=!0){var E=T.value;p.set(E,p.get(E)+b)}}catch(e){S=!0,C=e}finally{try{!x&&w.return&&w.return()}finally{if(S)throw C}}})}return p},`findAppropriatePositionForRelativePlacement`),y=n(function(e){var t=0,n=0,r=0,i=0;if(e.forEach(function(e){e.left?u[l.get(e.left)]-u[l.get(e.right)]>=0?t++:n++:d[l.get(e.top)]-d[l.get(e.bottom)]>=0?r++:i++}),t>n&&r>i)for(var a=0;a<l.size;a++)u[a]=-1*u[a],d[a]=-1*d[a];else if(t>n)for(var o=0;o<l.size;o++)u[o]=-1*u[o];else if(r>i)for(var s=0;s<l.size;s++)d[s]=-1*d[s]},`applyReflectionForRelativePlacement`),b=n(function(e){var t=[],n=new o,r=new Set,i=0;return e.forEach(function(a,o){if(!r.has(o)){t[i]=[];var s=o;for(n.push(s),r.add(s),t[i].push(s);n.length!=0;)s=n.shift(),e.get(s).forEach(function(e){r.has(e.id)||(n.push(e.id),r.add(e.id),t[i].push(e.id))});i++}}),t},`findComponents`),x=n(function(e){var t=new Map;return e.forEach(function(e,n){t.set(n,[])}),e.forEach(function(e,n){e.forEach(function(e){t.get(n).push(e),t.get(e.id).push({id:n,gap:e.gap,direction:e.direction})})}),t},`dagToUndirected`),S=n(function(e){var t=new Map;return e.forEach(function(e,n){t.set(n,[])}),e.forEach(function(e,n){e.forEach(function(e){t.get(e.id).push({id:n,gap:e.gap,direction:e.direction})})}),t},`dagToReversed`),C=[],w=[],T=!1,E=!1,D=new Set,O=new Map,k=new Map,A=[];if(t.fixedNodeConstraint&&t.fixedNodeConstraint.forEach(function(e){D.add(e.nodeId)}),t.relativePlacementConstraint&&(t.relativePlacementConstraint.forEach(function(e){e.left?(O.has(e.left)?O.get(e.left).push({id:e.right,gap:e.gap,direction:`horizontal`}):O.set(e.left,[{id:e.right,gap:e.gap,direction:`horizontal`}]),O.has(e.right)||O.set(e.right,[])):(O.has(e.top)?O.get(e.top).push({id:e.bottom,gap:e.gap,direction:`vertical`}):O.set(e.top,[{id:e.bottom,gap:e.gap,direction:`vertical`}]),O.has(e.bottom)||O.set(e.bottom,[]))}),k=x(O),A=b(k)),a.TRANSFORM_ON_CONSTRAINT_HANDLING){if(t.fixedNodeConstraint&&t.fixedNodeConstraint.length>1)t.fixedNodeConstraint.forEach(function(e,t){C[t]=[e.position.x,e.position.y],w[t]=[u[l.get(e.nodeId)],d[l.get(e.nodeId)]]}),T=!0;else if(t.alignmentConstraint)(function(){var e=0;if(t.alignmentConstraint.vertical){for(var r=t.alignmentConstraint.vertical,a=n(function(t){var n=new Set;r[t].forEach(function(e){n.add(e)});var a=new Set([].concat(i(n)).filter(function(e){return D.has(e)})),o=void 0;o=a.size>0?u[l.get(a.values().next().value)]:_(n).x,r[t].forEach(function(t){C[e]=[o,d[l.get(t)]],w[e]=[u[l.get(t)],d[l.get(t)]],e++})},`_loop2`),o=0;o<r.length;o++)a(o);T=!0}if(t.alignmentConstraint.horizontal){for(var s=t.alignmentConstraint.horizontal,c=n(function(t){var n=new Set;s[t].forEach(function(e){n.add(e)});var r=new Set([].concat(i(n)).filter(function(e){return D.has(e)})),a=void 0;a=r.size>0?u[l.get(r.values().next().value)]:_(n).y,s[t].forEach(function(t){C[e]=[u[l.get(t)],a],w[e]=[u[l.get(t)],d[l.get(t)]],e++})},`_loop3`),f=0;f<s.length;f++)c(f);T=!0}t.relativePlacementConstraint&&(E=!0)})();else if(t.relativePlacementConstraint){for(var j=0,M=0,N=0;N<A.length;N++)A[N].length>j&&(j=A[N].length,M=N);if(j<k.size/2)y(t.relativePlacementConstraint),T=!1,E=!1;else{var P=new Map,F=new Map,I=[];A[M].forEach(function(e){O.get(e).forEach(function(t){t.direction==`horizontal`?(P.has(e)?P.get(e).push(t):P.set(e,[t]),P.has(t.id)||P.set(t.id,[]),I.push({left:e,right:t.id})):(F.has(e)?F.get(e).push(t):F.set(e,[t]),F.has(t.id)||F.set(t.id,[]),I.push({top:e,bottom:t.id}))})}),y(I),E=!1;var L=v(P,`horizontal`),R=v(F,`vertical`);A[M].forEach(function(e,t){w[t]=[u[l.get(e)],d[l.get(e)]],C[t]=[],L.has(e)?C[t][0]=L.get(e):C[t][0]=u[l.get(e)],R.has(e)?C[t][1]=R.get(e):C[t][1]=d[l.get(e)]}),T=!0}}if(T){for(var z=void 0,B=s.transpose(C),V=s.transpose(w),H=0;H<B.length;H++)B[H]=s.multGamma(B[H]),V[H]=s.multGamma(V[H]);var ee=s.multMat(B,s.transpose(V)),te=c.svd(ee);z=s.multMat(te.V,s.transpose(te.U));for(var U=0;U<l.size;U++){var ne=[u[U],d[U]],W=[z[0][0],z[1][0]],G=[z[0][1],z[1][1]];u[U]=s.dotProduct(ne,W),d[U]=s.dotProduct(ne,G)}E&&y(t.relativePlacementConstraint)}}if(a.ENFORCE_CONSTRAINTS){if(t.fixedNodeConstraint&&t.fixedNodeConstraint.length>0){var K={x:0,y:0};t.fixedNodeConstraint.forEach(function(e,t){var n={x:u[l.get(e.nodeId)],y:d[l.get(e.nodeId)]},r=e.position,i=g(r,n);K.x+=i.x,K.y+=i.y}),K.x/=t.fixedNodeConstraint.length,K.y/=t.fixedNodeConstraint.length,u.forEach(function(e,t){u[t]+=K.x}),d.forEach(function(e,t){d[t]+=K.y}),t.fixedNodeConstraint.forEach(function(e){u[l.get(e.nodeId)]=e.position.x,d[l.get(e.nodeId)]=e.position.y})}if(t.alignmentConstraint){if(t.alignmentConstraint.vertical)for(var q=t.alignmentConstraint.vertical,re=n(function(e){var t=new Set;q[e].forEach(function(e){t.add(e)});var n=new Set([].concat(i(t)).filter(function(e){return D.has(e)})),r=void 0;r=n.size>0?u[l.get(n.values().next().value)]:_(t).x,t.forEach(function(e){D.has(e)||(u[l.get(e)]=r)})},`_loop4`),J=0;J<q.length;J++)re(J);if(t.alignmentConstraint.horizontal)for(var Y=t.alignmentConstraint.horizontal,X=n(function(e){var t=new Set;Y[e].forEach(function(e){t.add(e)});var n=new Set([].concat(i(t)).filter(function(e){return D.has(e)})),r=void 0;r=n.size>0?d[l.get(n.values().next().value)]:_(t).y,t.forEach(function(e){D.has(e)||(d[l.get(e)]=r)})},`_loop5`),Z=0;Z<Y.length;Z++)X(Z)}t.relativePlacementConstraint&&(function(){var e=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=new Set,f=new Set;if(D.forEach(function(e){c.add(e),f.add(e)}),t.alignmentConstraint){if(t.alignmentConstraint.vertical)for(var p=t.alignmentConstraint.vertical,m=n(function(t){i.set(`dummy`+t,[]),p[t].forEach(function(n){e.set(n,`dummy`+t),i.get(`dummy`+t).push(n),D.has(n)&&c.add(`dummy`+t)}),o.set(`dummy`+t,u[l.get(p[t][0])])},`_loop6`),h=0;h<p.length;h++)m(h);if(t.alignmentConstraint.horizontal)for(var g=t.alignmentConstraint.horizontal,_=n(function(e){a.set(`dummy`+e,[]),g[e].forEach(function(t){r.set(t,`dummy`+e),a.get(`dummy`+e).push(t),D.has(t)&&f.add(`dummy`+e)}),s.set(`dummy`+e,d[l.get(g[e][0])])},`_loop7`),y=0;y<g.length;y++)_(y)}var C=new Map,w=new Map,T=n(function(t){O.get(t).forEach(function(n){var i=void 0,a=void 0;n.direction==`horizontal`?(i=e.get(t)?e.get(t):t,a=e.get(n.id)?{id:e.get(n.id),gap:n.gap,direction:n.direction}:n,C.has(i)?C.get(i).push(a):C.set(i,[a]),C.has(a.id)||C.set(a.id,[])):(i=r.get(t)?r.get(t):t,a=r.get(n.id)?{id:r.get(n.id),gap:n.gap,direction:n.direction}:n,w.has(i)?w.get(i).push(a):w.set(i,[a]),w.has(a.id)||w.set(a.id,[]))})},`_loop8`),E=!0,k=!1,A=void 0;try{for(var j=O.keys()[Symbol.iterator](),M;!(E=(M=j.next()).done);E=!0){var N=M.value;T(N)}}catch(e){k=!0,A=e}finally{try{!E&&j.return&&j.return()}finally{if(k)throw A}}var P=x(C),F=x(w),I=b(P),L=b(F),R=S(C),z=S(w),B=[],V=[];I.forEach(function(e,t){B[t]=[],e.forEach(function(e){R.get(e).length==0&&B[t].push(e)})}),L.forEach(function(e,t){V[t]=[],e.forEach(function(e){z.get(e).length==0&&V[t].push(e)})});var H=v(C,`horizontal`,c,o,B),ee=v(w,`vertical`,f,s,V),te=n(function(e){i.get(e)?i.get(e).forEach(function(t){u[l.get(t)]=H.get(e)}):u[l.get(e)]=H.get(e)},`_loop9`),U=!0,ne=!1,W=void 0;try{for(var G=H.keys()[Symbol.iterator](),K;!(U=(K=G.next()).done);U=!0){var q=K.value;te(q)}}catch(e){ne=!0,W=e}finally{try{!U&&G.return&&G.return()}finally{if(ne)throw W}}var re=n(function(e){a.get(e)?a.get(e).forEach(function(t){d[l.get(t)]=ee.get(e)}):d[l.get(e)]=ee.get(e)},`_loop10`),J=!0,Y=!1,X=void 0;try{for(var Z=ee.keys()[Symbol.iterator](),ie;!(J=(ie=Z.next()).done);J=!0){var q=ie.value;re(q)}}catch(e){Y=!0,X=e}finally{try{!J&&Z.return&&Z.return()}finally{if(Y)throw X}}})()}for(var ie=0;ie<f.length;ie++){var Q=f[ie];Q.getChild()??Q.setCenter(u[l.get(Q.id)],d[l.get(Q.id)])}},e.exports=l}),551:(t=>{t.exports=e})},r={};function i(e){var n=r[e];if(n!==void 0)return n.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,i),a.exports}return n(i,`__webpack_require__`),i(45)})()})}),k=t((e,t)=>{n((function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r(O()):typeof define==`function`&&define.amd?define([`cose-base`],r):typeof e==`object`?e.cytoscapeFcose=r(O()):n.cytoscapeFcose=r(n.coseBase)}),`webpackUniversalModuleDefinition`)(e,function(e){return(()=>{var t={658:(e=>{e.exports=Object.assign==null?function(e){return[...arguments].slice(1).forEach(function(t){Object.keys(t).forEach(function(n){return e[n]=t[n]})}),e}:Object.assign.bind(Object)}),548:((e,t,r)=>{var i=(function(){function e(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var o=e[Symbol.iterator](),s;!(r=(s=o.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(e){i=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw a}}return n}return n(e,`sliceIterator`),function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw TypeError(`Invalid attempt to destructure non-iterable instance`)}})(),a=r(140).layoutBase.LinkedList,o={};o.getTopMostNodes=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].id()]=!0;return e.filter(function(e,n){typeof e==`number`&&(e=n);for(var r=e.parent()[0];r!=null;){if(t[r.id()])return!1;r=r.parent()[0]}return!0})},o.connectComponents=function(e,t,r,i){var o=new a,s=new Set,c=[],l=void 0,u=void 0,d=void 0,f=!1,p=1,m=[],h=[],g=n(function(){var i=e.collection();h.push(i);var a=r[0],g=e.collection();g.merge(a).merge(a.descendants().intersection(t)),c.push(a),g.forEach(function(e){o.push(e),s.add(e),i.merge(e)});for(var _=n(function(){a=o.shift();var n=e.collection();a.neighborhood().nodes().forEach(function(e){t.intersection(a.edgesWith(e)).length>0&&n.merge(e)});for(var u=0;u<n.length;u++){var d=n[u];l=r.intersection(d.union(d.ancestors())),l!=null&&!s.has(l[0])&&l.union(l.descendants()).forEach(function(e){o.push(e),s.add(e),i.merge(e),r.has(e)&&c.push(e)})}},`_loop2`);o.length!=0;)_();if(i.forEach(function(e){t.intersection(e.connectedEdges()).forEach(function(e){i.has(e.source())&&i.has(e.target())&&i.merge(e)})}),c.length==r.length&&(f=!0),!f||f&&p>1){u=c[0],d=u.connectedEdges().length,c.forEach(function(e){e.connectedEdges().length<d&&(d=e.connectedEdges().length,u=e)}),m.push(u.id());var v=e.collection();v.merge(c[0]),c.forEach(function(e){v.merge(e)}),c=[],r=r.difference(v),p++}},`_loop`);do g();while(!f);return i&&m.length>0&&i.set(`dummy`+(i.size+1),m),h},o.relocateComponent=function(e,t,n){if(!n.fixedNodeConstraint){var r=1/0,a=-1/0,o=1/0,s=-1/0;if(n.quality==`draft`){var c=!0,l=!1,u=void 0;try{for(var d=t.nodeIndexes[Symbol.iterator](),f;!(c=(f=d.next()).done);c=!0){var p=f.value,m=i(p,2),h=m[0],g=m[1],_=n.cy.getElementById(h);if(_){var v=_.boundingBox(),y=t.xCoords[g]-v.w/2,b=t.xCoords[g]+v.w/2,x=t.yCoords[g]-v.h/2,S=t.yCoords[g]+v.h/2;y<r&&(r=y),b>a&&(a=b),x<o&&(o=x),S>s&&(s=S)}}}catch(e){l=!0,u=e}finally{try{!c&&d.return&&d.return()}finally{if(l)throw u}}var C=e.x-(a+r)/2,w=e.y-(s+o)/2;t.xCoords=t.xCoords.map(function(e){return e+C}),t.yCoords=t.yCoords.map(function(e){return e+w})}else{Object.keys(t).forEach(function(e){var n=t[e],i=n.getRect().x,c=n.getRect().x+n.getRect().width,l=n.getRect().y,u=n.getRect().y+n.getRect().height;i<r&&(r=i),c>a&&(a=c),l<o&&(o=l),u>s&&(s=u)});var T=e.x-(a+r)/2,E=e.y-(s+o)/2;Object.keys(t).forEach(function(e){var n=t[e];n.setCenter(n.getCenterX()+T,n.getCenterY()+E)})}}},o.calcBoundingBox=function(e,t,n,r){for(var i=2**53-1,a=-(2**53-1),o=2**53-1,s=-(2**53-1),c=void 0,l=void 0,u=void 0,d=void 0,f=e.descendants().not(`:parent`),p=f.length,m=0;m<p;m++){var h=f[m];c=t[r.get(h.id())]-h.width()/2,l=t[r.get(h.id())]+h.width()/2,u=n[r.get(h.id())]-h.height()/2,d=n[r.get(h.id())]+h.height()/2,i>c&&(i=c),a<l&&(a=l),o>u&&(o=u),s<d&&(s=d)}var g={};return g.topLeftX=i,g.topLeftY=o,g.width=a-i,g.height=s-o,g},o.calcParentsWithoutChildren=function(e,t){var n=e.collection();return t.nodes(`:parent`).forEach(function(e){var t=!1;e.children().forEach(function(e){e.css(`display`)!=`none`&&(t=!0)}),t||n.merge(e)}),n},e.exports=o}),816:((e,t,r)=>{var i=r(548),a=r(140).CoSELayout,o=r(140).CoSENode,s=r(140).layoutBase.PointD,c=r(140).layoutBase.DimensionD,l=r(140).layoutBase.LayoutConstants,u=r(140).layoutBase.FDLayoutConstants,d=r(140).CoSEConstants;e.exports={coseLayout:n(function(e,t){var r=e.cy,f=e.eles,p=f.nodes(),m=f.edges(),h=void 0,g=void 0,_=void 0,v={};e.randomize&&(h=t.nodeIndexes,g=t.xCoords,_=t.yCoords);var y=n(function(e){return typeof e==`function`},`isFn`),b=n(function(e,t){return y(e)?e(t):e},`optFn`),x=i.calcParentsWithoutChildren(r,f),S=n(function e(t,n,r,a){for(var l=n.length,u=0;u<l;u++){var d=n[u],f=null;d.intersection(x).length==0&&(f=d.children());var p=void 0,m=d.layoutDimensions({nodeDimensionsIncludeLabels:a.nodeDimensionsIncludeLabels});if(d.outerWidth()!=null&&d.outerHeight()!=null)if(a.randomize)if(!d.isParent())p=t.add(new o(r.graphManager,new s(g[h.get(d.id())]-m.w/2,_[h.get(d.id())]-m.h/2),new c(parseFloat(m.w),parseFloat(m.h))));else{var y=i.calcBoundingBox(d,g,_,h);p=d.intersection(x).length==0?t.add(new o(r.graphManager,new s(y.topLeftX,y.topLeftY),new c(y.width,y.height))):t.add(new o(r.graphManager,new s(y.topLeftX,y.topLeftY),new c(parseFloat(m.w),parseFloat(m.h))))}else p=t.add(new o(r.graphManager,new s(d.position(`x`)-m.w/2,d.position(`y`)-m.h/2),new c(parseFloat(m.w),parseFloat(m.h))));else p=t.add(new o(this.graphManager));if(p.id=d.data(`id`),p.nodeRepulsion=b(a.nodeRepulsion,d),p.paddingLeft=parseInt(d.css(`padding`)),p.paddingTop=parseInt(d.css(`padding`)),p.paddingRight=parseInt(d.css(`padding`)),p.paddingBottom=parseInt(d.css(`padding`)),a.nodeDimensionsIncludeLabels&&(p.labelWidth=d.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,p.labelHeight=d.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,p.labelPosVertical=d.css(`text-valign`),p.labelPosHorizontal=d.css(`text-halign`)),v[d.data(`id`)]=p,isNaN(p.rect.x)&&(p.rect.x=0),isNaN(p.rect.y)&&(p.rect.y=0),f!=null&&f.length>0){var S=void 0;S=r.getGraphManager().add(r.newGraph(),p),e(S,f,r,a)}}},`processChildrenList`),C=n(function(t,n,r){for(var i=0,a=0,o=0;o<r.length;o++){var s=r[o],c=v[s.data(`source`)],l=v[s.data(`target`)];if(c&&l&&c!==l&&c.getEdgesBetween(l).length==0){var f=n.add(t.newEdge(),c,l);f.id=s.id(),f.idealLength=b(e.idealEdgeLength,s),f.edgeElasticity=b(e.edgeElasticity,s),i+=f.idealLength,a++}}e.idealEdgeLength!=null&&(a>0?d.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=i/a:y(e.idealEdgeLength)?d.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=50:d.DEFAULT_EDGE_LENGTH=u.DEFAULT_EDGE_LENGTH=e.idealEdgeLength,d.MIN_REPULSION_DIST=u.MIN_REPULSION_DIST=u.DEFAULT_EDGE_LENGTH/10,d.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH)},`processEdges`),w=n(function(e,t){t.fixedNodeConstraint&&(e.constraints.fixedNodeConstraint=t.fixedNodeConstraint),t.alignmentConstraint&&(e.constraints.alignmentConstraint=t.alignmentConstraint),t.relativePlacementConstraint&&(e.constraints.relativePlacementConstraint=t.relativePlacementConstraint)},`processConstraints`);e.nestingFactor!=null&&(d.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=u.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=e.nestingFactor),e.gravity!=null&&(d.DEFAULT_GRAVITY_STRENGTH=u.DEFAULT_GRAVITY_STRENGTH=e.gravity),e.numIter!=null&&(d.MAX_ITERATIONS=u.MAX_ITERATIONS=e.numIter),e.gravityRange!=null&&(d.DEFAULT_GRAVITY_RANGE_FACTOR=u.DEFAULT_GRAVITY_RANGE_FACTOR=e.gravityRange),e.gravityCompound!=null&&(d.DEFAULT_COMPOUND_GRAVITY_STRENGTH=u.DEFAULT_COMPOUND_GRAVITY_STRENGTH=e.gravityCompound),e.gravityRangeCompound!=null&&(d.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=u.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=e.gravityRangeCompound),e.initialEnergyOnIncremental!=null&&(d.DEFAULT_COOLING_FACTOR_INCREMENTAL=u.DEFAULT_COOLING_FACTOR_INCREMENTAL=e.initialEnergyOnIncremental),e.tilingCompareBy!=null&&(d.TILING_COMPARE_BY=e.tilingCompareBy),e.quality==`proof`?l.QUALITY=2:l.QUALITY=0,d.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=l.NODE_DIMENSIONS_INCLUDE_LABELS=e.nodeDimensionsIncludeLabels,d.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=!e.randomize,d.ANIMATE=u.ANIMATE=l.ANIMATE=e.animate,d.TILE=e.tile,d.TILING_PADDING_VERTICAL=typeof e.tilingPaddingVertical==`function`?e.tilingPaddingVertical.call():e.tilingPaddingVertical,d.TILING_PADDING_HORIZONTAL=typeof e.tilingPaddingHorizontal==`function`?e.tilingPaddingHorizontal.call():e.tilingPaddingHorizontal,d.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=!0,d.PURE_INCREMENTAL=!e.randomize,l.DEFAULT_UNIFORM_LEAF_NODE_SIZES=e.uniformNodeDimensions,e.step==`transformed`&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!1,d.APPLY_LAYOUT=!1),e.step==`enforced`&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!1),e.step==`cose`&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!1,d.APPLY_LAYOUT=!0),e.step==`all`&&(e.randomize?d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0),e.fixedNodeConstraint||e.alignmentConstraint||e.relativePlacementConstraint?d.TREE_REDUCTION_ON_INCREMENTAL=!1:d.TREE_REDUCTION_ON_INCREMENTAL=!0;var T=new a,E=T.newGraphManager();return S(E.addRoot(),i.getTopMostNodes(p),T,e),C(T,E,m),w(T,e),T.runLayout(),v},`coseLayout`)}}),212:((e,t,r)=>{var i=(function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return n(e,`defineProperties`),function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}})();function a(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}n(a,`_classCallCheck`);var o=r(658),s=r(548),c=r(657).spectralLayout,l=r(816).coseLayout,u=Object.freeze({quality:`default`,randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:`all`,samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:n(function(e){return 4500},`nodeRepulsion`),idealEdgeLength:n(function(e){return 50},`idealEdgeLength`),edgeElasticity:n(function(e){return .45},`edgeElasticity`),nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:n(function(){},`ready`),stop:n(function(){},`stop`)});e.exports=(function(){function e(t){a(this,e),this.options=o({},u,t)}return n(e,`Layout`),i(e,[{key:`run`,value:n(function(){var e=this,t=this.options,r=t.cy,i=t.eles,a=[],o=[],u=void 0,d=[];t.fixedNodeConstraint&&(!Array.isArray(t.fixedNodeConstraint)||t.fixedNodeConstraint.length==0)&&(t.fixedNodeConstraint=void 0),t.alignmentConstraint&&(t.alignmentConstraint.vertical&&(!Array.isArray(t.alignmentConstraint.vertical)||t.alignmentConstraint.vertical.length==0)&&(t.alignmentConstraint.vertical=void 0),t.alignmentConstraint.horizontal&&(!Array.isArray(t.alignmentConstraint.horizontal)||t.alignmentConstraint.horizontal.length==0)&&(t.alignmentConstraint.horizontal=void 0)),t.relativePlacementConstraint&&(!Array.isArray(t.relativePlacementConstraint)||t.relativePlacementConstraint.length==0)&&(t.relativePlacementConstraint=void 0),(t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint)&&(t.tile=!1,t.packComponents=!1);var f=void 0,p=!1;if(r.layoutUtilities&&t.packComponents&&(f=r.layoutUtilities(`get`),f||=r.layoutUtilities(),p=!0),i.nodes().length>0)if(p){var m=s.getTopMostNodes(t.eles.nodes());if(u=s.connectComponents(r,t.eles,m),u.forEach(function(e){var t=e.boundingBox();d.push({x:t.x1+t.w/2,y:t.y1+t.h/2})}),t.randomize&&u.forEach(function(e){t.eles=e,a.push(c(t))}),t.quality==`default`||t.quality==`proof`){var h=r.collection();if(t.tile){var g=new Map,_=[],v=[],y=0,b={nodeIndexes:g,xCoords:_,yCoords:v},x=[];if(u.forEach(function(e,t){e.edges().length==0&&(e.nodes().forEach(function(t,n){h.merge(e.nodes()[n]),t.isParent()||(b.nodeIndexes.set(e.nodes()[n].id(),y++),b.xCoords.push(e.nodes()[0].position().x),b.yCoords.push(e.nodes()[0].position().y))}),x.push(t))}),h.length>1){var S=h.boundingBox();d.push({x:S.x1+S.w/2,y:S.y1+S.h/2}),u.push(h),a.push(b);for(var C=x.length-1;C>=0;C--)u.splice(x[C],1),a.splice(x[C],1),d.splice(x[C],1)}}u.forEach(function(e,n){t.eles=e,o.push(l(t,a[n])),s.relocateComponent(d[n],o[n],t)})}else u.forEach(function(e,n){s.relocateComponent(d[n],a[n],t)});var w=new Set;if(u.length>1){var T=[],E=i.filter(function(e){return e.css(`display`)==`none`});u.forEach(function(e,n){var r=void 0;if(t.quality==`draft`&&(r=a[n].nodeIndexes),e.nodes().not(E).length>0){var i={};i.edges=[],i.nodes=[];var c=void 0;e.nodes().not(E).forEach(function(e){if(t.quality==`draft`)if(!e.isParent())c=r.get(e.id()),i.nodes.push({x:a[n].xCoords[c]-e.boundingbox().w/2,y:a[n].yCoords[c]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else{var l=s.calcBoundingBox(e,a[n].xCoords,a[n].yCoords,r);i.nodes.push({x:l.topLeftX,y:l.topLeftY,width:l.width,height:l.height})}else o[n][e.id()]&&i.nodes.push({x:o[n][e.id()].getLeft(),y:o[n][e.id()].getTop(),width:o[n][e.id()].getWidth(),height:o[n][e.id()].getHeight()})}),e.edges().forEach(function(e){var c=e.source(),l=e.target();if(c.css(`display`)!=`none`&&l.css(`display`)!=`none`)if(t.quality==`draft`){var u=r.get(c.id()),d=r.get(l.id()),f=[],p=[];if(c.isParent()){var m=s.calcBoundingBox(c,a[n].xCoords,a[n].yCoords,r);f.push(m.topLeftX+m.width/2),f.push(m.topLeftY+m.height/2)}else f.push(a[n].xCoords[u]),f.push(a[n].yCoords[u]);if(l.isParent()){var h=s.calcBoundingBox(l,a[n].xCoords,a[n].yCoords,r);p.push(h.topLeftX+h.width/2),p.push(h.topLeftY+h.height/2)}else p.push(a[n].xCoords[d]),p.push(a[n].yCoords[d]);i.edges.push({startX:f[0],startY:f[1],endX:p[0],endY:p[1]})}else o[n][c.id()]&&o[n][l.id()]&&i.edges.push({startX:o[n][c.id()].getCenterX(),startY:o[n][c.id()].getCenterY(),endX:o[n][l.id()].getCenterX(),endY:o[n][l.id()].getCenterY()})}),i.nodes.length>0&&(T.push(i),w.add(n))}});var D=f.packComponents(T,t.randomize).shifts;if(t.quality==`draft`)a.forEach(function(e,t){var n=e.xCoords.map(function(e){return e+D[t].dx}),r=e.yCoords.map(function(e){return e+D[t].dy});e.xCoords=n,e.yCoords=r});else{var O=0;w.forEach(function(e){Object.keys(o[e]).forEach(function(t){var n=o[e][t];n.setCenter(n.getCenterX()+D[O].dx,n.getCenterY()+D[O].dy)}),O++})}}}else{var k=t.eles.boundingBox();if(d.push({x:k.x1+k.w/2,y:k.y1+k.h/2}),t.randomize){var A=c(t);a.push(A)}t.quality==`default`||t.quality==`proof`?(o.push(l(t,a[0])),s.relocateComponent(d[0],o[0],t)):s.relocateComponent(d[0],a[0],t)}var j=n(function(e,n){if(t.quality==`default`||t.quality==`proof`){typeof e==`number`&&(e=n);var r=void 0,i=void 0,s=e.data(`id`);return o.forEach(function(e){s in e&&(r={x:e[s].getRect().getCenterX(),y:e[s].getRect().getCenterY()},i=e[s])}),t.nodeDimensionsIncludeLabels&&(i.labelWidth&&(i.labelPosHorizontal==`left`?r.x+=i.labelWidth/2:i.labelPosHorizontal==`right`&&(r.x-=i.labelWidth/2)),i.labelHeight&&(i.labelPosVertical==`top`?r.y+=i.labelHeight/2:i.labelPosVertical==`bottom`&&(r.y-=i.labelHeight/2))),r??={x:e.position(`x`),y:e.position(`y`)},{x:r.x,y:r.y}}else{var c=void 0;return a.forEach(function(t){var n=t.nodeIndexes.get(e.id());n!=null&&(c={x:t.xCoords[n],y:t.yCoords[n]})}),c??={x:e.position(`x`),y:e.position(`y`)},{x:c.x,y:c.y}}},`getPositions`);if(t.quality==`default`||t.quality==`proof`||t.randomize){var M=s.calcParentsWithoutChildren(r,i),N=i.filter(function(e){return e.css(`display`)==`none`});t.eles=i.not(N),i.nodes().not(`:parent`).not(N).layoutPositions(e,t,j),M.length>0&&M.forEach(function(e){e.position(j(e))})}else console.log(`If randomize option is set to false, then quality option must be 'default' or 'proof'.`)},`run`)}]),e})()}),657:((e,t,r)=>{var i=r(548),a=r(140).layoutBase.Matrix,o=r(140).layoutBase.SVD;e.exports={spectralLayout:n(function(e){var t=e.cy,r=e.eles,s=r.nodes(),c=r.nodes(`:parent`),l=new Map,u=new Map,d=new Map,f=[],p=[],m=[],h=[],g=[],_=[],v=[],y=[],b=void 0,x=1e8,S=1e-9,C=e.piTol,w=e.samplingType,T=e.nodeSeparation,E=void 0,D=n(function(){for(var e=0,t=0,n=!1;t<E;){e=Math.floor(Math.random()*b),n=!1;for(var r=0;r<t;r++)if(h[r]==e){n=!0;break}if(!n)h[t]=e,t++;else continue}},`randomSampleCR`),O=n(function(e,t,n){for(var r=[],i=0,a=0,o=0,s=void 0,c=[],l=0,d=1,p=0;p<b;p++)c[p]=x;for(r[a]=e,c[e]=0;a>=i;){o=r[i++];for(var m=f[o],h=0;h<m.length;h++)s=u.get(m[h]),c[s]==x&&(c[s]=c[o]+1,r[++a]=s);_[o][t]=c[o]*T}if(n){for(var v=0;v<b;v++)_[v][t]<g[v]&&(g[v]=_[v][t]);for(var y=0;y<b;y++)g[y]>l&&(l=g[y],d=y)}return d},`BFS`),k=n(function(e){var t=void 0;if(e){t=Math.floor(Math.random()*b);for(var n=0;n<b;n++)g[n]=x;for(var r=0;r<E;r++)h[r]=t,t=O(t,r,e)}else{D();for(var i=0;i<E;i++)O(h[i],i,e,!1)}for(var a=0;a<b;a++)for(var o=0;o<E;o++)_[a][o]*=_[a][o];for(var s=0;s<E;s++)v[s]=[];for(var c=0;c<E;c++)for(var l=0;l<E;l++)v[c][l]=_[h[l]][c]},`allBFS`),A=n(function(){for(var e=o.svd(v),t=e.S,n=e.U,r=e.V,i=t[0]*t[0]*t[0],s=[],c=0;c<E;c++){s[c]=[];for(var l=0;l<E;l++)s[c][l]=0,c==l&&(s[c][l]=t[c]/(t[c]*t[c]+i/(t[c]*t[c])))}y=a.multMat(a.multMat(r,s),a.transpose(n))},`sample`),j=n(function(){for(var e=void 0,t=void 0,n=[],r=[],i=[],o=[],s=0;s<b;s++)n[s]=Math.random(),r[s]=Math.random();n=a.normalize(n),r=a.normalize(r);for(var c=0,l=S,u=S,d=void 0;;){c++;for(var f=0;f<b;f++)i[f]=n[f];if(n=a.multGamma(a.multL(a.multGamma(i),_,y)),e=a.dotProduct(i,n),n=a.normalize(n),l=a.dotProduct(i,n),d=Math.abs(l/u),d<=1+C&&d>=1)break;u=l}for(var h=0;h<b;h++)i[h]=n[h];for(c=0,u=S;;){c++;for(var g=0;g<b;g++)o[g]=r[g];if(o=a.minusOp(o,a.multCons(i,a.dotProduct(i,o))),r=a.multGamma(a.multL(a.multGamma(o),_,y)),t=a.dotProduct(o,r),r=a.normalize(r),l=a.dotProduct(o,r),d=Math.abs(l/u),d<=1+C&&d>=1)break;u=l}for(var v=0;v<b;v++)o[v]=r[v];p=a.multCons(i,Math.sqrt(Math.abs(e))),m=a.multCons(o,Math.sqrt(Math.abs(t)))},`powerIteration`);i.connectComponents(t,r,i.getTopMostNodes(s),l),c.forEach(function(e){i.connectComponents(t,r,i.getTopMostNodes(e.descendants().intersection(r)),l)});for(var M=0,N=0;N<s.length;N++)s[N].isParent()||u.set(s[N].id(),M++);var P=!0,F=!1,I=void 0;try{for(var L=l.keys()[Symbol.iterator](),R;!(P=(R=L.next()).done);P=!0){var z=R.value;u.set(z,M++)}}catch(e){F=!0,I=e}finally{try{!P&&L.return&&L.return()}finally{if(F)throw I}}for(var B=0;B<u.size;B++)f[B]=[];c.forEach(function(e){for(var t=e.children().intersection(r);t.nodes(`:childless`).length==0;)t=t.nodes()[0].children().intersection(r);var n=0,i=t.nodes(`:childless`)[0].connectedEdges().length;t.nodes(`:childless`).forEach(function(e,t){e.connectedEdges().length<i&&(i=e.connectedEdges().length,n=t)}),d.set(e.id(),t.nodes(`:childless`)[n].id())}),s.forEach(function(e){var t=void 0;t=e.isParent()?u.get(d.get(e.id())):u.get(e.id()),e.neighborhood().nodes().forEach(function(n){r.intersection(e.edgesWith(n)).length>0&&(n.isParent()?f[t].push(d.get(n.id())):f[t].push(n.id()))})});var V=n(function(e){var n=u.get(e),r=void 0;l.get(e).forEach(function(i){r=t.getElementById(i).isParent()?d.get(i):i,f[n].push(r),f[u.get(r)].push(e)})},`_loop`),H=!0,ee=!1,te=void 0;try{for(var U=l.keys()[Symbol.iterator](),ne;!(H=(ne=U.next()).done);H=!0){var W=ne.value;V(W)}}catch(e){ee=!0,te=e}finally{try{!H&&U.return&&U.return()}finally{if(ee)throw te}}b=u.size;var G=void 0;if(b>2){E=b<e.sampleSize?b:e.sampleSize;for(var K=0;K<b;K++)_[K]=[];for(var q=0;q<E;q++)y[q]=[];return e.quality==`draft`||e.step==`all`?(k(w),A(),j(),G={nodeIndexes:u,xCoords:p,yCoords:m}):(u.forEach(function(e,n){p.push(t.getElementById(n).position(`x`)),m.push(t.getElementById(n).position(`y`))}),G={nodeIndexes:u,xCoords:p,yCoords:m}),G}else{var re=u.keys(),J=t.getElementById(re.next().value),Y=J.position(),X=J.outerWidth();if(p.push(Y.x),m.push(Y.y),b==2){var Z=t.getElementById(re.next().value).outerWidth();p.push(Y.x+X/2+Z/2+e.idealEdgeLength),m.push(Y.y)}return G={nodeIndexes:u,xCoords:p,yCoords:m},G}},`spectralLayout`)}}),579:((e,t,r)=>{var i=r(212),a=n(function(e){e&&e(`layout`,`fcose`,i)},`register`);typeof cytoscape<`u`&&a(cytoscape),e.exports=a}),140:(t=>{t.exports=e})},r={};function i(e){var n=r[e];if(n!==void 0)return n.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,i),a.exports}return n(i,`__webpack_require__`),i(579)})()})}),A={L:`left`,R:`right`,T:`top`,B:`bottom`},j={L:n(e=>`${e},${e/2} 0,${e} 0,0`,`L`),R:n(e=>`0,${e/2} ${e},0 ${e},${e}`,`R`),T:n(e=>`0,0 ${e},0 ${e/2},${e}`,`T`),B:n(e=>`${e/2},0 ${e},${e} 0,${e}`,`B`)},M={L:n((e,t)=>e-t+2,`L`),R:n((e,t)=>e-2,`R`),T:n((e,t)=>e-t+2,`T`),B:n((e,t)=>e-2,`B`)},N=n(function(e){return F(e)?e===`L`?`R`:`L`:e===`T`?`B`:`T`},`getOppositeArchitectureDirection`),P=n(function(e){let t=e;return t===`L`||t===`R`||t===`T`||t===`B`},`isArchitectureDirection`),F=n(function(e){let t=e;return t===`L`||t===`R`},`isArchitectureDirectionX`),I=n(function(e){let t=e;return t===`T`||t===`B`},`isArchitectureDirectionY`),L=n(function(e,t){let n=F(e)&&I(t),r=I(e)&&F(t);return n||r},`isArchitectureDirectionXY`),R=n(function(e){let t=e[0],n=e[1],r=F(t)&&I(n),i=I(t)&&F(n);return r||i},`isArchitecturePairXY`),z=n(function(e){return e!==`LL`&&e!==`RR`&&e!==`TT`&&e!==`BB`},`isValidArchitectureDirectionPair`),B=n(function(e,t){let n=`${e}${t}`;return z(n)?n:void 0},`getArchitectureDirectionPair`),V=n(function([e,t],n){let r=n[0],i=n[1];return F(r)?I(i)?[e+(r===`L`?-1:1),t+(i===`T`?1:-1)]:[e+(r===`L`?-1:1),t]:F(i)?[e+(i===`L`?1:-1),t+(r===`T`?1:-1)]:[e,t+(r===`T`?1:-1)]},`shiftPositionByArchitectureDirectionPair`),H=n(function(e){return e===`LT`||e===`TL`?[1,1]:e===`BL`||e===`LB`?[1,-1]:e===`BR`||e===`RB`?[-1,-1]:[-1,1]},`getArchitectureDirectionXYFactors`),ee=n(function(e,t){return L(e,t)?`bend`:F(e)?`horizontal`:`vertical`},`getArchitectureDirectionAlignment`),te=n(function(e){return e.type===`service`},`isArchitectureService`),U=n(function(e){return e.type===`junction`},`isArchitectureJunction`),ne=n(e=>e.data(),`edgeData`),W=n(e=>e.data(),`nodeData`),G=u.architecture,K=class{constructor(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.elements={},this.diagramId=``,this.setAccTitle=c,this.getAccTitle=s,this.setDiagramTitle=f,this.getDiagramTitle=d,this.getAccDescription=p,this.setAccDescription=v,this.clear()}static{n(this,`ArchitectureDB`)}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},this.diagramId=``,_()}addService({id:e,icon:t,in:n,title:r,iconText:i}){if(this.registeredIds[e]!==void 0)throw Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]===`node`)throw Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]=`node`,this.nodes[e]={id:e,type:`service`,icon:t,iconText:i,title:r,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(te)}addJunction({id:e,in:t}){if(this.registeredIds[e]!==void 0)throw Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(t!==void 0){if(e===t)throw Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[t]===void 0)throw Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[t]===`node`)throw Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]=`node`,this.nodes[e]={id:e,type:`junction`,edges:[],in:t}}getJunctions(){return Object.values(this.nodes).filter(U)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:t,in:n,title:r}){if(this.registeredIds?.[e]!==void 0)throw Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]===`node`)throw Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]=`group`,this.groups[e]={id:e,icon:t,title:r,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:t,lhsDir:n,rhsDir:r,lhsInto:i,rhsInto:a,lhsGroup:o,rhsGroup:s,title:c}){if(!P(n))throw Error(`Invalid direction given for left hand side of edge ${e}--${t}. Expected (L,R,T,B) got ${String(n)}`);if(!P(r))throw Error(`Invalid direction given for right hand side of edge ${e}--${t}. Expected (L,R,T,B) got ${String(r)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[t]===void 0&&this.groups[t]===void 0)throw Error(`The right-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);let l=this.nodes[e].in,u=this.nodes[t].in;if(o&&l&&u&&l==u)throw Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(s&&l&&u&&l==u)throw Error(`The right-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let d={lhsId:e,lhsDir:n,lhsInto:i,lhsGroup:o,rhsId:t,rhsDir:r,rhsInto:a,rhsGroup:s,title:c};this.edges.push(d),this.nodes[e]&&this.nodes[t]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[t].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let e={},t=Object.entries(this.nodes).reduce((t,[n,r])=>(t[n]=r.edges.reduce((t,r)=>{let i=this.getNode(r.lhsId)?.in,a=this.getNode(r.rhsId)?.in;if(i&&a&&i!==a){let t=ee(r.lhsDir,r.rhsDir);t!==`bend`&&(e[i]??={},e[i][a]=t,e[a]??={},e[a][i]=t)}if(r.lhsId===n){let e=B(r.lhsDir,r.rhsDir);e&&(t[e]=r.rhsId)}else{let e=B(r.rhsDir,r.lhsDir);e&&(t[e]=r.lhsId)}return t},{}),t),{}),r=Object.keys(t)[0],i={[r]:1},a=Object.keys(t).reduce((e,t)=>t===r?e:{...e,[t]:1},{}),o=n(e=>{let n={[e]:[0,0]},r=[e];for(;r.length>0;){let e=r.shift();if(e){i[e]=1,delete a[e];let o=t[e],[s,c]=n[e];Object.entries(o).forEach(([e,t])=>{i[t]||(n[t]=V([s,c],e),r.push(t))})}}return n},`BFS`),s=[o(r)];for(;Object.keys(a).length>0;)s.push(o(Object.keys(a)[0]));this.dataStructures={adjList:t,spatialMaps:s,groupAlignments:e}}return this.dataStructures}setElementForId(e,t){this.elements[e]=t}getElementById(e){return this.elements[e]}getConfig(){return x({...G,...g().architecture})}getConfigField(e){return this.getConfig()[e]}},q=n((e,t)=>{r(e,t),e.groups.map(e=>t.addGroup(e)),e.services.map(e=>t.addService({...e,type:`service`})),e.junctions.map(e=>t.addJunction({...e,type:`junction`})),e.edges.map(e=>t.addEdge(e))},`populateDb`),re={parser:{yy:void 0},parse:n(async e=>{let t=await i(`architecture`,e);o.debug(t);let n=re.parser?.yy;if(!(n instanceof K))throw Error(`parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);q(t,n)},`parse`)},J=n(e=>`
|
|
.edge {
|
|
stroke-width: ${e.archEdgeWidth};
|
|
stroke: ${e.archEdgeColor};
|
|
fill: none;
|
|
}
|
|
|
|
.arrow {
|
|
fill: ${e.archEdgeArrowColor};
|
|
}
|
|
|
|
.node-bkg {
|
|
fill: none;
|
|
stroke: ${e.archGroupBorderColor};
|
|
stroke-width: ${e.archGroupBorderWidth};
|
|
stroke-dasharray: 8;
|
|
}
|
|
.node-icon-text {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.node-icon-text > div {
|
|
color: #fff;
|
|
margin: 1px;
|
|
height: fit-content;
|
|
text-align: center;
|
|
overflow: hidden;
|
|
display: -webkit-box;
|
|
-webkit-box-orient: vertical;
|
|
}
|
|
`,`getStyles`),Y=e(k(),1),X=n(e=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${e}</g>`,`wrapIcon`),Z={prefix:`mermaid-architecture`,height:80,width:80,icons:{database:{body:X(`<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>`)},server:{body:X(`<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>`)},disk:{body:X(`<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>`)},internet:{body:X(`<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>`)},cloud:{body:X(`<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>`)},unknown:C,blank:{body:X(``)}}},ie=n(async function(e,t,n,r){let i=n.getConfigField(`padding`),a=n.getConfigField(`iconSize`),o=a/2,s=a/6,c=s/2;await Promise.all(t.edges().map(async t=>{let{source:a,sourceDir:l,sourceArrow:u,sourceGroup:d,target:f,targetDir:p,targetArrow:h,targetGroup:g,label:_}=ne(t),{x:v,y}=t[0].sourceEndpoint(),{x:b,y:x}=t[0].midpoint(),{x:C,y:w}=t[0].targetEndpoint(),E=i+4;if(d&&(F(l)?v+=l===`L`?-E:E:y+=l===`T`?-E:E+18),g&&(F(p)?C+=p===`L`?-E:E:w+=p===`T`?-E:E+18),!d&&n.getNode(a)?.type===`junction`&&(F(l)?v+=l===`L`?o:-o:y+=l===`T`?o:-o),!g&&n.getNode(f)?.type===`junction`&&(F(p)?C+=p===`L`?o:-o:w+=p===`T`?o:-o),t[0]._private.rscratch){let t=e.insert(`g`);if(t.insert(`path`).attr(`d`,`M ${v},${y} L ${b},${x} L${C},${w} `).attr(`class`,`edge`).attr(`id`,`${r}-${S(a,f,{prefix:`L`})}`),u){let e=F(l)?M[l](v,s):v-c,n=I(l)?M[l](y,s):y-c;t.insert(`polygon`).attr(`points`,j[l](s)).attr(`transform`,`translate(${e},${n})`).attr(`class`,`arrow`)}if(h){let e=F(p)?M[p](C,s):C-c,n=I(p)?M[p](w,s):w-c;t.insert(`polygon`).attr(`points`,j[p](s)).attr(`transform`,`translate(${e},${n})`).attr(`class`,`arrow`)}if(_){let e=L(l,p)?`XY`:F(l)?`X`:`Y`,n=0;n=e===`X`?Math.abs(v-C):e===`Y`?Math.abs(y-w)/1.5:Math.abs(v-C)/2;let r=t.append(`g`);if(await T(r,_,{useHtmlLabels:!1,width:n,classes:`architecture-service-label`},m()),r.attr(`dy`,`1em`).attr(`alignment-baseline`,`middle`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`),e===`X`)r.attr(`transform`,`translate(`+b+`, `+x+`)`);else if(e===`Y`)r.attr(`transform`,`translate(`+b+`, `+x+`) rotate(-90)`);else if(e===`XY`){let e=B(l,p);if(e&&R(e)){let t=r.node().getBoundingClientRect(),[n,i]=H(e);r.attr(`dominant-baseline`,`auto`).attr(`transform`,`rotate(${-1*n*i*45})`);let a=r.node().getBoundingClientRect();r.attr(`transform`,`
|
|
translate(${b}, ${x-t.height/2})
|
|
translate(${n*a.width/2}, ${i*a.height/2})
|
|
rotate(${-1*n*i*45}, 0, ${t.height/2})
|
|
`)}}}}}))},`drawEdges`),Q=n(async function(e,t,n,r){let i=n.getConfigField(`padding`)*.75,a=n.getConfigField(`fontSize`),o=n.getConfigField(`iconSize`)/2;await Promise.all(t.nodes().map(async t=>{let s=W(t);if(s.type===`group`){let{h:c,w:l,x1:u,y1:d}=t.boundingBox(),f=e.append(`rect`);f.attr(`id`,`${r}-group-${s.id}`).attr(`x`,u+o).attr(`y`,d+o).attr(`width`,l).attr(`height`,c).attr(`class`,`node-bkg`);let p=e.append(`g`),h=u,g=d;if(s.icon){let e=p.append(`g`);e.html(`<g>${await E(s.icon,{height:i,width:i,fallbackPrefix:Z.prefix})}</g>`),e.attr(`transform`,`translate(`+(h+o+1)+`, `+(g+o+1)+`)`),h+=i,g+=a/2-1-2}if(s.label){let e=p.append(`g`);await T(e,s.label,{useHtmlLabels:!1,width:l,classes:`architecture-service-label`},m()),e.attr(`dy`,`1em`).attr(`alignment-baseline`,`middle`).attr(`dominant-baseline`,`start`).attr(`text-anchor`,`start`),e.attr(`transform`,`translate(`+(h+o+4)+`, `+(g+o+2)+`)`)}n.setElementForId(s.id,f)}}))},`drawGroups`),ae=n(async function(e,t,n,r){let i=m();for(let a of n){let n=t.append(`g`),o=e.getConfigField(`iconSize`);if(a.title){let e=n.append(`g`);await T(e,a.title,{useHtmlLabels:!1,width:o*1.5,classes:`architecture-service-label`},i),e.attr(`dy`,`1em`).attr(`alignment-baseline`,`middle`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`),e.attr(`transform`,`translate(`+o/2+`, `+o+`)`)}let s=n.append(`g`);if(a.icon)s.html(`<g>${await E(a.icon,{height:o,width:o,fallbackPrefix:Z.prefix})}</g>`);else if(a.iconText){s.html(`<g>${await E(`blank`,{height:o,width:o,fallbackPrefix:Z.prefix})}</g>`);let e=s.append(`g`).append(`foreignObject`).attr(`width`,o).attr(`height`,o).append(`div`).attr(`class`,`node-icon-text`).attr(`style`,`height: ${o}px;`).append(`div`).html(h(a.iconText,i)),t=parseInt(window.getComputedStyle(e.node(),null).getPropertyValue(`font-size`).replace(/\D/g,``))??16;e.attr(`style`,`-webkit-line-clamp: ${Math.floor((o-2)/t)};`)}else s.append(`path`).attr(`class`,`node-bkg`).attr(`id`,`${r}-node-${a.id}`).attr(`d`,`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);n.attr(`id`,`${r}-service-${a.id}`).attr(`class`,`architecture-service`);let{width:c,height:l}=n.node().getBBox();a.width=c,a.height=l,e.setElementForId(a.id,n)}return 0},`drawServices`),oe=n(function(e,t,n,r){n.forEach(n=>{let i=t.append(`g`),a=e.getConfigField(`iconSize`);i.append(`g`).append(`rect`).attr(`id`,`${r}-node-${n.id}`).attr(`fill-opacity`,`0`).attr(`width`,a).attr(`height`,a),i.attr(`class`,`architecture-junction`);let{width:o,height:s}=i._groups[0][0].getBBox();i.width=o,i.height=s,e.setElementForId(n.id,i)})},`drawJunctions`);w([{name:Z.prefix,icons:Z}]),b.use(Y.default);function se(e,t,n){e.forEach(e=>{t.add({group:`nodes`,data:{type:`service`,id:e.id,icon:e.icon,label:e.title,parent:e.in,width:n.getConfigField(`iconSize`),height:n.getConfigField(`iconSize`)},classes:`node-service`})})}n(se,`addServices`);function ce(e,t,n){e.forEach(e=>{t.add({group:`nodes`,data:{type:`junction`,id:e.id,parent:e.in,width:n.getConfigField(`iconSize`),height:n.getConfigField(`iconSize`)},classes:`node-junction`})})}n(ce,`addJunctions`);function le(e,t){t.nodes().map(t=>{let n=W(t);n.type!==`group`&&(n.x=t.position().x,n.y=t.position().y,e.getElementById(n.id).attr(`transform`,`translate(`+(n.x||0)+`,`+(n.y||0)+`)`))})}n(le,`positionNodes`);function ue(e,t){e.forEach(e=>{t.add({group:`nodes`,data:{type:`group`,id:e.id,icon:e.icon,label:e.title,parent:e.in},classes:`node-group`})})}n(ue,`addGroups`);function de(e,t){e.forEach(e=>{let{lhsId:n,rhsId:r,lhsInto:i,lhsGroup:a,rhsInto:o,lhsDir:s,rhsDir:c,rhsGroup:l,title:u}=e,d=L(e.lhsDir,e.rhsDir)?`segments`:`straight`,f={id:`${n}-${r}`,label:u,source:n,sourceDir:s,sourceArrow:i,sourceGroup:a,sourceEndpoint:s===`L`?`0 50%`:s===`R`?`100% 50%`:s===`T`?`50% 0`:`50% 100%`,target:r,targetDir:c,targetArrow:o,targetGroup:l,targetEndpoint:c===`L`?`0 50%`:c===`R`?`100% 50%`:c===`T`?`50% 0`:`50% 100%`};t.add({group:`edges`,data:f,classes:d})})}n(de,`addEdges`);function fe(e,t,r){let i=n((e,t)=>Object.entries(e).reduce((e,[n,i])=>{let a=0,o=Object.entries(i);if(o.length===1)return e[n]=o[0][1],e;for(let i=0;i<o.length-1;i++)for(let s=i+1;s<o.length;s++){let[c,l]=o[i],[u,d]=o[s];if(r[c]?.[u]===t)e[n]??=[],e[n]=[...e[n],...l,...d];else if(c===`default`||u===`default`)e[n]??=[],e[n]=[...e[n],...l,...d];else{let t=`${n}-${a++}`;e[t]=l;let r=`${n}-${a++}`;e[r]=d}}return e},{}),`flattenAlignments`),[a,o]=t.map(t=>{let n={},r={};return Object.entries(t).forEach(([t,[i,a]])=>{let o=e.getNode(t)?.in??`default`;n[a]??={},n[a][o]??=[],n[a][o].push(t),r[i]??={},r[i][o]??=[],r[i][o].push(t)}),{horiz:Object.values(i(n,`horizontal`)).filter(e=>e.length>1),vert:Object.values(i(r,`vertical`)).filter(e=>e.length>1)}}).reduce(([e,t],{horiz:n,vert:r})=>[[...e,...n],[...t,...r]],[[],[]]);return{horizontal:a,vertical:o}}n(fe,`getAlignments`);function pe(e,t){let r=[],i=n(e=>`${e[0]},${e[1]}`,`posToStr`),a=n(e=>e.split(`,`).map(e=>parseInt(e)),`strToPos`);return e.forEach(e=>{let n=Object.fromEntries(Object.entries(e).map(([e,t])=>[i(t),e])),o=[i([0,0])],s={},c={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){let e=o.shift();if(e){s[e]=1;let l=n[e];if(l){let u=a(e);Object.entries(c).forEach(([e,a])=>{let c=i([u[0]+a[0],u[1]+a[1]]),d=n[c];d&&!s[c]&&(o.push(c),r.push({[A[e]]:d,[A[N(e)]]:l,gap:1.5*t.getConfigField(`iconSize`)}))})}}}}),r}n(pe,`getRelativeConstraints`);function me(e,t,r,i,s,{spatialMaps:c,groupAlignments:l}){return new Promise(u=>{let d=a(`body`).append(`div`).attr(`id`,`cy`).attr(`style`,`display:none`),f=b({container:document.getElementById(`cy`),style:[{selector:`edge`,style:{"curve-style":`straight`,"source-endpoint":`data(sourceEndpoint)`,"target-endpoint":`data(targetEndpoint)`}},{selector:`edge[label]`,style:{label:`data(label)`}},{selector:`edge.segments`,style:{"curve-style":`segments`,"segment-weights":`0`,"segment-distances":[.5],"edge-distances":`endpoints`,"source-endpoint":`data(sourceEndpoint)`,"target-endpoint":`data(targetEndpoint)`}},{selector:`node`,style:{"compound-sizing-wrt-labels":`include`}},{selector:`node[label]`,style:{"text-valign":`bottom`,"text-halign":`center`,"font-size":`${s.getConfigField(`fontSize`)}px`}},{selector:`.node-service`,style:{label:`data(label)`,width:`data(width)`,height:`data(height)`}},{selector:`.node-junction`,style:{width:`data(width)`,height:`data(height)`}},{selector:`.node-group`,style:{padding:`${s.getConfigField(`padding`)}px`}}],layout:{name:`grid`,boundingBox:{x1:0,x2:100,y1:0,y2:100}}});d.remove(),ue(r,f),se(e,f,s),ce(t,f,s),de(i,f);let p=fe(s,c,l),m=pe(c,s),h=f.layout({name:`fcose`,quality:`proof`,randomize:s.getConfigField(`randomize`),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(e){let[t,n]=e.connectedNodes(),{parent:r}=W(t),{parent:i}=W(n);return r===i?1.5*s.getConfigField(`iconSize`):.5*s.getConfigField(`iconSize`)},edgeElasticity(e){let[t,n]=e.connectedNodes(),{parent:r}=W(t),{parent:i}=W(n);return r===i?.45:.001},alignmentConstraint:p,relativePlacementConstraint:m});h.one(`layoutstop`,()=>{function e(e,t,n,r){let i,a,{x:o,y:s}=e,{x:c,y:l}=t;a=(r-s+(o-n)*(s-l)/(o-c))/Math.sqrt(1+((s-l)/(o-c))**2),i=Math.sqrt((r-s)**2+(n-o)**2-a**2);let u=Math.sqrt((c-o)**2+(l-s)**2);i/=u;let d=(c-o)*(r-s)-(l-s)*(n-o);switch(!0){case d>=0:d=1;break;case d<0:d=-1;break}let f=(c-o)*(n-o)+(l-s)*(r-s);switch(!0){case f>=0:f=1;break;case f<0:f=-1;break}return a=Math.abs(a)*d,i*=f,{distances:a,weights:i}}n(e,`getSegmentWeights`),f.startBatch();for(let t of Object.values(f.edges()))if(t.data?.()){let{x:n,y:r}=t.source().position(),{x:i,y:a}=t.target().position();if(n!==i&&r!==a){let n=t.sourceEndpoint(),r=t.targetEndpoint(),{sourceDir:i}=ne(t),[a,o]=I(i)?[n.x,r.y]:[r.x,n.y],{weights:s,distances:c}=e(n,r,a,o);t.style(`segment-distances`,c),t.style(`segment-weights`,s)}}f.endBatch(),h.run()}),h.run(),f.ready(e=>{o.info(`Ready`,e),u(f)})})}n(me,`layoutArchitecture`);var he={parser:re,get db(){return new K},renderer:{draw:n(async(e,t,n,r)=>{let i=r.db;i.setDiagramId(t);let a=i.getServices(),o=i.getJunctions(),s=i.getGroups(),c=i.getEdges(),u=i.getDataStructures(),d=y(t),f=d.append(`g`);f.attr(`class`,`architecture-edges`);let p=d.append(`g`);p.attr(`class`,`architecture-services`);let m=d.append(`g`);m.attr(`class`,`architecture-groups`),await ae(i,p,a,t),oe(i,p,o,t);let h=await me(a,o,s,c,i,u);await ie(f,h,i,t),await Q(m,h,i,t),le(i,h),l(void 0,d,i.getConfigField(`padding`),i.getConfigField(`useMaxWidth`))},`draw`)},styles:J};export{he as diagram}; |