/* Highcharts JS v10.2.1 (2022-08-29) Force directed graph module (c) 2010-2021 Torstein Honsi License: www.highcharts.com/license */ (function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/networkgraph",["highcharts"],function(k){d(k);d.Highcharts=k;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function k(b,a,c,f){b.hasOwnProperty(a)||(b[a]=f.apply(null,c),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:a,module:b[a]}})))}d=d?d._modules:{}; k(d,"Series/DragNodesComposition.js",[d["Core/Utilities.js"]],function(b){function a(){var a=this,b,f,d;a.container&&(b=c(a.container,"mousedown",function(b){var e=a.hoverPoint;e&&e.series&&e.series.hasDraggableNodes&&e.series.options.draggable&&(e.series.onMouseDown(e,b),f=c(a.container,"mousemove",function(a){return e&&e.series&&e.series.onMouseMove(e,a)}),d=c(a.container.ownerDocument,"mouseup",function(a){f();d();return e&&e.series&&e.series.onMouseUp(e,a)}))}));c(a,"destroy",function(){b()})} var c=b.addEvent,f=[];return{compose:function(b){-1===f.indexOf(b)&&(f.push(b),c(b,"load",a))},onMouseDown:function(a,b){b=this.chart.pointer.normalize(b);a.fixedPosition={chartX:b.chartX,chartY:b.chartY,plotX:a.plotX,plotY:a.plotY};a.inDragMode=!0},onMouseMove:function(a,b){if(a.fixedPosition&&a.inDragMode){var c=this.chart,f=c.pointer.normalize(b);b=a.fixedPosition.chartX-f.chartX;f=a.fixedPosition.chartY-f.chartY;var e=c.graphLayoutsLookup,d=void 0,m=void 0;if(5b.plotX&&(a=this.toNode,b=this.fromNode);return[["M",a.plotX||0,a.plotY||0],["L",b.plotX||0,b.plotY||0]]};b.prototype.getMass=function(){var a=this.fromNode.mass,b=this.toNode.mass,c=a+b;return{fromNode:1-a/c,toNode:1-b/c}};b.prototype.init= function(b,h,c){a.prototype.init.call(this,b,h,c);this.series.options.draggable&&!this.series.chart.styledMode&&(p(this,"mouseOver",function(){k(this.series.chart.container,{cursor:"move"})}),p(this,"mouseOut",function(){k(this.series.chart.container,{cursor:"default"})}));return this};b.prototype.isValid=function(){return!this.isNode||l(this.id)};b.prototype.redrawLink=function(){var a=this.getLinkPath();if(this.graphic){this.shapeArgs={d:a};if(!this.series.chart.styledMode){var b=this.series.pointAttribs(this); this.graphic.attr(b);(this.dataLabels||[]).forEach(function(a){a&&a.attr({opacity:b.opacity})})}this.graphic.animate(this.shapeArgs);var c=a[0];a=a[1];"M"===c[0]&&"L"===a[0]&&(this.plotX=(c[1]+a[1])/2,this.plotY=(c[2]+a[2])/2)}};b.prototype.remove=function(a,b){var g=this.series,c=g.options.nodes||[],h,f=c.length;if(this.isNode){g.points=[];[].concat(this.linksFrom).concat(this.linksTo).forEach(function(a){h=a.fromNode.linksFrom.indexOf(a);-1"+this.point.toNode.name},linkTextPath:{enabled:!0},textPath:{enabled:!1},style:{transition:"opacity 2000ms"}},link:{color:"rgba(100, 100, 100, 0.5)",width:1},draggable:!0,layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:1,enableSimulation:!1,theta:.5,maxSpeed:10,approximation:"none",type:"reingold-fruchterman",integration:"euler",maxIterations:1E3,gravitationalConstant:.0625,friction:-.981},showInLegend:!1}});k(d,"Series/Networkgraph/EulerIntegration.js", [],function(){return{attractive:function(b,a,c,f){var e=b.getMass(),d=c.x/f*a;a*=c.y/f;b.fromNode.fixedPosition||(b.fromNode.dispX-=d*e.fromNode/b.fromNode.degree,b.fromNode.dispY-=a*e.fromNode/b.fromNode.degree);b.toNode.fixedPosition||(b.toNode.dispX+=d*e.toNode/b.toNode.degree,b.toNode.dispY+=a*e.toNode/b.toNode.degree)},attractiveForceFunction:function(b,a){return b*b/a},barycenter:function(){var b=this.options.gravitationalConstant,a=this.barycenter.xFactor,c=this.barycenter.yFactor;this.nodes.forEach(function(f){if(!f.fixedPosition){var d= f.getDegree();d*=1+d/2;f.dispX+=(a-f.plotX)*b*d/f.degree;f.dispY+=(c-f.plotY)*b*d/f.degree}})},getK:function(b){return Math.pow(b.box.width*b.box.height/b.nodes.length,.3)},integrate:function(b,a){a.dispX+=a.dispX*b.options.friction;a.dispY+=a.dispY*b.options.friction;var c=a.temperature=b.vectorLength({x:a.dispX,y:a.dispY});0!==c&&(a.plotX+=a.dispX/c*Math.min(Math.abs(a.dispX),b.temperature),a.plotY+=a.dispY/c*Math.min(Math.abs(a.dispY),b.temperature))},repulsive:function(b,a,c,f){b.dispX+=c.x/f* a/b.degree;b.dispY+=c.y/f*a/b.degree},repulsiveForceFunction:function(b,a){return a*a/b}}});k(d,"Series/Networkgraph/QuadTreeNode.js",[],function(){return function(){function b(a){this.isInternal=this.isEmpty=this.body=!1;this.nodes=[];this.box=a;this.boxSize=Math.min(a.width,a.height)}b.prototype.divideBox=function(){var a=this.box.width/2,c=this.box.height/2;this.nodes[0]=new b({left:this.box.left,top:this.box.top,width:a,height:c});this.nodes[1]=new b({left:this.box.left+a,top:this.box.top,width:a, height:c});this.nodes[2]=new b({left:this.box.left+a,top:this.box.top+c,width:a,height:c});this.nodes[3]=new b({left:this.box.left,top:this.box.top+c,width:a,height:c})};b.prototype.getBoxPosition=function(a){var b=a.plotYb?1:0)}}});k(d,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[d["Series/Networkgraph/EulerIntegration.js"],d["Core/Globals.js"],d["Series/GraphLayoutComposition.js"],d["Series/Networkgraph/QuadTree.js"],d["Core/Utilities.js"],d["Series/Networkgraph/VerletIntegration.js"]],function(b,a,c,d,e,k){var f=a.win,q=e.clamp,l=e.defined,w=e.isFunction,m=e.pick; return function(){function a(){this.attractiveForce=void 0;this.box={};this.currentStep=0;this.initialRendering=!0;this.integration=void 0;this.links=[];this.nodes=[];this.repulsiveForce=this.quadTree=this.options=void 0;this.series=[];this.simulation=!1}a.compose=function(g){c.compose(g);c.integrations.euler=b;c.integrations.verlet=k;c.layouts["reingold-fruchterman"]=a};a.prototype.init=function(a){this.options=a;this.nodes=[];this.links=[];this.series=[];this.box={x:0,y:0,width:0,height:0};this.setInitialRendering(!0); this.integration=c.integrations[a.integration];this.enableSimulation=a.enableSimulation;this.attractiveForce=m(a.attractiveForce,this.integration.attractiveForceFunction);this.repulsiveForce=m(a.repulsiveForce,this.integration.repulsiveForceFunction);this.approximation=a.approximation};a.prototype.updateSimulation=function(a){this.enableSimulation=m(a,this.options.enableSimulation)};a.prototype.start=function(){var a=this.series,b=this.options;this.currentStep=0;this.forces=a[0]&&a[0].forces||[]; this.chart=a[0]&&a[0].chart;this.initialRendering&&(this.initPositions(),a.forEach(function(a){a.finishedAnimating=!0;a.render()}));this.setK();this.resetSimulation(b);this.enableSimulation&&this.step()};a.prototype.step=function(){var a=this,b=this.series;this.currentStep++;"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter());for(var c=0,d=this.forces||[];c Math.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature};a.prototype.getSystemTemperature=function(){for(var a=0,b=0,c=this.nodes;b