/*
 Highcharts Gantt JS v11.1.0 (2023-06-05)

 Gantt series

 (c) 2016-2021 Lars A. V. Cabrera

 License: www.highcharts.com/license
*/
'use strict';(function(e){"object"===typeof module&&module.exports?(e["default"]=e,module.exports=e):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(L){e(L);e.Highcharts=L;return e}):e("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(e){function L(e,A,x,H){e.hasOwnProperty(A)||(e[A]=H.apply(null,x),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:A,module:e[A]}})))}e=e?e._modules:
{};L(e,"Core/Axis/NavigatorAxisComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,A){function F(){this.navigatorAxis||(this.navigatorAxis=new r(this))}function H(b){var l=this.chart,q=l.options,a=q.navigator;const h=this.navigatorAxis,B=l.zooming.pinchType;q=q.rangeSelector;l=l.zooming.type;this.isXAxis&&(a&&a.enabled||q&&q.enabled)&&("y"===l?b.zoomed=!1:(!E&&"xy"===l||E&&"xy"===B)&&this.options.range&&(a=h.previousZoom,w(b.newMin)?h.previousZoom=[this.min,this.max]:a&&(b.newMin=
a[0],b.newMax=a[1],h.previousZoom=void 0)));"undefined"!==typeof b.zoomed&&b.preventDefault()}const {isTouchDevice:E}=e,{addEvent:D,correctFloat:p,defined:w,isNumber:v,pick:b}=A,m=[];class r{static compose(b){A.pushUnique(m,b)&&(b.keepProps.push("navigatorAxis"),D(b,"init",F),D(b,"zoom",H))}constructor(b){this.axis=b}destroy(){this.axis=void 0}toFixedRange(m,l,q,a){const h=this.axis;var B=h.chart;m=b(q,h.translate(m,!0,!h.horiz));l=b(a,h.translate(l,!0,!h.horiz));B=B&&B.fixedRange;const r=(h.pointRange||
0)/2;w(q)||(m=p(m+r));w(a)||(l=p(l-r));B&&h.dataMin&&h.dataMax&&(l>=h.dataMax&&(m=p(h.dataMax-B)),m<=h.dataMin&&(l=p(h.dataMin+B)));v(m)&&v(l)||(m=l=void 0);return{min:m,max:l}}}return r});L(e,"Stock/Navigator/NavigatorDefaults.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"]],function(e,A){({parse:e}=e);({seriesTypes:A}=A);A={height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",
borderColor:"#999999"},maskFill:e("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:"undefined"===typeof A.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,
12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},
yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}};"";return A});L(e,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(e,A,x,H,E={}){e=E.width?E.width/2:x;A=Math.round(e/3)+.5;H=E.height||H;return[["M",-e-1,.5],["L",e,.5],["L",e,H+.5],["L",-e-1,H+.5],["L",-e-1,.5],["M",-A,4],["L",-A,H-3],["M",A-1,4],["L",A-1,H-3]]}}});
L(e,"Stock/Navigator/NavigatorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/Navigator/NavigatorSymbols.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(e,A,x,H,E,D,p){function w(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function v(){var d;const c=this.legend,f=this.navigator;let C,u,k;if(f){C=c&&c.options;u=f.xAxis;k=f.yAxis;const {scrollbarHeight:g,
scrollButtonSize:a}=f;this.inverted?(f.left=f.opposite?this.chartWidth-g-f.height:this.spacing[3]+g,f.top=this.plotTop+a):(f.left=y(u.left,this.plotLeft+a),f.top=f.navigatorOptions.top||this.chartHeight-f.height-g-((null===(d=this.scrollbar)||void 0===d?void 0:d.options.margin)||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(C&&"bottom"===C.verticalAlign&&"proximate"!==C.layout&&C.enabled&&!C.floating?c.legendHeight+y(C.margin,10):0)-(this.titleOffset?
this.titleOffset[2]:0));u&&k&&(this.inverted?u.options.left=k.options.left=f.left:u.options.top=k.options.top=f.top,u.setAxisSize(),k.setAxisSize())}}function b(d){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new k(this),y(d.redraw,!0)&&this.redraw(d.animation))}function m(){const d=this.options;if(d.navigator.enabled||d.scrollbar.enabled)this.scroller=this.navigator=new k(this)}function r(){var d=this.options;const c=
d.navigator;d=d.rangeSelector;if((c&&c.enabled||d&&d.enabled)&&(!B&&"x"===this.zooming.type||B&&"x"===this.zooming.pinchType))return!1}function I(d){const c=d.navigator;c&&d.xAxis[0]&&(d=d.xAxis[0].getExtremes(),c.render(d.min,d.max))}function l(d){const c=d.options.navigator||{},f=d.options.scrollbar||{};this.navigator||this.scroller||!c.enabled&&!f.enabled||(g(!0,this.options.navigator,c),g(!0,this.options.scrollbar,f),delete d.options.navigator,delete d.options.scrollbar)}function q(){this.chart.navigator&&
!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}const {defaultOptions:a,setOptions:h}=e,{isTouchDevice:B}=A,{getRendererType:M}=D,{addEvent:G,extend:n,merge:g,pick:y}=p,z=[];let k;return{compose:function(d,c,f,C){x.compose(d);k=f;p.pushUnique(z,c)&&(c.prototype.callbacks.push(I),G(c,"afterAddSeries",w),G(c,"afterSetChartSize",v),G(c,"afterUpdate",b),G(c,"beforeRender",m),G(c,"beforeShowResetZoom",r),G(c,"update",l));p.pushUnique(z,C)&&G(C,"afterUpdate",q);p.pushUnique(z,M)&&
n(M().prototype.symbols,E);p.pushUnique(z,h)&&n(a,{navigator:H})}}});L(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Utilities.js"]],function(e){const {addEvent:A,defined:x,pick:F}=e,E=[];class D{static compose(p,w){if(!e.pushUnique(E,p))return p;const v=b=>{const m=F(b.options&&b.options.min,b.min),r=F(b.options&&b.options.max,b.max);return{axisMin:m,axisMax:r,scrollMin:x(b.dataMin)?Math.min(m,b.min,b.dataMin,F(b.threshold,Infinity)):m,scrollMax:x(b.dataMax)?Math.max(r,b.max,b.dataMax,F(b.threshold,-Infinity)):
r}};A(p,"afterInit",function(){const b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new w(b.chart.renderer,b.options.scrollbar,b.chart),A(b.scrollbar,"changed",function(m){let {axisMin:r,axisMax:e,scrollMin:l,scrollMax:q}=v(b);var a=q-l;let h;x(r)&&x(e)&&(b.horiz&&!b.reversed||!b.horiz&&b.reversed?(h=l+a*this.to,a=l+a*this.from):(h=l+a*(1-this.from),a=l+a*(1-this.to)),this.shouldUpdateExtremes(m.DOMType)?
b.setExtremes(a,h,!0,"mousemove"===m.DOMType||"touchmove"===m.DOMType?!1:void 0,m):this.setRange(this.from,this.to))}))});A(p,"afterRender",function(){let {scrollMin:b,scrollMax:m}=v(this),r=this.scrollbar;var e=this.axisTitleMargin+(this.titleOffset||0),l=this.chart.scrollbarsOffsets;let q=this.options.margin||0;r&&(this.horiz?(this.opposite||(l[1]+=e),r.position(this.left,this.top+this.height+2+l[1]-(this.opposite?q:0),this.width,this.height),this.opposite||(l[1]+=q),e=1):(this.opposite&&(l[0]+=
e),r.position(r.options.opposite?this.left+this.width+2+l[0]-(this.opposite?0:q):this.opposite?0:q,this.top,this.width,this.height),this.opposite&&(l[0]+=q),e=0),l[e]+=r.size+(r.options.margin||0),isNaN(b)||isNaN(m)||!x(this.min)||!x(this.max)||this.min===this.max?r.setRange(0,1):(l=(this.min-b)/(m-b),e=(this.max-b)/(m-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(l,e):r.setRange(1-e,1-l)))});A(p,"afterGetOffset",function(){const b=this.scrollbar;var m=b&&!b.options.opposite;
m=this.horiz?2:m?3:1;b&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[m]+=b.size+(b.options.margin||0))});return p}}return D});L(e,"Stock/Scrollbar/ScrollbarDefaults.js",[e["Core/Globals.js"]],function(e){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",
buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}});L(e,"Stock/Scrollbar/Scrollbar.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/ScrollbarAxis.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Core/Utilities.js"]],function(e,A,x,H,E){const {defaultOptions:D}=e,{addEvent:p,correctFloat:w,defined:v,destroyObjectProperties:b,fireEvent:m,merge:r,pick:I,removeEvent:l}=E;class q{static compose(a){x.compose(a,
q)}static swapXY(a,h){h&&a.forEach(a=>{const h=a.length;let B;for(let n=0;n<h;n+=2)B=a[n+1],"number"===typeof B&&(a[n+1]=a[n+2],a[n+2]=B)});return a}constructor(a,h,B){this._events=[];this.chart=void 0;this.from=this.chartY=this.chartX=0;this.scrollbar=this.renderer=this.options=this.group=void 0;this.scrollbarButtons=[];this.scrollbarGroup=void 0;this.scrollbarLeft=0;this.scrollbarRifles=void 0;this.scrollbarStrokeWidth=1;this.to=this.size=this.scrollbarTop=0;this.track=void 0;this.trackBorderWidth=
1;this.userOptions=void 0;this.y=this.x=0;this.init(a,h,B)}addEvents(){var a=this.options.inverted?[1,0]:[0,1];const h=this.scrollbarButtons,B=this.scrollbarGroup.element,b=this.track.element,l=this.mouseDownHandler.bind(this),n=this.mouseMoveHandler.bind(this),g=this.mouseUpHandler.bind(this);a=[[h[a[0]].element,"click",this.buttonToMinClick.bind(this)],[h[a[1]].element,"click",this.buttonToMaxClick.bind(this)],[b,"click",this.trackClick.bind(this)],[B,"mousedown",l],[B.ownerDocument,"mousemove",
n],[B.ownerDocument,"mouseup",g]];A.hasTouch&&a.push([B,"touchstart",l],[B.ownerDocument,"touchmove",n],[B.ownerDocument,"touchend",g]);a.forEach(function(g){p.apply(null,g)});this._events=a}buttonToMaxClick(a){const h=(this.to-this.from)*I(this.options.step,.2);this.updatePosition(this.from+h,this.to+h);m(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})}buttonToMinClick(a){const h=w(this.to-this.from)*I(this.options.step,.2);this.updatePosition(w(this.from-h),w(this.to-
h));m(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})}cursorToScrollbarPosition(a){var h=this.options;h=h.minWidth>this.calculatedWidth?h.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-h),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-h)}}destroy(){const a=this,h=a.chart.scroller;a.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(h){a[h]&&a[h].destroy&&(a[h]=a[h].destroy())});h&&a===h.scrollbar&&
(h.scrollbar=null,b(h.scrollbarButtons))}drawScrollbarButton(a){const h=this.renderer,B=this.scrollbarButtons,b=this.options,l=this.size;var n=h.g().add(this.group);B.push(n);b.buttonsEnabled&&(n=h.rect().addClass("highcharts-scrollbar-button").add(n),this.chart.styledMode||n.attr({stroke:b.buttonBorderColor,"stroke-width":b.buttonBorderWidth,fill:b.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:l+1,height:l+1,r:b.buttonBorderRadius},n.strokeWidth())),a=h.path(q.swapXY([["M",l/2+(a?-1:
1),l/2-3],["L",l/2+(a?-1:1),l/2+3],["L",l/2+(a?2:-2),l/2]],b.vertical)).addClass("highcharts-scrollbar-arrow").add(B[a]),this.chart.styledMode||a.attr({fill:b.buttonArrowColor}))}init(a,h,b){this.scrollbarButtons=[];this.renderer=a;this.userOptions=h;this.options=r(H,D.scrollbar,h);this.options.margin=I(this.options.margin,10);this.chart=b;this.size=I(this.options.size,this.options.height);h.enabled&&(this.render(),this.addEvents())}mouseDownHandler(a){a=this.chart.pointer.normalize(a);a=this.cursorToScrollbarPosition(a);
this.chartX=a.chartX;this.chartY=a.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter=!0}mouseMoveHandler(a){var h=this.chart.pointer.normalize(a),b=this.options.vertical?"chartY":"chartX";const l=this.initPositions||[];!this.grabbedCenter||a.touches&&0===a.touches[0][b]||(h=this.cursorToScrollbarPosition(h)[b],b=this[b],b=h-b,this.hasDragged=!0,this.updatePosition(l[0]+b,l[1]+b),this.hasDragged&&m(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))}mouseUpHandler(a){this.hasDragged&&
m(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(a,h,b,l){const {buttonsEnabled:q,margin:n=0,vertical:g}=this.options,y=this.rendered?"animate":"attr";let z=l,k=0;this.group.show();this.x=a;this.y=h+this.trackBorderWidth;this.width=b;this.height=l;this.xOffset=z;this.yOffset=k;g?(this.width=this.yOffset=b=this.size,this.xOffset=z=0,this.yOffset=k=q?this.size:0,this.barWidth=l-(q?2*b:
0),this.x=a+=n):(this.height=l=this.size,this.xOffset=z=q?this.size:0,this.barWidth=b-(q?2*l:0),this.y+=n);this.group[y]({translateX:a,translateY:this.y});this.track[y]({width:b,height:l});this.scrollbarButtons[1][y]({translateX:g?0:b-z,translateY:g?l-k:0})}removeEvents(){this._events.forEach(function(a){l.apply(null,a)});this._events.length=0}render(){const a=this.renderer,h=this.options,b=this.size,l=this.chart.styledMode,m=a.g("scrollbar").attr({zIndex:h.zIndex}).hide().add();this.group=m;this.track=
a.rect().addClass("highcharts-scrollbar-track").attr({r:h.trackBorderRadius||0,height:b,width:b}).add(m);l||this.track.attr({fill:h.trackBackgroundColor,stroke:h.trackBorderColor,"stroke-width":h.trackBorderWidth});const n=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-n%2/2,y:-n%2/2});this.scrollbarGroup=a.g().add(m);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:b-n,width:b-n,r:h.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=
a.path(q.swapXY([["M",-3,b/4],["L",-3,2*b/3],["M",0,b/4],["L",0,2*b/3],["M",3,b/4],["L",3,2*b/3]],h.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);l||(this.scrollbar.attr({fill:h.barBackgroundColor,stroke:h.barBorderColor,"stroke-width":h.barBorderWidth}),this.scrollbarRifles.attr({stroke:h.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);
this.drawScrollbarButton(1)}setRange(a,h){const b=this.options,l=b.vertical;var q=b.minWidth,n=this.barWidth;const g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(v(n)){var y=n*Math.min(h,1);a=Math.max(a,0);var z=Math.ceil(n*a);this.calculatedWidth=y=w(y-z);y<q&&(z=(n-q+y)*a,y=q);q=Math.floor(z+this.xOffset+this.yOffset);n=y/2-.5;this.from=a;this.to=h;l?(this.scrollbarGroup[g]({translateY:q}),this.scrollbar[g]({height:y}),this.scrollbarRifles[g]({translateY:n}),
this.scrollbarTop=q,this.scrollbarLeft=0):(this.scrollbarGroup[g]({translateX:q}),this.scrollbar[g]({width:y}),this.scrollbarRifles[g]({translateX:n}),this.scrollbarLeft=q,this.scrollbarTop=0);12>=y?this.scrollbarRifles.hide():this.scrollbarRifles.show();!1===b.showFull&&(0>=a&&1<=h?this.group.hide():this.group.show());this.rendered=!0}}shouldUpdateExtremes(a){return I(this.options.liveRedraw,A.svg&&!A.isTouchDevice&&!this.chart.boosted)||"mouseup"===a||"touchend"===a||!v(a)}trackClick(a){const h=
this.chart.pointer.normalize(a),b=this.to-this.from,l=this.y+this.scrollbarTop,q=this.x+this.scrollbarLeft;this.options.vertical&&h.chartY>l||!this.options.vertical&&h.chartX>q?this.updatePosition(this.from+b,this.to+b):this.updatePosition(this.from-b,this.to-b);m(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})}update(a){this.destroy();this.init(this.chart.renderer,r(!0,this.options,a),this.chart)}updatePosition(a,h){1<h&&(a=w(1-w(h-a)),h=1);0>a&&(h=w(h-a),a=0);this.from=
a;this.to=h}}q.defaultOptions=H;D.scrollbar=r(!0,q.defaultOptions,D.scrollbar);return q});L(e,"Stock/Navigator/Navigator.js",[e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorComposition.js"],e["Stock/Scrollbar/Scrollbar.js"],e["Core/Utilities.js"]],function(e,A,x,H,E,D,p){function w(c,...f){f=[].filter.call(f,n);if(f.length)return Math[c].apply(0,f)}const {defaultOptions:v}=A,{hasTouch:b,isTouchDevice:m}=x,{addEvent:r,
clamp:I,correctFloat:l,defined:q,destroyObjectProperties:a,erase:h,extend:B,find:M,isArray:G,isNumber:n,merge:g,pick:y,removeEvent:z,splat:k}=p;class d{static compose(c,f,C){E.compose(c,f,d,C)}constructor(c){this.rendered=this.range=this.outline=this.opposite=this.navigatorSize=this.navigatorSeries=this.navigatorOptions=this.navigatorGroup=this.navigatorEnabled=this.left=this.height=this.handles=this.chart=this.baseSeries=void 0;this.scrollbarHeight=0;this.zoomedMin=this.zoomedMax=this.yAxis=this.xAxis=
this.top=this.size=this.shades=this.scrollButtonSize=void 0;this.init(c)}drawHandle(c,f,C,u){const d=this.navigatorOptions.handles.height;this.handles[f][u](C?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(c,10)+.5-d)}:{translateX:Math.round(this.left+parseInt(c,10)),translateY:Math.round(this.top+this.height/2-d/2-1)})}drawOutline(c,f,C,d){const u=this.navigatorOptions.maskInside;var k=this.outline.strokeWidth();const g=k/2;var a=k%2/2;const t=this.scrollButtonSize,
n=this.size,K=this.top;k=this.height;const h=K-g,z=K+k;let b=this.left;C?(C=K+f+a,f=K+c+a,a=[["M",b+k,K-t-a],["L",b+k,C],["L",b,C],["M",b,f],["L",b+k,f],["L",b+k,K+n+t]],u&&a.push(["M",b+k,C-g],["L",b+k,f+g])):(b-=t,c+=b+t-a,f+=b+t-a,a=[["M",b,h],["L",c,h],["L",c,z],["M",f,z],["L",f,h],["L",b+n+2*t,K+g]],u&&a.push(["M",c-g,h],["L",f+g,h]));this.outline[d]({d:a})}drawMasks(c,f,C,d){const k=this.left,u=this.top,g=this.height;let a,t,n,b;C?(n=[k,k,k],b=[u,u+c,u+f],t=[g,g,g],a=[c,f-c,this.size-f]):(n=
[k,k+c,k+f],b=[u,u,u],t=[c,f-c,this.size-f],a=[g,g,g]);this.shades.forEach((c,f)=>{c[d]({x:n[f],y:b[f],width:t[f],height:a[f]})})}renderElements(){const c=this,f=c.navigatorOptions,C=f.maskInside,k=c.chart,d=k.renderer,g={cursor:k.inverted?"ns-resize":"ew-resize"},a=c.navigatorGroup=d.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!C,C,!C].forEach((C,u)=>{const t=d.rect().addClass("highcharts-navigator-mask"+(1===u?"-inside":"-outside")).add(a);k.styledMode||(t.attr({fill:C?f.maskFill:
"rgba(0,0,0,0)"}),1===u&&t.css(g));c.shades[u]=t});c.outline=d.path().addClass("highcharts-navigator-outline").add(a);k.styledMode||c.outline.attr({"stroke-width":f.outlineWidth,stroke:f.outlineColor});if(f.handles&&f.handles.enabled){const C=f.handles,{height:u,width:n}=C;[0,1].forEach(f=>{c.handles[f]=d.symbol(C.symbols[f],-n/2-1,0,n,u,C);k.inverted&&c.handles[f].attr({rotation:90,rotationOriginX:Math.floor(-n/2),rotationOriginY:(u+n)/2});c.handles[f].attr({zIndex:7-f}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+
["left","right"][f]).add(a);k.styledMode||c.handles[f].attr({fill:C.backgroundColor,stroke:C.borderColor,"stroke-width":C.lineWidth}).css(g)})}}update(c){(this.series||[]).forEach(c=>{c.baseSeries&&delete c.baseSeries.navigatorSeries});this.destroy();g(!0,this.chart.options.navigator,c);this.init(this.chart)}render(c,f,C,k){var d=this.chart;const u=this.xAxis,g=u.pointRange||0;var a=u.navigatorAxis.fake?d.xAxis[0]:u;const t=this.navigatorEnabled;var b=this.rendered,h=d.inverted;const z=d.xAxis[0].minRange,
m=d.xAxis[0].options.maxRange,e=this.scrollButtonSize;let r=this.scrollbarHeight,B;if(!this.hasDragged||q(C)){c=l(c-g/2);f=l(f+g/2);if(!n(c)||!n(f))if(b)C=0,k=y(u.width,a.width);else return;this.left=y(u.left,d.plotLeft+e+(h?d.plotWidth:0));var p=this.size=B=y(u.len,(h?d.plotHeight:d.plotWidth)-2*e);d=h?r:B+2*e;C=y(C,u.toPixels(c,!0));k=y(k,u.toPixels(f,!0));n(C)&&Infinity!==Math.abs(C)||(C=0,k=d);c=u.toValue(C,!0);f=u.toValue(k,!0);var v=Math.abs(l(f-c));v<z?this.grabbedLeft?C=u.toPixels(f-z-g,!0):
this.grabbedRight&&(k=u.toPixels(c+z+g,!0)):q(m)&&l(v-g)>m&&(this.grabbedLeft?C=u.toPixels(f-m-g,!0):this.grabbedRight&&(k=u.toPixels(c+m+g,!0)));this.zoomedMax=I(Math.max(C,k),0,p);this.zoomedMin=I(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(C,k),0,p);this.range=this.zoomedMax-this.zoomedMin;p=Math.round(this.zoomedMax);C=Math.round(this.zoomedMin);t&&(this.navigatorGroup.attr({visibility:"inherit"}),b=b&&!this.hasDragged?"animate":"attr",this.drawMasks(C,p,h,b),this.drawOutline(C,p,
h,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(C,0,h,b),this.drawHandle(p,1,h,b)));this.scrollbar&&(h?(h=this.top-e,a=this.left-r+(t||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),r=B+2*e):(h=this.top+(t?this.height:-r),a=this.left-e),this.scrollbar.position(a,h,d,r),this.scrollbar.setRange(this.zoomedMin/(B||1),this.zoomedMax/(B||1)));this.rendered=!0}}addMouseEvents(){const c=this,f=c.chart,k=f.container;let d=[],g,a;c.mouseMoveHandler=g=function(f){c.onMouseMove(f)};c.mouseUpHandler=
a=function(f){c.onMouseUp(f)};d=c.getPartsEvents("mousedown");d.push(r(f.renderTo,"mousemove",g),r(k.ownerDocument,"mouseup",a));b&&(d.push(r(f.renderTo,"touchmove",g),r(k.ownerDocument,"touchend",a)),d.concat(c.getPartsEvents("touchstart")));c.eventsToUnbind=d;c.series&&c.series[0]&&d.push(r(c.series[0].xAxis,"foundExtremes",function(){f.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(c){const f=this,d=[];["shades","handles"].forEach(function(k){f[k].forEach(function(C,u){d.push(r(C.element,
c,function(c){f[k+"Mousedown"](c,u)}))})});return d}shadesMousedown(c,f){c=this.chart.pointer.normalize(c);const d=this.chart,k=this.xAxis,g=this.zoomedMin,a=this.size,b=this.range;let n=this.left,t=c.chartX,h,z;d.inverted&&(t=c.chartY,n=this.top);1===f?(this.grabbedCenter=t,this.fixedWidth=b,this.dragOffset=t-g):(c=t-n-b/2,0===f?c=Math.max(0,c):2===f&&c+b>=a&&(c=a-b,this.reversedExtremes?(c-=b,z=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),c!==g&&(this.fixedWidth=b,f=k.navigatorAxis.toFixedRange(c,
c+b,z,h),q(f.min)&&d.xAxis[0].setExtremes(Math.min(f.min,f.max),Math.max(f.min,f.max),!0,null,{trigger:"navigator"})))}handlesMousedown(c,f){this.chart.pointer.normalize(c);c=this.chart;const d=c.xAxis[0],k=this.reversedExtremes;0===f?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?d.min:d.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?d.max:d.min);c.fixedRange=null}onMouseMove(c){const f=this;var d=f.chart;const k=f.navigatorSize,g=f.range,
a=f.dragOffset,b=d.inverted;let n=f.left;c.touches&&0===c.touches[0].pageX||(c=d.pointer.normalize(c),d=c.chartX,b&&(n=f.top,d=c.chartY),f.grabbedLeft?(f.hasDragged=!0,f.render(0,0,d-n,f.otherHandlePos)):f.grabbedRight?(f.hasDragged=!0,f.render(0,0,f.otherHandlePos,d-n)):f.grabbedCenter&&(f.hasDragged=!0,d<a?d=a:d>k+a-g&&(d=k+a-g),f.render(0,0,d-a,d-a+g)),f.hasDragged&&f.scrollbar&&y(f.scrollbar.options.liveRedraw,!m&&!this.chart.boosted)&&(c.DOMType=c.type,setTimeout(function(){f.onMouseUp(c)},0)))}onMouseUp(c){var f=
this.chart,d=this.xAxis,k=this.scrollbar;const g=c.DOMEvent||c,a=f.inverted,b=this.rendered&&!this.hasDragged?"animate":"attr";let h,t;(!this.hasDragged||k&&k.hasDragged)&&"scrollbar"!==c.trigger||(k=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?h=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(t=this.fixedExtreme),this.zoomedMax===this.size&&(t=this.reversedExtremes?k.dataMin:k.dataMax),0===this.zoomedMin&&(h=this.reversedExtremes?k.dataMax:k.dataMin),d=d.navigatorAxis.toFixedRange(this.zoomedMin,
this.zoomedMax,h,t),q(d.min)&&f.xAxis[0].setExtremes(Math.min(d.min,d.max),Math.max(d.min,d.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:g}));"mousemove"!==c.DOMType&&"touchmove"!==c.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&n(this.zoomedMin)&&n(this.zoomedMax)&&(f=Math.round(this.zoomedMin),c=Math.round(this.zoomedMax),
this.shades&&this.drawMasks(f,c,a,b),this.outline&&this.drawOutline(f,c,a,b),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(f,0,a,b),this.drawHandle(c,1,a,b)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(c){c()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){const c=this.baseSeries||[];this.navigatorEnabled&&c[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&c.forEach(function(c){z(c,
"updatedData",this.updatedDataHandler)},this),c[0].xAxis&&z(c[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(c){var f=c.options,d=f.navigator||{},k=d.enabled,a=f.scrollbar||{},b=a.enabled;f=k&&d.height||0;var h=b&&a.height||0;const z=a.buttonsEnabled&&h||0;this.handles=[];this.shades=[];this.chart=c;this.setBaseSeries();this.height=f;this.scrollbarHeight=h;this.scrollButtonSize=z;this.scrollbarEnabled=b;this.navigatorEnabled=k;this.navigatorOptions=d;this.scrollbarOptions=a;this.opposite=
y(d.opposite,!(k||!c.inverted));const t=this;k=t.baseSeries;a=c.xAxis.length;b=c.yAxis.length;h=k&&k[0]&&k[0].xAxis||c.xAxis[0]||{options:{}};c.isDirtyBox=!0;t.navigatorEnabled?(t.xAxis=new e(c,g({breaks:h.options.breaks,ordinal:h.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:a,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},c.inverted?{offsets:[z,0,-z,0],width:f}:{offsets:[0,-z,0,z],
height:f}),"xAxis"),t.yAxis=new e(c,g(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:b,isInternal:!0,reversed:y(d.yAxis&&d.yAxis.reversed,c.yAxis[0]&&c.yAxis[0].reversed,!1),zoomEnabled:!1},c.inverted?{width:f}:{height:f}),"yAxis"),k||d.series.data?t.updateNavigatorSeries(!1):0===c.series.length&&(t.unbindRedraw=r(c,"beforeRedraw",function(){0<c.series.length&&!t.series&&(t.setBaseSeries(),t.unbindRedraw())})),t.reversedExtremes=c.inverted&&!t.xAxis.reversed||!c.inverted&&t.xAxis.reversed,
t.renderElements(),t.addMouseEvents()):(t.xAxis={chart:c,navigatorAxis:{fake:!0},translate:function(f,d){var k=c.xAxis[0];const g=k.getExtremes(),a=k.len-2*z,t=w("min",k.options.min,g.dataMin);k=w("max",k.options.max,g.dataMax)-t;return d?f*k/a+t:a*(f-t)/k},toPixels:function(c){return this.translate(c)},toValue:function(c){return this.translate(c,!0)}},t.xAxis.navigatorAxis.axis=t.xAxis,t.xAxis.navigatorAxis.toFixedRange=H.prototype.toFixedRange.bind(t.xAxis.navigatorAxis));c.options.scrollbar.enabled&&
(d=g(c.options.scrollbar,{vertical:c.inverted}),!n(d.margin)&&t.navigatorEnabled&&(d.margin=c.inverted?-3:3),c.scrollbar=t.scrollbar=new D(c.renderer,d,c),r(t.scrollbar,"changed",function(c){var f=t.size;const d=f*this.to;f*=this.from;t.hasDragged=t.scrollbar.hasDragged;t.render(0,0,f,d);this.shouldUpdateExtremes(c.DOMType)&&setTimeout(function(){t.onMouseUp(c)})}));t.addBaseSeriesEvents();t.addChartEvents()}getUnionExtremes(c){const f=this.chart.xAxis[0],d=this.xAxis,k=d.options,g=f.options;let a;
c&&null===f.dataMin||(a={dataMin:y(k&&k.min,w("min",g.min,f.dataMin,d.dataMin,d.min)),dataMax:y(k&&k.max,w("max",g.max,f.dataMax,d.dataMax,d.max))});return a}setBaseSeries(c,f){const d=this.chart,k=this.baseSeries=[];c=c||d.options&&d.options.navigator.baseSeries||(d.series.length?M(d.series,c=>!c.options.isInternal).index:0);(d.series||[]).forEach((f,d)=>{f.options.isInternal||!f.options.showInNavigator&&(d!==c&&f.options.id!==c||!1===f.options.showInNavigator)||k.push(f)});this.xAxis&&!this.xAxis.navigatorAxis.fake&&
this.updateNavigatorSeries(!0,f)}updateNavigatorSeries(c,f){const d=this,a=d.chart,b=d.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},n=d.series=(d.series||[]).filter(c=>{const f=c.baseSeries;return 0>b.indexOf(f)?(f&&(z(f,"updatedData",d.updatedDataHandler),delete f.navigatorSeries),c.chart&&c.destroy(),!1):!0});let l,t,J=d.navigatorOptions.series,
K;b&&b.length&&b.forEach(c=>{const u=c.navigatorSeries;var C=B({color:c.color,visible:c.visible},G(J)?v.navigator.series:J);u&&!1===d.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+b.length,l=c.options||{},K=l.navigatorOptions||{},C.dataLabels=k(C.dataLabels),t=g(l,h,C,K),t.pointRange=y(C.pointRange,K.pointRange,v.plotOptions[t.type||"line"].pointRange),C=K.data||C.data,d.hasNavigatorData=d.hasNavigatorData||!!C,t.data=C||l.data&&l.data.slice(0),u&&u.options?u.update(t,f):(c.navigatorSeries=
a.initSeries(t),c.navigatorSeries.baseSeries=c,n.push(c.navigatorSeries)))});if(J.data&&(!b||!b.length)||G(J))d.hasNavigatorData=!1,J=k(J),J.forEach((c,f)=>{h.name="Navigator "+(n.length+1);t=g(v.navigator.series,{color:a.series[f]&&!a.series[f].options.isInternal&&a.series[f].color||a.options.colors[f]||a.options.colors[0]},h,c);t.data=c.data;t.data&&(d.hasNavigatorData=!0,n.push(a.initSeries(t)))});c&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){const c=this,f=c.baseSeries||[];f[0]&&f[0].xAxis&&
f[0].eventsToUnbind.push(r(f[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes));f.forEach(f=>{f.eventsToUnbind.push(r(f,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)}));f.eventsToUnbind.push(r(f,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)}));!1!==this.navigatorOptions.adaptToUpdatedData&&f.xAxis&&f.eventsToUnbind.push(r(f,"updatedData",this.updatedDataHandler));f.eventsToUnbind.push(r(f,"remove",function(){this.navigatorSeries&&
(h(c.series,this.navigatorSeries),q(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(c){return this.baseSeries.reduce(function(c,d){return Math.min(c,d.xData&&d.xData.length?d.xData[0]:c)},c)}modifyNavigatorAxisExtremes(){const c=this.xAxis;if("undefined"!==typeof c.getExtremes){const f=this.getUnionExtremes(!0);!f||f.dataMin===c.min&&f.dataMax===c.max||(c.min=f.dataMin,c.max=f.dataMax)}}modifyBaseAxisExtremes(){const c=this.chart.navigator;
var f=this.getExtremes();const d=f.dataMin,k=f.dataMax;f=f.max-f.min;const g=c.stickToMin,a=c.stickToMax,b=y(this.options.overscroll,0),h=c.series&&c.series[0],t=!!this.setExtremes;let z,l;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(g&&(l=d,z=l+f),a&&(z=k+b,g||(l=Math.max(d,z-f,c.getBaseSeriesMin(h&&h.xData?h.xData[0]:-Number.MAX_VALUE)))),t&&(g||a)&&n(l)&&(this.min=this.userMin=l,this.max=this.userMax=z));c.stickToMin=c.stickToMax=null}updatedDataHandler(){const c=this.chart.navigator,
f=this.navigatorSeries;c.stickToMax=y(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,c.reversedExtremes?0===Math.round(c.zoomedMin):Math.round(c.zoomedMax)>=Math.round(c.size));c.stickToMin=c.shouldStickToMin(this,c);f&&!c.hasNavigatorData&&(f.options.pointStart=this.xData[0],f.setData(this.options.data,!1,null,!1))}shouldStickToMin(c,f){f=f.getBaseSeriesMin(c.xData[0]);var d=c.xAxis;c=d.max;const k=d.min;d=d.options.range;return n(c)&&n(k)?d&&0<c-f?c-f<d:k<=f:!1}addChartEvents(){this.eventsToUnbind||
(this.eventsToUnbind=[]);this.eventsToUnbind.push(r(this.chart,"redraw",function(){const c=this.navigator,f=c&&(c.baseSeries&&c.baseSeries[0]&&c.baseSeries[0].xAxis||this.xAxis[0]);f&&c.render(f.min,f.max)}),r(this.chart,"getMargins",function(){let c=this.navigator,f=c.opposite?"plotTop":"marginBottom";this.inverted&&(f=c.opposite?"marginRight":"plotLeft");this[f]=(this[f]||0)+(c.navigatorEnabled||!this.inverted?c.height+c.scrollbarHeight:0)+c.navigatorOptions.margin}))}destroy(){this.removeEvents();
this.xAxis&&(h(this.chart.xAxis,this.xAxis),h(this.chart.axes,this.xAxis));this.yAxis&&(h(this.chart.yAxis,this.yAxis),h(this.chart.axes,this.yAxis));(this.series||[]).forEach(c=>{c.destroy&&c.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(c=>{this[c]&&this[c].destroy&&this[c].destroy();this[c]=null});[this.handles].forEach(c=>{a(c)})}}return d});L(e,"Stock/RangeSelector/RangeSelectorDefaults.js",[],
function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,
y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}});L(e,"Stock/RangeSelector/RangeSelectorComposition.js",[e["Core/Defaults.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Core/Utilities.js"]],function(e,A,x){function F(){const g=this.range,k=g.type,d=this.max,c=this.chart.time,f=function(f,d){const g="year"===k?"FullYear":"Month",a=new c.Date(f),u=c.get(g,
a);c.set(g,a,u+d);u===c.get(g,a)&&c.set("Date",a,0);return a.getTime()-f};let a,u;B(g)?(a=d-g,u=g):g&&(a=d+f(d,-(g.count||1)),this.chart&&(this.chart.fixedRange=d-a));const b=G(this.dataMin,Number.MIN_VALUE);B(a)||(a=b);a<=b&&(a=b,"undefined"===typeof u&&(u=f(a,g.count)),this.newMax=Math.min(a+u,G(this.dataMax,Number.MAX_VALUE)));B(d)?!B(g)&&g&&g._offsetMin&&(a+=g._offsetMin):a=void 0;return a}function E(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new y(this))}
function D(){var a=this.axes;const k=this.rangeSelector;k&&(B(k.deferredYTDClick)&&(k.clickButton(k.deferredYTDClick),delete k.deferredYTDClick),a.forEach(d=>{d.updateNames();d.setScale()}),this.getAxisMargins(),k.render(),a=k.options.verticalAlign,k.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}function p(a){let k,d,c,f;const g=a.rangeSelector,u=()=>{g&&(k=a.xAxis[0].getExtremes(),d=a.legend,f=g&&g.options.verticalAlign,B(k.min)&&g.render(k.min,
k.max),d.display&&"top"===f&&f===d.options.verticalAlign&&(c=M(a.spacingBox),c.y="vertical"===d.options.layout?a.plotTop:c.y+g.getHeight(),d.group.placed=!1,d.align(c)))};g&&(h(n,c=>c[0]===a)||n.push([a,[l(a.xAxis[0],"afterSetExtremes",function(c){g&&g.render(c.min,c.max)}),l(a,"redraw",u)]]),u())}function w(){for(let a=0,k=n.length;a<k;++a){const d=n[a];if(d[0]===this){d[1].forEach(c=>c());n.splice(a,1);break}}}function v(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=
a),this.extraBottomMargin&&(this.marginBottom+=a))}function b(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,"bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}function m(a){var k=a.options.rangeSelector;a=this.extraBottomMargin;const d=this.extraTopMargin;let c=this.rangeSelector;k&&k.enabled&&!q(c)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=c=new y(this));this.extraTopMargin=this.extraBottomMargin=
!1;c&&(p(this),k=k&&k.verticalAlign||c.options&&c.options.verticalAlign,c.options.floating||("bottom"===k?this.extraBottomMargin=!0:"middle"!==k&&(this.extraTopMargin=!0)),this.extraBottomMargin!==a||this.extraTopMargin!==d)&&(this.isDirtyBox=!0)}const {defaultOptions:r,setOptions:I}=e,{addEvent:l,defined:q,extend:a,find:h,isNumber:B,merge:M,pick:G}=x,n=[],g=[];let y;return{compose:function(h,k,d){y=d;x.pushUnique(g,h)&&(h.prototype.minFromRange=F);x.pushUnique(g,k)&&(l(k,"afterGetContainer",E),l(k,
"beforeRender",D),l(k,"destroy",w),l(k,"getMargins",v),l(k,"render",b),l(k,"update",m),k.prototype.callbacks.push(p));x.pushUnique(g,I)&&(a(r,{rangeSelector:A.rangeSelector}),a(r.lang,A.lang))}}});L(e,"Stock/RangeSelector/RangeSelector.js",[e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorComposition.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(e,A,x,H,E,D){function p(k){if(-1!==k.indexOf("%L"))return"text";const d=
"aAdewbBmoyY".split("").some(c=>-1!==k.indexOf("%"+c)),c="HkIlMS".split("").some(c=>-1!==k.indexOf("%"+c));return d&&c?"datetime-local":d?"date":c?"time":"text"}const {defaultOptions:w}=A,{addEvent:v,createElement:b,css:m,defined:r,destroyObjectProperties:I,discardElement:l,extend:q,fireEvent:a,isNumber:h,merge:B,objectEach:M,pad:G,pick:n,pInt:g,splat:y}=D;class z{static compose(k,d){H.compose(k,d,z)}constructor(k){this.buttons=void 0;this.buttonOptions=z.prototype.defaultButtons;this.initialButtonGroupWidth=
0;this.options=void 0;this.chart=k;this.init(k)}clickButton(k,d){const c=this.chart,f=this.buttonOptions[k],g=c.xAxis[0];var u=c.scroller&&c.scroller.getUnionExtremes()||g||{},b=f.type;const l=f.dataGrouping;let z=u.dataMin,q=u.dataMax,t,J=g&&Math.round(Math.min(g.max,n(q,g.max))),K;u=f._range;let m,B,p,I=!0;if(null!==z&&null!==q){c.fixedRange=u;this.setSelected(k);l&&(this.forcedDataGrouping=!0,e.prototype.setDataGrouping.call(g||{chart:this.chart},l,!1),this.frozenStates=f.preserveDataGrouping);
if("month"===b||"year"===b)g?(b={range:f,max:J,chart:c,dataMin:z,dataMax:q},t=g.minFromRange.call(b),h(b.newMax)&&(J=b.newMax),I=!1):u=f;else if(u)t=Math.max(J-u,z),J=Math.min(t+u,q),I=!1;else if("ytd"===b)if(g){if("undefined"===typeof q||"undefined"===typeof z)z=Number.MAX_VALUE,q=Number.MIN_VALUE,c.series.forEach(c=>{if(c=c.xData)z=Math.min(c[0],z),q=Math.max(c[c.length-1],q)}),d=!1;b=this.getYTDExtremes(q,z,c.time.useUTC);t=m=b.min;J=b.max}else{this.deferredYTDClick=k;return}else"all"===b&&g&&
(c.navigator&&c.navigator.baseSeries[0]&&(c.navigator.baseSeries[0].xAxis.options.range=void 0),t=z,J=q);I&&f._offsetMin&&r(t)&&(t+=f._offsetMin);f._offsetMax&&r(J)&&(J+=f._offsetMax);this.dropdown&&(this.dropdown.selectedIndex=k+1);g?g.setExtremes(t,J,n(d,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:f}):(K=y(c.options.xAxis)[0],p=K.range,K.range=u,B=K.min,K.min=m,v(c,"load",function(){K.range=p;K.min=B}));a(this,"afterBtnClick")}}setSelected(k){this.selected=this.options.selected=
k}init(k){const d=this,c=k.options.rangeSelector,f=c.buttons||d.defaultButtons.slice(),g=c.selected,b=function(){const c=d.minInput,f=d.maxInput;c&&c.blur&&a(c,"blur");f&&f.blur&&a(f,"blur")};d.chart=k;d.options=c;d.buttons=[];d.buttonOptions=f;this.eventsToUnbind=[];this.eventsToUnbind.push(v(k.container,"mousedown",b));this.eventsToUnbind.push(v(k,"resize",b));f.forEach(d.computeButtonRange);"undefined"!==typeof g&&f[g]&&this.clickButton(g,!1);this.eventsToUnbind.push(v(k,"load",function(){k.xAxis&&
k.xAxis[0]&&v(k.xAxis[0],"setExtremes",function(c){this.max-this.min!==k.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&d.forcedDataGrouping&&!d.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){const k=this;var d=this.chart;const c=this.dropdown,f=d.xAxis[0],a=Math.round(f.max-f.min),g=!f.hasVisibleSeries,b=d.scroller&&d.scroller.getUnionExtremes()||f,n=b.dataMin,l=b.dataMax;d=k.getYTDExtremes(l,n,d.time.useUTC);const z=d.min,t=d.max,y=k.selected,K=k.options.allButtonsEnabled,
q=k.buttons;let m=h(y);k.buttonOptions.forEach((d,b)=>{var u=d._range,h=d.type,C=d.count||1;const J=q[b],e=d._offsetMax-d._offsetMin,r=b===y,B=u>l-n,R=u<f.minRange;d=0;let O=!1,N=!1;u=u===a;("month"===h||"year"===h)&&a+36E5>=864E5*{month:28,year:365}[h]*C-e&&a-36E5<=864E5*{month:31,year:366}[h]*C+e?u=!0:"ytd"===h?(u=t-z+e===a,O=!r):"all"===h&&(u=f.max-f.min>=l-n,N=!r&&m&&u);h=!K&&(B||R||N||g);C=r&&u||u&&!m&&!O||r&&k.frozenStates;h?d=3:C&&(m=!0,d=2);J.state!==d&&(J.setState(d),c&&(c.options[b+1].disabled=
h,2===d&&(c.selectedIndex=b+1)),0===d&&y===b&&k.setSelected())})}computeButtonRange(k){const d=k.type,c=k.count||1,f={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(f[d])k._range=f[d]*c;else if("month"===d||"year"===d)k._range=864E5*{month:30,year:365}[d]*c;k._offsetMin=n(k.offsetMin,0);k._offsetMax=n(k.offsetMax,0);k._range+=k._offsetMax-k._offsetMin}getInputValue(k){k="min"===k?this.minInput:this.maxInput;const d=this.chart.options.rangeSelector,c=this.chart.time;return k?
("text"===k.type&&d.inputDateParser||this.defaultInputDateParser)(k.value,c.useUTC,c):0}setInputValue(k,d){const c=this.options,f=this.chart.time,a="min"===k?this.minInput:this.maxInput;k="min"===k?this.minDateBox:this.maxDateBox;if(a){var g=a.getAttribute("data-hc-time");g=r(g)?Number(g):void 0;r(d)&&(r(g)&&a.setAttribute("data-hc-time-previous",g),a.setAttribute("data-hc-time",d),g=d);a.value=f.dateFormat(this.inputTypeFormats[a.type]||c.inputEditDateFormat,g);k&&k.attr({text:f.dateFormat(c.inputDateFormat,
g)})}}setInputExtremes(k,d,c){if(k="min"===k?this.minInput:this.maxInput){const f=this.inputTypeFormats[k.type],a=this.chart.time;f&&(d=a.dateFormat(f,d),k.min!==d&&(k.min=d),c=a.dateFormat(f,c),k.max!==c&&(k.max=c))}}showInput(k){const d="min"===k?this.minDateBox:this.maxDateBox;if((k="min"===k?this.minInput:this.maxInput)&&d&&this.inputGroup){const c="text"===k.type,{translateX:f,translateY:a}=this.inputGroup,{inputBoxWidth:g}=this.options;m(k,{width:c?d.width+(g?-2:20)+"px":"auto",height:d.height-
2+"px",border:"2px solid silver"});c&&g?m(k,{left:f+d.x+"px",top:a+"px"}):m(k,{left:Math.min(Math.round(d.x+f-(k.offsetWidth-d.width)/2),this.chart.chartWidth-k.offsetWidth)+"px",top:a-(k.offsetHeight-d.height)/2+"px"})}}hideInput(k){(k="min"===k?this.minInput:this.maxInput)&&m(k,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(k,d,c){var f=k.split("/").join("-").split(" ").join("T");-1===f.indexOf("T")&&(f+="T00:00");if(d)f+="Z";else{var a;if(a=x.isSafari)a=f,a=!(6<a.length&&
(a.lastIndexOf("-")===a.length-6||a.lastIndexOf("+")===a.length-6));a&&(a=(new Date(f)).getTimezoneOffset()/60,f+=0>=a?`+${G(-a)}:00`:`-${G(a)}:00`)}f=Date.parse(f);h(f)||(k=k.split("-"),f=Date.UTC(g(k[0]),g(k[1])-1,g(k[2])));c&&d&&h(f)&&(f+=c.getTimezoneOffset(f));return f}drawInput(a){function d(){const {maxInput:f,minInput:d}=g,k=c.xAxis[0];var b=c.scroller&&c.scroller.xAxis?c.scroller.xAxis:k;const t=b.dataMin;b=b.dataMax;let u=g.getInputValue(a);u!==Number(J.getAttribute("data-hc-time-previous"))&&
h(u)&&(J.setAttribute("data-hc-time-previous",u),y&&f&&h(t)?u>Number(f.getAttribute("data-hc-time"))?u=void 0:u<t&&(u=t):d&&h(b)&&(u<Number(d.getAttribute("data-hc-time"))?u=void 0:u>b&&(u=b)),"undefined"!==typeof u&&k.setExtremes(y?u:k.min,y?k.max:u,void 0,void 0,{trigger:"rangeSelectorInput"}))}const {chart:c,div:f,inputGroup:k}=this,g=this,n=c.renderer.style||{};var l=c.renderer;const z=c.options.rangeSelector,y="min"===a;var t=w.lang[y?"rangeSelectorFrom":"rangeSelectorTo"]||"";t=l.label(t,0).addClass("highcharts-range-label").attr({padding:t?
2:0,height:t?z.inputBoxHeight:0}).add(k);l=l.label("",0).addClass("highcharts-range-input").attr({padding:2,width:z.inputBoxWidth,height:z.inputBoxHeight,"text-align":"center"}).on("click",function(){g.showInput(a);g[a+"Input"].focus()});c.styledMode||l.attr({stroke:z.inputBoxBorderColor,"stroke-width":1});l.add(k);const J=b("input",{name:a,className:"highcharts-range-selector"},void 0,f);J.setAttribute("type",p(z.inputDateFormat||"%e %b %Y"));c.styledMode||(t.css(B(n,z.labelStyle)),l.css(B({color:"#333333"},
n,z.inputStyle)),m(J,q({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:n.fontSize,fontFamily:n.fontFamily,top:"-9999em"},z.inputStyle)));J.onfocus=()=>{g.showInput(a)};J.onblur=()=>{J===x.doc.activeElement&&d();g.hideInput(a);g.setInputValue(a);J.blur()};let K=!1;J.onchange=()=>{K||(d(),g.hideInput(a),J.blur())};J.onkeypress=c=>{13===c.keyCode&&d()};J.onkeydown=c=>{K=!0;38!==c.keyCode&&40!==c.keyCode||d()};J.onkeyup=
()=>{K=!1};return{dateBox:l,input:J,label:t}}getPosition(){var a=this.chart;const d=a.options.rangeSelector;a="top"===d.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+d.buttonPosition.y,inputTop:a+d.inputPosition.y-10}}getYTDExtremes(a,d,c){const f=this.chart.time;var k=new f.Date(a);const g=f.get("FullYear",k);c=c?f.Date.UTC(g,0,1):+new f.Date(g,0,1);d=Math.max(d,c);k=k.getTime();return{max:Math.min(a||k,k),min:d}}render(a,d){var c=this.chart,f=c.renderer;const g=c.container;var k=
c.options;const h=k.rangeSelector,l=n(k.chart.style&&k.chart.style.zIndex,0)+1;k=h.inputEnabled;if(!1!==h.enabled){this.rendered||(this.group=f.g("range-selector-group").attr({zIndex:7}).add(),this.div=b("div",void 0,{position:"relative",height:0,zIndex:l}),this.buttonOptions.length&&this.renderButtons(),g.parentNode&&g.parentNode.insertBefore(this.div,g),k&&(this.inputGroup=f.g("input-group").add(this.group),f=this.drawInput("min"),this.minDateBox=f.dateBox,this.minLabel=f.label,this.minInput=f.input,
f=this.drawInput("max"),this.maxDateBox=f.dateBox,this.maxLabel=f.label,this.maxInput=f.input));if(k&&(this.setInputValue("min",a),this.setInputValue("max",d),a=c.scroller&&c.scroller.getUnionExtremes()||c.xAxis[0]||{},r(a.dataMin)&&r(a.dataMax)&&(c=c.xAxis[0].minRange||0,this.setInputExtremes("min",a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-c),this.setInputExtremes("max",Math.max(a.dataMin,this.getInputValue("min"))+c,a.dataMax)),this.inputGroup)){let c=0;[this.minLabel,this.minDateBox,
this.maxLabel,this.maxDateBox].forEach(f=>{if(f){const {width:d}=f.getBBox();d&&(f.attr({x:c}),c+=d+h.inputSpacing)}})}this.alignElements();this.rendered=!0}}renderButtons(){const {buttons:g,chart:d,options:c}=this,f=w.lang,h=d.renderer,u=B(c.buttonTheme),l=u&&u.states,z=u.width||28;delete u.width;delete u.states;this.buttonGroup=h.g("range-selector-buttons").add(this.group);const y=this.dropdown=b("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",
opacity:.0001},this.div);v(y,"touchstart",()=>{y.style.fontSize="16px"});[[x.isMS?"mouseover":"mouseenter"],[x.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([c,f])=>{v(y,c,()=>{const d=g[this.currentButtonIndex()];d&&a(d.element,f||c)})});this.zoomText=h.label(f&&f.rangeSelectorZoom||"",0).attr({padding:c.buttonTheme.padding,height:c.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(c.labelStyle),u["stroke-width"]=n(u["stroke-width"],
0));b("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,y);this.buttonOptions.forEach((c,f)=>{b("option",{textContent:c.title||c.text},void 0,y);g[f]=h.button(c.text,0,0,d=>{const a=c.events&&c.events.click;let g;a&&(g=a.call(c,d));!1!==g&&this.clickButton(f);this.isActive=!0},u,l&&l.hover,l&&l.select,l&&l.disabled).attr({"text-align":"center",width:z}).add(this.buttonGroup);c.title&&g[f].attr("title",c.title)})}alignElements(){const {buttonGroup:a,buttons:d,chart:c,group:f,inputGroup:g,
options:b,zoomText:h}=this;var l=c.options;const z=l.exporting&&!1!==l.exporting.enabled&&l.navigation&&l.navigation.buttonOptions,{buttonPosition:y,inputPosition:t,verticalAlign:q}=b;l=(f,d)=>z&&this.titleCollision(c)&&"top"===q&&"right"===d.align&&d.y-f.getBBox().height-12<(z.y||0)+(z.height||0)+c.spacing[0]?-40:0;var K=c.plotLeft;if(f&&y&&t){var m=y.x-c.spacing[3];if(a){this.positionButtons();if(!this.initialButtonGroupWidth){let c=0;h&&(c+=h.getBBox().width+5);d.forEach((f,a)=>{c+=f.width;a!==
d.length-1&&(c+=b.buttonSpacing)});this.initialButtonGroupWidth=c}K-=c.spacing[3];this.updateButtonStates();var e=l(a,y);this.alignButtonGroup(e);f.placed=a.placed=c.hasLoaded}e=0;g&&(e=l(g,t),"left"===t.align?m=K:"right"===t.align&&(m=-Math.max(c.axisOffset[1],-e)),g.align({y:t.y,width:g.getBBox().width,align:t.align,x:t.x+m-2},!0,c.spacingBox),g.placed=c.hasLoaded);this.handleCollision(e);f.align({verticalAlign:q},!0,c.spacingBox);l=f.alignAttr.translateY;K=f.getBBox().height+20;m=0;"bottom"===
q&&(m=(m=c.legend&&c.legend.options)&&"bottom"===m.verticalAlign&&m.enabled&&!m.floating?c.legend.legendHeight+n(m.margin,10):0,K=K+m-20,m=l-K-(b.floating?0:b.y)-(c.titleOffset?c.titleOffset[2]:0)-10);if("top"===q)b.floating&&(m=0),c.titleOffset&&c.titleOffset[0]&&(m=c.titleOffset[0]),m+=c.margin[0]-c.spacing[0]||0;else if("middle"===q)if(t.y===y.y)m=l;else if(t.y||y.y)m=0>t.y||0>y.y?m-Math.min(t.y,y.y):l-K;f.translate(b.x,b.y+Math.floor(m));const {minInput:k,maxInput:u,dropdown:z}=this;b.inputEnabled&&
k&&u&&(k.style.marginTop=f.translateY+"px",u.style.marginTop=f.translateY+"px");z&&(z.style.marginTop=f.translateY+"px")}}alignButtonGroup(a,d){const {chart:c,options:f,buttonGroup:g}=this,{buttonPosition:k}=f,b=c.plotLeft-c.spacing[3];let h=k.x-c.spacing[3];"right"===k.align?h+=a-b:"center"===k.align&&(h-=b/2);g&&g.align({y:k.y,width:n(d,this.initialButtonGroupWidth),align:k.align,x:h},!0,c.spacingBox)}positionButtons(){const {buttons:a,chart:d,options:c,zoomText:f}=this,g=d.hasLoaded?"animate":
"attr",{buttonPosition:b}=c,h=d.plotLeft;let l=h;f&&"hidden"!==f.visibility&&(f[g]({x:n(h+b.x,h)}),l+=b.x+f.getBBox().width+5);for(let f=0,d=this.buttonOptions.length;f<d;++f)if("hidden"!==a[f].visibility)a[f][g]({x:l}),l+=a[f].width+c.buttonSpacing;else a[f][g]({x:h})}handleCollision(a){const {chart:d,buttonGroup:c,inputGroup:f}=this,{buttonPosition:g,dropdown:k,inputPosition:b}=this.options,h=()=>{let c=0;this.buttons.forEach(f=>{f=f.getBBox();f.width>c&&(c=f.width)});return c},n=d=>{if(f&&c){const k=
f.alignAttr.translateX+f.alignOptions.x-a+f.getBBox().x+2,h=f.alignOptions.width,t=c.alignAttr.translateX+c.getBBox().x;return t+d>k&&k+h>t&&g.y<b.y+f.getBBox().height}return!1},l=()=>{f&&c&&f.attr({translateX:f.alignAttr.translateX+(d.axisOffset[1]>=-a?0:-a),translateY:f.alignAttr.translateY+c.getBBox().height+10})};if(c){if("always"===k){this.collapseButtons(a);n(h())&&l();return}"never"===k&&this.expandButtons()}f&&c?b.align===g.align||n(this.initialButtonGroupWidth+20)?"responsive"===k?(this.collapseButtons(a),
n(h())&&l()):l():"responsive"===k&&this.expandButtons():c&&"responsive"===k&&(this.initialButtonGroupWidth>d.plotWidth?this.collapseButtons(a):this.expandButtons())}collapseButtons(a){const {buttons:d,buttonOptions:c,chart:f,dropdown:g,options:k,zoomText:b}=this,h=f.userOptions.rangeSelector&&f.userOptions.rangeSelector.buttonTheme||{},l=c=>({text:c?`${c} \u25be`:"\u25be",width:"auto",paddingLeft:n(k.buttonTheme.paddingLeft,h.padding,8),paddingRight:n(k.buttonTheme.paddingRight,h.padding,8)});b&&
b.hide();let z=!1;c.forEach((c,f)=>{f=d[f];2!==f.state?f.hide():(f.show(),f.attr(l(c.text)),z=!0)});z||(g&&(g.selectedIndex=0),d[0].show(),d[0].attr(l(this.zoomText&&this.zoomText.textStr)));const {align:t}=k.buttonPosition;this.positionButtons();"right"!==t&&"center"!==t||this.alignButtonGroup(a,d[this.currentButtonIndex()].getBBox().width);this.showDropdown()}expandButtons(){const {buttons:a,buttonOptions:d,options:c,zoomText:f}=this;this.hideDropdown();f&&f.show();d.forEach((f,d)=>{d=a[d];d.show();
d.attr({text:f.text,width:c.buttonTheme.width||28,paddingLeft:n(c.buttonTheme.paddingLeft,"unset"),paddingRight:n(c.buttonTheme.paddingRight,"unset")});2>d.state&&d.setState(0)});this.positionButtons()}currentButtonIndex(){const {dropdown:a}=this;return a&&0<a.selectedIndex?a.selectedIndex-1:0}showDropdown(){const {buttonGroup:a,buttons:d,chart:c,dropdown:f}=this;if(a&&f){const {translateX:g,translateY:k}=a,b=d[this.currentButtonIndex()].getBBox();m(f,{left:c.plotLeft+g+"px",top:k+.5+"px",width:b.width+
"px",height:b.height+"px"});this.hasVisibleDropdown=!0}}hideDropdown(){const {dropdown:a}=this;a&&(m(a,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){var a=this.options,d=this.group;const c=a.y,f=a.buttonPosition.y,g=a.inputPosition.y;if(a.height)return a.height;this.alignElements();a=d?d.getBBox(!0).height+13+c:0;d=Math.min(g,f);if(0>g&&0>f||0<g&&0<f)a+=Math.abs(d);return a}titleCollision(a){return!(a.options.title.text||a.options.subtitle.text)}update(a){const d=
this.chart;B(!0,d.options.rangeSelector,a);this.destroy();this.init(d);this.render()}destroy(){const a=this,d=a.minInput,c=a.maxInput;a.eventsToUnbind&&(a.eventsToUnbind.forEach(c=>c()),a.eventsToUnbind=void 0);I(a.buttons);d&&(d.onfocus=d.onblur=d.onchange=null);c&&(c.onfocus=c.onblur=c.onchange=null);M(a,function(c,d){c&&"chart"!==d&&(c instanceof E?c.destroy():c instanceof window.HTMLElement&&l(c));c!==z.prototype[d]&&(a[d]=null)},this)}}q(z.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",
title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});"";return z});L(e,"Series/XRange/XRangeSeriesDefaults.js",[e["Core/Utilities.js"]],function(e){const {correctFloat:A,isNumber:x,isObject:F}=
e;"";return{colorByPoint:!0,dataLabels:{formatter:function(){let e=this.point.partialFill;F(e)&&(e=e.amount);if(x(e)&&0<e)return A(100*e)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'<span style="font-size: 0.8em">{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}});L(e,"Series/XRange/XRangePoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],
function(e,A){const {series:{prototype:{pointClass:{prototype:x}}},seriesTypes:{column:{prototype:{pointClass:F}}}}=e;({extend:e}=A);class E extends F{constructor(){super(...arguments);this.series=this.options=void 0}static getColorByCategory(e,p){const w=e.options.colors||e.chart.options.colors;e=p.y%(w?w.length:e.chart.options.chart.colorCount);return{colorIndex:e,color:w&&w[e]}}resolveColor(){const e=this.series;if(e.options.colorByPoint&&!this.options.color){const p=E.getColorByCategory(e,this);
e.chart.styledMode||(this.color=p.color);this.options.colorIndex||(this.colorIndex=p.colorIndex)}else this.color||(this.color=e.color)}init(){x.init.apply(this,arguments);this.y||(this.y=0);return this}setState(){x.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){const e=x.getLabelConfig.call(this),p=this.series.yAxis.categories;e.x2=this.x2;e.yCategory=this.yCategory=p&&p[this.y];return e}isValid(){return"number"===typeof this.x&&"number"===
typeof this.x2}}e(E.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});"";return E});L(e,"Series/XRange/XRangeSeries.js",[e["Core/Globals.js"],e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"],e["Series/XRange/XRangeSeriesDefaults.js"],e["Series/XRange/XRangePoint.js"]],function(e,A,x,H,E,D){function p(){let a,b;if(this.isXAxis){a=M(this.dataMax,-Number.MAX_VALUE);for(const g of this.series)if(g.x2Data)for(const k of g.x2Data)k&&k>a&&(a=k,b=!0);b&&(this.dataMax=a)}}
({noop:e}=e);const {parse:w}=A,{series:{prototype:v},seriesTypes:{column:b}}=x,{addEvent:m,clamp:r,defined:I,extend:l,find:q,isNumber:a,isObject:h,merge:B,pick:M}=H,G=[];class n extends b{constructor(){super(...arguments);this.points=this.options=this.data=void 0}static compose(a){H.pushUnique(G,a)&&m(a,"afterGetSeriesExtremes",p)}init(){super.init.apply(this,arguments);this.options.stacking=void 0}getColumnMetrics(){const a=()=>{for(const a of this.chart.series){const g=a.xAxis;a.xAxis=a.yAxis;a.yAxis=
g}};a();const b=super.getColumnMetrics();a();return b}cropData(a,b,h,k){b=v.cropData.call(this,this.x2Data,b,h,k);b.xData=a.slice(b.start,b.end);return b}findPointIndex(g){const {cropStart:b,points:h}=this,{id:k}=g;if(k)var d=(d=q(h,c=>c.id===k))?d.index:void 0;"undefined"===typeof d&&(d=(d=q(h,c=>c.x===g.x&&c.x2===g.x2&&!c.touched))?d.index:void 0);this.cropped&&a(d)&&a(b)&&d>=b&&(d-=b);return d}alignDataLabel(a){const g=a.plotX;a.plotX=M(a.dlBox&&a.dlBox.centerX,a.plotX);super.alignDataLabel.apply(this,
arguments);a.plotX=g}translatePoint(g){const b=this.xAxis;var n=this.yAxis,k=this.columnMetrics,d=this.options,{borderRadius:c}=d,f=d.minPointLength||0,l=(g.shapeArgs&&g.shapeArgs.width||0)/2,u=this.pointXOffset=k.offset,e=M(g.x2,g.x+(g.len||0));let q=g.plotX;var m=b.translate(e,0,0,0,1);e=Math.abs(m-q);const p=this.chart.inverted,t=M(d.borderWidth,1)%2/2;let J=k.offset,K=Math.round(k.width);f&&(f-=e,0>f&&(f=0),q-=f/2,m+=f/2);q=Math.max(q,-10);m=r(m,-10,b.len+10);I(g.options.pointWidth)&&(J-=(Math.ceil(g.options.pointWidth)-
K)/2,K=Math.ceil(g.options.pointWidth));d.pointPlacement&&a(g.plotY)&&n.categories&&(g.plotY=n.translate(g.y,0,1,0,1,d.pointPlacement));d=Math.floor(Math.min(q,m))+t;d={x:d,y:Math.floor(g.plotY+J)+t,width:Math.floor(Math.max(q,m))+t-d,height:K};g.shapeArgs=d;a(c)&&(g.shapeArgs.r=c);p?g.tooltipPos[1]+=u+l:g.tooltipPos[0]-=l+u-d.width/2;l=d.x;u=l+d.width;0>l||u>b.len?(l=r(l,0,b.len),u=r(u,0,b.len),m=u-l,g.dlBox=B(d,{x:l,width:u-l,centerX:m?m/2:null})):g.dlBox=null;l=g.tooltipPos;u=p?1:0;m=p?0:1;k=this.columnMetrics?
this.columnMetrics.offset:-k.width/2;l[u]=p?l[u]+d.width/2:r(l[u]+(b.reversed?-1:0)*d.width,0,b.len-1);l[m]=r(l[m]+(p?-1:1)*k,0,n.len-1);if(n=g.partialFill)h(n)&&(n=n.amount),a(n)||(n=0),a(c)&&(g.partShapeArgs=B(d,{r:c})),c=Math.max(Math.round(e*n+g.plotX-q),0),g.clipRectArgs={x:b.reversed?d.x+e-c:d.x,y:d.y,width:c,height:d.height}}translate(){super.translate.apply(this,arguments);for(const a of this.points)this.translatePoint(a)}drawPoint(a,b){const g=this.options,k=this.chart.renderer,d=a.shapeType,
c=a.shapeArgs,f=a.partShapeArgs,n=a.clipRectArgs;var l=a.state,e=g.states[l||"normal"]||{};const m="undefined"===typeof l?"attr":b;l=this.pointAttribs(a,l);e=M(this.chart.options.chart.animation,e.animation);let q=a.graphic,y=a.partialFill;if(a.isNull||!1===a.visible)q&&(a.graphic=q.destroy());else{if(q)q.rect[b](c);else a.graphic=q=k.g("point").addClass(a.getClassName()).add(a.group||this.group),q.rect=k[d](B(c)).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(q);f&&(q.partRect?
(q.partRect[b](B(f)),q.partialClipRect[b](B(n))):(q.partialClipRect=k.clipRect(n.x,n.y,n.width,n.height),q.partRect=k[d](f).addClass("highcharts-partfill-overlay").add(q).clip(q.partialClipRect)));this.chart.styledMode||(q.rect[b](l,e).shadow(g.shadow),f&&(h(y)||(y={}),h(g.partialFill)&&(y=B(g.partialFill,y)),a=y.fill||w(l.fill).brighten(-.3).get()||w(a.color||this.color).brighten(-.3).get(),l.fill=a,q.partRect[m](l,e).shadow(g.shadow)))}}drawPoints(){const a=this.getAnimationVerb();for(const g of this.points)this.drawPoint(g,
a)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(a){const g=a.shapeArgs,b=a.plotX,k=a.plotY;return g?"undefined"!==typeof b&&"undefined"!==typeof k&&0<=k&&k<=this.yAxis.len&&0<=(g.x||0)+(g.width||0)&&b<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}n.defaultOptions=B(b.defaultOptions,E);l(n.prototype,{pointClass:D,cropShoulder:1,getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:v.animate,
autoIncrement:e,buildKDTree:e});x.registerSeriesType("xrange",n);return n});L(e,"Series/Gantt/GanttPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,A){({seriesTypes:{xrange:{prototype:{pointClass:e}}}}=e);const {pick:x}=A;class F extends e{constructor(){super(...arguments);this.series=this.options=void 0}static setGanttPointAliases(e){function A(p,w){"undefined"!==typeof w&&(e[p]=w)}A("x",x(e.start,e.x));A("x2",x(e.end,e.x2));A("partialFill",x(e.completed,e.partialFill))}applyOptions(e,
x){e=super.applyOptions.call(this,e,x);F.setGanttPointAliases(e);return e}isValid(){return("number"===typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)}}return F});L(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(e,A){const {addEvent:x,find:F,fireEvent:E,isArray:D,isNumber:p,pick:w}=A;var v;(function(b){function m(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,
!1)}function r(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}function I(){const a=this.brokenAxis;if(a&&a.hasBreaks){const g=this.tickPositions,b=this.tickPositions.info,h=[];for(let b=0;b<g.length;b++)a.isInAnyBreak(g[b])||h.push(g[b]);this.tickPositions=h;this.tickPositions.info=b}}function l(){this.brokenAxis||(this.brokenAxis=new G(this))}function q(){const {isDirty:a,options:{connectNulls:g},points:b,xAxis:h,yAxis:k}=this;if(a){let a=b.length;for(;a--;){const c=b[a],
f=!(null===c.y&&!1===g)&&(h&&h.brokenAxis&&h.brokenAxis.isInAnyBreak(c.x,!0)||k&&k.brokenAxis&&k.brokenAxis.isInAnyBreak(c.y,!0));c.visible=f?!1:!1!==c.options.visible}}}function a(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,w(this.pointArrayMap,["y"]))}function h(a,g){const b=this,h=b.points;let k,d,c,f;if(a&&a.brokenAxis&&a.brokenAxis.hasBreaks){const l=a.brokenAxis;g.forEach(function(g){k=l&&l.breakArray||[];d=a.isXAxis?a.min:w(b.options.threshold,a.min);h.forEach(function(b){f=
w(b["stack"+g.toUpperCase()],b[g]);k.forEach(function(g){if(p(d)&&p(f)){c=!1;if(d<g.from&&f>g.to||d>g.from&&f<g.from)c="pointBreak";else if(d<g.from&&f>g.from&&f<g.to||d>g.from&&f>g.to&&f<g.from)c="pointInBreak";c&&E(a,c,{point:b,brk:g})}})})})}}function B(){var a=this.currentDataGrouping,g=a&&a.gapSize;a=this.points.slice();const b=this.yAxis;let h=this.options.gapSize,k=a.length-1;var d;if(h&&0<k)for("value"!==this.options.gapUnit&&(h*=this.basePointRange),g&&g>h&&g>=this.basePointRange&&(h=g);k--;)d&&
!1!==d.visible||(d=a[k+1]),g=a[k],!1!==d.visible&&!1!==g.visible&&(d.x-g.x>h&&(d=(g.x+d.x)/2,a.splice(k+1,0,{isNull:!0,x:d}),b.stacking&&this.options.stacking&&(d=b.stacking.stacks[this.stackKey][d]=new e(b,b.options.stackLabels,!1,d,this.stack),d.total=0)),d=g);return this.getGraphPath(a)}const v=[];b.compose=function(b,g){A.pushUnique(v,b)&&(b.keepProps.push("brokenAxis"),x(b,"init",l),x(b,"afterInit",m),x(b,"afterSetTickPositions",I),x(b,"afterSetOptions",r));if(A.pushUnique(v,g)){const b=g.prototype;
b.drawBreaks=h;b.gappedPath=B;x(g,"afterGeneratePoints",q);x(g,"afterRender",a)}return b};class G{static isInBreak(a,g){const b=a.repeat||Infinity,h=a.from,k=a.to-a.from;g=g>=h?(g-h)%b:b-(h-g)%b;return a.inclusive?g<=k:g<k&&0!==g}static lin2Val(a){var g=this.brokenAxis;g=g&&g.breakArray;if(!g||!p(a))return a;let b,h;for(h=0;h<g.length&&!(b=g[h],b.from>=a);h++)b.to<a?a+=b.len:G.isInBreak(b,a)&&(a+=b.len);return a}static val2Lin(a){var g=this.brokenAxis;g=g&&g.breakArray;if(!g||!p(a))return a;let b=
a,h,k;for(k=0;k<g.length;k++)if(h=g[k],h.to<=a)b-=h.len;else if(h.from>=a)break;else if(G.isInBreak(h,a)){b-=a-h.from;break}return b}constructor(a){this.hasBreaks=!1;this.axis=a}findBreakAt(a,b){return F(b,function(b){return b.from<a&&a<b.to})}isInAnyBreak(a,b){const g=this.axis,h=g.options.breaks||[];let k=h.length,d,c,f;if(k&&p(a)){for(;k--;)G.isInBreak(h[k],a)&&(d=!0,c||(c=w(h[k].showPoints,!g.isXAxis)));f=d&&b?d&&!c:d}return f}setBreaks(a,b){const g=this,h=g.axis,k=D(a)&&!!a.length;h.isDirty=
g.hasBreaks!==k;g.hasBreaks=k;a!==h.options.breaks&&(h.options.breaks=h.userOptions.breaks=a);h.forceRedraw=!0;h.series.forEach(function(a){a.isDirty=!0});k||h.val2lin!==G.val2Lin||(delete h.val2lin,delete h.lin2val);k&&(h.userOptions.ordinal=!1,h.lin2val=G.lin2Val,h.val2lin=G.val2Lin,h.setExtremes=function(a,c,f,b,k){if(g.hasBreaks){const f=this.options.breaks||[];let d;for(;d=g.findBreakAt(a,f);)a=d.to;for(;d=g.findBreakAt(c,f);)c=d.from;c<a&&(c=a)}h.constructor.prototype.setExtremes.call(this,
a,c,f,b,k)},h.setAxisTranslation=function(){h.constructor.prototype.setAxisTranslation.call(this);g.unitLength=void 0;if(g.hasBreaks){const a=h.options.breaks||[],c=[],f=[],b=w(h.pointRangePadding,0);let k=0,l,e,q=h.userMin||h.min,n=h.userMax||h.max,t,m;a.forEach(function(a){e=a.repeat||Infinity;p(q)&&p(n)&&(G.isInBreak(a,q)&&(q+=a.to%e-q%e),G.isInBreak(a,n)&&(n-=n%e-a.from%e))});a.forEach(function(a){t=a.from;e=a.repeat||Infinity;if(p(q)&&p(n)){for(;t-e>q;)t-=e;for(;t<q;)t+=e;for(m=t;m<n;m+=e)c.push({value:m,
move:"in"}),c.push({value:m+a.to-a.from,move:"out",size:a.breakSize})}});c.sort(function(a,c){return a.value===c.value?("in"===a.move?0:1)-("in"===c.move?0:1):a.value-c.value});l=0;t=q;c.forEach(function(a){l+="in"===a.move?1:-1;1===l&&"in"===a.move&&(t=a.value);0===l&&p(t)&&(f.push({from:t,to:a.value,len:a.value-t-(a.size||0)}),k+=a.value-t-(a.size||0))});g.breakArray=f;p(q)&&p(n)&&p(h.min)&&(g.unitLength=n-q-k+b,E(h,"afterBreaks"),h.staticScale?h.transA=h.staticScale:g.unitLength&&(h.transA*=(n-
h.min+b)/g.unitLength),b&&(h.minPixelPadding=h.transA*(h.minPointOffset||0)),h.min=q,h.max=n)}});w(b,!0)&&h.chart.redraw()}}b.Additions=G})(v||(v={}));return v});L(e,"Core/Axis/GridAxis.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,A,x){function F(a,f){const d={width:0,height:0};f.forEach(function(f){f=a[f];let b,g;x.isObject(f,!0)&&(g=x.isObject(f.label,!0)?f.label:{},f=g.getBBox?g.getBBox().height:0,g.textStr&&!c(g.textPxLength)&&(g.textPxLength=g.getBBox().width),
b=c(g.textPxLength)?Math.round(g.textPxLength):0,g.textStr&&(b=Math.round(g.getBBox().width)),d.height=Math.max(f,d.height),d.width=Math.max(b,d.width))});"treegrid"===this.options.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode&&(d.width+=this.options.labels.indentation*((this.treeGrid.mapOfPosToGridNode[-1].height||0)-1));return d}function E(){const {grid:a}=this;(a&&a.columns||[]).forEach(function(a){a.getOffset()})}function D(a){if(!0===(this.options.grid||{}).enabled){const {axisTitle:f,
height:d,horiz:g,left:b,offset:h,opposite:k,options:t,top:l,width:e}=this;var c=this.tickSize();const u=f&&f.getBBox().width,q=t.title.x,n=t.title.y,m=C(t.title.margin,g?5:10),r=f?this.chart.renderer.fontMetrics(f).f:0;c=(g?l+d:b)+(g?1:-1)*(k?-1:1)*(c?c[0]/2:0)+(this.side===N.bottom?r:0);a.titlePosition.x=g?b-(u||0)/2-m+q:c+(k?e:0)+h+q;a.titlePosition.y=g?c-(k?d:0)+(k?r:-r)/2+h+n:l-m+n}}function p(){const {chart:a,options:{grid:c={}},userOptions:d}=this;if(c.enabled){var g=this.options;g.labels.align=
C(g.labels.align,"center");this.categories||(g.showLastLabel=!1);this.labelRotation=0;g.labels.rotation=0}if(c.columns){g=this.grid.columns=[];let h=this.grid.columnIndex=0;for(;++h<c.columns.length;){var b=f(d,c.columns[c.columns.length-h-1],{isInternal:!0,linkedTo:0,type:"category",scrollbar:{enabled:!1}});delete b.grid.columns;b=new e(this.chart,b,"yAxis");b.grid.isColumn=!0;b.grid.columnIndex=h;z(a.axes,b);z(a[this.coll]||[],b);g.push(b)}}}function w(){var a=this.grid,c=this.options;if(!0===(c.grid||
{}).enabled){var f=this.min||0;const k=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 d=c.lineWidth;if(d){d=this.getLinePath(d);var g=d[0],b=d[1],h=((this.tickSize("tick")||[1])[0]-1)*(this.side===N.top||this.side===N.left?-1:1);"M"===g[0]&&"L"===b[0]&&(this.horiz?(g[2]+=h,b[2]+=h):(g[1]+=h,b[1]+=h));!this.horiz&&this.chart.marginRight&&(g=[g,["L",this.left,
g[2]||0]],h=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(k+this.tickmarkOffset)],b=[["M",b[1]||0,this.toPixels(k+this.tickmarkOffset)],h],this.grid.upperBorder||0===f%1||(this.grid.upperBorder=this.grid.renderBorder(g)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:c.lineColor,"stroke-width":c.lineWidth}),this.grid.upperBorder.animate({d:g})),this.grid.lowerBorder||0===k%1||(this.grid.lowerBorder=this.grid.renderBorder(b)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:c.lineColor,
"stroke-width":c.lineWidth}),this.grid.lowerBorder.animate({d:b})));this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:c.lineColor,"stroke-width":c.lineWidth}),this.grid.axisLineExtra.animate({d})):this.grid.axisLineExtra=this.grid.renderBorder(d);this.axisLine[this.showAxis?"show":"hide"]()}}(a&&a.columns||[]).forEach(a=>a.render());if(!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)){a=this.tickmarkOffset;c=this.tickPositions[this.tickPositions.length-
1];d=this.tickPositions[0];let g,b;for(;(g=this.hiddenLabels.pop())&&g.element;)g.show();for(;(b=this.hiddenMarks.pop())&&b.element;)b.show();(g=this.ticks[d].label)&&(f-d>a?this.hiddenLabels.push(g.hide()):g.show());(g=this.ticks[c].label)&&(c-k>a?this.hiddenLabels.push(g.hide()):g.show());(f=this.ticks[c].mark)&&c-k<a&&0<c-k&&this.ticks[c].isLast&&this.hiddenMarks.push(f.hide())}}}function v(){const a=this.tickPositions&&this.tickPositions.info,c=this.options,f=this.userOptions.labels||{};(c.grid||
{}).enabled&&(this.horiz?(this.series.forEach(a=>{a.options.pointRange=0}),a&&c.dateTimeLabelFormats&&c.labels&&!y(f.align)&&(!1===c.dateTimeLabelFormats[a.unitName].range||1<a.count)&&(c.labels.align="left",y(f.x)||(c.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function b(a){const d=this.options;a=a.userOptions;const g=d&&x.isObject(d.grid,!0)?d.grid:{};let b;!0===g.enabled&&(b=f(!0,{className:"highcharts-grid-axis "+(a.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:"0.9em"}},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]]},a),"xAxis"===this.coll&&(y(a.linkedTo)&&!y(a.tickPixelInterval)&&(b.tickPixelInterval=
350),y(a.tickPixelInterval)||!y(a.linkedTo)||y(a.tickPositioner)||y(a.tickInterval)||(b.tickPositioner=function(a,f){var d=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(d){var g=b.units||[];let k;var h=1;let l="year";for(let a=0;a<g.length;a++){const c=g[a];if(c&&c[0]===d.unitName){k=a;break}}(g=c(k)&&g[k+1])?(l=g[0]||"year",h=(h=g[1])&&h[0]||1):"year"===d.unitName&&(h=10*d.count);d=u[l];this.tickInterval=d*h;return this.chart.time.getTimeTicks({unitRange:d,
count:h,unitName:l},a,f,this.options.startOfWeek)}})),f(!0,this.options,b),this.horiz&&(d.minPadding=C(a.minPadding,0),d.maxPadding=C(a.maxPadding,0)),c(d.grid.borderWidth)&&(d.tickWidth=d.lineWidth=g.borderWidth))}function m(a){a=(a=a.userOptions)&&a.grid||{};const c=a.columns;a.enabled&&c&&f(!0,this.options,c[c.length-1])}function r(){(this.grid.columns||[]).forEach(a=>a.setScale())}function I(a){const {horiz:c,maxLabelDimensions:f,options:{grid:g={}}}=this;if(g.enabled&&f){var b=2*this.options.labels.distance;
b=c?g.cellHeight||b+f.height:b+f.width;d(a.tickSize)?a.tickSize[0]=b:a.tickSize=[b,0]}}function l(){this.axes.forEach(a=>{(a.grid&&a.grid.columns||[]).forEach(a=>{a.setAxisSize();a.setAxisTranslation()})})}function q(a){const {grid:c}=this;(c.columns||[]).forEach(c=>c.destroy(a.keepEvents));c.columns=void 0}function a(a){a=a.userOptions||{};const c=a.grid||{};c.enabled&&y(c.borderColor)&&(a.tickColor=a.lineColor=c.borderColor);this.grid||(this.grid=new Q(this));this.hiddenLabels=[];this.hiddenMarks=
[]}function h(a){var f=this.label;const d=this.axis;var g=d.reversed,b=d.chart,h=d.options.grid||{};const k=d.options.labels,l=k.align;var e=N[d.side],q=a.tickmarkOffset,u=d.tickPositions;const n=this.pos-q;u=c(u[a.index+1])?u[a.index+1]-q:(d.max||0)+q;var t=d.tickSize("tick");q=t?t[0]:0;t=t?t[1]/2:0;if(!0===h.enabled){let c;"top"===e?(h=d.top+d.offset,c=h-q):"bottom"===e?(c=b.chartHeight-d.bottom+d.offset,h=c+q):(h=d.top+d.len-(d.translate(g?u:n)||0),c=d.top+d.len-(d.translate(g?n:u)||0));"right"===
e?(e=b.chartWidth-d.right+d.offset,g=e+q):"left"===e?(g=d.left+d.offset,e=g-q):(e=Math.round(d.left+(d.translate(g?u:n)||0))-t,g=Math.min(Math.round(d.left+(d.translate(g?n:u)||0))-t,d.left+d.len));this.slotWidth=g-e;a.pos.x="left"===l?e:"right"===l?g:e+(g-e)/2;a.pos.y=c+(h-c)/2;f&&(b=b.renderer.fontMetrics(f),f=f.getBBox().height,a.pos.y=k.useHTML?a.pos.y+(b.b+-(f/2)):a.pos.y+((b.b-(b.h-b.f))/2+-((Math.round(f/b.h)-1)*b.h/2)));a.pos.x+=d.horiz&&k.x||0}}function B(a){const {axis:c,value:d}=a;if(c.options.grid&&
c.options.grid.enabled){var g=c.tickPositions;const b=(c.linkedParent||c).series[0],h=d===g[0];g=d===g[g.length-1];const l=b&&k(b.options.data,function(a){return a[c.isXAxis?"x":"y"]===d});let e;l&&b.is("gantt")&&(e=f(l),A.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(e));a.isFirst=h;a.isLast=g;a.point=e}}function M(){const a=this.options,c=this.categories,d=this.tickPositions,f=d[0],g=d[d.length-1],b=this.linkedParent&&this.linkedParent.min||this.min,h=this.linkedParent&&this.linkedParent.max||
this.max,k=this.tickInterval;!0!==(a.grid||{}).enabled||c||!this.horiz&&!this.isLinked||(f<b&&f+k>b&&!a.startOnTick&&(d[0]=b),g>h&&g-k<h&&!a.endOnTick&&(d[d.length-1]=h))}function G(a){const {options:{grid:c={}}}=this;return!0===c.enabled&&this.categories?this.tickInterval:a.apply(this,Array.prototype.slice.call(arguments,1))}const {dateFormats:n}=A,{addEvent:g,defined:y,erase:z,find:k,isArray:d,isNumber:c,merge:f,pick:C,timeUnits:u,wrap:P}=x;var N;(function(a){a[a.top=0]="top";a[a.right=1]="right";
a[a.bottom=2]="bottom";a[a.left=3]="left"})(N||(N={}));const O=[];class Q{constructor(a){this.axis=a}isOuterAxis(){const a=this.axis,d=a.grid.columnIndex,f=a.linkedParent&&a.linkedParent.grid.columns||a.grid.columns,g=d?a.linkedParent:a;let b=-1,h=0;(a.chart[a.coll]||[]).forEach((c,d)=>{c.side!==a.side||c.options.isInternal||(h=d,c===g&&(b=d))});return h===b&&(c(d)?f.length===d:!0)}renderBorder(a){const c=this.axis,d=c.chart.renderer,f=c.options;a=d.path(a).addClass("highcharts-axis-line").add(c.axisBorder);
d.styledMode||a.attr({stroke:f.lineColor,"stroke-width":f.lineWidth,zIndex:7});return a}}n.E=function(a){return this.dateFormat("%a",a,!0).charAt(0)};n.W=function(a){const c=this,d=new this.Date(a);["Hours","Milliseconds","Minutes","Seconds"].forEach(function(a){c.set(a,d,0)});var f=(this.get("Day",d)+6)%7;a=new this.Date(d.valueOf());this.set("Date",a,this.get("Date",d)-f+3);f=new this.Date(this.get("FullYear",a),0,1);4!==this.get("Day",f)&&(this.set("Month",d,0),this.set("Date",d,1+(11-this.get("Day",
f))%7));return(1+Math.floor((a.valueOf()-f.valueOf())/6048E5)).toString()};"";return{compose:function(c,d,f){x.pushUnique(O,c)&&(c.keepProps.push("grid"),c.prototype.getMaxLabelDimensions=F,P(c.prototype,"unsquish",G),g(c,"init",a),g(c,"afterGetOffset",E),g(c,"afterGetTitlePosition",D),g(c,"afterInit",p),g(c,"afterRender",w),g(c,"afterSetAxisTranslation",v),g(c,"afterSetOptions",b),g(c,"afterSetOptions",m),g(c,"afterSetScale",r),g(c,"afterTickSize",I),g(c,"trimTicks",M),g(c,"destroy",q));x.pushUnique(O,
d)&&g(d,"afterSetChartSize",l);x.pushUnique(O,f)&&(g(f,"afterGetLabelPosition",h),g(f,"labelFormat",B));return c}}});L(e,"Gantt/Tree.js",[e["Core/Utilities.js"]],function(e){const {extend:A,isNumber:x,pick:F}=e,E=function(e,w){const p=e.reduce(function(b,e){const m=F(e.parent,"");"undefined"===typeof b[m]&&(b[m]=[]);b[m].push(e);return b},{});Object.keys(p).forEach(function(b,e){const m=p[b];""!==b&&-1===w.indexOf(b)&&(m.forEach(function(b){e[""].push(b)}),delete e[b])});return p},D=function(e,w,
v,b,m,r){let p=0,l=0,q=r&&r.after;var a=r&&r.before;w={data:b,depth:v-1,id:e,level:v,parent:w};let h,B;"function"===typeof a&&a(w,r);a=(m[e]||[]).map(function(a){const b=D(a.id,e,v+1,a,m,r),q=a.start;a=!0===a.milestone?q:a.end;h=!x(h)||q<h?q:h;B=!x(B)||a>B?a:B;p=p+1+b.descendants;l=Math.max(b.height+1,l);return b});b&&(b.start=F(b.start,h),b.end=F(b.end,B));A(w,{children:a,descendants:p,height:l});"function"===typeof q&&q(w,r);return w};return{getListOfParents:E,getNode:D,getTree:function(e,w){const p=
e.map(function(b){return b.id});e=E(e,p);return D("",null,1,null,e,w)}}});L(e,"Core/Axis/TreeGrid/TreeGridTick.js",[e["Core/Utilities.js"]],function(e){function A(){this.treeGrid||(this.treeGrid=new r(this))}function x(b,l){b=b.treeGrid;const e=!b.labelIcon,a=l.renderer;var h=l.xy;const m=l.options,r=m.width||0,p=m.height||0;var n=h.x-r/2-(m.padding||0);h=h.y-p/2;const g=l.collapsed?90:180,y=l.show&&w(h);let z=b.labelIcon;z||(b.labelIcon=z=a.path(a.symbols[m.type](m.x||0,m.y||0,r,p)).addClass("highcharts-label-icon").add(l.group));
z[y?"show":"hide"]();a.styledMode||z.attr({cursor:"pointer",fill:v(l.color,"#666666"),"stroke-width":1,stroke:m.lineColor,strokeWidth:m.lineWidth||0});z[e?"attr":"animate"]({translateX:n,translateY:h,rotation:g})}function F(b,l,e,a,h,m,r,G,n){var g=v(this.options&&this.options.labels,m);m=this.pos;var q=this.axis;const B="treegrid"===q.options.type;b=b.apply(this,[l,e,a,h,g,r,G,n]);B&&(l=g&&p(g.symbol,!0)?g.symbol:{},g=g&&w(g.indentation)?g.indentation:0,m=(m=(q=q.treeGrid.mapOfPosToGridNode)&&q[m])&&
m.depth||1,b.x+=(l.width||0)+2*(l.padding||0)+(m-1)*g);return b}function E(b){const l=this;var e=l.pos,a=l.axis;const h=l.label;var m=a.treeGrid.mapOfPosToGridNode,r=a.options;const w=v(l.options&&l.options.labels,r&&r.labels);var n=w&&p(w.symbol,!0)?w.symbol:{};const g=(m=m&&m[e])&&m.depth;r="treegrid"===r.type;const y=-1<a.tickPositions.indexOf(e);e=a.chart.styledMode;r&&m&&h&&h.element&&h.addClass("highcharts-treegrid-node-level-"+g);b.apply(l,Array.prototype.slice.call(arguments,1));r&&h&&h.element&&
m&&m.descendants&&0<m.descendants&&(a=a.treeGrid.isCollapsed(m),x(l,{color:!e&&h.styles&&h.styles.color||"",collapsed:a,group:h.parentGroup,options:n,renderer:h.renderer,show:y,xy:h.xy}),n="highcharts-treegrid-node-"+(a?"expanded":"collapsed"),h.addClass("highcharts-treegrid-node-"+(a?"collapsed":"expanded")).removeClass(n),e||h.css({cursor:"pointer"}),[h,l.treeGrid.labelIcon].forEach(a=>{a&&!a.attachedTreeGridEvents&&(D(a.element,"mouseover",function(){h.addClass("highcharts-treegrid-node-active");
h.renderer.styledMode||h.css({textDecoration:"underline"})}),D(a.element,"mouseout",function(){{const a=p(w.style)?w.style:{};h.removeClass("highcharts-treegrid-node-active");h.renderer.styledMode||h.css({textDecoration:a.textDecoration})}}),D(a.element,"click",function(){l.treeGrid.toggleCollapse()}),a.attachedTreeGridEvents=!0)}))}const {addEvent:D,isObject:p,isNumber:w,pick:v,wrap:b}=e,m=[];class r{static compose(r){e.pushUnique(m,r)&&(D(r,"init",A),b(r.prototype,"getLabelPosition",F),b(r.prototype,
"renderLabel",E),r.prototype.collapse=function(b){this.treeGrid.collapse(b)},r.prototype.expand=function(b){this.treeGrid.expand(b)},r.prototype.toggleCollapse=function(b){this.treeGrid.toggleCollapse(b)})}constructor(b){this.tick=b}collapse(b){var e=this.tick;const m=e.axis,a=m.brokenAxis;a&&m.treeGrid.mapOfPosToGridNode&&(e=m.treeGrid.collapse(m.treeGrid.mapOfPosToGridNode[e.pos]),a.setBreaks(e,v(b,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(b){var e=this.tick;const m=e.axis,
a=m.brokenAxis;a&&m.treeGrid.mapOfPosToGridNode&&(e=m.treeGrid.expand(m.treeGrid.mapOfPosToGridNode[e.pos]),a.setBreaks(e,v(b,!0)))}toggleCollapse(b){var e=this.tick;const m=e.axis,a=m.brokenAxis;a&&m.treeGrid.mapOfPosToGridNode&&(e=m.treeGrid.toggleCollapse(m.treeGrid.mapOfPosToGridNode[e.pos]),a.setBreaks(e,v(b,!0)))}}return r});L(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(e,A){function x(b,e){var m=e.before;const p=e.idRoot,l=e.mapIdToNode[p],q=e.points[b.i],
a=q&&q.options||{},h=[];let B=0;b.levelDynamic=b.level-(!1!==e.levelIsConstant?0:l.level);b.name=v(q&&q.name,"");b.visible=p===b.id||!0===e.visible;"function"===typeof m&&(b=m(b,e));b.children.forEach((a,l)=>{const m=F({},e);F(m,{index:l,siblings:b.children.length,visible:b.visible});a=x(a,m);h.push(a);a.visible&&(B+=a.val)});m=v(a.value,B);b.visible=0<=m&&(0<B||b.visible);b.children=h;b.childrenTotal=B;b.isLeaf=b.visible&&!B;b.val=m;return b}const {extend:F,isArray:E,isNumber:D,isObject:p,merge:w,
pick:v}=A;return{getColor:function(b,m){const r=m.index;var p=m.mapOptionsToLevel;const l=m.parentColor,q=m.parentColorIndex,a=m.series;var h=m.colors;const B=m.siblings;var w=a.points,x=a.chart.options.chart;let n;var g;let y;if(b){w=w[b.i];b=p[b.level]||{};if(p=w&&b.colorByPoint){n=w.index%(h?h.length:x.colorCount);var z=h&&h[n]}if(!a.chart.styledMode){h=w&&w.options.color;x=b&&b.color;if(g=l)g=(g=b&&b.colorVariation)&&"brightness"===g.key&&r&&B?e.parse(l).brighten(r/B*g.to).get():l;g=v(h,x,z,g,
a.color)}y=v(w&&w.options.colorIndex,b&&b.colorIndex,n,q,m.colorIndex)}return{color:g,colorIndex:y}},getLevelOptions:function(b){let e={},r,x,l;if(p(b)){l=D(b.from)?b.from:1;var q=b.levels;x={};r=p(b.defaults)?b.defaults:{};E(q)&&(x=q.reduce((a,b)=>{let h,e;p(b)&&D(b.level)&&(e=w({},b),h=v(e.levelIsConstant,r.levelIsConstant),delete e.levelIsConstant,delete e.level,b=b.level+(h?0:l-1),p(a[b])?w(!0,a[b],e):a[b]=e);return a},{}));q=D(b.to)?b.to:1;for(b=0;b<=q;b++)e[b]=w({},r,p(x[b])?x[b]:{})}return e},
setTreeValues:x,updateRootId:function(b){if(p(b)){var e=p(b.options)?b.options:{};e=v(b.rootNode,e.rootId,"");p(b.userOptions)&&(b.userOptions.rootId=e);b.rootNode=e}return e}}});L(e,"Core/Axis/TreeGrid/TreeGridAxis.js",[e["Core/Axis/BrokenAxis.js"],e["Core/Axis/GridAxis.js"],e["Gantt/Tree.js"],e["Core/Axis/TreeGrid/TreeGridTick.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"]],function(e,A,x,H,E,D){function p(a,c){const d=a.collapseEnd||0;a=a.collapseStart||0;d>=c&&(a-=.5);return{from:a,
to:d,showPoints:!1}}function w(a,c,f){const d=[],b=[],g={},h="boolean"===typeof c?c:!1;let k={},e=-1;a=x.getTree(a,{after:function(a){a=k[a.pos];let c=0,d=0;a.children.forEach(function(a){d+=(a.descendants||0)+1;c=Math.max((a.height||0)+1,c)});a.descendants=d;a.height=c;a.collapsed&&b.push(a)},before:function(a){const c=B(a.data,!0)?a.data:{},f=M(c.name)?c.name:"";var b=g[a.parent];b=B(b,!0)?k[b.pos]:null;var l=function(a){return a.name===f};let m;h&&B(b,!0)&&(m=q(b.children,l))?(l=m.pos,m.nodes.push(a)):
l=e++;k[l]||(k[l]=m={depth:b?b.depth+1:0,name:f,id:c.id,nodes:[a],children:[],pos:l},-1!==l&&d.push(f),B(b,!0)&&b.children.push(m));M(a.id)&&(g[a.id]=a);m&&!0===c.collapsed&&(m.collapsed=!0);a.pos=l}});k=function(a,c){const d=function(a,f,b){let g=f+(-1===f?0:c-1);const h=(g-f)/2,k=f+h;a.nodes.forEach(function(a){const c=a.data;B(c,!0)&&(c.y=f+(c.seriesIndex||0),delete c.seriesIndex);a.pos=k});b[k]=a;a.pos=k;a.tickmarkOffset=h+.5;a.collapseStart=g+.5;a.children.forEach(function(a){d(a,g+1,b);g=(a.collapseEnd||
0)-.5});a.collapseEnd=g+.5;return b};return d(a["-1"],-1,{})}(k,f);return{categories:d,mapOfIdToNode:g,mapOfPosToGridNode:k,collapsedNodes:b,tree:a}}function v(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(c){var d=c.options||{};const b=d.labels,g=d.uniqueNames;d=d.max;let k=0,e;if(!c.treeGrid.mapOfPosToGridNode||c.series.some(function(a){return!a.hasRendered||a.isDirtyData||a.isDirty})){e=c.series.reduce(function(a,c){c.visible&&((c.options.data||[]).forEach(function(d){c.options.keys&&
c.options.keys.length&&(d=c.pointClass.prototype.optionsToObject.call({series:c},d),c.pointClass.setGanttPointAliases(d));B(d,!0)&&(d.seriesIndex=k,a.push(d))}),!0===g&&k++);return a},[]);if(d&&e.length<d)for(let a=e.length;a<=d;a++)e.push({name:a+"\u200b"});d=w(e,g||!1,!0===g?k:1);c.categories=d.categories;c.treeGrid.mapOfPosToGridNode=d.mapOfPosToGridNode;c.hasNames=!0;c.treeGrid.tree=d.tree;c.series.forEach(function(a){const c=(a.options.data||[]).map(function(c){h(c)&&a.options.keys&&a.options.keys.length&&
e.forEach(function(a){0<=c.indexOf(a.x)&&0<=c.indexOf(a.x2)&&(c=a)});return B(c,!0)?G(c):c});a.visible&&a.setData(c,!1)});c.treeGrid.mapOptionsToLevel=I({defaults:b,from:1,levels:b&&b.levels,to:c.treeGrid.tree&&c.treeGrid.tree.height});"beforeRender"===a.type&&(c.treeGrid.collapsedNodes=d.collapsedNodes)}})}function b(a,c){var d=this.treeGrid.mapOptionsToLevel||{};const b=this.ticks;let g=b[c],h,k;"treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode?(k=this.treeGrid.mapOfPosToGridNode[c],
(d=d[k.depth])&&(h={labels:d}),!g&&z?b[c]=new z(this,c,void 0,void 0,{category:k.name,tickmarkOffset:k.tickmarkOffset,options:h}):(g.parameters.category=k.name,g.options=h,g.addLabel())):a.apply(this,Array.prototype.slice.call(arguments,1))}function m(a,c,b,g){const d=this,f="treegrid"===b.type;d.treeGrid||(d.treeGrid=new k(d));f&&(l(c,"beforeRender",v),l(c,"beforeRedraw",v),l(c,"addSeries",function(a){a.options.data&&(a=w(a.options.data,b.uniqueNames||!1,1),d.treeGrid.collapsedNodes=(d.treeGrid.collapsedNodes||
[]).concat(a.collapsedNodes))}),l(d,"foundExtremes",function(){d.treeGrid.collapsedNodes&&d.treeGrid.collapsedNodes.forEach(function(a){const c=d.treeGrid.collapse(a);d.brokenAxis&&(d.brokenAxis.setBreaks(c,!1),d.treeGrid.collapsedNodes&&(d.treeGrid.collapsedNodes=d.treeGrid.collapsedNodes.filter(c=>a.collapseStart!==c.collapseStart||a.collapseEnd!==c.collapseEnd)))})}),l(d,"afterBreaks",function(){"yAxis"===d.coll&&!d.staticScale&&d.chart.options.chart.height&&(d.isDirty=!0)}),b=G({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},b,{reversed:!0,grid:{columns:void 0}}));a.apply(d,[c,b,g]);f&&(d.hasNames=!0,d.options.showLastLabel=!0)}function r(d){const c=this.options;"treegrid"===c.type?(this.min=n(this.userMin,c.min,this.dataMin),this.max=n(this.userMax,c.max,this.dataMax),a(this,"foundExtremes"),this.setAxisTranslation(),this.tickmarkOffset=.5,this.tickInterval=
1,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):d.apply(this,Array.prototype.slice.call(arguments,1))}const {getLevelOptions:I}=E,{addEvent:l,find:q,fireEvent:a,isArray:h,isObject:B,isString:M,merge:G,pick:n,wrap:g}=D,y=[];let z;class k{static compose(a,c,f,h){if(D.pushUnique(y,a)){-1===a.keepProps.indexOf("treeGrid")&&a.keepProps.push("treeGrid");const c=a.prototype;g(c,"generateTick",b);g(c,"init",m);g(c,"setTickInterval",r);c.utils={getNode:x.getNode}}D.pushUnique(y,
h)&&(z||(z=h));A.compose(a,c,h);e.compose(a,f);H.compose(h);return a}constructor(a){this.axis=a}setCollapsedStatus(a){const c=this.axis,d=c.chart;c.series.forEach(function(c){const b=c.options.data;if(a.id&&b){const f=d.get(a.id);c=b[c.data.indexOf(f)];f&&c&&(f.collapsed=a.collapsed,c.collapsed=a.collapsed)}})}collapse(a){const c=this.axis,d=c.options.breaks||[],b=p(a,c.max);d.push(b);a.collapsed=!0;c.treeGrid.setCollapsedStatus(a);return d}expand(a){const c=this.axis,d=c.options.breaks||[],b=p(a,
c.max);a.collapsed=!1;c.treeGrid.setCollapsedStatus(a);return d.reduce(function(a,c){c.to===b.to&&c.from===b.from||a.push(c);return a},[])}getTickPositions(){const a=this.axis,c=Math.floor(a.min/a.tickInterval)*a.tickInterval,b=Math.ceil(a.max/a.tickInterval)*a.tickInterval;return Object.keys(a.treeGrid.mapOfPosToGridNode||{}).reduce(function(d,f){f=+f;!(f>=c&&f<=b)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(f)||d.push(f);return d},[])}isCollapsed(a){const c=this.axis,d=c.options.breaks||[],b=p(a,c.max);
return d.some(function(a){return a.from===b.from&&a.to===b.to})}toggleCollapse(a){return this.isCollapsed(a)?this.expand(a):this.collapse(a)}}return k});L(e,"Extensions/StaticScale.js",[e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],e["Core/Utilities.js"]],function(e,A,x){const {addEvent:F,defined:E,isNumber:D,pick:p}=x;F(e,"afterSetOptions",function(){const e=this.chart.options.chart;!this.horiz&&D(this.options.staticScale)&&(!e.height||e.scrollablePlotArea&&e.scrollablePlotArea.minHeight)&&(this.staticScale=
this.options.staticScale)});A.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(e){let v=e.chart,b=!!v.initiatedScale&&v.options.animation;var m=e.options.staticScale;let r;e.staticScale&&E(e.min)&&(r=p(e.brokenAxis&&e.brokenAxis.unitLength,e.max+e.tickInterval-e.min)*m,r=Math.max(r,m),m=r-v.plotHeight,!v.scrollablePixelsY&&1<=Math.abs(m)&&(v.plotHeight=r,v.redrawTrigger="adjustHeight",v.setSize(void 0,v.chartHeight+m,b)),e.series.forEach(function(b){(b=
b.sharedClipKey&&v.sharedClips[b.sharedClipKey])&&b.attr(v.inverted?{width:v.plotHeight}:{height:v.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=null};F(A,"render",A.prototype.adjustHeight)});L(e,"Gantt/Connection.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(e,A,x,H){function F(b){var a=b.shapeArgs;return a?{xMin:a.x||0,xMax:(a.x||0)+(a.width||0),yMin:a.y||0,yMax:(a.y||0)+(a.height||0)}:(a=b.graphic&&b.graphic.getBBox())?
{xMin:b.plotX-a.width/2,xMax:b.plotX+a.width/2,yMin:b.plotY-a.height/2,yMax:b.plotY+a.height/2}:null}({defaultOptions:e}=e);const {defined:D,error:p,extend:w,merge:v,objectEach:b}=H;"";const m=A.deg2rad,r=Math.max,I=Math.min;w(e,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});class l{constructor(b,a,h){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=
this.chart=void 0;this.init(b,a,h)}init(b,a,h){this.fromPoint=b;this.toPoint=a;this.options=h;this.chart=b.series.chart;this.pathfinder=this.chart.pathfinder}renderPath(b,a,h){let e=this.chart,l=e.styledMode,m=e.pathfinder,n=!e.options.chart.forExport&&!1!==h,g=this.graphics&&this.graphics.path;m.group||(m.group=e.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(e.seriesGroup));m.group.translate(e.plotLeft,e.plotTop);g&&g.renderer||(g=e.renderer.path().add(m.group),l||g.attr({opacity:0}));
g.attr(a);b={d:b};l||(b.opacity=1);g[n?"animate":"attr"](b,h);this.graphics=this.graphics||{};this.graphics.path=g}addMarker(b,a,h){var e=this.fromPoint.series.chart;let l=e.pathfinder;e=e.renderer;let q="start"===b?this.fromPoint:this.toPoint;var n=q.getPathfinderAnchorPoint(a);let g,r;a.enabled&&((h="start"===b?h[1]:h[h.length-2])&&"M"===h[0]||"L"===h[0])&&(h={x:h[1],y:h[2]},h=q.getRadiansToVector(h,n),n=q.getMarkerVector(h,a.radius,n),h=-h/m,a.width&&a.height?(g=a.width,r=a.height):g=r=2*a.radius,
this.graphics=this.graphics||{},n={x:n.x-g/2,y:n.y-r/2,width:g,height:r,rotation:h,rotationOriginX:n.x,rotationOriginY:n.y},this.graphics[b]?this.graphics[b].animate(n):(this.graphics[b]=e.symbol(a.symbol).addClass("highcharts-point-connecting-path-"+b+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(n).add(l.group),e.styledMode||this.graphics[b].attr({fill:a.color||this.fromPoint.color,stroke:a.lineColor,"stroke-width":a.lineWidth,opacity:0}).animate({opacity:1},q.series.options.animation)))}getPath(b){let a=
this.pathfinder,h=this.chart,e=a.algorithms[b.type],l=a.chartObstacles;if("function"!==typeof e)return p('"'+b.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};e.requiresObstacles&&!l&&(l=a.chartObstacles=a.getChartObstacles(b),h.options.connectors.algorithmMargin=b.algorithmMargin,a.chartObstacleMetrics=a.getObstacleMetrics(l));return e(this.fromPoint.getPathfinderAnchorPoint(b.startMarker),this.toPoint.getPathfinderAnchorPoint(b.endMarker),v({chartObstacles:l,lineObstacles:a.lineObstacles||
[],obstacleMetrics:a.chartObstacleMetrics,hardBounds:{xMin:0,xMax:h.plotWidth,yMin:0,yMax:h.plotHeight},obstacleOptions:{margin:b.algorithmMargin},startDirectionX:a.getAlgorithmStartDirection(b.startMarker)},b))}render(){var b=this.fromPoint;let a=b.series;var h=a.chart;let e=h.pathfinder,l=v(h.options.connectors,a.options.connectors,b.options.connectors,this.options),m={};h.styledMode||(m.stroke=l.lineColor||b.color,m["stroke-width"]=l.lineWidth,l.dashStyle&&(m.dashstyle=l.dashStyle));m["class"]=
"highcharts-point-connecting-path highcharts-color-"+b.colorIndex;l=v(m,l);D(l.marker.radius)||(l.marker.radius=I(r(Math.ceil((l.algorithmMargin||8)/2)-1,1),5));b=this.getPath(l);h=b.path;b.obstacles&&(e.lineObstacles=e.lineObstacles||[],e.lineObstacles=e.lineObstacles.concat(b.obstacles));this.renderPath(h,m,a.options.animation);this.addMarker("start",v(l.marker,l.startMarker),h);this.addMarker("end",v(l.marker,l.endMarker),h)}destroy(){this.graphics&&(b(this.graphics,function(b){b.destroy()}),delete this.graphics)}}
A.Connection=l;w(x.prototype,{getPathfinderAnchorPoint:function(b){let a=F(this),h,e;switch(b.align){case "right":h="xMax";break;case "left":h="xMin"}switch(b.verticalAlign){case "top":e="yMin";break;case "bottom":e="yMax"}return{x:h?a[h]:(a.xMin+a.xMax)/2,y:e?a[e]:(a.yMin+a.yMax)/2}},getRadiansToVector:function(b,a){let h;D(a)||(h=F(this))&&(a={x:(h.xMin+h.xMax)/2,y:(h.yMin+h.yMax)/2});return Math.atan2(a.y-b.y,b.x-a.x)},getMarkerVector:function(b,a,h){var e=2*Math.PI,l=F(this),m=l.xMax-l.xMin;let n=
l.yMax-l.yMin,g=Math.atan2(n,m),r=!1;m/=2;let q=n/2,k=l.xMin+m;l=l.yMin+q;var d=k,c=l;let f=1,p=1;for(;b<-Math.PI;)b+=e;for(;b>Math.PI;)b-=e;e=Math.tan(b);b>-g&&b<=g?(p=-1,r=!0):b>g&&b<=Math.PI-g?p=-1:b>Math.PI-g||b<=-(Math.PI-g)?(f=-1,r=!0):f=-1;r?(d+=f*m,c+=p*m*e):(d+=n/(2*e)*f,c+=p*q);h.x!==k&&(d=h.x);h.y!==l&&(c=h.y);return{x:d+a*Math.cos(b),y:c-a*Math.sin(b)}}});return l});L(e,"Gantt/PathfinderAlgorithms.js",[e["Core/Utilities.js"]],function(e){function A(b,e,p){p=p||0;let l=b.length-1;e-=1e-7;
let m,a;for(;p<=l;)if(m=l+p>>1,a=e-b[m].xMin,0<a)p=m+1;else if(0>a)l=m-1;else return m;return 0<p?p-1:0}function x(b,e){let m=A(b,e.x+1)+1;for(;m--;){var l;if(l=b[m].xMax>=e.x)l=b[m],l=e.x<=l.xMax&&e.x>=l.xMin&&e.y<=l.yMax&&e.y>=l.yMin;if(l)return m}return-1}function F(b){const e=[];if(b.length){e.push(["M",b[0].start.x,b[0].start.y]);for(let m=0;m<b.length;++m)e.push(["L",b[m].end.x,b[m].end.y])}return e}function E(b,e){b.yMin=w(b.yMin,e.yMin);b.yMax=p(b.yMax,e.yMax);b.xMin=w(b.xMin,e.xMin);b.xMax=
p(b.xMax,e.xMax)}const {pick:D}=e,{min:p,max:w,abs:v}=Math;e=function(b,e,p){function l(a,b,e,h,d){a={x:a.x,y:a.y};a[b]=e[h||b]+(d||0);return a}function m(a,b,e){const g=v(b[e]-a[e+"Min"])>v(b[e]-a[e+"Max"]);return l(b,e,a,e+(g?"Max":"Min"),g?1:-1)}let a=[];var h=D(p.startDirectionX,v(e.x-b.x)>v(e.y-b.y))?"x":"y",r=p.chartObstacles;let w=x(r,b);p=x(r,e);let A;if(-1<p){var n=r[p];p=m(n,e,h);n={start:p,end:e};A=p}else A=e;-1<w&&(r=r[w],p=m(r,b,h),a.push({start:b,end:p}),p[h]>=b[h]===p[h]>=A[h]&&(h=
"y"===h?"x":"y",e=b[h]<e[h],a.push({start:p,end:l(p,h,r,h+(e?"Max":"Min"),e?1:-1)}),h="y"===h?"x":"y"));b=a.length?a[a.length-1].end:b;p=l(b,h,A);a.push({start:b,end:p});h=l(p,"y"===h?"x":"y",A);a.push({start:p,end:h});a.push(n);return{path:F(a),obstacles:a}};e.requiresObstacles=!0;const b=function(b,e,I){function l(a,c,b){let d,g,e,h,k,l=a.x<c.x?1:-1;a.x<c.x?(d=a,g=c):(d=c,g=a);a.y<c.y?(h=a,e=c):(h=c,e=a);for(k=0>l?p(A(f,g.x),f.length-1):0;f[k]&&(0<l&&f[k].xMin<=g.x||0>l&&f[k].xMax>=d.x);){if(f[k].xMin<=
g.x&&f[k].xMax>=d.x&&f[k].yMin<=e.y&&f[k].yMax>=h.y)return b?{y:a.y,x:a.x<c.x?f[k].xMin-1:f[k].xMax+1,obstacle:f[k]}:{x:a.x,y:a.y<c.y?f[k].yMin-1:f[k].yMax+1,obstacle:f[k]};k+=l}return c}function m(a,c,b,d,f){var g=f.soft,e=f.hard;let h=d?"x":"y",k={x:c.x,y:c.y},m={x:c.x,y:c.y};f=a[h+"Max"]>=g[h+"Max"];g=a[h+"Min"]<=g[h+"Min"];let n=a[h+"Max"]>=e[h+"Max"];e=a[h+"Min"]<=e[h+"Min"];let u=v(a[h+"Min"]-c[h]),p=v(a[h+"Max"]-c[h]);b=10>v(u-p)?c[h]<b[h]:p<u;m[h]=a[h+"Min"];k[h]=a[h+"Max"];a=l(c,m,d)[h]!==
m[h];c=l(c,k,d)[h]!==k[h];b=a?c?b:!0:c?!1:b;b=g?f?b:!0:f?!1:b;return e?n?b:!0:n?!1:b}function a(b,e,h){if(b.x===e.x&&b.y===e.y)return[];var n=h?"x":"y";let q,u,r,y=I.obstacleOptions.margin;var v={soft:{xMin:z,xMax:k,yMin:d,yMax:c},hard:I.hardBounds};q=x(f,b);-1<q?(q=f[q],v=m(q,b,e,h,v),E(q,I.hardBounds),r=h?{y:b.y,x:q[v?"xMax":"xMin"]+(v?1:-1)}:{x:b.x,y:q[v?"yMax":"yMin"]+(v?1:-1)},u=x(f,r),-1<u&&(u=f[u],E(u,I.hardBounds),r[n]=v?w(q[n+"Max"]-y+1,(u[n+"Min"]+q[n+"Max"])/2):p(q[n+"Min"]+y-1,(u[n+"Max"]+
q[n+"Min"])/2),b.x===r.x&&b.y===r.y?(g&&(r[n]=v?w(q[n+"Max"],u[n+"Max"])+1:p(q[n+"Min"],u[n+"Min"])-1),g=!g):g=!1),b=[{start:b,end:r}]):(n=l(b,{x:h?e.x:b.x,y:h?b.y:e.y},h),b=[{start:b,end:{x:n.x,y:n.y}}],n[h?"x":"y"]!==e[h?"x":"y"]&&(v=m(n.obstacle,n,e,!h,v),E(n.obstacle,I.hardBounds),v={x:h?n.x:n.obstacle[v?"xMax":"xMin"]+(v?1:-1),y:h?n.obstacle[v?"yMax":"yMin"]+(v?1:-1):n.y},h=!h,b=b.concat(a({x:n.x,y:n.y},v,h))));return b=b.concat(a(b[b.length-1].end,e,!h))}function h(a,c,b){const d=p(a.xMax-c.x,
c.x-a.xMin)<p(a.yMax-c.y,c.y-a.yMin);b=m(a,c,b,d,{soft:I.hardBounds,hard:I.hardBounds});return d?{y:c.y,x:a[b?"xMax":"xMin"]+(b?1:-1)}:{x:c.x,y:a[b?"yMax":"yMin"]+(b?1:-1)}}let r=D(I.startDirectionX,v(e.x-b.x)>v(e.y-b.y)),H=r?"x":"y";let G,n=[],g=!1;var y=I.obstacleMetrics;let z=p(b.x,e.x)-y.maxWidth-10,k=w(b.x,e.x)+y.maxWidth+10,d=p(b.y,e.y)-y.maxHeight-10,c=w(b.y,e.y)+y.maxHeight+10,f=I.chartObstacles;var C=A(f,z);y=A(f,k);f=f.slice(C,y+1);-1<(y=x(f,e))&&(G=h(f[y],e,b),n.push({end:e,start:G}),e=
G);for(;-1<(y=x(f,e));)C=0>e[H]-b[H],G={x:e.x,y:e.y},G[H]=f[y][C?H+"Max":H+"Min"]+(C?1:-1),n.push({end:e,start:G}),e=G;b=a(b,e,r);b=b.concat(n.reverse());return{path:F(b),obstacles:b}};b.requiresObstacles=!0;return{fastAvoid:b,straight:function(b,e){return{path:[["M",b.x,b.y],["L",e.x,e.y]],obstacles:[{start:b,end:e}]}},simpleConnect:e}});L(e,"Gantt/Pathfinder.js",[e["Gantt/Connection.js"],e["Core/Chart/Chart.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"],
e["Gantt/PathfinderAlgorithms.js"]],function(e,A,x,H,E,D,p){function w(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 v(b){let g=b.length,e=0,h,k,d=[],c=function(b,d,g){g=a(g,10);const f=b.yMax+g>d.yMin-g&&b.yMin-g<d.yMax+g,e=b.xMax+g>d.xMin-g&&b.xMin-g<d.xMax+g,h=f?b.xMin>d.xMax?b.xMin-d.xMax:
d.xMin-b.xMax:Infinity,k=e?b.yMin>d.yMax?b.yMin-d.yMax:d.yMin-b.yMax:Infinity;return e&&f?g?c(b,d,Math.floor(g/2)):Infinity:L(h,k)};for(;e<g;++e)for(h=e+1;h<g;++h)k=c(b[e],b[h]),80>k&&d.push(k);d.push(80);return B(Math.floor(d.sort(function(a,b){return a-b})[Math.floor(d.length/10)]/2-1),1)}function b(a){if(a.options.pathfinder||a.series.reduce(function(a,b){b.options&&q(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder);return a||b.options&&b.options.pathfinder},!1))q(!0,a.options.connectors=
a.options.connectors||{},a.options.pathfinder),F('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}({defaultOptions:x}=x);const {addEvent:m,defined:r,error:F,extend:l,merge:q,pick:a,splat:h}=D;"";const B=Math.max,L=Math.min;l(x,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});class G{constructor(a){this.lineObstacles=
this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(a)}init(a){this.chart=a;this.connections=[];m(a,"redraw",function(){this.pathfinder.update()})}update(a){const b=this.chart,l=this,m=l.connections;l.connections=[];b.series.forEach(function(a){a.visible&&!a.options.isInternal&&a.points.forEach(function(a){var c=a.options;c&&c.dependency&&(c.connect=c.dependency);let d;c=a.options&&a.options.connect&&h(a.options.connect);a.visible&&!1!==a.isInside&&
c&&c.forEach(function(c){d=b.get("string"===typeof c?c:c.to);d instanceof E&&d.series.visible&&d.visible&&!1!==d.isInside&&l.connections.push(new e(a,d,"string"===typeof c?{}:c))})})});for(let a=0,b,c,f=m.length,g=l.connections.length;a<f;++a){c=!1;const d=m[a];for(b=0;b<g;++b){const a=l.connections[b];if((d.options&&d.options.type)===(a.options&&a.options.type)&&d.fromPoint===a.fromPoint&&d.toPoint===a.toPoint){a.graphics=d.graphics;c=!0;break}}c||d.destroy()}delete this.chartObstacles;delete this.lineObstacles;
l.renderConnections(a)}renderConnections(a){a?this.chart.series.forEach(function(a){const b=function(){const b=a.chart.pathfinder;(b&&b.connections||[]).forEach(function(b){b.fromPoint&&b.fromPoint.series===a&&b.render()});a.pathfinderRemoveRenderEvent&&(a.pathfinderRemoveRenderEvent(),delete a.pathfinderRemoveRenderEvent)};!1===a.options.animation?b():a.pathfinderRemoveRenderEvent=m(a,"afterAnimate",b)}):this.connections.forEach(function(a){a.render()})}getChartObstacles(b){let g=[],e=this.chart.series,
h=a(b.algorithmMargin,0),k;for(let a=0,b=e.length;a<b;++a)if(e[a].visible&&!e[a].options.isInternal)for(let b=0,c=e[a].points.length,d,k;b<c;++b)k=e[a].points[b],k.visible&&(d=w(k))&&g.push({xMin:d.xMin-h,xMax:d.xMax+h,yMin:d.yMin-h,yMax:d.yMax+h});g=g.sort(function(a,b){return a.xMin-b.xMin});r(b.algorithmMargin)||(k=b.algorithmMargin=v(g),g.forEach(function(a){a.xMin-=k;a.xMax+=k;a.yMin-=k;a.yMax+=k}));return g}getObstacleMetrics(a){let b=0,e=0,h,k,d=a.length;for(;d--;)h=a[d].xMax-a[d].xMin,k=a[d].yMax-
a[d].yMin,b<h&&(b=h),e<k&&(e=k);return{maxHeight:e,maxWidth:b}}getAlgorithmStartDirection(a){let b="top"!==a.verticalAlign&&"bottom"!==a.verticalAlign;return"left"!==a.align&&"right"!==a.align?b?void 0:!1:b?!0:void 0}}G.prototype.algorithms=p;H.Pathfinder=G;l(E.prototype,{getPathfinderAnchorPoint:function(a){let b=w(this),e,h;switch(a.align){case "right":e="xMax";break;case "left":e="xMin"}switch(a.verticalAlign){case "top":h="yMin";break;case "bottom":h="yMax"}return{x:e?b[e]:(b.xMin+b.xMax)/2,y:h?
b[h]:(b.yMin+b.yMax)/2}},getRadiansToVector:function(a,b){let e;r(b)||(e=w(this))&&(b={x:(e.xMin+e.xMax)/2,y:(e.yMin+e.yMax)/2});return Math.atan2(b.y-a.y,a.x-b.x)},getMarkerVector:function(a,b,e){var g=2*Math.PI,h=w(this),d=h.xMax-h.xMin;let c=h.yMax-h.yMin,f=Math.atan2(c,d),l=!1;d/=2;let m=c/2,n=h.xMin+d;h=h.yMin+m;var q=n,p=h;let r=1,t=1;for(;a<-Math.PI;)a+=g;for(;a>Math.PI;)a-=g;g=Math.tan(a);a>-f&&a<=f?(t=-1,l=!0):a>f&&a<=Math.PI-f?t=-1:a>Math.PI-f||a<=-(Math.PI-f)?(r=-1,l=!0):r=-1;l?(q+=r*d,
p+=t*d*g):(q+=c/(2*g)*r,p+=t*m);e.x!==n&&(q=e.x);e.y!==h&&(p=e.y);return{x:q+b*Math.cos(a),y:p-b*Math.sin(a)}}});A.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(b(a),this.pathfinder=new G(this),this.pathfinder.update(!0))});return G});L(e,"Series/Gantt/GanttSeries.js",[e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],e["Series/Gantt/GanttPoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"],e["Core/Axis/TreeGrid/TreeGridAxis.js"]],function(e,
A,x,H,E,D,p){const {series:w,seriesTypes:{xrange:v}}=H,{extend:b,isNumber:m,merge:r}=D;p.compose(e,A,w,E);class F extends v{constructor(){super(...arguments);this.points=this.options=this.data=void 0}drawPoint(b,e){let a=this.options,h=this.chart.renderer;var l=b.shapeArgs;let q=b.plotY,p=b.graphic,n=b.selected&&"select",g=a.stacking&&!a.borderRadius;if(b.options.milestone)if(m(q)&&null!==b.y&&!1!==b.visible){l=h.symbols.diamond(l.x||0,l.y||0,l.width||0,l.height||0);if(p)p[e]({d:l});else b.graphic=
h.path(l).addClass(b.getClassName(),!0).add(b.group||this.group);this.chart.styledMode||b.graphic.attr(this.pointAttribs(b,n)).shadow(a.shadow,null,g)}else p&&(b.graphic=p.destroy());else v.prototype.drawPoint.call(this,b,e)}translatePoint(b){let e,a;v.prototype.translatePoint.call(this,b);b.options.milestone&&(e=b.shapeArgs,a=e.height||0,b.shapeArgs={x:(e.x||0)-a/2,y:e.y,width:a,height:a})}}F.defaultOptions=r(v.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'<span style="font-size: 0.8em">{series.name}</span><br/>',
pointFormat:null,pointFormatter:function(){var b=this.series,e=b.xAxis;let a=b.tooltipOptions.dateTimeLabelFormats,h=e.options.startOfWeek,p=b.tooltipOptions,r=p.xDateFormat,v=this.options.milestone,n="<b>"+(this.name||this.yCategory)+"</b>";if(p.pointFormat)return this.tooltipFormatter(p.pointFormat);!r&&m(this.start)&&(r=b.chart.time.getDateFormat(e.closestPointRange,this.start,h,a||{}));e=b.chart.time.dateFormat(r,this.start);b=b.chart.time.dateFormat(r,this.end);n+="<br/>";return v?n+(e+"<br/>"):
n+("Start: "+e+"<br/>End: ")+(b+"<br/>")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}});b(F.prototype,{pointArrayMap:["start","end","y"],pointClass:x,setData:w.prototype.setData});H.registerSeriesType("gantt",F);"";return F});L(e,"Core/Chart/GanttChart.js",[e["Core/Chart/Chart.js"],e["Core/Defaults.js"],e["Core/Utilities.js"]],function(e,A,x){const {getOptions:F}=A,
{isArray:E,merge:D,splat:p}=x;class w extends e{init(e,b){const m=F(),r=e.xAxis,v=e.yAxis;let l;e.xAxis=e.yAxis=void 0;const q=D(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},e,{isGantt:!0});e.xAxis=r;e.yAxis=v;q.xAxis=(E(e.xAxis)?e.xAxis:[e.xAxis||{},{}]).map(function(a,b){1===b&&(l=0);return D(m.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:l},a,{type:"datetime"})});q.yAxis=p(e.yAxis||{}).map(function(a){return D(m.yAxis,
{grid:{enabled:!0},staticScale:50,reversed:!0,type:a.categories?a.type:"treegrid"},a)});super.init(q,b)}}(function(e){e.ganttChart=function(b,m,p){return new e(b,m,p)}})(w||(w={}));return w});L(e,"Extensions/ArrowSymbols.js",[e["Core/Utilities.js"]],function(e){function A(e,w,v,b){return[["M",e,w+b/2],["L",e+v,w],["L",e,w+b/2],["L",e+v,w+b]]}function x(e,w,v,b){return A(e,w,v/2,b)}function F(e,w,v,b){return[["M",e+v,w],["L",e,w+b/2],["L",e+v,w+b],["Z"]]}function E(e,w,v,b){return F(e,w,v/2,b)}const D=
[];return{compose:function(p){e.pushUnique(D,p)&&(p=p.prototype.symbols,p.arrow=A,p["arrow-filled"]=F,p["arrow-filled-half"]=E,p["arrow-half"]=x,p["triangle-left"]=F,p["triangle-left-half"]=E)}}});L(e,"Extensions/CurrentDateIndication.js",[e["Core/Utilities.js"]],function(e){function A(){const b=this.options;var e=b.currentDateIndicator;e&&(e="object"===typeof e?D(v,e):D(v),e.value=Date.now(),e.className="highcharts-current-date-indicator",b.plotLines||(b.plotLines=[]),b.plotLines.push(e))}function x(){this.label&&
this.label.attr({text:this.getLabelText(this.options.label)})}function F(b,e){const m=this.options;return m&&m.className&&-1!==m.className.indexOf("highcharts-current-date-indicator")&&m.label&&"function"===typeof m.label.formatter?(m.value=Date.now(),m.label.formatter.call(this,m.value,m.label.format)):b.call(this,e)}const {addEvent:E,merge:D,wrap:p}=e,w=[],v={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(b,e){return this.axis.chart.time.dateFormat(e||"",b)},rotation:0,
style:{fontSize:"0.7em"}}};return{compose:function(b,m){e.pushUnique(w,b)&&E(b,"afterSetOptions",A);e.pushUnique(w,m)&&(E(m,"render",x),p(m.prototype,"getLabelText",F))}}});L(e,"masters/modules/gantt.src.js",[e["Core/Globals.js"],e["Stock/Navigator/Navigator.js"],e["Stock/Scrollbar/Scrollbar.js"],e["Stock/RangeSelector/RangeSelector.js"],e["Series/XRange/XRangeSeries.js"],e["Core/Chart/GanttChart.js"],e["Extensions/ArrowSymbols.js"],e["Extensions/CurrentDateIndication.js"]],function(e,A,x,H,E,D,p,
w){e.GanttChart=D;e.ganttChart=D.ganttChart;e.Navigator=A;e.RangeSelector=H;e.Scrollbar=x;p.compose(e.SVGRenderer);w.compose(e.Axis,e.PlotLineOrBand);A.compose(e.Axis,e.Chart,e.Series);H.compose(e.Axis,e.Chart);x.compose(e.Axis);E.compose(e.Axis)})});
//# sourceMappingURL=gantt.js.map