/* Highcharts JS v11.1.0 (2023-06-05) (c) 2016-2021 Highsoft AS Authors: Jon Arild Nygard License: www.highcharts.com/license */ 'use strict';var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(a){var c=0;return function(){return c{a.graphic=t=t&&t.destroy();"function"===typeof c&&c()};Object.keys(d).length?t.animate(d,void 0,()=>f()):f()}}}}); c(a,"Series/Treemap/TreemapPoint.js",[a["Series/DrawPointUtilities.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,d,c){const {series:{prototype:{pointClass:b}},seriesTypes:{pie:{prototype:{pointClass:e}},scatter:{prototype:{pointClass:p}}}}=d,{extend:k,isNumber:m,pick:t}=c;class f extends p{constructor(){super(...arguments);this.series=this.options=this.node=this.name=void 0;this.shapeType="rect";this.value=void 0}draw(f){a.draw(this,f)}getClassName(){let a=b.prototype.getClassName.call(this), f=this.series,d=f.options;this.node.level<=f.nodeMap[f.rootNode].level?a+=" highcharts-above-level":this.node.isLeaf||t(d.interactByLeaf,!d.allowTraversingTree)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a}isValid(){return!(!this.id&&!m(this.value))}setState(a){b.prototype.setState.call(this,a);this.graphic&&this.graphic.attr({zIndex:"hover"===a?1:0})}shouldDraw(){return m(this.plotY)&&null!==this.y}}k(f.prototype,{setVisible:e.prototype.setVisible}); return f});c(a,"Series/Treemap/TreemapUtilities.js",[a["Core/Utilities.js"]],function(a){const {objectEach:b}=a;var c;(function(a){function d(a,b,c=this){a=b.call(c,a);!1!==a&&d(a,b,c)}a.AXIS_MAX=100;a.isBoolean=function(a){return"boolean"===typeof a};a.eachObject=function(a,d,c){c=c||this;b(a,function(b,f){d.call(c,b,f,a)})};a.recursive=d})(c||(c={}));return c});c(a,"Series/TreeUtilities.js",[a["Core/Color/Color.js"],a["Core/Utilities.js"]],function(a,c){function b(a,c){var f=c.before;const h=c.idRoot, e=c.mapIdToNode[h],k=c.points[a.i],m=k&&k.options||{},r=[];let x=0;a.levelDynamic=a.level-(!1!==c.levelIsConstant?0:e.level);a.name=t(k&&k.name,"");a.visible=h===a.id||!0===c.visible;"function"===typeof f&&(a=f(a,c));a.children.forEach((f,h)=>{const D=d({},c);d(D,{index:h,siblings:a.children.length,visible:a.visible});f=b(f,D);r.push(f);f.visible&&(x+=f.val)});f=t(m.value,x);a.visible=0<=f&&(0{let d,e;k(b)&&p(b.level)&&(e=m({},b),d=t(e.levelIsConstant,c.levelIsConstant),delete e.levelIsConstant,delete e.level,b=b.level+(d?0:f-1),k(a[b])?m(!0,a[b],e):a[b]=e);return a},{}));e=p(a.to)?a.to:1;for(a=0;a<=e;a++)b[a]=m({}, c,k(d[a])?d[a]:{})}return b},setTreeValues:b,updateRootId:function(a){if(k(a)){var b=k(a.options)?a.options:{};b=t(a.rootNode,b.rootId,"");k(a.userOptions)&&(a.userOptions.rootId=b);a.rootNode=b}return b}}});c(a,"Extensions/Breadcrumbs/BreadcrumbsDefaults.js",[],function(){return{lang:{mainBreadcrumb:"Main"},options:{buttonTheme:{fill:"none",height:18,padding:2,"stroke-width":0,zIndex:7,states:{select:{fill:"none"}},style:{color:"#334eff"}},buttonSpacing:5,floating:!1,format:void 0,relativeTo:"plotBox", rtl:!1,position:{align:"left",verticalAlign:"top",x:0,y:void 0},separator:{text:"/",style:{color:"#666666",fontSize:"0.8em"}},showFullPath:!0,style:{},useHTML:!1,zIndex:7}}});c(a,"Extensions/Breadcrumbs/Breadcrumbs.js",[a["Extensions/Breadcrumbs/BreadcrumbsDefaults.js"],a["Core/Chart/Chart.js"],a["Core/Templating.js"],a["Core/Utilities.js"]],function(a,c,e,B){function b(){if(this.breadcrumbs){const a=this.resetZoomButton&&this.resetZoomButton.getBBox(),b=this.breadcrumbs.options;a&&"right"===b.position.align&& "plotBox"===b.relativeTo&&this.breadcrumbs.alignBreadcrumbsGroup(-a.width-b.buttonSpacing)}}function d(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function k(){const a=this.breadcrumbs;if(a&&!a.options.floating&&a.level){var b=a.options,c=b.buttonTheme;c=(c.height||0)+2*(c.padding||0)+b.buttonSpacing;b=b.position.verticalAlign;"bottom"===b?(this.marginBottom=(this.marginBottom||0)+c,a.yOffset=c):"middle"!==b?(this.plotTop+=c,a.yOffset=-c):a.yOffset=void 0}}function m(){this.breadcrumbs&& this.breadcrumbs.redraw()}function t(a){!0===a.resetSelection&&this.breadcrumbs&&this.breadcrumbs.alignBreadcrumbsGroup()}const {format:f}=e,{addEvent:h,defined:O,extend:P,fireEvent:G,isString:M,merge:H,objectEach:K,pick:x}=B,L=[];class C{static compose(f,u){B.pushUnique(L,f)&&(h(c,"destroy",d),h(c,"afterShowResetZoom",b),h(c,"getMargins",k),h(c,"redraw",m),h(c,"selection",t));B.pushUnique(L,u)&&P(u.lang,a.lang)}constructor(a,b){this.elementList={};this.isDirty=!0;this.level=0;this.list=[];b=H(a.options.drilldown&& a.options.drilldown.drillUpButton,C.defaultOptions,a.options.navigation&&a.options.navigation.breadcrumbs,b);this.chart=a;this.options=b||{}}updateProperties(a){this.setList(a);this.setLevel();this.isDirty=!0}setList(a){this.list=a}setLevel(){this.level=this.list.length&&this.list.length-1}getLevel(){return this.level}getButtonText(a){const b=this.chart,c=this.options;var d=b.options.lang;const e=x(c.format,c.showFullPath?"{level.name}":"\u2190 {level.name}");d=d&&x(d.drillUpText,d.mainBreadcrumb); a=c.formatter&&c.formatter(a)||f(e,{level:a.levelOptions},b)||"";(M(a)&&!a.length||"\u2190 "===a)&&O(d)&&(a=c.showFullPath?d:"\u2190 "+d);return a}redraw(){this.isDirty&&this.render();this.group&&this.group.align();this.isDirty=!1}render(){const a=this.chart,b=this.options;!this.group&&b&&(this.group=a.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:b.zIndex}).add());b.showFullPath?this.renderFullPathButtons():this.renderSingleButton();this.alignBreadcrumbsGroup()}renderFullPathButtons(){this.destroySingleButton(); this.resetElementListState();this.updateListElements();this.destroyListElements()}renderSingleButton(){const a=this.chart;var b=this.list;const c=this.options.buttonSpacing;this.destroyListElements();const d=this.group?this.group.getBBox().width:c;b=b[b.length-2];!a.drillUpButton&&0{if(a||!b[d].updated)c=b[d],c.button&&c.button.destroy(),c.separator&&c.separator.destroy(),delete c.button,delete c.separator,delete b[d]});a&&(this.elementList={})}destroySingleButton(){this.chart.drillUpButton&&(this.chart.drillUpButton.destroy(),this.chart.drillUpButton= void 0)}resetElementListState(){K(this.elementList,a=>{a.updated=!1})}updateListElements(){const a=this.elementList,b=this.options.buttonSpacing,c=this.list,d=this.options.rtl,f=d?-1:1,e=function(a,b){return f*a.getBBox().width+f*b},k=function(a,b,g){a.translate(b-a.getBBox().width,g)};let h=this.group?e(this.group,b):b,m,l;for(let A=0,E=c.length;Af.lP.lR&&n.algorithmCalcPoints(a,!1,f,g,d);l===e&&n.algorithmCalcPoints(a, !0,f,g,d);l+=1});return g}alignDataLabel(a,b,c){const g=c.style;g&&!u(g.textOverflow)&&b.text&&b.getBBox().width>b.text.textWidth&&b.css({textOverflow:"ellipsis",width:g.width+="px"});G.prototype.alignDataLabel.apply(this,arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})}calculateChildrenAreas(a,b){let g=this,c=g.options,n=g.mapOptionsToLevel[a.level+1],d=l(g[n&&n.layoutAlgorithm]&&n.layoutAlgorithm,c.layoutAlgorithm),e=c.alternateStartingDirection,f=[];a=a.children.filter(function(a){return!a.ignore}); n&&n.layoutStartingDirection&&(b.direction="vertical"===n.layoutStartingDirection?0:1);f=g[d](b,a);a.forEach(function(a,c){c=f[c];a.values=w(c,{val:a.childrenTotal,direction:e?1-b.direction:b.direction});a.pointValues=w(c,{x:c.x/g.axisRatio,y:k.AXIS_MAX-c.y-c.height,width:c.width/g.axisRatio});a.children.length&&g.calculateChildrenAreas(a,a.values)})}createList(a){var b=this.chart;const c=[];if(b.breadcrumbs){let g=0;c.push({level:g,levelOptions:b.series[0]});b=a.target.nodeMap[a.newRootId];const d= [];for(;b.parent||""===b.parent;)d.push(b),b=a.target.nodeMap[b.parent];d.reverse().forEach(function(a){c.push({level:++g,levelOptions:a})});1>=c.length&&(c.length=0)}return c}drawDataLabels(){let a=this,b=a.mapOptionsToLevel,c,l;a.points.filter(function(a){return a.node.visible}).forEach(function(g){l=b[g.node.level];c={style:{}};g.node.isLeaf||(c.enabled=!1);l&&l.dataLabels&&(c=w(c,l.dataLabels),a._hasPointLabels=!0);g.shapeArgs&&(c.style.width=g.shapeArgs.width,g.dataLabel&&g.dataLabel.css({width:g.shapeArgs.width+ "px"}));g.dlOptions=w(c,g.options.dataLabels)});d.prototype.drawDataLabels.call(this)}drawPoints(a=this.points){const b=this,c=b.chart,g=c.renderer,d=c.styledMode,l=b.options,f=d?{}:l.shadow,e=l.borderRadius,k=c.pointCount{a.parentNode=n});g.nodeMap[n.id]=n;g.nodeList.push(n);f&&(f.node=n,n.point=f);return n}hasData(){return!!this.processedXData.length}init(a,b){const c=this,g=w(b.drillUpButton,b.breadcrumbs);let l;l=C(c,"setOptions",function(a){a=a.userOptions;u(a.allowDrillToNode)&&!u(a.allowTraversingTree)&&(a.allowTraversingTree=a.allowDrillToNode,delete a.allowDrillToNode);u(a.drillUpButton)&& !u(a.traverseUpButton)&&(a.traverseUpButton=a.drillUpButton,delete a.drillUpButton)});d.prototype.init.call(c,a,b);delete c.opacity;c.eventsToUnbind.push(l);c.options.allowTraversingTree&&(c.eventsToUnbind.push(C(c,"click",c.onClickDrillToNode)),c.eventsToUnbind.push(C(c,"setRootNode",function(a){const b=c.chart;b.breadcrumbs&&b.breadcrumbs.updateProperties(c.createList(a))})),c.eventsToUnbind.push(C(c,"update",function(a,b){(b=this.chart.breadcrumbs)&&a.options.breadcrumbs&&b.update(a.options.breadcrumbs)})), c.eventsToUnbind.push(C(c,"destroy",function(a){const b=this.chart;b.breadcrumbs&&(b.breadcrumbs.destroy(),a.keepEventsForUpdate||(b.breadcrumbs=void 0))})));a.breadcrumbs||(a.breadcrumbs=new t(a,g));c.eventsToUnbind.push(C(a.breadcrumbs,"up",function(a){a=this.level-a.newLevel;for(let b=0;b{point.name}: {point.value}
"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,colorKey:"colorValue",opacity:.15,states:{hover:{borderColor:"#999999",brightness:M?0:.1,halo:!1,opacity:.75, shadow:!1}},legendSymbol:"rectangle"});y(E.prototype,{buildKDTree:a,colorAttribs:c.seriesMembers.colorAttribs,colorKey:"colorValue",directTouch:!0,getExtremesFromAll:!0,getSymbol:a,optionalAxis:"colorAxis",parallelArrays:["x","y","value","colorValue"],pointArrayMap:["value"],pointClass:p,NodeClass:h,trackerGroups:["group","dataLabelsGroup"],utils:{recursive:k.recursive}});c.compose(E);B.registerSeriesType("treemap",E);"";return E});c(a,"Series/Sunburst/SunburstPoint.js",[a["Core/Series/SeriesRegistry.js"], a["Core/Utilities.js"]],function(a,c){const {series:{prototype:{pointClass:b}},seriesTypes:{treemap:{prototype:{pointClass:d}}}}=a,{correctFloat:r,extend:p}=c;class k extends d{constructor(){super(...arguments);this.shapeType=this.shapeExisting=this.series=this.options=this.node=void 0}getDataLabelPath(a){let b=this.series.chart.renderer,c=this.shapeExisting,d=c.start,e=c.end;var k=d+(e-d)/2;k=0>k&&k>-Math.PI||k>Math.PI;a=c.r+(a.options.distance||0);let m;d===-Math.PI/2&&r(e)===r(1.5*Math.PI)&&(d= -Math.PI+Math.PI/360,e=-Math.PI/360,k=!0);e-d>Math.PI&&(k=!1,m=!0,e-d>2*Math.PI-.01&&(d+=.01,e-=.01));this.dataLabelPath&&(this.dataLabelPath=this.dataLabelPath.destroy());return this.dataLabelPath=b.arc({open:!0,longArc:m?1:0}).attr({start:k?d:e,end:k?e:d,clockwise:+k,x:c.x,y:c.y,r:(a+c.innerR)/2}).add(b.defs)}isValid(){return!0}}p(k.prototype,{getClassName:b.prototype.getClassName,haloPath:b.prototype.haloPath,setState:b.prototype.setState});return k});c(a,"Series/Sunburst/SunburstUtilities.js", [a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,c){const {seriesTypes:{treemap:b}}=a,{isNumber:d,isObject:r,merge:p}=c;var k;(function(a){function c(a,b){let c=[];if(d(a)&&d(b)&&a<=b)for(;a<=b;a++)c.push(a);return c}a.recursive=b.prototype.utils.recursive;a.calculateLevelSizes=function(a,b){let e;b=r(b)?b:{};let f=0,k,m,h,t;r(a)&&(e=p({},a),a=d(b.from)?b.from:0,t=d(b.to)?b.to:0,m=c(a,t),a=Object.keys(e).filter(function(a){return-1===m.indexOf(+a)}),k=h=d(b.diffRadius)?b.diffRadius: 0,m.forEach(function(a){a=e[a];const b=a.levelSize.unit,c=a.levelSize.value;"weight"===b?f+=c:"percentage"===b?(a.levelSize={unit:"pixels",value:c/100*k},h-=a.levelSize.value):"pixels"===b&&(h-=c)}),m.forEach(function(a){var b=e[a];"weight"===b.levelSize.unit&&(b=b.levelSize.value,e[a].levelSize={unit:"pixels",value:b/f*h})}),a.forEach(function(a){e[a].levelSize={value:0,unit:"pixels"}}));return e};a.getLevelFromAndTo=function({level:a,height:b}){return{from:0g.innerArcLength&&g.outerArcLength>l.radius){var F=0;g.dataLabelPath&&"circular"===v&&(h.textPath={enabled:!0})}else 11.5*l.radius?"circular"===v?h.textPath={enabled:!0,attributes:{dy:5}}:v="parallel": (g.dataLabel&&g.dataLabel.textPath&&"circular"===v&&(h.textPath={enabled:!1}),v="perpendicular");"auto"!==v&&"circular"!==v&&(g.dataLabel&&g.dataLabel.textPath&&(h.textPath={enabled:!1}),F=l.end-(l.end-l.start)/2);"parallel"===v?h.style.width=Math.min(2.5*l.radius,(g.outerArcLength+g.innerArcLength)/2):!L(h.style.width)&&l.radius&&(h.style.width=1===g.node.level?2*l.radius:l.radius);"perpendicular"===v&&16>g.outerArcLength&&(h.style.width=1);h.style.width=Math.max(h.style.width-2*(h.padding||0),1); F=F*N%180;"parallel"===v&&(F-=90);90F&&(F+=180);h.rotation=F}h.textPath&&(0===g.shapeExisting.innerR&&h.textPath.enabled?(h.rotation=0,h.textPath.enabled=!1,h.style.width=Math.max(2*g.shapeExisting.r-2*(h.padding||0),1)):g.dlOptions&&g.dlOptions.textPath&&!g.dlOptions.textPath.enabled&&"circular"===v&&(h.textPath.enabled=!0),h.textPath.enabled&&(h.rotation=0,h.style.width=Math.max((g.outerArcLength+g.innerArcLength)/2-2*(h.padding||0),1)));0===h.rotation&&(h.rotation=.001);F=h;g.dlOptions= F;!G&&A&&(G=!0,z=C);g.draw({animatableAttribs:u,attribs:D(n,!t.styledMode&&a.pointAttribs(g,g.selected&&"select")),onComplete:z,group:d,renderer:B,shapeType:"arc",shapeArgs:q})});u&&G?(a.hasRendered=!1,a.options.dataLabels.defer=!0,O.prototype.drawDataLabels.call(a),a.hasRendered=!0,H&&C()):O.prototype.drawDataLabels.call(a);a.idPreviousRoot=f}layoutAlgorithm(a,b,c){let d=a.start,e=a.end-d,f=a.val,h=a.x,l=a.y,k=c&&y(c.levelSize)&&I(c.levelSize.value)?c.levelSize.value:0,m=a.r,r=m+k,p=c&&I(c.slicedOffset)? c.slicedOffset:0;return(b||[]).reduce(function(a,b){const c=1/f*b.val*e;var g=d+c/2,q=h+Math.cos(g)*p;g=l+Math.sin(g)*p;b={x:b.sliced?q:h,y:b.sliced?g:l,innerR:m,r,radius:k,start:d,end:d+c};a.push(b);d=b.end;return a},[])}setRootNode(a,b,c){if(1===this.nodeMap[a].level&&1===this.nodeList.filter(a=>1===a.level).length){if(""===this.idPreviousRoot)return;a=""}super.setRootNode(a,b,c)}setShapeArgs(a,b,c){let d=[],e=c[a.level+1];a=a.children.filter(function(a){return a.visible});d=this.layoutAlgorithm(b, a,e);a.forEach(function(a,b){b=d[b];const e=b.start+(b.end-b.start)/2;var f=b.innerR+(b.r-b.innerR)/2;const g=b.end-b.start;f=0===b.innerR&&6.28a.val?a.childrenTotal:a.val:a.childrenTotal;this.points[a.i]&&(this.points[a.i].innerArcLength=g*b.innerR,this.points[a.i].outerArcLength=g*b.r);a.shapeArgs=J(b,{plotX:f.x,plotY:f.y+4*Math.abs(Math.cos(e))});a.values=J(b,{val:h});a.children.length&&this.setShapeArgs(a, a.values,c)},this)}translate(){let a=this;var c=a.options;let d=a.center=a.getCenter(),e=a.startAndEndRadians=h(c.startAngle,c.endAngle),f=d[3]/2,k=d[2]/2-f,m=x(a),p=a.nodeMap;let t=p&&p[m],w,B,D={};a.shapeRoot=t&&t.shapeArgs;this.processedXData||this.processData();this.generatePoints();u(this,"afterTranslate");B=a.tree=a.getTree();p=a.nodeMap;t=p[m];var y=Q(t.parent)?t.parent:"";w=p[y];const {from:G,to:I}=r.getLevelFromAndTo(t);y=H({from:G,levels:a.options.levels,to:I,defaults:{colorByPoint:c.colorByPoint, dataLabels:c.dataLabels,levelIsConstant:c.levelIsConstant,levelSize:c.levelSize,slicedOffset:c.slicedOffset}});y=r.calculateLevelSizes(y,{diffRadius:k,from:G,to:I});K(B,{before:b,idRoot:m,levelIsConstant:c.levelIsConstant,mapOptionsToLevel:y,mapIdToNode:p,points:a.points,series:a});c=p[""].shapeArgs={end:e.end,r:f,start:e.start,val:t.val,x:d[0],y:d[1]};this.setShapeArgs(w,c,y);a.mapOptionsToLevel=y;a.data.forEach(function(b){D[b.id]&&C(31,!1,a.chart);D[b.id]=!0});D={}}}w.defaultOptions=J(G.defaultOptions, {center:["50%","50%"],clip:!1,colorByPoint:!1,opacity:1,dataLabels:{allowOverlap:!0,defer:!0,rotationMode:"circular",style:{textOverflow:"ellipsis"}},rootId:void 0,levelIsConstant:!0,levelSize:{value:1,unit:"weight"},slicedOffset:10});D(w.prototype,{axisTypes:[],drawDataLabels:a,getCenter:d,isCartesian:!1,onPointSupported:!0,pointAttribs:P.prototype.pointAttribs,pointClass:B,NodeClass:m,utils:r});e.registerSeriesType("sunburst",w);"";return w});c(a,"masters/modules/sunburst.src.js",[a["Core/Globals.js"], a["Extensions/Breadcrumbs/Breadcrumbs.js"]],function(a,c){a.Breadcrumbs=c;c.compose(a.Chart,a.defaultOptions)})}); //# sourceMappingURL=sunburst.js.map