highcharts
Version:
JavaScript charting framework
107 lines (104 loc) • 111 kB
JavaScript
/*
Highcharts Gantt JS v10.0.0 (2022-03-07)
Gantt series
(c) 2016-2021 Lars A. V. Cabrera
License: www.highcharts.com/license
*/
(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(J){c(J);c.Highcharts=J;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function J(c,t,v,u){c.hasOwnProperty(t)||(c[t]=u.apply(null,v),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:c[t]}})))}c=c?c._modules:{};J(c,"Series/XRange/XRangePoint.js",
[c["Core/Series/Point.js"],c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"]],function(c,t,v){var u=this&&this.__extends||function(){var c=function(m,k){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(k,d){k.__proto__=d}||function(k,d){for(var q in d)d.hasOwnProperty(q)&&(k[q]=d[q])};return c(m,k)};return function(m,k){function x(){this.constructor=m}c(m,k);m.prototype=null===k?Object.create(k):(x.prototype=k.prototype,new x)}}();v=v.extend;t=function(t){function m(){var k=
null!==t&&t.apply(this,arguments)||this;k.options=void 0;k.series=void 0;return k}u(m,t);m.getColorByCategory=function(k,m){var d=k.options.colors||k.chart.options.colors;k=m.y%(d?d.length:k.chart.options.chart.colorCount);return{colorIndex:k,color:d&&d[k]}};m.prototype.resolveColor=function(){var k=this.series;if(k.options.colorByPoint&&!this.options.color){var x=m.getColorByCategory(k,this);k.chart.styledMode||(this.color=x.color);this.options.colorIndex||(this.colorIndex=x.colorIndex)}else this.color||
(this.color=k.color)};m.prototype.init=function(){c.prototype.init.apply(this,arguments);this.y||(this.y=0);return this};m.prototype.setState=function(){c.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())};m.prototype.getLabelConfig=function(){var k=c.prototype.getLabelConfig.call(this),m=this.series.yAxis.categories;k.x2=this.x2;k.yCategory=this.yCategory=m&&m[this.y];return k};m.prototype.isValid=function(){return"number"===typeof this.x&&"number"===
typeof this.x2};return m}(t.seriesTypes.column.prototype.pointClass);v(t.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});return t});J(c,"Series/XRange/XRangeComposition.js",[c["Core/Axis/Axis.js"],c["Core/Utilities.js"]],function(c,t){var v=t.addEvent,u=t.pick;v(c,"afterGetSeriesExtremes",function(){var c=this.series,m;if(this.isXAxis){var k=u(this.dataMax,-Number.MAX_VALUE);c.forEach(function(c){c.x2Data&&c.x2Data.forEach(function(d){d>k&&(k=d,m=!0)})});m&&(this.dataMax=k)}})});J(c,"Series/XRange/XRangeSeries.js",
[c["Core/Globals.js"],c["Core/Color/Color.js"],c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"],c["Series/XRange/XRangePoint.js"]],function(c,t,v,u,B){var m=this&&this.__extends||function(){var a=function(b,p){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,a){p.__proto__=a}||function(p,a){for(var b in a)a.hasOwnProperty(b)&&(p[b]=a[b])};return a(b,p)};return function(b,p){function C(){this.constructor=b}a(b,p);b.prototype=null===p?Object.create(p):(C.prototype=p.prototype,
new C)}}(),k=t.parse,x=v.series,d=v.seriesTypes.column,q=d.prototype,g=u.clamp,z=u.correctFloat,D=u.defined;t=u.extend;var H=u.find,e=u.isNumber,a=u.isObject,b=u.merge,l=u.pick;u=function(F){function G(){var a=null!==F&&F.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}m(G,F);G.prototype.init=function(){d.prototype.init.apply(this,arguments);this.options.stacking=void 0};G.prototype.getColumnMetrics=function(){function a(){b.series.forEach(function(a){var p=a.xAxis;
a.xAxis=a.yAxis;a.yAxis=p})}var b=this.chart;a();var l=q.getColumnMetrics.call(this);a();return l};G.prototype.cropData=function(a,b,l,e){b=x.prototype.cropData.call(this,this.x2Data,b,l,e);b.xData=a.slice(b.start,b.end);return b};G.prototype.findPointIndex=function(a){var p=this.cropped,b=this.cropStart,l=this.points,g=a.id;if(g)var d=(d=H(l,function(a){return a.id===g}))?d.index:void 0;"undefined"===typeof d&&(d=(d=H(l,function(p){return p.x===a.x&&p.x2===a.x2&&!p.touched}))?d.index:void 0);p&&
e(d)&&e(b)&&d>=b&&(d-=b);return d};G.prototype.translatePoint=function(p){var C=this.xAxis,d=this.yAxis,F=this.columnMetrics,E=this.options,k=E.minPointLength||0,q=(p.shapeArgs&&p.shapeArgs.width||0)/2,A=this.pointXOffset=F.offset,n=p.plotX,y=l(p.x2,p.x+(p.len||0)),r=C.translate(y,0,0,0,1);y=Math.abs(r-n);var f=this.chart.inverted,h=l(E.borderWidth,1)%2/2,w=F.offset,L=Math.round(F.width);k&&(k-=y,0>k&&(k=0),n-=k/2,r+=k/2);n=Math.max(n,-10);r=g(r,-10,C.len+10);D(p.options.pointWidth)&&(w-=(Math.ceil(p.options.pointWidth)-
L)/2,L=Math.ceil(p.options.pointWidth));E.pointPlacement&&e(p.plotY)&&d.categories&&(p.plotY=d.translate(p.y,0,1,0,1,E.pointPlacement));E=Math.floor(Math.min(n,r))+h;E={x:E,y:Math.floor(p.plotY+w)+h,width:Math.floor(Math.max(n,r))+h-E,height:L,r:this.options.borderRadius};p.shapeArgs=E;f?p.tooltipPos[1]+=A+q:p.tooltipPos[0]-=q+A-E.width/2;q=E.x;A=q+E.width;0>q||A>C.len?(q=g(q,0,C.len),A=g(A,0,C.len),r=A-q,p.dlBox=b(E,{x:q,width:A-q,centerX:r?r/2:null})):p.dlBox=null;q=p.tooltipPos;A=f?1:0;r=f?0:1;
F=this.columnMetrics?this.columnMetrics.offset:-F.width/2;q[A]=f?q[A]+E.width/2:q[A]+(C.reversed?-1:0)*E.width;q[r]=g(q[r]+(f?-1:1)*F,0,d.len-1);if(d=p.partialFill)a(d)&&(d=d.amount),e(d)||(d=0),p.partShapeArgs=b(E,{r:this.options.borderRadius}),n=Math.max(Math.round(y*d+p.plotX-n),0),p.clipRectArgs={x:C.reversed?E.x+y-n:E.x,y:E.y,width:n,height:E.height}};G.prototype.translate=function(){q.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)};G.prototype.drawPoint=
function(p,C){var e=this.options,d=this.chart.renderer,g=p.graphic,q=p.shapeType,F=p.shapeArgs,A=p.partShapeArgs,n=p.clipRectArgs,y=p.partialFill,r=e.stacking&&!e.borderRadius,f=p.state,h=e.states[f||"normal"]||{},w="undefined"===typeof f?"attr":C;f=this.pointAttribs(p,f);h=l(this.chart.options.chart.animation,h.animation);if(p.isNull||!1===p.visible)g&&(p.graphic=g.destroy());else{if(g)g.rect[C](F);else p.graphic=g=d.g("point").addClass(p.getClassName()).add(p.group||this.group),g.rect=d[q](b(F)).addClass(p.getClassName()).addClass("highcharts-partfill-original").add(g);
A&&(g.partRect?(g.partRect[C](b(A)),g.partialClipRect[C](b(n))):(g.partialClipRect=d.clipRect(n.x,n.y,n.width,n.height),g.partRect=d[q](A).addClass("highcharts-partfill-overlay").add(g).clip(g.partialClipRect)));this.chart.styledMode||(g.rect[C](f,h).shadow(e.shadow,null,r),A&&(a(y)||(y={}),a(e.partialFill)&&(y=b(e.partialFill,y)),p=y.fill||k(f.fill).brighten(-.3).get()||k(p.color||this.color).brighten(-.3).get(),f.fill=p,g.partRect[w](f,h).shadow(e.shadow,null,r)))}};G.prototype.drawPoints=function(){var a=
this,b=a.getAnimationVerb();a.points.forEach(function(p){a.drawPoint(p,b)})};G.prototype.getAnimationVerb=function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"};G.prototype.isPointInside=function(a){var b=a.shapeArgs,p=a.plotX,e=a.plotY;return b?"undefined"!==typeof p&&"undefined"!==typeof e&&0<=e&&e<=this.yAxis.len&&0<=(b.x||0)+(b.width||0)&&p<=this.xAxis.len:F.prototype.isPointInside.apply(this,arguments)};G.defaultOptions=b(d.defaultOptions,{colorByPoint:!0,
dataLabels:{formatter:function(){var b=this.point.partialFill;a(b)&&(b=b.amount);if(e(b)&&0<b)return z(100*b)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'<span style="font-size: 10px">{point.x} - {point.x2}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.yCategory}</b><br/>'},borderRadius:3,pointRange:0});return G}(d);t(u.prototype,{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:x.prototype.animate,cropShoulder:1,
getExtremesFromAll:!0,autoIncrement:c.noop,buildKDTree:c.noop,pointClass:B});v.registerSeriesType("xrange",u);"";return u});J(c,"Series/Gantt/GanttPoint.js",[c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"]],function(c,t){var v=this&&this.__extends||function(){var c=function(m,k){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(k,d){k.__proto__=d}||function(k,d){for(var q in d)d.hasOwnProperty(q)&&(k[q]=d[q])};return c(m,k)};return function(m,k){function x(){this.constructor=
m}c(m,k);m.prototype=null===k?Object.create(k):(x.prototype=k.prototype,new x)}}(),u=t.pick;return function(c){function m(){var k=null!==c&&c.apply(this,arguments)||this;k.options=void 0;k.series=void 0;return k}v(m,c);m.setGanttPointAliases=function(k){function c(d,q){"undefined"!==typeof q&&(k[d]=q)}c("x",u(k.start,k.x));c("x2",u(k.end,k.x2));c("partialFill",u(k.completed,k.partialFill))};m.prototype.applyOptions=function(k,x){k=c.prototype.applyOptions.call(this,k,x);m.setGanttPointAliases(k);
return k};m.prototype.isValid=function(){return("number"===typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)};return m}(c.seriesTypes.xrange.prototype.pointClass)});J(c,"Core/Axis/BrokenAxis.js",[c["Extensions/Stacking.js"],c["Core/Utilities.js"]],function(c,t){var v=t.addEvent,u=t.find,B=t.fireEvent,m=t.isArray,k=t.isNumber,x=t.pick,d;(function(d){function g(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,
!1)}function q(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}function D(){var a=this.brokenAxis;if(a&&a.hasBreaks){for(var b=this.tickPositions,e=this.tickPositions.info,l=[],g=0;g<b.length;g++)a.isInAnyBreak(b[g])||l.push(b[g]);this.tickPositions=l;this.tickPositions.info=e}}function H(){this.brokenAxis||(this.brokenAxis=new G(this))}function e(){var a=this.options.connectNulls,b=this.points,e=this.xAxis,g=this.yAxis;if(this.isDirty)for(var l=b.length;l--;){var d=b[l],q=
!(null===d.y&&!1===a)&&(e&&e.brokenAxis&&e.brokenAxis.isInAnyBreak(d.x,!0)||g&&g.brokenAxis&&g.brokenAxis.isInAnyBreak(d.y,!0));d.visible=q?!1:!1!==d.options.visible}}function a(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,x(this.pointArrayMap,["y"]))}function b(a,b){var p=this,e=p.points,g,l,d,A;if(a&&a.brokenAxis&&a.brokenAxis.hasBreaks){var n=a.brokenAxis;b.forEach(function(b){g=n&&n.breakArray||[];l=a.isXAxis?a.min:x(p.options.threshold,a.min);e.forEach(function(n){A=x(n["stack"+
b.toUpperCase()],n[b]);g.forEach(function(f){if(k(l)&&k(A)){d=!1;if(l<f.from&&A>f.to||l>f.from&&A<f.from)d="pointBreak";else if(l<f.from&&A>f.from&&A<f.to||l>f.from&&A>f.to&&A<f.from)d="pointInBreak";d&&B(a,d,{point:n,brk:f})}})})})}}function l(){var a=this.currentDataGrouping,b=a&&a.gapSize;a=this.points.slice();var e=this.yAxis,l=this.options.gapSize,g=a.length-1,d;if(l&&0<g)for("value"!==this.options.gapUnit&&(l*=this.basePointRange),b&&b>l&&b>=this.basePointRange&&(l=b),d=void 0;g--;)d&&!1!==
d.visible||(d=a[g+1]),b=a[g],!1!==d.visible&&!1!==b.visible&&(d.x-b.x>l&&(d=(b.x+d.x)/2,a.splice(g+1,0,{isNull:!0,x:d}),e.stacking&&this.options.stacking&&(d=e.stacking.stacks[this.stackKey][d]=new c(e,e.options.stackLabels,!1,d,this.stack),d.total=0)),d=b);return this.getGraphPath(a)}var F=[];d.compose=function(p,d){-1===F.indexOf(p)&&(F.push(p),p.keepProps.push("brokenAxis"),v(p,"init",H),v(p,"afterInit",g),v(p,"afterSetTickPositions",D),v(p,"afterSetOptions",q));if(-1===F.indexOf(d)){F.push(d);
var C=d.prototype;C.drawBreaks=b;C.gappedPath=l;v(d,"afterGeneratePoints",e);v(d,"afterRender",a)}return p};var G=function(){function a(a){this.hasBreaks=!1;this.axis=a}a.isInBreak=function(a,b){var d=a.repeat||Infinity,e=a.from,l=a.to-a.from;b=b>=e?(b-e)%d:d-(e-b)%d;return a.inclusive?b<=l:b<l&&0!==b};a.lin2Val=function(b){var d=this.brokenAxis;d=d&&d.breakArray;if(!d||!k(b))return b;var e;for(e=0;e<d.length;e++){var l=d[e];if(l.from>=b)break;else l.to<b?b+=l.len:a.isInBreak(l,b)&&(b+=l.len)}return b};
a.val2Lin=function(b){var d=this.brokenAxis;d=d&&d.breakArray;if(!d||!k(b))return b;var e=b,l;for(l=0;l<d.length;l++){var g=d[l];if(g.to<=b)e-=g.len;else if(g.from>=b)break;else if(a.isInBreak(g,b)){e-=b-g.from;break}}return e};a.prototype.findBreakAt=function(a,b){return u(b,function(b){return b.from<a&&a<b.to})};a.prototype.isInAnyBreak=function(b,d){var l=this.axis,e=l.options.breaks||[],g=e.length,p;if(g&&k(b)){for(;g--;)if(a.isInBreak(e[g],b)){var A=!0;p||(p=x(e[g].showPoints,!l.isXAxis))}var n=
A&&d?A&&!p:A}return n};a.prototype.setBreaks=function(b,d){var e=this,l=e.axis,g=m(b)&&!!b.length;l.isDirty=e.hasBreaks!==g;e.hasBreaks=g;l.options.breaks=l.userOptions.breaks=b;l.forceRedraw=!0;l.series.forEach(function(a){a.isDirty=!0});g||l.val2lin!==a.val2Lin||(delete l.val2lin,delete l.lin2val);g&&(l.userOptions.ordinal=!1,l.lin2val=a.lin2Val,l.val2lin=a.val2Lin,l.setExtremes=function(a,b,n,y,r){if(e.hasBreaks){for(var f=this.options.breaks||[],h;h=e.findBreakAt(a,f);)a=h.to;for(;h=e.findBreakAt(b,
f);)b=h.from;b<a&&(b=a)}l.constructor.prototype.setExtremes.call(this,a,b,n,y,r)},l.setAxisTranslation=function(){l.constructor.prototype.setAxisTranslation.call(this);e.unitLength=void 0;if(e.hasBreaks){var b=l.options.breaks||[],d=[],n=[],y=x(l.pointRangePadding,0),r=0,f,h=l.userMin||l.min,w=l.userMax||l.max,g;b.forEach(function(b){f=b.repeat||Infinity;k(h)&&k(w)&&(a.isInBreak(b,h)&&(h+=b.to%f-h%f),a.isInBreak(b,w)&&(w-=w%f-b.from%f))});b.forEach(function(a){O=a.from;f=a.repeat||Infinity;if(k(h)&&
k(w)){for(;O-f>h;)O-=f;for(;O<h;)O+=f;for(g=O;g<w;g+=f)d.push({value:g,move:"in"}),d.push({value:g+a.to-a.from,move:"out",size:a.breakSize})}});d.sort(function(f,h){return f.value===h.value?("in"===f.move?0:1)-("in"===h.move?0:1):f.value-h.value});var N=0;var O=h;d.forEach(function(f){N+="in"===f.move?1:-1;1===N&&"in"===f.move&&(O=f.value);0===N&&k(O)&&(n.push({from:O,to:f.value,len:f.value-O-(f.size||0)}),r+=f.value-O-(f.size||0))});e.breakArray=n;k(h)&&k(w)&&k(l.min)&&(e.unitLength=w-h-r+y,B(l,
"afterBreaks"),l.staticScale?l.transA=l.staticScale:e.unitLength&&(l.transA*=(w-l.min+y)/e.unitLength),y&&(l.minPixelPadding=l.transA*(l.minPointOffset||0)),l.min=h,l.max=w)}});x(d,!0)&&l.chart.redraw()};return a}();d.Additions=G})(d||(d={}));return d});J(c,"Core/Axis/GridAxis.js",[c["Core/Axis/Axis.js"],c["Core/Axis/AxisDefaults.js"],c["Core/Globals.js"],c["Core/Utilities.js"]],function(c,t,v,u){var B=v.dateFormats,m=u.addEvent,k=u.defined,x=u.erase,d=u.find,q=u.isArray,g=u.isNumber,z=u.merge,D=
u.pick,H=u.timeUnits,e=u.wrap,a;(function(a){function b(f,h){var a={width:0,height:0};h.forEach(function(h){h=f[h];if(u.isObject(h,!0)){var b=u.isObject(h.label,!0)?h.label:{};h=b.getBBox?b.getBBox().height:0;b.textStr&&!g(b.textPxLength)&&(b.textPxLength=b.getBBox().width);var n=g(b.textPxLength)?Math.round(b.textPxLength):0;b.textStr&&(n=Math.round(b.getBBox().width));a.height=Math.max(h,a.height);a.width=Math.max(n,a.width)}});"treegrid"===this.options.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode&&
(a.width+=this.options.labels.indentation*((this.treeGrid.mapOfPosToGridNode[-1].height||0)-1));return a}function F(){var f=this.grid;(f&&f.columns||[]).forEach(function(f){f.getOffset()})}function G(f){if(!0===(this.options.grid||{}).enabled){var h=this.axisTitle,b=this.height,n=this.horiz,r=this.left,l=this.offset,N=this.opposite,w=this.options,y=this.top,d=this.width,e=this.tickSize(),g=h&&h.getBBox().width,p=w.title.x,A=w.title.y,L=D(w.title.margin,n?5:10);h=this.chart.renderer.fontMetrics(w.title.style.fontSize,
h).f;e=(n?y+b:r)+(n?1:-1)*(N?-1:1)*(e?e[0]/2:0)+(this.side===a.Side.bottom?h:0);f.titlePosition.x=n?r-(g||0)/2-L+p:e+(N?d:0)+l+p;f.titlePosition.y=n?e-(N?b:0)+(N?h:-h)/2+l+A:y-L+A}}function p(){var f=this.chart,h=this.options.grid;h=void 0===h?{}:h;var a=this.userOptions;if(h.enabled){var b=this.options;b.labels.align=D(b.labels.align,"center");this.categories||(b.showLastLabel=!1);this.labelRotation=0;b.labels.rotation=0}if(h.columns){b=this.grid.columns=[];for(var n=this.grid.columnIndex=0;++n<
h.columns.length;){var r=z(a,h.columns[h.columns.length-n-1],{linkedTo:0,type:"category",scrollbar:{enabled:!1}});delete r.grid.columns;r=new c(this.chart,r);r.grid.isColumn=!0;r.grid.columnIndex=n;x(f.axes,r);x(f[this.coll],r);b.push(r)}}}function C(){var f=this.grid,h=this.options;if(!0===(h.grid||{}).enabled){var b=this.min||0,n=this.max||0;this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions);this.rightWall&&this.rightWall.destroy();if(this.grid&&this.grid.isOuterAxis()&&
this.axisLine){var r=h.lineWidth;if(r){r=this.getLinePath(r);var l=r[0],w=r[1],y=((this.tickSize("tick")||[1])[0]-1)*(this.side===a.Side.top||this.side===a.Side.left?-1:1);"M"===l[0]&&"L"===w[0]&&(this.horiz?(l[2]+=y,w[2]+=y):(l[1]+=y,w[1]+=y));!this.horiz&&this.chart.marginRight&&(l=[l,["L",this.left,l[2]||0]],y=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(n+this.tickmarkOffset)],w=[["M",w[1]||0,this.toPixels(n+this.tickmarkOffset)],y],this.grid.upperBorder||0===b%1||(this.grid.upperBorder=
this.grid.renderBorder(l)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:h.lineColor,"stroke-width":h.lineWidth}),this.grid.upperBorder.animate({d:l})),this.grid.lowerBorder||0===n%1||(this.grid.lowerBorder=this.grid.renderBorder(w)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:h.lineColor,"stroke-width":h.lineWidth}),this.grid.lowerBorder.animate({d:w})));this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:h.lineColor,"stroke-width":h.lineWidth}),this.grid.axisLineExtra.animate({d:r})):
this.grid.axisLineExtra=this.grid.renderBorder(r);this.axisLine[this.showAxis?"show":"hide"](!0)}}(f&&f.columns||[]).forEach(function(f){f.render()});if(!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)){f=this.tickmarkOffset;h=this.tickPositions[this.tickPositions.length-1];r=this.tickPositions[0];for(l=w=void 0;(w=this.hiddenLabels.pop())&&w.element;)w.show();for(;(l=this.hiddenMarks.pop())&&l.element;)l.show();(w=this.ticks[r].label)&&(b-r>f?
this.hiddenLabels.push(w.hide()):w.show());(w=this.ticks[h].label)&&(h-n>f?this.hiddenLabels.push(w.hide()):w.show());(b=this.ticks[h].mark)&&h-n<f&&0<h-n&&this.ticks[h].isLast&&this.hiddenMarks.push(b.hide())}}}function Q(){var f=this.tickPositions&&this.tickPositions.info,h=this.options,a=this.userOptions.labels||{};(h.grid||{}).enabled&&(this.horiz?(this.series.forEach(function(f){f.options.pointRange=0}),f&&h.dateTimeLabelFormats&&h.labels&&!k(a.align)&&(!1===h.dateTimeLabelFormats[f.unitName].range||
1<f.count)&&(h.labels.align="left",k(a.x)||(h.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function M(f){var h=this.options;f=f.userOptions;var a=h&&u.isObject(h.grid,!0)?h.grid:{};if(!0===a.enabled){var b=z(!0,{className:"highcharts-grid-axis "+(f.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},
labels:{padding:2,style:{fontSize:"13px"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},f);"xAxis"===this.coll&&(k(f.linkedTo)&&!k(f.tickPixelInterval)&&(b.tickPixelInterval=350),k(f.tickPixelInterval)||!k(f.linkedTo)||k(f.tickPositioner)||k(f.tickInterval)||(b.tickPositioner=function(f,h){var a=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;
if(a){for(var n=b.units||[],r=void 0,w=void 0,l=void 0,y=0;y<n.length;y++)if(n[y][0]===a.unitName){r=y;break}n[r+1]?(l=n[r+1][0],w=(n[r+1][1]||[1])[0]):"year"===a.unitName&&(l="year",w=10*a.count);a=H[l];this.tickInterval=a*w;return this.getTimeTicks({unitRange:a,count:w,unitName:l},f,h,this.options.startOfWeek)}}));z(!0,this.options,b);this.horiz&&(h.minPadding=D(f.minPadding,0),h.maxPadding=D(f.maxPadding,0));g(h.grid.borderWidth)&&(h.tickWidth=h.lineWidth=a.borderWidth)}}function E(f){f=(f=f.userOptions)&&
f.grid||{};var h=f.columns;f.enabled&&h&&z(!0,this.options,h[h.length-1])}function K(){(this.grid.columns||[]).forEach(function(f){f.setScale()})}function I(f){var h=t.defaultLeftAxisOptions,a=this.horiz,b=this.maxLabelDimensions,n=this.options.grid;n=void 0===n?{}:n;n.enabled&&b&&(h=2*Math.abs(h.labels.x),a=a?n.cellHeight||h+b.height:h+b.width,q(f.tickSize)?f.tickSize[0]=a:f.tickSize=[a,0])}function A(){this.axes.forEach(function(f){(f.grid&&f.grid.columns||[]).forEach(function(f){f.setAxisSize();
f.setAxisTranslation()})})}function n(f){var h=this.grid;(h.columns||[]).forEach(function(h){h.destroy(f.keepEvents)});h.columns=void 0}function y(f){f=f.userOptions||{};var h=f.grid||{};h.enabled&&k(h.borderColor)&&(f.tickColor=f.lineColor=h.borderColor);this.grid||(this.grid=new L(this));this.hiddenLabels=[];this.hiddenMarks=[]}function r(f){var h=this.label,b=this.axis,n=b.reversed,r=b.chart,w=b.options.grid||{},l=b.options.labels,y=l.align,e=a.Side[b.side],d=f.tickmarkOffset,p=b.tickPositions,
N=this.pos-d;p=g(p[f.index+1])?p[f.index+1]-d:(b.max||0)+d;var A=b.tickSize("tick");d=A?A[0]:0;A=A?A[1]/2:0;if(!0===w.enabled){if("top"===e){w=b.top+b.offset;var L=w-d}else"bottom"===e?(L=r.chartHeight-b.bottom+b.offset,w=L+d):(w=b.top+b.len-(b.translate(n?p:N)||0),L=b.top+b.len-(b.translate(n?N:p)||0));"right"===e?(e=r.chartWidth-b.right+b.offset,n=e+d):"left"===e?(n=b.left+b.offset,e=n-d):(e=Math.round(b.left+(b.translate(n?p:N)||0))-A,n=Math.min(Math.round(b.left+(b.translate(n?N:p)||0))-A,b.left+
b.len));this.slotWidth=n-e;f.pos.x="left"===y?e:"right"===y?n:e+(n-e)/2;f.pos.y=L+(w-L)/2;r=r.renderer.fontMetrics(l.style.fontSize,h&&h.element);h=h?h.getBBox().height:0;l.useHTML?f.pos.y+=r.b+-(h/2):(h=Math.round(h/r.h),f.pos.y+=(r.b-(r.h-r.f))/2+-((h-1)*r.h/2));f.pos.x+=b.horiz&&l.x||0}}function f(f){var h=f.axis,a=f.value;if(h.options.grid&&h.options.grid.enabled){var b=h.tickPositions,n=(h.linkedParent||h).series[0],r=a===b[0];b=a===b[b.length-1];var w=n&&d(n.options.data,function(f){return f[h.isXAxis?
"x":"y"]===a}),l=void 0;w&&n.is("gantt")&&(l=z(w),v.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(l));f.isFirst=r;f.isLast=b;f.point=l}}function h(){var f=this.options,h=this.categories,a=this.tickPositions,b=a[0],n=a[a.length-1],r=this.linkedParent&&this.linkedParent.min||this.min,w=this.linkedParent&&this.linkedParent.max||this.max,l=this.tickInterval;!0!==(f.grid||{}).enabled||h||!this.horiz&&!this.isLinked||(b<r&&b+l>r&&!f.startOnTick&&(a[0]=r),n>w&&n-l<w&&!f.endOnTick&&(a[a.length-
1]=w))}function w(f){var h=this.options.grid;return!0===(void 0===h?{}:h).enabled&&this.categories?this.tickInterval:f.apply(this,Array.prototype.slice.call(arguments,1))}(function(f){f[f.top=0]="top";f[f.right=1]="right";f[f.bottom=2]="bottom";f[f.left=3]="left"})(a.Side||(a.Side={}));a.compose=function(a,l,d){-1===a.keepProps.indexOf("grid")&&(a.keepProps.push("grid"),a.prototype.getMaxLabelDimensions=b,e(a.prototype,"unsquish",w),m(a,"init",y),m(a,"afterGetOffset",F),m(a,"afterGetTitlePosition",
G),m(a,"afterInit",p),m(a,"afterRender",C),m(a,"afterSetAxisTranslation",Q),m(a,"afterSetOptions",M),m(a,"afterSetOptions",E),m(a,"afterSetScale",K),m(a,"afterTickSize",I),m(a,"trimTicks",h),m(a,"destroy",n));m(l,"afterSetChartSize",A);m(d,"afterGetLabelPosition",r);m(d,"labelFormat",f);return a};var L=function(){function f(f){this.axis=f}f.prototype.isOuterAxis=function(){var f=this.axis,h=f.grid.columnIndex,a=f.linkedParent&&f.linkedParent.grid.columns||f.grid.columns,b=h?f.linkedParent:f,n=-1,
r=0;f.chart[f.coll].forEach(function(h,a){h.side!==f.side||h.options.isInternal||(r=a,h===b&&(n=a))});return r===n&&(g(h)?a.length===h:!0)};f.prototype.renderBorder=function(f){var h=this.axis,a=h.chart.renderer,b=h.options;f=a.path(f).addClass("highcharts-axis-line").add(h.axisBorder);a.styledMode||f.attr({stroke:b.lineColor,"stroke-width":b.lineWidth,zIndex:7});return f};return f}();a.Additions=L})(a||(a={}));B.E=function(a){return this.dateFormat("%a",a,!0).charAt(0)};B.W=function(a){a=new this.Date(a);
var b=(this.get("Day",a)+6)%7,e=new this.Date(a.valueOf());this.set("Date",e,this.get("Date",a)-b+3);b=new this.Date(this.get("FullYear",e),0,1);4!==this.get("Day",b)&&(this.set("Month",a,0),this.set("Date",a,1+(11-this.get("Day",b))%7));return(1+Math.floor((e.valueOf()-b.valueOf())/6048E5)).toString()};"";return a});J(c,"Gantt/Tree.js",[c["Core/Utilities.js"]],function(c){var t=c.extend,v=c.isNumber,u=c.pick,B=function(k,c){var d=k.reduce(function(d,g){var q=u(g.parent,"");"undefined"===typeof d[q]&&
(d[q]=[]);d[q].push(g);return d},{});Object.keys(d).forEach(function(q,g){var k=d[q];""!==q&&-1===c.indexOf(q)&&(k.forEach(function(d){g[""].push(d)}),delete g[q])});return d},m=function(k,c,d,q,g,z){var D=0,H=0,e=z&&z.after,a=z&&z.before;c={data:q,depth:d-1,id:k,level:d,parent:c};var b,l;"function"===typeof a&&a(c,z);a=(g[k]||[]).map(function(a){var e=m(a.id,k,d+1,a,g,z),p=a.start;a=!0===a.milestone?p:a.end;b=!v(b)||p<b?p:b;l=!v(l)||a>l?a:l;D=D+1+e.descendants;H=Math.max(e.height+1,H);return e});
q&&(q.start=u(q.start,b),q.end=u(q.end,l));t(c,{children:a,descendants:D,height:H});"function"===typeof e&&e(c,z);return c};return{getListOfParents:B,getNode:m,getTree:function(c,x){var d=c.map(function(d){return d.id});c=B(c,d);return m("",null,1,null,c,x)}}});J(c,"Core/Axis/TreeGridTick.js",[c["Core/Utilities.js"]],function(c){var t=c.addEvent,v=c.isObject,u=c.isNumber,B=c.pick,m=c.wrap,k;(function(c){function d(){this.treeGrid||(this.treeGrid=new H(this))}function q(e,a){e=e.treeGrid;var b=!e.labelIcon,
l=a.renderer,d=a.xy,g=a.options,p=g.width||0,c=g.height||0,q=d.x-p/2-(g.padding||0);d=d.y-c/2;var k=a.collapsed?90:180,m=a.show&&u(d),z=e.labelIcon;z||(e.labelIcon=z=l.path(l.symbols[g.type](g.x||0,g.y||0,p,c)).addClass("highcharts-label-icon").add(a.group));z.attr({y:m?0:-9999});l.styledMode||z.attr({cursor:"pointer",fill:B(a.color,"#666666"),"stroke-width":1,stroke:g.lineColor,strokeWidth:g.lineWidth||0});z[b?"attr":"animate"]({translateX:q,translateY:d,rotation:k})}function g(d,a,b,l,g,c,p,q,k){var e=
B(this.options&&this.options.labels,c);c=this.pos;var C=this.axis,F="treegrid"===C.options.type;d=d.apply(this,[a,b,l,g,e,p,q,k]);F&&(a=e&&v(e.symbol,!0)?e.symbol:{},e=e&&u(e.indentation)?e.indentation:0,c=(c=(C=C.treeGrid.mapOfPosToGridNode)&&C[c])&&c.depth||1,d.x+=(a.width||0)+2*(a.padding||0)+(c-1)*e);return d}function k(d){var a=this,b=a.pos,l=a.axis,e=a.label,g=l.treeGrid.mapOfPosToGridNode,p=l.options,c=B(a.options&&a.options.labels,p&&p.labels),k=c&&v(c.symbol,!0)?c.symbol:{},z=(g=g&&g[b])&&
g.depth;p="treegrid"===p.type;var m=-1<l.tickPositions.indexOf(b);b=l.chart.styledMode;p&&g&&e&&e.element&&e.addClass("highcharts-treegrid-node-level-"+z);d.apply(a,Array.prototype.slice.call(arguments,1));p&&e&&e.element&&g&&g.descendants&&0<g.descendants&&(l=l.treeGrid.isCollapsed(g),q(a,{color:!b&&e.styles&&e.styles.color||"",collapsed:l,group:e.parentGroup,options:k,renderer:e.renderer,show:m,xy:e.xy}),k="highcharts-treegrid-node-"+(l?"expanded":"collapsed"),e.addClass("highcharts-treegrid-node-"+
(l?"collapsed":"expanded")).removeClass(k),b||e.css({cursor:"pointer"}),[e,a.treeGrid.labelIcon].forEach(function(b){b&&!b.attachedTreeGridEvents&&(t(b.element,"mouseover",function(){e.addClass("highcharts-treegrid-node-active");e.renderer.styledMode||e.css({textDecoration:"underline"})}),t(b.element,"mouseout",function(){var a=v(c.style)?c.style:{};e.removeClass("highcharts-treegrid-node-active");e.renderer.styledMode||e.css({textDecoration:a.textDecoration})}),t(b.element,"click",function(){a.treeGrid.toggleCollapse()}),
b.attachedTreeGridEvents=!0)}))}var D=!1;c.compose=function(e){D||(t(e,"init",d),m(e.prototype,"getLabelPosition",g),m(e.prototype,"renderLabel",k),e.prototype.collapse=function(a){this.treeGrid.collapse(a)},e.prototype.expand=function(a){this.treeGrid.expand(a)},e.prototype.toggleCollapse=function(a){this.treeGrid.toggleCollapse(a)},D=!0)};var H=function(){function e(a){this.tick=a}e.prototype.collapse=function(a){var b=this.tick,l=b.axis,e=l.brokenAxis;e&&l.treeGrid.mapOfPosToGridNode&&(b=l.treeGrid.collapse(l.treeGrid.mapOfPosToGridNode[b.pos]),
e.setBreaks(b,B(a,!0)))};e.prototype.destroy=function(){this.labelIcon&&this.labelIcon.destroy()};e.prototype.expand=function(a){var b=this.tick,e=b.axis,d=e.brokenAxis;d&&e.treeGrid.mapOfPosToGridNode&&(b=e.treeGrid.expand(e.treeGrid.mapOfPosToGridNode[b.pos]),d.setBreaks(b,B(a,!0)))};e.prototype.toggleCollapse=function(a){var b=this.tick,e=b.axis,d=e.brokenAxis;d&&e.treeGrid.mapOfPosToGridNode&&(b=e.treeGrid.toggleCollapse(e.treeGrid.mapOfPosToGridNode[b.pos]),d.setBreaks(b,B(a,!0)))};return e}();
c.Additions=H})(k||(k={}));return k});J(c,"Series/TreeUtilities.js",[c["Core/Color/Color.js"],c["Core/Utilities.js"]],function(c,t){function v(c,g){var k=g.before,q=g.idRoot,m=g.mapIdToNode[q],e=g.points[c.i],a=e&&e.options||{},b=[],l=0;c.levelDynamic=c.level-(!1!==g.levelIsConstant?0:m.level);c.name=d(e&&e.name,"");c.visible=q===c.id||!0===g.visible;"function"===typeof k&&(c=k(c,g));c.children.forEach(function(a,e){var d=u({},g);u(d,{index:e,siblings:c.children.length,visible:c.visible});a=v(a,d);
b.push(a);a.visible&&(l+=a.val)});k=d(a.value,l);c.visible=0<=k&&(0<l||c.visible);c.children=b;c.childrenTotal=l;c.isLeaf=c.visible&&!l;c.val=k;return c}var u=t.extend,B=t.isArray,m=t.isNumber,k=t.isObject,x=t.merge,d=t.pick;return{getColor:function(k,g){var m=g.index,q=g.mapOptionsToLevel,H=g.parentColor,e=g.parentColorIndex,a=g.series,b=g.colors,l=g.siblings,F=a.points,G=a.chart.options.chart,p;if(k){F=F[k.i];k=q[k.level]||{};if(q=F&&k.colorByPoint){var C=F.index%(b?b.length:G.colorCount);var x=
b&&b[C]}if(!a.chart.styledMode){b=F&&F.options.color;G=k&&k.color;if(p=H)p=(p=k&&k.colorVariation)&&"brightness"===p.key&&m&&l?c.parse(H).brighten(m/l*p.to).get():H;p=d(b,G,x,p,a.color)}var t=d(F&&F.options.colorIndex,k&&k.colorIndex,C,e,g.colorIndex)}return{color:p,colorIndex:t}},getLevelOptions:function(c){var g=null;if(k(c)){g={};var z=m(c.from)?c.from:1;var q=c.levels;var H={};var e=k(c.defaults)?c.defaults:{};B(q)&&(H=q.reduce(function(a,b){if(k(b)&&m(b.level)){var l=x({},b);var g=d(l.levelIsConstant,
e.levelIsConstant);delete l.levelIsConstant;delete l.level;b=b.level+(g?0:z-1);k(a[b])?x(!0,a[b],l):a[b]=l}return a},{}));q=m(c.to)?c.to:1;for(c=0;c<=q;c++)g[c]=x({},e,k(H[c])?H[c]:{})}return g},setTreeValues:v,updateRootId:function(c){if(k(c)){var g=k(c.options)?c.options:{};g=d(c.rootNode,g.rootId,"");k(c.userOptions)&&(c.userOptions.rootId=g);c.rootNode=g}return g}}});J(c,"Core/Axis/TreeGridAxis.js",[c["Core/Axis/BrokenAxis.js"],c["Core/Axis/GridAxis.js"],c["Gantt/Tree.js"],c["Core/Axis/TreeGridTick.js"],
c["Series/TreeUtilities.js"],c["Core/Utilities.js"]],function(c,t,v,u,B,m){var k=B.getLevelOptions,x=m.addEvent,d=m.find,q=m.fireEvent,g=m.isArray,z=m.isObject,D=m.isString,H=m.merge,e=m.pick,a=m.wrap,b;(function(b){function l(a,b){var n=a.collapseEnd||0;a=a.collapseStart||0;n>=b&&(a-=.5);return{from:a,to:n,showPoints:!1}}function m(a,b,n){var e=[],r=[],f={},h="boolean"===typeof b?b:!1,w={},l=-1;a=v.getTree(a,{after:function(f){f=w[f.pos];var h=0,a=0;f.children.forEach(function(f){a+=(f.descendants||
0)+1;h=Math.max((f.height||0)+1,h)});f.descendants=a;f.height=h;f.collapsed&&r.push(f)},before:function(a){var b=z(a.data,!0)?a.data:{},n=D(b.name)?b.name:"",r=f[a.parent];r=z(r,!0)?w[r.pos]:null;var y=function(f){return f.name===n},g;h&&z(r,!0)&&(g=d(r.children,y))?(y=g.pos,g.nodes.push(a)):y=l++;w[y]||(w[y]=g={depth:r?r.depth+1:0,name:n,id:b.id,nodes:[a],children:[],pos:y},-1!==y&&e.push(n),z(r,!0)&&r.children.push(g));D(a.id)&&(f[a.id]=a);g&&!0===b.collapsed&&(g.collapsed=!0);a.pos=y}});w=function(f,
h){var a=function(f,b,n){var r=b+(-1===b?0:h-1),e=(r-b)/2,w=b+e;f.nodes.forEach(function(f){var h=f.data;z(h,!0)&&(h.y=b+(h.seriesIndex||0),delete h.seriesIndex);f.pos=w});n[w]=f;f.pos=w;f.tickmarkOffset=e+.5;f.collapseStart=r+.5;f.children.forEach(function(f){a(f,r+1,n);r=(f.collapseEnd||0)-.5});f.collapseEnd=r+.5;return n};return a(f["-1"],-1,{})}(w,n);return{categories:e,mapOfIdToNode:f,mapOfPosToGridNode:w,collapsedNodes:r,tree:a}}function p(a){a.target.axes.filter(function(a){return"treegrid"===
a.options.type}).forEach(function(b){var n=b.options||{},e=n.labels,r=n.uniqueNames;n=n.max;var f=0;if(!b.treeGrid.mapOfPosToGridNode||b.series.some(function(f){return!f.hasRendered||f.isDirtyData||f.isDirty})){var h=b.series.reduce(function(h,a){a.visible&&((a.options.data||[]).forEach(function(b){a.options.keys&&a.options.keys.length&&(b=a.pointClass.prototype.optionsToObject.call({series:a},b),a.pointClass.setGanttPointAliases(b));z(b,!0)&&(b.seriesIndex=f,h.push(b))}),!0===r&&f++);return h},[]);
if(n&&h.length<n)for(var w=h.length;w<=n;w++)h.push({name:w+"\u200b"});n=m(h,r||!1,!0===r?f:1);b.categories=n.categories;b.treeGrid.mapOfPosToGridNode=n.mapOfPosToGridNode;b.hasNames=!0;b.treeGrid.tree=n.tree;b.series.forEach(function(f){var a=(f.options.data||[]).map(function(a){g(a)&&f.options.keys&&f.options.keys.length&&h.forEach(function(f){0<=a.indexOf(f.x)&&0<=a.indexOf(f.x2)&&(a=f)});return z(a,!0)?H(a):a});f.visible&&f.setData(a,!1)});b.treeGrid.mapOptionsToLevel=k({defaults:e,from:1,levels:e&&
e.levels,to:b.treeGrid.tree&&b.treeGrid.tree.height});"beforeRender"===a.type&&(b.treeGrid.collapsedNodes=n.collapsedNodes)}})}function C(a,b){var n=this.treeGrid.mapOptionsToLevel||{},e=this.ticks,r=e[b],f;if("treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode){var h=this.treeGrid.mapOfPosToGridNode[b];(n=n[h.depth])&&(f={labels:n});!r&&E?e[b]=new E(this,b,void 0,void 0,{category:h.name,tickmarkOffset:h.tickmarkOffset,options:f}):(r.parameters.category=h.name,r.options=f,r.addLabel())}else a.apply(this,
Array.prototype.slice.call(arguments,1))}function Q(a,b,n){var e=this,r="treegrid"===n.type;e.treeGrid||(e.treeGrid=new K(e));r&&(x(b,"beforeRender",p),x(b,"beforeRedraw",p),x(b,"addSeries",function(f){f.options.data&&(f=m(f.options.data,n.uniqueNames||!1,1),e.treeGrid.collapsedNodes=(e.treeGrid.collapsedNodes||[]).concat(f.collapsedNodes))}),x(e,"foundExtremes",function(){e.treeGrid.collapsedNodes&&e.treeGrid.collapsedNodes.forEach(function(f){var h=e.treeGrid.collapse(f);e.brokenAxis&&(e.brokenAxis.setBreaks(h,
!1),e.treeGrid.collapsedNodes&&(e.treeGrid.collapsedNodes=e.treeGrid.collapsedNodes.filter(function(h){return f.collapseStart!==h.collapseStart||f.collapseEnd!==h.collapseEnd})))})}),x(e,"afterBreaks",function(){"yAxis"===e.coll&&!e.staticScale&&e.chart.options.chart.height&&(e.isDirty=!0)}),n=H({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},n,{reversed:!0,grid:{columns:void 0}}));
a.apply(e,[b,n]);r&&(e.hasNames=!0,e.options.showLastLabel=!0)}function B(a){var b=this.options;"treegrid"===b.type?(this.min=e(this.userMin,b.min,this.dataMin),this.max=e(this.userMax,b.max,this.dataMax),q(this,"foundExtremes"),this.setAxisTranslation(),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):a.apply(this,Array.prototype.slice.call(arguments,1))}var E;b.compose=function(b,e,n,d){-1===b.keepProps.indexOf("treeGrid")&&
(b.keepProps.push("treeGrid"),E=d,a(b.prototype,"generateTick",C),a(b.prototype,"init",Q),a(b.prototype,"setTickInterval",B),b.prototype.utils={getNode:v.getNode},t.compose(b,e,d),c.compose(b,n),u.compose(d));return b};var K=function(){function a(a){this.axis=a}a.prototype.setCollapsedStatus=function(a){var b=this.axis,e=b.chart;b.series.forEach(function(b){var f=b.options.data;if(a.id&&f){var h=e.get(a.id);b=f[b.data.indexOf(h)];h&&b&&(h.collapsed=a.collapsed,b.collapsed=a.collapsed)}})};a.prototype.collapse=
function(a){var b=this.axis,e=b.options.breaks||[],r=l(a,b.max);e.push(r);a.collapsed=!0;b.treeGrid.setCollapsedStatus(a);return e};a.prototype.expand=function(a){var b=this.axis,e=b.options.breaks||[],r=l(a,b.max);a.collapsed=!1;b.treeGrid.setCollapsedStatus(a);return e.reduce(function(f,a){a.to===r.to&&a.from===r.from||f.push(a);return f},[])};a.prototype.getTickPositions=function(){var a=this.axis,b=Math.floor(a.min/a.tickInterval)*a.tickInterval,e=Math.ceil(a.max/a.tickInterval)*a.tickInterval;
return Object.keys(a.treeGrid.mapOfPosToGridNode||{}).reduce(function(n,f){f=+f;!(f>=b&&f<=e)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(f)||n.push(f);return n},[])};a.prototype.isCollapsed=function(a){var b=this.axis,e=b.options.breaks||[],r=l(a,b.max);return e.some(function(f){return f.from===r.from&&f.to===r.to})};a.prototype.toggleCollapse=function(a){return this.isCollapsed(a)?this.expand(a):this.collapse(a)};return a}();b.Additions=K})(b||(b={}));return b});J(c,"Extensions/CurrentDateIndication.js",
[c["Core/Axis/Axis.js"],c["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],c["Core/Utilities.js"]],function(c,t,v){var u=v.addEvent,B=v.merge;v=v.wrap;var m={color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(c,m){return this.axis.chart.time.dateFormat(m||"",c)},rotation:0,style:{fontSize:"10px"}}};u(c,"afterSetOptions",function(){var c=this.options,x=c.currentDateIndicator;x&&(x="object"===typeof x?B(m,x):B(m),x.value=Date.now(),x.className="highcharts-current-date-indicator",
c.plotLines||(c.plotLines=[]),c.plotLines.push(x))});u(t,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})});v(t.prototype,"getLabelText",function(c,m){var d=this.options;return d&&d.className&&-1!==d.className.indexOf("highcharts-current-date-indicator")&&d.label&&"function"===typeof d.label.formatter?(d.value=Date.now(),d.label.formatter.call(this,d.value,d.label.format)):c.call(this,m)})});J(c,"Extensions/StaticScale.js",[c["Core/Axis/Axis.js"],c["Core/Chart/Chart.js"],
c["Core/Utilities.js"]],function(c,t,v){var u=v.addEvent,B=v.defined,m=v.isNumber,k=v.pick;u(c,"afterSetOptions",function(){var c=this.chart.options.chart;!this.horiz&&m(this.options.staticScale)&&(!c.height||c.scrollablePlotArea&&c.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)});t.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(c){var d=c.chart,m=!!d.initiatedScale&&d.options.animation,g=c.options.staticScale;if(c.staticScale&&
B(c.min)){var z=k(c.brokenAxis&&c.brokenAxis.unitLength,c.max+c.tickInterval-c.min)*g;z=Math.max(z,g);g=z-d.plotHeight;!d.scrollablePixelsY&&1<=Math.abs(g)&&(d.plotHeight=z,d.redrawTrigger="adjustHeight",d.setSize(void 0,d.chartHeight+g,m));c.series.forEach(function(g){(g=g.sharedClipKey&&d.sharedClips[g.sharedClipKey])&&g.attr(d.inverted?{width:d.plotHeight}:{height:d.plotHeight})})}}),this.initiatedScale=!0);this.redrawTrigger=null};u(t,"render",t.prototype.adjustHeight)});J(c,"Extensions/ArrowSymbols.js",
[c["Core/Renderer/SVG/SVGRenderer.js"]],function(c){function t(c,m,k,t){return[["M",c,m+t/2],["L",c+k,m],["L",c,m+t/2],["L",c+k,m+t]]}function v(c,m,k,t){return[["M",c+k,m],["L",c,m+t/2],["L",c+k,m+t],["Z"]]}function u(c,m,k,t){return v(c,m,k/2,t)}c=c.prototype.symbols;c.arrow=t;c["arrow-filled"]=v;c["arrow-filled-half"]=u;c["arrow-half"]=function(c,m,k,u){return t(c,m,k/2,u)};c["triangle-left"]=v;c["triangle-left-half"]=u;return c});J(c,"Gantt/Connection.js",[c["Core/Globals.js"],c["Core/DefaultOptions.js"],
c["Core/Series/Point.js"],c["Core/Utilities.js"]],function(c,t,v,u){function B(d){var e=d.shapeArgs;return e?{xMin:e.x||0,xMax:(e.x||0)+(e.width||0),yMin:e.y||0,yMax:(e.y||0)+(e.height||0)}:(e=d.graphic&&d.graphic.getBBox())?{xMin:d.plotX-e.width/2,xMax:d.plotX+e.width/2,yMin:d.plotY-e.height/2,yMax:d.plotY+e.height/2}:null}"";var m=u.defined,k=u.error,x=u.extend,d=u.merge,q=u.objectEach,g=c.deg2rad,z=Math.max,D=Math.min;x(t.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,
align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});t=function(){function c(e,a,b){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0;this.init(e,a,b)}c.prototype.init=function(e,a,b){this.fromPoint=e;this.toPoint=a;this.options=b;this.chart=e.series.chart;this.pathfinder=this.chart.pathfinder};c.prototype.renderPath=function(e,a,b){var d=this.chart,c=d.styledMode,g=d.pathfinder,p=!d.options.chart.forExport&&
!1!==b,k=this.graphics&&this.graphics.path;g.group||(g.group=d.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(d.seriesGroup));g.group.translate(d.plotLeft,d.plotTop);k&&k.renderer||(k=d.renderer.path().add(g.group),c||k.attr({opacity:0}));k.attr(a);e={d:e};c||(e.opacity=1);k[p?"animate":"attr"](e,b);this.graphics=this.graphics||{};this.graphics.path=k};c.prototype.addMarker=function(e,a,b){var d=this.fromPoint.series.chart,c=d.pathfinder;d=d.renderer;var k="start"===e?
this.fromPoint:this.toPoint,p=k.getPathfinderAnchorPoint(a);if(a.enabled&&((b="start"===e?b[1]:b[b.length-2])&&"M"===b[0]||"L"===b[0])){b={x:b[1],y:b[2]};b=k.getRadiansToVector(b,p);p=k.getMarkerVector(b,a.radius,p);b=-b/g;if(a.width&&a.height){var m=a.width;var z=a.height}else m=z=2*a.radius;this.graphics=this.graphics||{};p={x:p.x-m/2,y:p.y-z/2,width:m,height:z,rotation:b,rotationOriginX:p.x,rotationOriginY:p.y};this.graphics[e]?this.graphics[e].animate(p):(this.graphics[e]=d.symbol(a.symbol).addClass("highcharts-point-connecting-path-"+
e+"-marker").attr(p).add(c.group),d.styledMode||this.graphics[e].attr({fill:a.color||this.fromPoint.color,stroke:a.lineColor,"stroke-width":a.lineWidth,opacity:0}).animate({opacity:1},k.series.options.animation))}};c.prototype.getPath=function(e){var a=this.pathfinder,b=this.chart,c=a.algorithms[e.type],g=a.chartObstacles;if("function"!==typeof c)return k('"'+e.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};c.requiresObstacles&&!g&&(g=a.chartObstacles=a.getChartObstacles(e),b.options.connectors.algorithmMargin=
e.algorithmMargin,a.chartObstacleMetrics=a.getObstacleMetrics(g));return c(this.fromPoint.getPathfinderAnchorPoint(e.startMarker),this.toPoint.getPathfinderAnchorPoint(e.endMarker),d({chartObstacles:g,lineObstacles:a.lineObstacles||[],obstacleMetrics:a.chartObstacleMetrics,hardBounds:{xMin:0,xMax:b.plotWidth,yMin:0,yMax:b.plotHeight},obstacleOptions:{margin:e.algorithmMargin},startDirectionX:a.getAlgorithmStartDirection(e.startMarker)},e))};c.prototype.render=function(){var e=this.fromPoint,a=e.series,
b=a.chart,c=b.pathfinder,g=d(b.options.connectors,a.options.connectors,e.options.connectors,this.options),k={};b.styledMode||(k.stroke=g.lineColor||e.color,k["stroke-width"]=g.lineWidth,g.dashStyle&&(k.dashstyle=g.dashStyle));k["class"]="highcharts-point-connecting-path highcharts-color-"+e.colorIndex;g=d(k,g);m(g.marker.radius)||(g.marker.radius=D(z(Math.ceil((g.algorithmMargin||8)/2)-1,1),5));e=this.getPath(g);b=e.path;e.obstacles&&(c.lineObstacles=c.lineObstacles||[],c.lineObstacles=c.lineObstacles.concat(e.obstacles));
this.renderPath(b,k,a.options.animation);this.addMarker("start",d(g.marker,g.startMarker),b);this.addMarker("end",d(g.marker,g.endMarker),b)};c.prototype.destroy=function(){this.graphics&&(q(this.graphics,function(e){e.destroy()}),delete this.graphics)};return c}();c.Connection=t;x(v.prototype,{getPathfinderAnchorPoint:function(d){var e=B(this);switch(d.align){case "right":var a="xMax";break;case "left":a="xMin"}switch(d.verticalAlign){case "top":var b="yMin";break;case "bottom":b="yMax"}return{x:a?
e[a]:(e.xMin+e.xMax)/2,y:b?e[b]:(e.yMin+e.yMax)/2}},getRadiansToVector:function(d,e){var a;m(e)||(a=B(this))&&(e={x:(a.xMin+a.xMax)/2,y:(a.yMin+a.yMax)/2});return Math.atan2(e.y-d.y,d.x-e.x)},getMarkerVector:function(d,e,a){var b=2*Math.PI,c=B(this),g=c.xMax-c.xMin,k=c.yMax-c.yMin,p=Math.atan2(k,g),m=!1;g/=2;var z=k/2,q=c.xMin+g;c=c.yMin+z;for(var D=q,t=c,u=1,A=1;d<-Math.PI;)d+=b;for(;d>Math.PI;)d-=b;b=Math.tan(d);d>-p&&d<=p?(A=-1,m=!0):d>p&&d<=Math.PI-p?A=-1:d>Math.PI-p||d<=-(Math.PI-p)?(u=-1,m=
!0):u=-1;m?(D+=u*g,t+=A*g*b):(D+=k/(2*b)*u,t+=A*z);a.x!==q&&(D=a.x);a.y!==c&&(t=a.y);return{x:D+e*Math.cos(d),y:t-e*Math.sin(d)}}});return t});J(c,"Gantt/PathfinderAlgorithms.js",[c["Core/Utilities.js"]],function(c){function t(d,c,k){k=k||0;var g=d.length-1;c-=1e-7;for(var e,a;k<=g;)if(e=g+k>>1,a=c-d[e].xMin,0<a)k=e+1;else if(0>a)g=e-1;else return e;return 0<k?k-1:0}function v(d,c){for(var g=t(d,c.x+1)+1;g--;){var k;if(k=d[g].xMax>=c.x)k=d[g],k=c.x<=k.xMax&&c.x>=k.xMin&&c.y<=k.yMax&&c.y>=k.yMin;if(k)return g}return-1}
function u(d){var c=[];if(d.length){c.push(["M",d[0].start.x,d[0].start.y]);for(var g=0;g<d.length;++g)c.push(["L",d[g].end.x,d[g].end.y])}return c}function B(d,c){d.yMin=x(d.yMin,c.yMin);d.yMax=k(d.yMax,c.yMax);d.xMin=x(d.xMin,c.xMin);d.xMax=k(d.xMax,c.xMax)}var m=c.pick,k=Math.min,x=Math.max,d=Math.abs;c=function(c,k,q){function g(a,b,d,e,c){a={x:a.x,y:a.y};a[b]=d[e||b]+(c||0);return a}function e(a,b,e){var c=d(b[e]-a[e+"Min"])>d(b[e]-a[e+"Max"]);return g(b,e,a,e+(c?"Max":"Min"),c?1:-1)}var a=[],
b=m(q.startDirectionX,d(k.x-c.x)>d(k.y-c.y))?"x":"y",l=q.chartObstacles,z=v(l,c);q=v(l,k);if(-1<q){var t=l[q];q=e(t,k,b);t={start:q,end:k};var p=q}else p=k;-1<z&&(l=l[z],q=e(l,c,b),a.push({start:c,end:q}),q[b]>=c[b]===q[b]>=p[b]&&(b="y"===b?"x":"y",k=c[b]<k[b],a.push({start:q,end:g(q,b,l,b+(k?"Max":"Min"),k?1:-1)}),b="y"===b?"x":"y"));c=a.length?a[a.length-1].end:c;q=g(c,b,p);a.push({start:c,end:q});b=g(q,"y"===b?"x":"y",p);a.push({start:q,end:b});a.push(t);return{path:u(a),obstacles:a}};c.requiresObstacles=
!0;var q=function(c,q,D){function g(a,b,f){var h,c=a.x<b.x?1:-1;if(a.x<b.x){var e=a;var d=b}else e=b,d=a;if(a.y<b.y){var n=a;var r=b}else n=b,r=a;for(h=0>c?k(t(I,d.x),I.length-1):0;I[h]&&(0<c&&I[h].xMin<=d.x||0>c&&I[h].xMax>=e.x);){if(I[h].xMin<=d.x&&I[h].xMax>=e.x&&I[h].yMin<=r.y&&I[h].yMax>=n.y)return f?{y:a.y,x:a.x<b.x?I[h].xMin-1:I[h].xMax+1,obstacle:I[h]}:{x:a.x,y:a.y<b.y?I[h].yMin-1:I[h].yMax+1,obstacle:I[h]};h+=c}return b}function e(a,b,f,h,c){var e=c.soft,n=c.hard,r=h?"x":"y",w={x:b.x,y:b.y},
l={x:b.x,y:b.y};c=a[r+"Max"]>=e[r+"Max"];e=a[r+"Min"]<=e[r+"Min"];var p=a[r+"Max"]>=n[r+"Max"];n=a[r+"Min"]<=n[r+"Min"];var k=d(a[r+"Min"]-b[r]),y=d(a[r+"Max"]-b[r]);f=10>d(k-y)?b[r]<f[r]:y<k;l[r]=a[r+"Min"];w[r]=a[r+"Max"];a=g(b,l,h)[r]!==l[r];b=g(b,w,h)[r]!==w[r];f=a?b?f:!0:b?!1:f;f=e?c?f:!0:c?!1:f;return n?p?f:!0:p?!1:f}function a(b,c,f){if(b.x===c.x&&b.y===c.y)return[];var h=f?"x":"y",d=D.obstacleOptions.margin;var n={soft:{xMin:Q,xMax:M,yMin:E,yMax:K},hard:D.hardBounds};var r=v(I,b);if(-1<r){r=
I[r];n=e(r,b,c,f,n);B(r,D.hardBounds);var l=f?{y:b.y,x:r[n?"xMax":"xMin"]+(n?1:-1)}:{x:b.x,y:r[n?"yMax":"yMin"]+(n?1:-1)};var y=v(I,l);-1<y&&(y=I[y],B(y,D.hardBounds),l[h]=n?x(r[h+"Max"]-d+1,(y[h+"Min"]+r[h+"Max"])/2):k(r[h+"Min"]+d-1,(y[h+"Max"]+r[h+"Min"])/2),b.x===l.x&&b.y===l.y?(p&&(l[h]=n?x(r[h+"Max"],y[h+"Max"])+1:k(r[h+"Min"],y[h+"Min"])-1),p=!p):p=!1);b=[{start:b,end:l}]}else h=g(b,{x:f?c.x:b.x,y:f?b.y:c.y},f),b=[{start:b,end:{x:h.x,y:h.y}}],h[f?"x":"y"]!==c[f?"x":"y"]&&(n=e(h.obstacle,h,
c,!f,n),B(h.obstacle,D.hardBounds),n={x:f?h.x:h.obstacle[n?"xMax":"xMin"]+(n?1:-1),y:f?h.obstacle[n?"yMax":"yMin"]+(n?1:-1):h.y},f=!f,b=b.concat(a({x:h.x,y:h.y},n,f)));return b=b.concat(a(b[b.length-1].end,c,!f))}function b(a,b,f){var h=k(a.xMax-b.x,b.x-a.xMin)<k(a.yMax-b.y,b.y-a.yMin);f=e(a,b,f,h,{soft:D.hardBounds,hard:D.hardBounds});return h?{y:b.y,x:a[f?"xMax":"xMin"]+(f?1:-1)}:{x:b.x,y:a[f?"yMax":"yMin"]+(f?1:-1)}}var l=m(D.startDirectionX,d(q.x-c.x)>d(q.y-c.y)),z=l?"x":"y",G=[],p=!1,C=D.obstacleMetrics,
Q=k(c.x,q.x)-C.maxWidth-10,M=x(c.x,q.x)+C.maxWidth+10,E=k(c.y,q.y)-C.maxHeight-10,K=x(c.y,q.y)+C.maxHeight+10,I=D.chartObstacles;var A=t(I,Q);C=t(I,M);I=I.slice(A,C+1);if(-1<(C=v(I,q))){var n=b(I[C],q,c);G.push({end:q,start:n});q=n}for(;-1<(C=v(I,q));)A=0>q[z]-c[z],n={x:q.x,y:q.y},n[z]=I[C][A?z+"Max":z+"Min"]+(A?1:-1),G.push({end:q,start:n}),q=n;c=a(c,q,l);c=c.concat(G.reverse());return{path:u(c),obstacles:c}};q.requiresObstacles=!0;return{fastAvoid:q,straight:function(c,d){return{path:[["M",c.x,
c.y],["L",d.x,d.y]],obstacles:[{start:c,end:d}]}},simpleConnect:c}});J(c,"Gantt/Pathfinder.js",[c["Gantt/Connection.js"],c["Core/Chart/Chart.js"],c["Core/Globals.js"],c["Core/DefaultOptions.js"],c["Core/Series/Point.js"],c["Core/Utilities.js"],c["Gantt/PathfinderAlgorithms.js"]],function(c,t,v,u,B,m,k){function x(a){var b=a.shapeArgs;return b?{xMin:b.x||0,xMax:(b.x||0)+(b.width||0),yMin:b.y||0,yMax:(b.y||0)+(b.height||0)}:(b=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-b.width/2,xMax:a.plotX+b.width/
2,yMin:a.plotY-b.height/2,yMax:a.plotY+b.height/2}:null}function d(b){for(var c=b.length,d=0,e,g,k=[],p=function(b,c,d){d=a(d,10);var e=b.yMax+d>c.yMin-d&&b.yMin-d<c.yMax+d,f=b.xMax+d>c.xMin-d&&b.xMin-d<c.xMax+d,h=e?b.xMin>c.xMax?b.xMin-c.xMax:c.xMin-b.xMax:Infinity,n=f?b.yMin>c.yMax?b.yMin-c.yMax:c.yMin-b.yMax:Infinity;return f&&e?d?p(b,c,Math.floor(d/2)):Infinity:F(h,n)};d<c;++d)for(e=d+1;e<c;++e)g=p(b[d],b[e]),80>g&&k.push(g);k.push(80);return l(Math.floor(k.sort(function(a,b){return a-b})[Math.floor(k.length/
10)]/2-1),1)}function q(a){if(a.options.pathfinder||a.series.reduce(function(a,b){b.options&&e(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder);return a||b.options&&b.options.pathfinder},!1))e(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),D('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var g=m.addEvent,z=m.defined,D=m.error,H=m.extend,e=m.merge,a=m.pick,b=m.splat,l=Math.max,F=Math.min;H(u.defaultOptions,
{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-f