/* Highcharts Gantt JS v10.2.1 (2022-08-29) Gantt series (c) 2016-2021 Lars A. V. Cabrera License: www.highcharts.com/license */ (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(G){a(G);a.Highcharts=G;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function G(a,x,A,r){a.hasOwnProperty(x)||(a[x]=r.apply(null,A),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:x,module:a[x]}})))}a=a?a._modules:{};G(a,"Series/XRange/XRangeSeriesDefaults.js", [a["Core/Utilities.js"]],function(a){var x=a.correctFloat,E=a.isNumber,r=a.isObject;"";return{colorByPoint:!0,dataLabels:{formatter:function(){var a=this.point.partialFill;r(a)&&(a=a.amount);if(E(a)&&0{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}});G(a,"Series/XRange/XRangePoint.js", [a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,x){var E=this&&this.__extends||function(){var a=function(l,p){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,f){p.__proto__=f}||function(p,f){for(var q in f)f.hasOwnProperty(q)&&(p[q]=f[q])};return a(l,p)};return function(l,p){function y(){this.constructor=l}a(l,p);l.prototype=null===p?Object.create(p):(y.prototype=p.prototype,new y)}}(),r=a.series.prototype.pointClass.prototype;x=x.extend;a=function(a){function l(){var p= null!==a&&a.apply(this,arguments)||this;p.options=void 0;p.series=void 0;return p}E(l,a);l.getColorByCategory=function(p,a){var f=p.options.colors||p.chart.options.colors;p=a.y%(f?f.length:p.chart.options.chart.colorCount);return{colorIndex:p,color:f&&f[p]}};l.prototype.resolveColor=function(){var a=this.series;if(a.options.colorByPoint&&!this.options.color){var y=l.getColorByCategory(a,this);a.chart.styledMode||(this.color=y.color);this.options.colorIndex||(this.colorIndex=y.colorIndex)}else this.color|| (this.color=a.color)};l.prototype.init=function(){r.init.apply(this,arguments);this.y||(this.y=0);return this};l.prototype.setState=function(){r.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())};l.prototype.getLabelConfig=function(){var a=r.getLabelConfig.call(this),l=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=l&&l[this.y];return a};l.prototype.isValid=function(){return"number"===typeof this.x&&"number"===typeof this.x2};return l}(a.seriesTypes.column.prototype.pointClass); x(a.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});"";return a});G(a,"Series/XRange/XRangeSeries.js",[a["Core/Globals.js"],a["Core/Color/Color.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"],a["Series/XRange/XRangeSeriesDefaults.js"],a["Series/XRange/XRangePoint.js"]],function(a,x,A,r,Q,l){function p(){if(this.isXAxis){var b=P(this.dataMax,-Number.MAX_VALUE);for(var d=0,v=this.series;db){b=c;var H=!0}}}}H&&(this.dataMax=b)}}var y=this&&this.__extends||function(){var b=function(d,v){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,v){b.__proto__=v}||function(b,v){for(var d in v)v.hasOwnProperty(d)&&(b[d]=v[d])};return b(d,v)};return function(d,v){function n(){this.constructor=d}b(d,v);d.prototype=null===v?Object.create(v):(n.prototype=v.prototype,new n)}}();a=a.noop;var f=x.parse,q=A.series.prototype,c=A.seriesTypes.column,D=r.addEvent,B=r.clamp,I=r.defined; x=r.extend;var k=r.find,b=r.isNumber,d=r.isObject,g=r.merge,P=r.pick,K=[];r=function(t){function n(){var b=null!==t&&t.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}y(n,t);n.compose=function(b){-1===K.indexOf(b)&&(K.push(b),D(b,"afterGetSeriesExtremes",p))};n.prototype.init=function(){t.prototype.init.apply(this,arguments);this.options.stacking=void 0};n.prototype.getColumnMetrics=function(){var b=this,d=function(){for(var d=0,v=b.chart.series;d=v&&(t-=v);return t};n.prototype.translatePoint=function(v){var n=this.xAxis,t=this.yAxis,k=this.columnMetrics,c=this.options,F=c.minPointLength||0,m=(v.shapeArgs&&v.shapeArgs.width||0)/2,z=this.pointXOffset=k.offset,w=P(v.x2,v.x+(v.len||0)),e=v.plotX,h=n.translate(w,0,0,0,1);w=Math.abs(h-e);var u=this.chart.inverted,C=P(c.borderWidth,1)%2/2,L=k.offset,O=Math.round(k.width);F&&(F-=w,0>F&&(F=0),e-=F/2,h+=F/2);e=Math.max(e,-10);h=B(h,-10,n.len+10);I(v.options.pointWidth)&&(L-=(Math.ceil(v.options.pointWidth)- O)/2,O=Math.ceil(v.options.pointWidth));c.pointPlacement&&b(v.plotY)&&t.categories&&(v.plotY=t.translate(v.y,0,1,0,1,c.pointPlacement));c=Math.floor(Math.min(e,h))+C;c={x:c,y:Math.floor(v.plotY+L)+C,width:Math.floor(Math.max(e,h))+C-c,height:O,r:this.options.borderRadius};v.shapeArgs=c;u?v.tooltipPos[1]+=z+m:v.tooltipPos[0]-=m+z-c.width/2;m=c.x;z=m+c.width;0>m||z>n.len?(m=B(m,0,n.len),z=B(z,0,n.len),h=z-m,v.dlBox=g(c,{x:m,width:z-m,centerX:h?h/2:null})):v.dlBox=null;m=v.tooltipPos;z=u?1:0;h=u?0:1; k=this.columnMetrics?this.columnMetrics.offset:-k.width/2;m[z]=u?m[z]+c.width/2:m[z]+(n.reversed?-1:0)*c.width;m[h]=B(m[h]+(u?-1:1)*k,0,t.len-1);if(t=v.partialFill)d(t)&&(t=t.amount),b(t)||(t=0),v.partShapeArgs=g(c,{r:this.options.borderRadius}),e=Math.max(Math.round(w*t+v.plotX-e),0),v.clipRectArgs={x:n.reversed?c.x+w-e:c.x,y:c.y,width:e,height:c.height}};n.prototype.translate=function(){t.prototype.translate.apply(this,arguments);for(var b=0,d=this.points;be.to||c>e.from&&Fe.from&&Fe.from&&F>e.to&&Fk&&d>=this.basePointRange&&(k=d),f=void 0;g--;)f&&!1!==f.visible||(f=b[g+1]),d=b[g],!1!==f.visible&&!1!==d.visible&&(f.x-d.x>k&&(f=(d.x+f.x)/2,b.splice(g+1,0,{isNull:!0,x:f}),c.stacking&&this.options.stacking&&(f=c.stacking.stacks[this.stackKey][f]=new a(c,c.options.stackLabels,!1,f,this.stack),f.total=0)),f=d);return this.getGraphPath(b)}var P=[];f.compose=function(t, n){-1===P.indexOf(t)&&(P.push(t),t.keepProps.push("brokenAxis"),A(t,"init",I),A(t,"afterInit",c),A(t,"afterSetTickPositions",B),A(t,"afterSetOptions",q));if(-1===P.indexOf(n)){P.push(n);var v=n.prototype;v.drawBreaks=d;v.gappedPath=g;A(n,"afterGeneratePoints",k);A(n,"afterRender",b)}return t};var K=function(){function b(b){this.hasBreaks=!1;this.axis=b}b.isInBreak=function(b,d){var k=b.repeat||Infinity,g=b.from,c=b.to-b.from;d=d>=g?(d-g)%k:k-(g-d)%k;return b.inclusive?d<=c:d=d)break;else c.to=d)break;else if(b.isInBreak(n,d)){g-=d-n.from;break}}return g};b.prototype.findBreakAt=function(b,d){return r(d,function(d){return d.fromh;)O-=e;for(;Oe?this.hiddenLabels.push(c.hide()):c.show());(c=this.ticks[b].label)&&(b-m>e?this.hiddenLabels.push(c.hide()):c.show());(d=this.ticks[b].mark)&&b-mu&&!e.startOnTick&&(b[0]=u),m>c&&m-wg?b:g;B=B+1+k.descendants;I=Math.max(k.height+1,I);return k});q&&(q.start=r(q.start,d),q.end=r(q.end,g));x(y,{children:b,descendants:B,height:I});"function"===typeof k&&k(y,D);return y};return{getListOfParents:E,getNode:l,getTree:function(a,y){var f=a.map(function(f){return f.id});a=E(a,f);return l("",null,1,null,a,y)}}});G(a,"Core/Axis/TreeGrid/TreeGridTick.js", [a["Core/Utilities.js"]],function(a){function x(){this.treeGrid||(this.treeGrid=new D(this))}function A(c,a){c=c.treeGrid;var k=!c.labelIcon,b=a.renderer,d=a.xy,g=a.options,I=g.width||0,B=g.height||0,t=d.x-I/2-(g.padding||0);d=d.y-B/2;var n=a.collapsed?90:180,v=a.show&&y(d),q=c.labelIcon;q||(c.labelIcon=q=b.path(b.symbols[g.type](g.x||0,g.y||0,I,B)).addClass("highcharts-label-icon").add(a.group));q[v?"show":"hide"]();b.styledMode||q.attr({cursor:"pointer",fill:f(a.color,"#666666"),"stroke-width":1, stroke:g.lineColor,strokeWidth:g.lineWidth||0});q[k?"attr":"animate"]({translateX:t,translateY:d,rotation:n})}function r(c,a,k,b,d,g,q,D,t){var n=f(this.options&&this.options.labels,g);g=this.pos;var v=this.axis,I="treegrid"===v.options.type;c=c.apply(this,[a,k,b,d,n,q,D,t]);I&&(a=n&&p(n.symbol,!0)?n.symbol:{},n=n&&y(n.indentation)?n.indentation:0,g=(g=(v=v.treeGrid.mapOfPosToGridNode)&&v[g])&&g.depth||1,c.x+=(a.width||0)+2*(a.padding||0)+(g-1)*n);return c}function E(c){var a=this,k=a.pos,b=a.axis, d=a.label,g=b.treeGrid.mapOfPosToGridNode,q=b.options,B=f(a.options&&a.options.labels,q&&q.labels),t=B&&p(B.symbol,!0)?B.symbol:{},n=(g=g&&g[k])&&g.depth;q="treegrid"===q.type;var v=-1=d&&(b-=.5);return{from:b,to:c,showPoints:!1}}function y(b,d,c){var m=[],a=[],w={},e="boolean"===typeof d?d:!1,h={},u=-1;b=A.getTree(b,{after:function(e){e= h[e.pos];var b=0,d=0;e.children.forEach(function(e){d+=(e.descendants||0)+1;b=Math.max((e.height||0)+1,b)});e.descendants=d;e.height=b;e.collapsed&&a.push(e)},before:function(b){var d=g(b.data,!0)?b.data:{},c=P(d.name)?d.name:"",a=w[b.parent];a=g(a,!0)?h[a.pos]:null;var z=function(e){return e.name===c},C;e&&g(a,!0)&&(C=k(a.children,z))?(z=C.pos,C.nodes.push(b)):z=u++;h[z]||(h[z]=C={depth:a?a.depth+1:0,name:c,id:d.id,nodes:[b],children:[],pos:z},-1!==z&&m.push(c),g(a,!0)&&a.children.push(C));P(b.id)&& (w[b.id]=b);C&&!0===d.collapsed&&(C.collapsed=!0);b.pos=z}});h=function(e,b){var h=function(e,d,c){var m=d+(-1===d?0:b-1),u=(m-d)/2,w=d+u;e.nodes.forEach(function(e){var b=e.data;g(b,!0)&&(b.y=d+(b.seriesIndex||0),delete b.seriesIndex);e.pos=w});c[w]=e;e.pos=w;e.tickmarkOffset=u+.5;e.collapseStart=m+.5;e.children.forEach(function(e){h(e,m+1,c);m=(e.collapseEnd||0)-.5});e.collapseEnd=m+.5;return c};return h(e["-1"],-1,{})}(h,c);return{categories:m,mapOfIdToNode:w,mapOfPosToGridNode:h,collapsedNodes:a, tree:b}}function f(b){b.target.axes.filter(function(b){return"treegrid"===b.options.type}).forEach(function(c){var a=c.options||{},m=a.labels,z=a.uniqueNames;a=a.max;var w=0;if(!c.treeGrid.mapOfPosToGridNode||c.series.some(function(e){return!e.hasRendered||e.isDirtyData||e.isDirty})){var e=c.series.reduce(function(e,b){b.visible&&((b.options.data||[]).forEach(function(h){b.options.keys&&b.options.keys.length&&(h=b.pointClass.prototype.optionsToObject.call({series:b},h),b.pointClass.setGanttPointAliases(h)); g(h,!0)&&(h.seriesIndex=w,e.push(h))}),!0===z&&w++);return e},[]);if(a&&e.length=d&&a<=c)||b.brokenAxis&&b.brokenAxis.isInAnyBreak(a)||m.push(a);return m},[])};b.prototype.isCollapsed=function(b){var d=this.axis,c=d.options.breaks||[],a=p(b,d.max);return c.some(function(b){return b.from=== a.from&&b.to===a.to})};b.prototype.toggleCollapse=function(b){return this.isCollapsed(b)?this.expand(b):this.collapse(b)};return b}();return E});G(a,"Extensions/CurrentDateIndication.js",[a["Core/Axis/Axis.js"],a["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],a["Core/Utilities.js"]],function(a,x,A){var r=A.addEvent,E=A.merge;A=A.wrap;var l={color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(a,l){return this.axis.chart.time.dateFormat(l||"",a)},rotation:0,style:{fontSize:"10px"}}}; r(a,"afterSetOptions",function(){var a=this.options,y=a.currentDateIndicator;y&&(y="object"===typeof y?E(l,y):E(l),y.value=Date.now(),y.className="highcharts-current-date-indicator",a.plotLines||(a.plotLines=[]),a.plotLines.push(y))});r(x,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})});A(x.prototype,"getLabelText",function(a,l){var f=this.options;return f&&f.className&&-1!==f.className.indexOf("highcharts-current-date-indicator")&&f.label&&"function"=== typeof f.label.formatter?(f.value=Date.now(),f.label.formatter.call(this,f.value,f.label.format)):a.call(this,l)})});G(a,"Extensions/StaticScale.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Utilities.js"]],function(a,x,A){var r=A.addEvent,E=A.defined,l=A.isNumber,p=A.pick;r(a,"afterSetOptions",function(){var a=this.chart.options.chart;!this.horiz&&l(this.options.staticScale)&&(!a.height||a.scrollablePlotArea&&a.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)}); x.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(a){var f=a.chart,l=!!f.initiatedScale&&f.options.animation,c=a.options.staticScale;if(a.staticScale&&E(a.min)){var D=p(a.brokenAxis&&a.brokenAxis.unitLength,a.max+a.tickInterval-a.min)*c;D=Math.max(D,c);c=D-f.plotHeight;!f.scrollablePixelsY&&1<=Math.abs(c)&&(f.plotHeight=D,f.redrawTrigger="adjustHeight",f.setSize(void 0,f.chartHeight+c,l));a.series.forEach(function(c){(c=c.sharedClipKey&&f.sharedClips[c.sharedClipKey])&& c.attr(f.inverted?{width:f.plotHeight}:{height:f.plotHeight})})}}),this.initiatedScale=!0);this.redrawTrigger=null};r(x,"render",x.prototype.adjustHeight)});G(a,"Extensions/ArrowSymbols.js",[a["Core/Renderer/SVG/SVGRenderer.js"]],function(a){function x(a,l,p,r){return[["M",a,l+r/2],["L",a+p,l],["L",a,l+r/2],["L",a+p,l+r]]}function A(a,l,p,r){return[["M",a+p,l],["L",a,l+r/2],["L",a+p,l+r],["Z"]]}function r(a,l,p,r){return A(a,l,p/2,r)}a=a.prototype.symbols;a.arrow=x;a["arrow-filled"]=A;a["arrow-filled-half"]= r;a["arrow-half"]=function(a,l,p,r){return x(a,l,p/2,r)};a["triangle-left"]=A;a["triangle-left-half"]=r;return a});G(a,"Gantt/Connection.js",[a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,x,A,r){function E(c){var a=c.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=c.graphic&&c.graphic.getBBox())?{xMin:c.plotX-a.width/2,xMax:c.plotX+a.width/2,yMin:c.plotY-a.height/2,yMax:c.plotY+a.height/ 2}:null}"";var l=r.defined,p=r.error,y=r.extend,f=r.merge,q=r.objectEach,c=a.deg2rad,D=Math.max,B=Math.min;y(x.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});x=function(){function a(c,b,d){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0;this.init(c,b,d)}a.prototype.init=function(c,b,d){this.fromPoint=c;this.toPoint= b;this.options=d;this.chart=c.series.chart;this.pathfinder=this.chart.pathfinder};a.prototype.renderPath=function(c,b,d){var a=this.chart,k=a.styledMode,f=a.pathfinder,t=!a.options.chart.forExport&&!1!==d,n=this.graphics&&this.graphics.path;f.group||(f.group=a.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(a.seriesGroup));f.group.translate(a.plotLeft,a.plotTop);n&&n.renderer||(n=a.renderer.path().add(f.group),k||n.attr({opacity:0}));n.attr(b);c={d:c};k||(c.opacity=1);n[t? "animate":"attr"](c,d);this.graphics=this.graphics||{};this.graphics.path=n};a.prototype.addMarker=function(a,b,d){var g=this.fromPoint.series.chart,k=g.pathfinder;g=g.renderer;var f="start"===a?this.fromPoint:this.toPoint,t=f.getPathfinderAnchorPoint(b);if(b.enabled&&((d="start"===a?d[1]:d[d.length-2])&&"M"===d[0]||"L"===d[0])){d={x:d[1],y:d[2]};d=f.getRadiansToVector(d,t);t=f.getMarkerVector(d,b.radius,t);d=-d/c;if(b.width&&b.height){var n=b.width;var v=b.height}else n=v=2*b.radius;this.graphics= this.graphics||{};t={x:t.x-n/2,y:t.y-v/2,width:n,height:v,rotation:d,rotationOriginX:t.x,rotationOriginY:t.y};this.graphics[a]?this.graphics[a].animate(t):(this.graphics[a]=g.symbol(b.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker").attr(t).add(k.group),g.styledMode||this.graphics[a].attr({fill:b.color||this.fromPoint.color,stroke:b.lineColor,"stroke-width":b.lineWidth,opacity:0}).animate({opacity:1},f.series.options.animation))}};a.prototype.getPath=function(a){var b=this.pathfinder, d=this.chart,c=b.algorithms[a.type],k=b.chartObstacles;if("function"!==typeof c)return p('"'+a.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};c.requiresObstacles&&!k&&(k=b.chartObstacles=b.getChartObstacles(a),d.options.connectors.algorithmMargin=a.algorithmMargin,b.chartObstacleMetrics=b.getObstacleMetrics(k));return c(this.fromPoint.getPathfinderAnchorPoint(a.startMarker),this.toPoint.getPathfinderAnchorPoint(a.endMarker),f({chartObstacles:k,lineObstacles:b.lineObstacles||[],obstacleMetrics:b.chartObstacleMetrics, hardBounds:{xMin:0,xMax:d.plotWidth,yMin:0,yMax:d.plotHeight},obstacleOptions:{margin:a.algorithmMargin},startDirectionX:b.getAlgorithmStartDirection(a.startMarker)},a))};a.prototype.render=function(){var a=this.fromPoint,b=a.series,d=b.chart,c=d.pathfinder,q=f(d.options.connectors,b.options.connectors,a.options.connectors,this.options),p={};d.styledMode||(p.stroke=q.lineColor||a.color,p["stroke-width"]=q.lineWidth,q.dashStyle&&(p.dashstyle=q.dashStyle));p["class"]="highcharts-point-connecting-path highcharts-color-"+ a.colorIndex;q=f(p,q);l(q.marker.radius)||(q.marker.radius=B(D(Math.ceil((q.algorithmMargin||8)/2)-1,1),5));a=this.getPath(q);d=a.path;a.obstacles&&(c.lineObstacles=c.lineObstacles||[],c.lineObstacles=c.lineObstacles.concat(a.obstacles));this.renderPath(d,p,b.options.animation);this.addMarker("start",f(q.marker,q.startMarker),d);this.addMarker("end",f(q.marker,q.endMarker),d)};a.prototype.destroy=function(){this.graphics&&(q(this.graphics,function(a){a.destroy()}),delete this.graphics)};return a}(); a.Connection=x;y(A.prototype,{getPathfinderAnchorPoint:function(a){var c=E(this);switch(a.align){case "right":var b="xMax";break;case "left":b="xMin"}switch(a.verticalAlign){case "top":var d="yMin";break;case "bottom":d="yMax"}return{x:b?c[b]:(c.xMin+c.xMax)/2,y:d?c[d]:(c.yMin+c.yMax)/2}},getRadiansToVector:function(a,c){var b;l(c)||(b=E(this))&&(c={x:(b.xMin+b.xMax)/2,y:(b.yMin+b.yMax)/2});return Math.atan2(c.y-a.y,a.x-c.x)},getMarkerVector:function(a,c,b){var d=2*Math.PI,g=E(this),f=g.xMax-g.xMin, k=g.yMax-g.yMin,t=Math.atan2(k,f),n=!1;f/=2;var v=k/2,l=g.xMin+f;g=g.yMin+v;for(var q=l,B=g,D=1,F=1;a<-Math.PI;)a+=d;for(;a>Math.PI;)a-=d;d=Math.tan(a);a>-t&&a<=t?(F=-1,n=!0):a>t&&a<=Math.PI-t?F=-1:a>Math.PI-t||a<=-(Math.PI-t)?(D=-1,n=!0):D=-1;n?(q+=D*f,B+=F*f*d):(q+=k/(2*d)*D,B+=F*v);b.x!==l&&(q=b.x);b.y!==g&&(B=b.y);return{x:q+c*Math.cos(a),y:B-c*Math.sin(a)}}});return x});G(a,"Gantt/PathfinderAlgorithms.js",[a["Core/Utilities.js"]],function(a){function x(a,f,l){l=l||0;var c=a.length-1;f-=1e-7; for(var k,b;l<=c;)if(k=c+l>>1,b=f-a[k].xMin,0b)c=k-1;else return k;return 0=f.x)l=a[c],l=f.x<=l.xMax&&f.x>=l.xMin&&f.y<=l.yMax&&f.y>=l.yMin;if(l)return c}return-1}function r(a){var c=[];if(a.length){c.push(["M",a[0].start.x,a[0].start.y]);for(var f=0;ff(a[d]-b[d+"Max"]);return c(a,d,b,d+(g?"Max":"Min"),g?1:-1)}var b=[],d=l(p.startDirectionX,f(q.x-a.x)>f(q.y-a.y))?"x":"y",g=p.chartObstacles,D=A(g,a);p=A(g,q);if(-1=a[d]===p[d]>=t[d]&&(d="y"===d?"x":"y",q= a[d]d?p(x(H,m.x),H.length-1):0;H[h]&&(0d&&H[h].xMax>=c.x);){if(H[h].xMin<= m.x&&H[h].xMax>=c.x&&H[h].yMin<=g.y&&H[h].yMax>=w.y)return e?{y:b.y,x:b.x=m[w+"Max"];m=b[w+"Min"]<=m[w+"Min"];var n=b[w+"Max"]>=u[w+"Max"];u=b[w+"Min"]<=u[w+"Min"];var k=f(b[w+"Min"]-a[w]),t=f(b[w+"Max"]-a[w]);e=10>f(k-t)?a[w]f(q.y-a.y)),D=g?"x":"y",K=[],t=!1,n=B.obstacleMetrics,v=p(a.x,q.x)-n.maxWidth-10,J=y(a.x,q.x)+n.maxWidth+10,N=p(a.y,q.y)-n.maxHeight-10,M=y(a.y,q.y)+n.maxHeight+10,H=B.chartObstacles;var F=x(H,v);n=x(H,J);H=H.slice(F,n+1);if(-1<(n=A(H,q))){var m=d(H[n],q,a);K.push({end:q,start:m});q=m}for(;-1< (n=A(H,q));)F=0>q[D]-a[D],m={x:q.x,y:q.y},m[D]=H[n][F?D+"Max":D+"Min"]+(F?1:-1),K.push({end:q,start:m}),q=m;a=b(a,q,g);a=a.concat(K.reverse());return{path:r(a),obstacles:a}};q.requiresObstacles=!0;return{fastAvoid:q,straight:function(a,f){return{path:[["M",a.x,a.y],["L",f.x,f.y]],obstacles:[{start:a,end:f}]}},simpleConnect:a}});G(a,"Gantt/Pathfinder.js",[a["Gantt/Connection.js"],a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"], a["Gantt/PathfinderAlgorithms.js"]],function(a,x,A,r,Q,l,p){function y(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}function f(a){for(var d=a.length,c=0,f,k,t=[],q=function(a,d,c){c=b(c,10);var m=a.yMax+c>d.yMin-c&&a.yMin-cd.xMin-c&&a.xMin-cd.xMax?a.xMin-d.xMax: d.xMin-a.xMax:Infinity,u=e?a.yMin>d.yMax?a.yMin-d.yMax:d.yMin-a.yMax:Infinity;return e&&m?c?q(a,d,Math.floor(c/2)):Infinity:E(h,u)};ck&&t.push(k);t.push(80);return g(Math.floor(t.sort(function(b,a){return b-a})[Math.floor(t.length/10)]/2-1),1)}function q(b){if(b.options.pathfinder||b.series.reduce(function(b,a){a.options&&k(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder);return b||a.options&&a.options.pathfinder},!1))k(!0,b.options.connectors= b.options.connectors||{},b.options.pathfinder),B('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var c=l.addEvent,D=l.defined,B=l.error,I=l.extend,k=l.merge,b=l.pick,d=l.splat,g=Math.max,E=Math.min;I(r.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});var K=function(){function g(b){this.lineObstacles= this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(b)}g.prototype.init=function(b){this.chart=b;this.connections=[];c(b,"redraw",function(){this.pathfinder.update()})};g.prototype.update=function(b){var c=this.chart,g=this,f=g.connections;g.connections=[];c.series.forEach(function(b){b.visible&&!b.options.isInternal&&b.points.forEach(function(e){var b=e.options;b&&b.dependency&&(b.connect=b.dependency);var m;b=e.options&&e.options.connect&&d(e.options.connect); e.visible&&!1!==e.isInside&&b&&b.forEach(function(b){m=c.get("string"===typeof b?b:b.to);m instanceof Q&&m.series.visible&&m.visible&&!1!==m.isInside&&g.connections.push(new a(e,m,"string"===typeof b?{}:b))})})});for(var k=0,n=void 0,t=void 0,m=f.length,z=g.connections.length;kMath.PI;)b-=c;c= Math.tan(b);b>-n&&b<=n?(C=-1,m=!0):b>n&&b<=Math.PI-n?C=-1:b>Math.PI-n||b<=-(Math.PI-n)?(u=-1,m=!0):u=-1;m?(e+=u*f,h+=C*f*c):(e+=k/(2*c)*u,h+=C*z);d.x!==w&&(e=d.x);d.y!==g&&(h=d.y);return{x:e+a*Math.cos(b),y:h-a*Math.sin(b)}}});x.prototype.callbacks.push(function(b){!1!==b.options.connectors.enabled&&(q(b),this.pathfinder=new K(this),this.pathfinder.update(!0))});return K});G(a,"Series/Gantt/GanttSeries.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Series/Gantt/GanttPoint.js"],a["Core/Series/SeriesRegistry.js"], a["Core/Axis/Tick.js"],a["Core/Utilities.js"],a["Core/Axis/TreeGrid/TreeGridAxis.js"]],function(a,x,A,r,Q,l,p){var y=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var d in a)a.hasOwnProperty(d)&&(b[d]=a[d])};return a(c,b)};return function(c,b){function d(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)}}(),f=r.series,q=r.seriesTypes.xrange, c=l.extend,D=l.isNumber,B=l.merge;p.compose(a,x,f,Q);a=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}y(c,a);c.prototype.drawPoint=function(b,a){var d=this.options,c=this.chart.renderer,f=b.shapeArgs,k=b.plotY,n=b.graphic,l=b.selected&&"select",p=d.stacking&&!d.borderRadius;if(b.options.milestone)if(D(k)&&null!==b.y&&!1!==b.visible){f=c.symbols.diamond(f.x||0,f.y||0,f.width||0,f.height||0);if(n)n[a]({d:f});else b.graphic= c.path(f).addClass(b.getClassName(),!0).add(b.group||this.group);this.chart.styledMode||b.graphic.attr(this.pointAttribs(b,l)).shadow(d.shadow,null,p)}else n&&(b.graphic=n.destroy());else q.prototype.drawPoint.call(this,b,a)};c.prototype.translatePoint=function(b){q.prototype.translatePoint.call(this,b);if(b.options.milestone){var a=b.shapeArgs;var c=a.height||0;b.shapeArgs={x:(a.x||0)-c/2,y:a.y,width:c,height:c}}};c.defaultOptions=B(q.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
', pointFormat:null,pointFormatter:function(){var b=this.series,a=b.xAxis,c=b.tooltipOptions.dateTimeLabelFormats,f=a.options.startOfWeek,k=b.tooltipOptions,q=k.xDateFormat,n=this.options.milestone,l=""+(this.name||this.yCategory)+"";if(k.pointFormat)return this.tooltipFormatter(k.pointFormat);!q&&D(this.start)&&(q=b.chart.time.getDateFormat(a.closestPointRange,this.start,f,c||{}));a=b.chart.time.dateFormat(q,this.start);b=b.chart.time.dateFormat(q,this.end);l+="
";return n?l+(a+"
"): l+("Start: "+a+"
End: ")+(b+"
")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}});return c}(q);c(a.prototype,{pointArrayMap:["start","end","y"],pointClass:A,setData:f.prototype.setData});r.registerSeriesType("gantt",a);"";return a});G(a,"Core/Chart/GanttChart.js",[a["Core/Chart/Chart.js"],a["Core/DefaultOptions.js"],a["Core/Utilities.js"]],function(a,x,A){var r= this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var f in c)c.hasOwnProperty(f)&&(a[f]=c[f])};return a(f,c)};return function(f,c){function q(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(q.prototype=c.prototype,new q)}}(),E=x.getOptions,l=A.isArray,p=A.merge,y=A.splat;a=function(a){function f(){return null!==a&&a.apply(this,arguments)||this}r(f,a);f.prototype.init=function(c, f){var q=E(),r=c.xAxis,k=c.yAxis,b;c.xAxis=c.yAxis=void 0;var d=p(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},c,{isGantt:!0});c.xAxis=r;c.yAxis=k;d.xAxis=(l(c.xAxis)?c.xAxis:[c.xAxis||{},{}]).map(function(a,d){1===d&&(b=0);return p(q.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:b},a,{type:"datetime"})});d.yAxis=y(c.yAxis||{}).map(function(b){return p(q.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:b.categories? b.type:"treegrid"},b)});a.prototype.init.call(this,d,f)};return f}(a);(function(a){a.ganttChart=function(f,c,l){return new a(f,c,l)}})(a||(a={}));return a});G(a,"Core/Axis/ScrollbarAxis.js",[a["Core/Utilities.js"]],function(a){var x=a.addEvent,A=a.defined,r=a.pick;return function(){function a(){}a.compose=function(l,p){if(-1===a.composed.indexOf(l))a.composed.push(l);else return l;var y=function(a){var f=r(a.options&&a.options.min,a.min),c=r(a.options&&a.options.max,a.max);return{axisMin:f,axisMax:c, scrollMin:A(a.dataMin)?Math.min(f,a.min,a.dataMin,r(a.threshold,Infinity)):f,scrollMax:A(a.dataMax)?Math.max(c,a.max,a.dataMax,r(a.threshold,-Infinity)):c}};x(l,"afterInit",function(){var a=this;a.options&&a.options.scrollbar&&a.options.scrollbar.enabled&&(a.options.scrollbar.vertical=!a.horiz,a.options.startOnTick=a.options.endOnTick=!1,a.scrollbar=new p(a.chart.renderer,a.options.scrollbar,a.chart),x(a.scrollbar,"changed",function(f){var c=y(a),l=c.axisMax,q=c.scrollMin,p=c.scrollMax-q;A(c.axisMin)&& A(l)&&(a.horiz&&!a.reversed||!a.horiz&&a.reversed?(c=q+p*this.to,q+=p*this.from):(c=q+p*(1-this.from),q+=p*(1-this.to)),this.shouldUpdateExtremes(f.DOMType)?a.setExtremes(q,c,!0,"mousemove"!==f.DOMType&&"touchmove"!==f.DOMType,f):this.setRange(this.from,this.to))}))});x(l,"afterRender",function(){var a=y(this),l=a.scrollMin,c=a.scrollMax;a=this.scrollbar;var p=this.axisTitleMargin+(this.titleOffset||0),r=this.chart.scrollbarsOffsets,x=this.options.margin||0;a&&(this.horiz?(this.opposite||(r[1]+=p), a.position(this.left,this.top+this.height+2+r[1]-(this.opposite?x:0),this.width,this.height),this.opposite||(r[1]+=x),p=1):(this.opposite&&(r[0]+=p),a.position(a.options.opposite?this.left+this.width+2+r[0]-(this.opposite?0:x):this.opposite?0:x,this.top,this.width,this.height),this.opposite&&(r[0]+=x),p=0),r[p]+=a.size+a.options.margin,isNaN(l)||isNaN(c)||!A(this.min)||!A(this.max)||this.min===this.max?a.setRange(0,1):(r=(this.min-l)/(c-l),l=(this.max-l)/(c-l),this.horiz&&!this.reversed||!this.horiz&& this.reversed?a.setRange(r,l):a.setRange(1-l,1-r)))});x(l,"afterGetOffset",function(){var a=this.scrollbar&&!this.scrollbar.options.opposite;a=this.horiz?2:a?3:1;var l=this.scrollbar;l&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=l.size+l.options.margin)});return l};a.composed=[];return a}()});G(a,"Core/ScrollbarDefaults.js",[a["Core/Globals.js"]],function(a){return{height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,opposite:!0, step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1}});G(a,"Core/Scrollbar.js",[a["Core/DefaultOptions.js"],a["Core/Globals.js"],a["Core/Axis/ScrollbarAxis.js"],a["Core/ScrollbarDefaults.js"],a["Core/Utilities.js"]],function(a,x,A,r,G){var l=a.defaultOptions,p= G.addEvent,y=G.correctFloat,f=G.defined,q=G.destroyObjectProperties,c=G.fireEvent,D=G.merge,B=G.pick,I=G.removeEvent;a=function(){function a(a,d,c){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,d,c)}a.compose=function(b){A.compose(b,a)};a.swapXY=function(a,d){d&&a.forEach(function(a){for(var b=a.length,d,c=0;cthis.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y- this.yOffset)/(this.barWidth-b)}};a.prototype.destroy=function(){var a=this,d=a.chart.scroller;a.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(b){a[b]&&a[b].destroy&&(a[b]=a[b].destroy())});d&&a===d.scrollbar&&(d.scrollbar=null,q(d.scrollbarButtons))};a.prototype.drawScrollbarButton=function(b){var d=this.renderer,c=this.scrollbarButtons,f=this.options,k=this.size,l=d.g().add(this.group);c.push(l);l=d.rect().addClass("highcharts-scrollbar-button").add(l); this.chart.styledMode||l.attr({stroke:f.buttonBorderColor,"stroke-width":f.buttonBorderWidth,fill:f.buttonBackgroundColor});l.attr(l.crisp({x:-.5,y:-.5,width:k+1,height:k+1,r:f.buttonBorderRadius},l.strokeWidth()));l=d.path(a.swapXY([["M",k/2+(b?-1:1),k/2-3],["L",k/2+(b?-1:1),k/2+3],["L",k/2+(b?2:-2),k/2]],f.vertical)).addClass("highcharts-scrollbar-arrow").add(c[b]);this.chart.styledMode||l.attr({fill:f.buttonArrowColor})};a.prototype.init=function(a,d,c){this.scrollbarButtons=[];this.renderer=a; this.userOptions=d;this.options=D(r,l.scrollbar,d);this.chart=c;this.size=B(this.options.size,this.options.height);d.enabled&&(this.render(),this.addEvents())};a.prototype.mouseDownHandler=function(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};a.prototype.mouseMoveHandler=function(a){var b=this.chart.pointer.normalize(a),g=this.options.vertical?"chartY":"chartX",f=this.initPositions|| [];!this.grabbedCenter||a.touches&&0===a.touches[0][g]||(b=this.cursorToScrollbarPosition(b)[g],g=this[g],g=b-g,this.hasDragged=!0,this.updatePosition(f[0]+g,f[1]+g),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};a.prototype.mouseUpHandler=function(a){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};a.prototype.position= function(a,d,c,f){var b=this.options.vertical,g=this.rendered?"animate":"attr",k=f,l=0;this.group.show();this.x=a;this.y=d+this.trackBorderWidth;this.width=c;this.height=f;this.xOffset=k;this.yOffset=l;b?(this.width=this.yOffset=c=l=this.size,this.xOffset=k=0,this.barWidth=f-2*c,this.x=a+=this.options.margin):(this.height=this.xOffset=f=k=this.size,this.barWidth=c-2*f,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:c,height:f});this.scrollbarButtons[1][g]({translateX:b? 0:c-k,translateY:b?f-l:0})};a.prototype.removeEvents=function(){this._events.forEach(function(a){I.apply(null,a)});this._events.length=0};a.prototype.render=function(){var b=this.renderer,d=this.options,c=this.size,f=this.chart.styledMode,k=b.g("scrollbar").attr({zIndex:d.zIndex}).hide().add();this.group=k;this.track=b.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:d.trackBorderRadius||0,height:c,width:c}).add(k);f||this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor, "stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=b.g().add(k);this.scrollbar=b.rect().addClass("highcharts-scrollbar-thumb").attr({height:c,width:c,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=b.path(a.swapXY([["M",-3,c/4],["L",-3,2*c/3],["M",0,c/4],["L",0,2*c/3],["M",3,c/4],["L",3,2*c/3]],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);f||(this.scrollbar.attr({fill:d.barBackgroundColor, stroke:d.barBorderColor,"stroke-width":d.barBorderWidth}),this.scrollbarRifles.attr({stroke:d.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)};a.prototype.setRange=function(a,c){var b=this.options,d=b.vertical,k=b.minWidth,l=this.barWidth,n=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged? "attr":"animate";if(f(l)){var q=l*Math.min(c,1);a=Math.max(a,0);var p=Math.ceil(l*a);this.calculatedWidth=q=y(q-p);q=q?this.scrollbarRifles.hide():this.scrollbarRifles.show();!1===b.showFull&&(0>=a&&1<=c?this.group.hide():this.group.show());this.rendered=!0}};a.prototype.shouldUpdateExtremes=function(a){return B(this.options.liveRedraw,x.svg&&!x.isTouchDevice&&!this.chart.boosted)||"mouseup"===a||"touchend"===a||!f(a)};a.prototype.trackClick=function(a){var b=this.chart.pointer.normalize(a),f=this.to-this.from,k=this.y+this.scrollbarTop,l=this.x+this.scrollbarLeft;this.options.vertical&&b.chartY>k||!this.options.vertical&& b.chartX>l?this.updatePosition(this.from+f,this.to+f):this.updatePosition(this.from-f,this.to-f);c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};a.prototype.update=function(a){this.destroy();this.init(this.chart.renderer,D(!0,this.options,a),this.chart)};a.prototype.updatePosition=function(a,c){1a&&(c=y(c-a),a=0);this.from=a;this.to=c};a.defaultOptions=r;return a}();l.scrollbar=D(!0,a.defaultOptions,l.scrollbar);return a});G(a,"Extensions/RangeSelector.js", [a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,x,A,r,G,l){function p(a){if(-1!==a.indexOf("%L"))return"text";var b="aAdewbBmoyY".split("").some(function(b){return-1!==a.indexOf("%"+b)}),c="HkIlMS".split("").some(function(b){return-1!==a.indexOf("%"+b)});return b&&c?"datetime-local":b?"date":c?"time":"text"}var y=r.defaultOptions,f=l.addEvent,q=l.createElement,c=l.css,D=l.defined, B=l.destroyObjectProperties,I=l.discardElement,k=l.extend,b=l.find,d=l.fireEvent,g=l.isNumber,E=l.merge,K=l.objectEach,t=l.pad,n=l.pick,v=l.pInt,J=l.splat;k(y,{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:"%b %e, %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:"#335cad",cursor:"pointer"},labelStyle:{color:"#666666"}}});k(y.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"});var N=function(){function b(a){this.buttons=void 0;this.buttonOptions=b.prototype.defaultButtons;this.initialButtonGroupWidth=0;this.options=void 0;this.chart=a;this.init(a)}b.prototype.clickButton=function(b,c){var m= this.chart,e=this.buttonOptions[b],h=m.xAxis[0],u=m.scroller&&m.scroller.getUnionExtremes()||h||{},k=u.dataMin,l=u.dataMax,z=h&&Math.round(Math.min(h.max,n(l,h.max))),q=e.type;u=e._range;var p,r=e.dataGrouping;var t=!0;if(null!==k&&null!==l){m.fixedRange=u;this.setSelected(b);r&&(this.forcedDataGrouping=!0,a.prototype.setDataGrouping.call(h||{chart:this.chart},r,!1),this.frozenStates=e.preserveDataGrouping);if("month"===q||"year"===q)if(h){t={range:e,max:z,chart:m,dataMin:k,dataMax:l};var v=h.minFromRange.call(t); g(t.newMax)&&(z=t.newMax);t=!1}else u=e;else if(u)v=Math.max(z-u,k),z=Math.min(v+u,l),t=!1;else if("ytd"===q)if(h){if("undefined"===typeof l||"undefined"===typeof k)k=Number.MAX_VALUE,l=Number.MIN_VALUE,m.series.forEach(function(a){if(a=a.xData)k=Math.min(a[0],k),l=Math.max(a[a.length-1],l)}),c=!1;z=this.getYTDExtremes(l,k,m.time.useUTC);v=p=z.min;z=z.max}else{this.deferredYTDClick=b;return}else"all"===q&&h&&(m.navigator&&m.navigator.baseSeries[0]&&(m.navigator.baseSeries[0].xAxis.options.range=void 0), v=k,z=l);t&&e._offsetMin&&D(v)&&(v+=e._offsetMin);e._offsetMax&&D(z)&&(z+=e._offsetMax);this.dropdown&&(this.dropdown.selectedIndex=b+1);if(h)h.setExtremes(v,z,n(c,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:e});else{var x=J(m.options.xAxis)[0];var F=x.range;x.range=u;var y=x.min;x.min=p;f(m,"load",function(){x.range=F;x.min=y})}d(this,"afterBtnClick")}};b.prototype.setSelected=function(a){this.selected=this.options.selected=a};b.prototype.init=function(a){var b=this,c=a.options.rangeSelector, e=c.buttons||b.defaultButtons.slice(),h=c.selected,m=function(){var a=b.minInput,e=b.maxInput;a&&a.blur&&d(a,"blur");e&&e.blur&&d(e,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=e;this.eventsToUnbind=[];this.eventsToUnbind.push(f(a.container,"mousedown",m));this.eventsToUnbind.push(f(a,"resize",m));e.forEach(b.computeButtonRange);"undefined"!==typeof h&&e[h]&&this.clickButton(h,!1);this.eventsToUnbind.push(f(a,"load",function(){a.xAxis&&a.xAxis[0]&&f(a.xAxis[0],"setExtremes",function(e){this.max- this.min!==a.fixedRange&&"rangeSelectorButton"!==e.trigger&&"updatedData"!==e.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})}))};b.prototype.updateButtonStates=function(){var a=this,b=this.chart,c=this.dropdown,e=b.xAxis[0],d=Math.round(e.max-e.min),u=!e.hasVisibleSeries,f=b.scroller&&b.scroller.getUnionExtremes()||e,k=f.dataMin,l=f.dataMax;b=a.getYTDExtremes(l,k,b.time.useUTC);var n=b.min,q=b.max,p=a.selected,r=g(p),t=a.options.allButtonsEnabled,v=a.buttons;a.buttonOptions.forEach(function(b, h){var m=b._range,f=b.type,w=b.count||1,g=v[h],C=0,z=b._offsetMax-b._offsetMin;b=h===p;var R=m>l-k,L=m=864E5*{month:28,year:365}[f]*w-z&&d-36E5<=864E5*{month:31,year:366}[f]*w+z?m=!0:"ytd"===f?(m=q-n+z===d,O=!b):"all"===f&&(m=e.max-e.min>=l-k,x=!b&&r&&m);f=!t&&(R||L||x||u);w=b&&m||m&&!r&&!O||b&&a.frozenStates;f?C=3:w&&(r=!0,C=2);g.state!==C&&(g.setState(C),c&&(c.options[h+1].disabled=f,2===C&&(c.selectedIndex=h+1)),0===C&&p===h&&a.setSelected())})}; b.prototype.computeButtonRange=function(a){var b=a.type,c=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[b])a._range=e[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c;a._offsetMin=n(a.offsetMin,0);a._offsetMax=n(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};b.prototype.getInputValue=function(a){a="min"===a?this.minInput:this.maxInput;var b=this.chart.options.rangeSelector,c=this.chart.time;return a?("text"===a.type&&b.inputDateParser|| this.defaultInputDateParser)(a.value,c.useUTC,c):0};b.prototype.setInputValue=function(a,b){var c=this.options,e=this.chart.time,d="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox:this.maxDateBox;if(d){var m=d.getAttribute("data-hc-time");m=D(m)?Number(m):void 0;D(b)&&(D(m)&&d.setAttribute("data-hc-time-previous",m),d.setAttribute("data-hc-time",b),m=b);d.value=e.dateFormat(this.inputTypeFormats[d.type]||c.inputEditDateFormat,m);a&&a.attr({text:e.dateFormat(c.inputDateFormat,m)})}}; b.prototype.setInputExtremes=function(a,b,c){if(a="min"===a?this.minInput:this.maxInput){var e=this.inputTypeFormats[a.type],d=this.chart.time;e&&(b=d.dateFormat(e,b),a.min!==b&&(a.min=b),c=d.dateFormat(e,c),a.max!==c&&(a.max=c))}};b.prototype.showInput=function(a){var b="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&b&&this.inputGroup){var d="text"===a.type,e=this.inputGroup,h=e.translateX;e=e.translateY;var m=this.options.inputBoxWidth;c(a,{width:d?b.width+ (m?-2:20)+"px":"auto",height:d?b.height-2+"px":"auto",border:"2px solid silver"});d&&m?c(a,{left:h+b.x+"px",top:e+"px"}):c(a,{left:Math.min(Math.round(b.x+h-(a.offsetWidth-b.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:e-(a.offsetHeight-b.height)/2+"px"})}};b.prototype.hideInput=function(a){(a="min"===a?this.minInput:this.maxInput)&&c(a,{top:"-9999em",border:0,width:"1px",height:"1px"})};b.prototype.defaultInputDateParser=function(a,b,c){var e=a.split("/").join("-").split(" ").join("T"); -1===e.indexOf("T")&&(e+="T00:00");if(b)e+="Z";else{var d;if(d=A.isSafari)d=e,d=!(6=d?"+".concat(t(-d),":00"):"-".concat(t(d),":00"))}e=Date.parse(e);g(e)||(a=a.split("-"),e=Date.UTC(v(a[0]),v(a[1])-1,v(a[2])));c&&b&&g(e)&&(e+=c.getTimezoneOffset(e));return e};b.prototype.drawInput=function(a){function b(){var b=m.getInputValue(a),e=d.xAxis[0],c=d.scroller&&d.scroller.xAxis? d.scroller.xAxis:e,h=c.dataMin;c=c.dataMax;var f=m.maxInput,u=m.minInput;b!==Number(t.getAttribute("data-hc-time-previous"))&&g(b)&&(t.setAttribute("data-hc-time-previous",b),r&&f&&g(h)?b>Number(f.getAttribute("data-hc-time"))?b=void 0:bc&&(b=c)),"undefined"!==typeof b&&e.setExtremes(r?b:e.min,r?e.max:b,void 0,void 0,{trigger:"rangeSelectorInput"}))}var d=this.chart,e=this.div,h=this.inputGroup,m=this,f=d.renderer.style||{},l= d.renderer,n=d.options.rangeSelector,r="min"===a,R=y.lang[r?"rangeSelectorFrom":"rangeSelectorTo"]||"";R=l.label(R,0).addClass("highcharts-range-label").attr({padding:R?2:0,height:R?n.inputBoxHeight:0}).add(h);l=l.label("",0).addClass("highcharts-range-input").attr({padding:2,width:n.inputBoxWidth,height:n.inputBoxHeight,"text-align":"center"}).on("click",function(){m.showInput(a);m[a+"Input"].focus()});d.styledMode||l.attr({stroke:n.inputBoxBorderColor,"stroke-width":1});l.add(h);var t=q("input", {name:a,className:"highcharts-range-selector"},void 0,e);t.setAttribute("type",p(n.inputDateFormat||"%b %e, %Y"));d.styledMode||(R.css(E(f,n.labelStyle)),l.css(E({color:"#333333"},f,n.inputStyle)),c(t,k({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:f.fontSize,fontFamily:f.fontFamily,top:"-9999em"},n.inputStyle)));t.onfocus=function(){m.showInput(a)};t.onblur=function(){t===A.doc.activeElement&&b();m.hideInput(a);m.setInputValue(a); t.blur()};var v=!1;t.onchange=function(){v||(b(),m.hideInput(a),t.blur())};t.onkeypress=function(a){13===a.keyCode&&b()};t.onkeydown=function(a){v=!0;38!==a.keyCode&&40!==a.keyCode||b()};t.onkeyup=function(){v=!1};return{dateBox:l,input:t,label:R}};b.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};b.prototype.getYTDExtremes=function(a,b,c){var e= this.chart.time,d=new e.Date(a),m=e.get("FullYear",d);c=c?e.Date.UTC(m,0,1):+new e.Date(m,0,1);b=Math.max(b,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}};b.prototype.render=function(a,b){var c=this.chart,e=c.renderer,d=c.container,m=c.options,f=m.rangeSelector,g=n(m.chart.style&&m.chart.style.zIndex,0)+1;m=f.inputEnabled;if(!1!==f.enabled){this.rendered||(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=q("div",void 0,{position:"relative",height:0,zIndex:g}),this.buttonOptions.length&& this.renderButtons(),d.parentNode&&d.parentNode.insertBefore(this.div,d),m&&(this.inputGroup=e.g("input-group").add(this.group),e=this.drawInput("min"),this.minDateBox=e.dateBox,this.minLabel=e.label,this.minInput=e.input,e=this.drawInput("max"),this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input));if(m&&(this.setInputValue("min",a),this.setInputValue("max",b),a=c.scroller&&c.scroller.getUnionExtremes()||c.xAxis[0]||{},D(a.dataMin)&&D(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)){var k=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){if(a){var b=a.getBBox().width;b&&(a.attr({x:k}),k+=b+f.inputSpacing)}})}this.alignElements();this.rendered=!0}};b.prototype.renderButtons=function(){var a=this,b=this.buttons,c=this.options,e=y.lang,h=this.chart.renderer,u=E(c.buttonTheme),g=u&&u.states, k=u.width||28;delete u.width;delete u.states;this.buttonGroup=h.g("range-selector-buttons").add(this.group);var l=this.dropdown=q("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);f(l,"touchstart",function(){l.style.fontSize="16px"});[[A.isMS?"mouseover":"mouseenter"],[A.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(e){var c=e[0],h=e[1];f(l,c,function(){var e=b[a.currentButtonIndex()];e&&d(e.element, h||c)})});this.zoomText=h.label(e&&e.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));q("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,l);this.buttonOptions.forEach(function(e,c){q("option",{textContent:e.title||e.text},void 0,l);b[c]=h.button(e.text,0,0,function(b){var d=e.events&&e.events.click, h;d&&(h=d.call(e,b));!1!==h&&a.clickButton(c);a.isActive=!0},u,g&&g.hover,g&&g.select,g&&g.disabled).attr({"text-align":"center",width:k}).add(a.buttonGroup);e.title&&b[c].attr("title",e.title)})};b.prototype.alignElements=function(){var a=this,b=this.buttonGroup,c=this.buttons,e=this.chart,d=this.group,f=this.inputGroup,g=this.options,k=this.zoomText,l=e.options,q=l.exporting&&!1!==l.exporting.enabled&&l.navigation&&l.navigation.buttonOptions;l=g.buttonPosition;var p=g.inputPosition,t=g.verticalAlign, r=function(b,c){return q&&a.titleCollision(e)&&"top"===t&&"right"===c.align&&c.y-b.getBBox().height-12<(q.y||0)+(q.height||0)+e.spacing[0]?-40:0},v=e.plotLeft;if(d&&l&&p){var x=l.x-e.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var F=0;k&&(F+=k.getBBox().width+5);c.forEach(function(a,b){F+=a.width;b!==c.length-1&&(F+=g.buttonSpacing)});this.initialButtonGroupWidth=F}v-=e.spacing[3];this.updateButtonStates();k=r(b,l);this.alignButtonGroup(k);d.placed=b.placed=e.hasLoaded}b= 0;f&&(b=r(f,p),"left"===p.align?x=v:"right"===p.align&&(x=-Math.max(e.axisOffset[1],-b)),f.align({y:p.y,width:f.getBBox().width,align:p.align,x:p.x+x-2},!0,e.spacingBox),f.placed=e.hasLoaded);this.handleCollision(b);d.align({verticalAlign:t},!0,e.spacingBox);f=d.alignAttr.translateY;b=d.getBBox().height+20;r=0;"bottom"===t&&(r=(r=e.legend&&e.legend.options)&&"bottom"===r.verticalAlign&&r.enabled&&!r.floating?e.legend.legendHeight+n(r.margin,10):0,b=b+r-20,r=f-b-(g.floating?0:g.y)-(e.titleOffset?e.titleOffset[2]: 0)-10);if("top"===t)g.floating&&(r=0),e.titleOffset&&e.titleOffset[0]&&(r=e.titleOffset[0]),r+=e.margin[0]-e.spacing[0]||0;else if("middle"===t)if(p.y===l.y)r=f;else if(p.y||l.y)r=0>p.y||0>l.y?r-Math.min(p.y,l.y):f-b;d.translate(g.x,g.y+Math.floor(r));l=this.minInput;p=this.maxInput;f=this.dropdown;g.inputEnabled&&l&&p&&(l.style.marginTop=d.translateY+"px",p.style.marginTop=d.translateY+"px");f&&(f.style.marginTop=d.translateY+"px")}};b.prototype.alignButtonGroup=function(a,b){var c=this.chart,e= this.buttonGroup,d=this.options.buttonPosition,f=c.plotLeft-c.spacing[3],m=d.x-c.spacing[3];"right"===d.align?m+=a-f:"center"===d.align&&(m-=f/2);e&&e.align({y:d.y,width:n(b,this.initialButtonGroupWidth),align:d.align,x:m},!0,c.spacingBox)};b.prototype.positionButtons=function(){var a=this.buttons,b=this.chart,c=this.options,e=this.zoomText,d=b.hasLoaded?"animate":"attr",f=c.buttonPosition,g=b.plotLeft,k=g;e&&"hidden"!==e.visibility&&(e[d]({x:n(g+f.x,g)}),k+=f.x+e.getBBox().width+5);this.buttonOptions.forEach(function(b, e){if("hidden"!==a[e].visibility)a[e][d]({x:k}),k+=a[e].width+c.buttonSpacing;else a[e][d]({x:g})})};b.prototype.handleCollision=function(a){var b=this,c=this.chart,e=this.buttonGroup,d=this.inputGroup,f=this.options,m=f.buttonPosition,g=f.dropdown,k=f.inputPosition;f=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var l=function(b){if(d&&e){var c=d.alignAttr.translateX+d.alignOptions.x-a+d.getBBox().x+2,h=d.alignOptions.width,f=e.alignAttr.translateX+ e.getBBox().x;return f+b>c&&c+h>f&&m.y=-a?0:-a),translateY:d.alignAttr.translateY+e.getBBox().height+10})};if(e){if("always"===g){this.collapseButtons(a);l(f())&&n();return}"never"===g&&this.expandButtons()}d&&e?k.align===m.align||l(this.initialButtonGroupWidth+20)?"responsive"===g?(this.collapseButtons(a),l(f())&&n()):n():"responsive"===g&&this.expandButtons():e&&"responsive"===g&&(this.initialButtonGroupWidth> c.plotWidth?this.collapseButtons(a):this.expandButtons())};b.prototype.collapseButtons=function(a){var b=this.buttons,c=this.buttonOptions,e=this.chart,d=this.dropdown,f=this.options,m=this.zoomText,g=e.userOptions.rangeSelector&&e.userOptions.rangeSelector.buttonTheme||{},k=function(a){return{text:a?""+a+" \u25be":"\u25be",width:"auto",paddingLeft:n(f.buttonTheme.paddingLeft,g.padding,8),paddingRight:n(f.buttonTheme.paddingRight,g.padding,8)}};m&&m.hide();var l=!1;c.forEach(function(a,e){e=b[e]; 2!==e.state?e.hide():(e.show(),e.attr(k(a.text)),l=!0)});l||(d&&(d.selectedIndex=0),b[0].show(),b[0].attr(k(this.zoomText&&this.zoomText.textStr)));c=f.buttonPosition.align;this.positionButtons();"right"!==c&&"center"!==c||this.alignButtonGroup(a,b[this.currentButtonIndex()].getBBox().width);this.showDropdown()};b.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,c=this.options,e=this.zoomText;this.hideDropdown();e&&e.show();b.forEach(function(b,e){e=a[e];e.show();e.attr({text:b.text, width:c.buttonTheme.width||28,paddingLeft:n(c.buttonTheme.paddingLeft,"unset"),paddingRight:n(c.buttonTheme.paddingRight,"unset")});2>e.state&&e.setState(0)});this.positionButtons()};b.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0d&&0>e||0c&&(r?a=f-b:f=a+b);p(a)&&p(f)||(a=f=void 0);return{min:a,max:f}};return a}();return function(){function a(){}a.compose=function(a){a.keepProps.push("navigatorAxis");r(a,"init",function(){this.navigatorAxis||(this.navigatorAxis=new f(this))});r(a,"zoom",function(a){var c=this.chart.options,f=c.navigator,k=this.navigatorAxis,b=c.chart.zooming.pinchType, d=c.rangeSelector;c=c.chart.zooming.type;this.isXAxis&&(f&&f.enabled||d&&d.enabled)&&("y"===c?a.zoomed=!1:(!A&&"xy"===c||A&&"xy"===b)&&this.options.range&&(f=k.previousZoom,l(a.newMin)?k.previousZoom=[this.min,this.max]:f&&(a.newMin=f[0],a.newMax=f[1],k.previousZoom=void 0)));"undefined"!==typeof a.zoomed&&a.preventDefault()})};a.AdditionsClass=f;return a}()});G(a,"Core/Navigator.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Axis/NavigatorAxis.js"], a["Core/DefaultOptions.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Scrollbar.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,x,A,r,G,l,p,y,f,q,c){A=A.parse;var D=r.hasTouch,B=r.isTouchDevice,E=l.defaultOptions,k=c.addEvent,b=c.clamp,d=c.correctFloat,g=c.defined,P=c.destroyObjectProperties,K=c.erase,t=c.extend,n=c.find,v=c.isArray,J=c.isNumber,N=c.merge,M=c.pick,H=c.removeEvent,F=c.splat,m=function(a){for(var b=[],c=1;cv&&(this.grabbedLeft?f=m.toPixels(c-v-u,!0):this.grabbedRight&&(k=m.toPixels(a+v+u,!0)));this.zoomedMax=b(Math.max(f,k),0,q);this.zoomedMin=b(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(f,k),0,q);this.range=this.zoomedMax-this.zoomedMin;q=Math.round(this.zoomedMax);f=Math.round(this.zoomedMin);p&&(this.navigatorGroup.attr({visibility:"inherit"}),r=r&&!this.hasDragged?"animate":"attr",this.drawMasks(f,q,t,r),this.drawOutline(f, q,t,r),this.navigatorOptions.handles.enabled&&(this.drawHandle(f,0,t,r),this.drawHandle(q,1,t,r)));this.scrollbar&&(t?(t=this.top-h,n=this.left-h+(p||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),h=l+2*h):(t=this.top+(p?this.height:-h),n=this.left-h),this.scrollbar.position(n,t,e,h),this.scrollbar.setRange(this.zoomedMin/(l||1),this.zoomedMax/(l||1)));this.rendered=!0}};c.prototype.addMouseEvents=function(){var a=this,b=a.chart,c=b.container,d=[],f,g;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)}; a.mouseUpHandler=g=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(k(b.renderTo,"mousemove",f),k(c.ownerDocument,"mouseup",g));D&&(d.push(k(b.renderTo,"touchmove",f),k(c.ownerDocument,"touchend",g)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(k(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))};c.prototype.getPartsEvents=function(a){var b=this,c=[];["shades","handles"].forEach(function(e){b[e].forEach(function(d, h){c.push(k(d.element,a,function(a){b[e+"Mousedown"](a,h)}))})});return c};c.prototype.shadesMousedown=function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,e=this.xAxis,d=this.zoomedMin,h=this.left,f=this.size,k=this.range,l=a.chartX;c.inverted&&(l=a.chartY,h=this.top);if(1===b)this.grabbedCenter=l,this.fixedWidth=k,this.dragOffset=l-d;else{a=l-h-k/2;if(0===b)a=Math.max(0,a);else if(2===b&&a+k>=f)if(a=f-k,this.reversedExtremes){a-=k;var m=this.getUnionExtremes().dataMin}else var n=this.getUnionExtremes().dataMax; a!==d&&(this.fixedWidth=k,b=e.navigatorAxis.toFixedRange(a,a+k,m,n),g(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"}))}};c.prototype.handlesMousedown=function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],e=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=e?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=e?c.max:c.min);a.fixedRange= null};c.prototype.onMouseMove=function(a){var b=this,c=b.chart,e=b.left,d=b.navigatorSize,f=b.range,g=b.dragOffset,k=c.inverted;a.touches&&0===a.touches[0].pageX||(a=c.pointer.normalize(a),c=a.chartX,k&&(e=b.top,c=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,c-e,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,c-e)):b.grabbedCenter&&(b.hasDragged=!0,cd+g-f&&(c=d+g-f),b.render(0,0,c-g,c-g+f)),b.hasDragged&&b.scrollbar&&M(b.scrollbar.options.liveRedraw, r.svg&&!B&&!this.chart.boosted)&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))};c.prototype.onMouseUp=function(a){var b=this.chart,c=this.xAxis,d=this.scrollbar,e=a.DOMEvent||a,f=b.inverted,k=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===a.trigger){d=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var l=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var m=this.fixedExtreme;this.zoomedMax===this.size&& (m=this.reversedExtremes?d.dataMin:d.dataMax);0===this.zoomedMin&&(l=this.reversedExtremes?d.dataMax:d.dataMin);c=c.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,l,m);g(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e})}"mousemove"!==a.DOMType&&"touchmove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos= this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&J(this.zoomedMin)&&J(this.zoomedMax)&&(b=Math.round(this.zoomedMin),a=Math.round(this.zoomedMax),this.shades&&this.drawMasks(b,a,f,k),this.outline&&this.drawOutline(b,a,f,k),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(b,0,f,k),this.drawHandle(a,1,f,k)))};c.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind= void 0);this.removeBaseSeriesEvents()};c.prototype.removeBaseSeriesEvents=function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){H(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&H(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};c.prototype.init=function(b){var c=b.options,d=c.navigator,e=d.enabled,f=c.scrollbar,g=f.enabled;c=e?d.height:0;var l=g?f.height:0;this.handles=[];this.shades=[];this.chart= b;this.setBaseSeries();this.height=c;this.scrollbarHeight=l;this.scrollbarEnabled=g;this.navigatorEnabled=e;this.navigatorOptions=d;this.scrollbarOptions=f;this.outlineHeight=c+l;this.opposite=M(d.opposite,!(e||!b.inverted));var n=this;e=n.baseSeries;f=b.xAxis.length;g=b.yAxis.length;var p=e&&e[0]&&e[0].xAxis||b.xAxis[0]||{options:{}};b.isDirtyBox=!0;n.navigatorEnabled?(n.xAxis=new a(b,N({breaks:p.options.breaks,ordinal:p.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0, type:"datetime",index:f,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},b.inverted?{offsets:[l,0,-l,0],width:c}:{offsets:[0,-l,0,l],height:c})),n.yAxis=new a(b,N(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:g,isInternal:!0,reversed:M(d.yAxis&&d.yAxis.reversed,b.yAxis[0]&&b.yAxis[0].reversed,!1),zoomEnabled:!1},b.inverted?{width:c}:{height:c})),e||d.series.data?n.updateNavigatorSeries(!1):0===b.series.length&&(n.unbindRedraw= k(b,"beforeRedraw",function(){0e.indexOf(b)?(b&&(H(b,"updatedData",c.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});e&&e.length&&e.forEach(function(a){var n=a.navigatorSeries,p=t({color:a.color,visible:a.visible},v(g)?E.navigator.series:g);n&&!1===c.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+e.length,f=a.options||{},k=f.navigatorOptions||{},p.dataLabels=F(p.dataLabels), h=N(f,l,p,k),h.pointRange=M(p.pointRange,k.pointRange,E.plotOptions[h.type||"line"].pointRange),p=k.data||p.data,c.hasNavigatorData=c.hasNavigatorData||!!p,h.data=p||f.data&&f.data.slice(0),n&&n.options?n.update(h,b):(a.navigatorSeries=d.initSeries(h),a.navigatorSeries.baseSeries=a,m.push(a.navigatorSeries)))});if(g.data&&(!e||!e.length)||v(g))c.hasNavigatorData=!1,g=F(g),g.forEach(function(a,b){l.name="Navigator "+(m.length+1);h=N(E.navigator.series,{color:d.series[b]&&!d.series[b].options.isInternal&& d.series[b].color||d.options.colors[b]||d.options.colors[0]},l,a);h.data=a.data;h.data&&(c.hasNavigatorData=!0,m.push(d.initSeries(h)))});a&&this.addBaseSeriesEvents()};c.prototype.addBaseSeriesEvents=function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&b[0].eventsToUnbind.push(k(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes));b.forEach(function(b){b.eventsToUnbind.push(k(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)}));b.eventsToUnbind.push(k(b,"hide", function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)}));!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&b.eventsToUnbind.push(k(b,"updatedData",this.updatedDataHandler));b.eventsToUnbind.push(k(b,"remove",function(){this.navigatorSeries&&(K(a.series,this.navigatorSeries),g(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))},this)};c.prototype.getBaseSeriesMin=function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a, b.xData&&b.xData.length?b.xData[0]:a)},a)};c.prototype.modifyNavigatorAxisExtremes=function(){var a=this.xAxis,b;"undefined"!==typeof a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))};c.prototype.modifyBaseAxisExtremes=function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,d=b.dataMax;b=b.max-b.min;var f=a.stickToMin,g=a.stickToMax,k=M(this.options.overscroll,0),l=a.series&&a.series[0],m=!!this.setExtremes;if(!this.eventArgs|| "rangeSelectorButton"!==this.eventArgs.trigger){if(f){var n=c;var p=n+b}g&&(p=d+k,f||(n=Math.max(c,p-b,a.getBaseSeriesMin(l&&l.xData?l.xData[0]:-Number.MAX_VALUE))));m&&(f||g)&&J(n)&&(this.min=this.userMin=n,this.max=this.userMax=p)}a.stickToMin=a.stickToMax=null};c.prototype.updatedDataHandler=function(){var a=this.chart.navigator,b=this.navigatorSeries;a.stickToMax=M(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>= Math.round(a.size));a.stickToMin=a.shouldStickToMin(this,a);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))};c.prototype.shouldStickToMin=function(a,b){b=b.getBaseSeriesMin(a.xData[0]);var c=a.xAxis;a=c.max;var d=c.min;c=c.options.range;return J(a)&&J(d)?c&&0