gantt.js 94 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. /*
  2. Highcharts Gantt JS v8.2.0 (2020-08-20)
  3. Gantt series
  4. (c) 2016-2019 Lars A. V. Cabrera
  5. License: www.highcharts.com/license
  6. */
  7. (function(e){"object"===typeof module&&module.exports?(e["default"]=e,module.exports=e):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(J){e(J);e.Highcharts=J;return e}):e("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(e){function J(e,n,v,x){e.hasOwnProperty(n)||(e[n]=x.apply(null,v))}e=e?e._modules:{};J(e,"Gantt/Tree.js",[e["Core/Utilities.js"]],function(e){var n=e.extend,v=e.isNumber,x=e.pick,w=function(n,u){var l=n.reduce(function(b,
  8. m){var q=x(m.parent,"");"undefined"===typeof b[q]&&(b[q]=[]);b[q].push(m);return b},{});Object.keys(l).forEach(function(b,m){var q=l[b];""!==b&&-1===u.indexOf(b)&&(q.forEach(function(b){m[""].push(b)}),delete m[b])});return l},y=function(e,u,l,b,m,q){var z=0,F=0,G=q&&q.after,k=q&&q.before;u={data:b,depth:l-1,id:e,level:l,parent:u};var f,a;"function"===typeof k&&k(u,q);k=(m[e]||[]).map(function(h){var d=y(h.id,e,l+1,h,m,q),r=h.start;h=!0===h.milestone?r:h.end;f=!v(f)||r<f?r:f;a=!v(a)||h>a?h:a;z=z+
  9. 1+d.descendants;F=Math.max(d.height+1,F);return d});b&&(b.start=x(b.start,f),b.end=x(b.end,a));n(u,{children:k,descendants:z,height:F});"function"===typeof G&&G(u,q);return u};return{getListOfParents:w,getNode:y,getTree:function(e,u){var l=e.map(function(b){return b.id});e=w(e,l);return y("",null,1,null,e,u)}}});J(e,"Core/Axis/TreeGridTick.js",[e["Core/Utilities.js"]],function(e){var n=e.addEvent,v=e.defined,x=e.isObject,w=e.isNumber,y=e.pick,C=e.wrap,u;(function(l){function b(){this.treeGrid||(this.treeGrid=
  10. new G(this))}function m(k,f){k=k.treeGrid;var a=!k.labelIcon,h=f.renderer,d=f.xy,r=f.options,c=r.width,A=r.height,t=d.x-c/2-r.padding;d=d.y-A/2;var I=f.collapsed?90:180,D=f.show&&w(d),B=k.labelIcon;B||(k.labelIcon=B=h.path(h.symbols[r.type](r.x,r.y,c,A)).addClass("highcharts-label-icon").add(f.group));D||B.attr({y:-9999});h.styledMode||B.attr({"stroke-width":1,fill:y(f.color,"#666666")}).css({cursor:"pointer",stroke:r.lineColor,strokeWidth:r.lineWidth});B[a?"attr":"animate"]({translateX:t,translateY:d,
  11. rotation:I})}function q(k,f,a,h,d,r,c,A,t){var I=y(this.options&&this.options.labels,r);r=this.pos;var D=this.axis,B="treegrid"===D.options.type;k=k.apply(this,[f,a,h,d,I,c,A,t]);B&&(f=I&&x(I.symbol,!0)?I.symbol:{},I=I&&w(I.indentation)?I.indentation:0,r=(r=(D=D.treeGrid.mapOfPosToGridNode)&&D[r])&&r.depth||1,k.x+=f.width+2*f.padding+(r-1)*I);return k}function z(k){var f=this,a=f.pos,h=f.axis,d=f.label,r=h.treeGrid.mapOfPosToGridNode,c=h.options,A=y(f.options&&f.options.labels,c&&c.labels),t=A&&x(A.symbol,
  12. !0)?A.symbol:{},I=(r=r&&r[a])&&r.depth;c="treegrid"===c.type;var D=-1<h.tickPositions.indexOf(a);a=h.chart.styledMode;c&&r&&d&&d.element&&d.addClass("highcharts-treegrid-node-level-"+I);k.apply(f,Array.prototype.slice.call(arguments,1));c&&d&&d.element&&r&&r.descendants&&0<r.descendants&&(h=h.treeGrid.isCollapsed(r),m(f,{color:!a&&d.styles&&d.styles.color||"",collapsed:h,group:d.parentGroup,options:t,renderer:d.renderer,show:D,xy:d.xy}),t="highcharts-treegrid-node-"+(h?"expanded":"collapsed"),d.addClass("highcharts-treegrid-node-"+
  13. (h?"collapsed":"expanded")).removeClass(t),a||d.css({cursor:"pointer"}),[d,f.treeGrid.labelIcon].forEach(function(c){c&&!c.attachedTreeGridEvents&&(n(c.element,"mouseover",function(){d.addClass("highcharts-treegrid-node-active");d.renderer.styledMode||d.css({textDecoration:"underline"})}),n(c.element,"mouseout",function(){var c=v(A.style)?A.style:{};d.removeClass("highcharts-treegrid-node-active");d.renderer.styledMode||d.css({textDecoration:c.textDecoration})}),n(c.element,"click",function(){f.treeGrid.toggleCollapse()}),
  14. c.attachedTreeGridEvents=!0)}))}var F=!1;l.compose=function(k){F||(n(k,"init",b),C(k.prototype,"getLabelPosition",q),C(k.prototype,"renderLabel",z),k.prototype.collapse=function(f){this.treeGrid.collapse(f)},k.prototype.expand=function(f){this.treeGrid.expand(f)},k.prototype.toggleCollapse=function(f){this.treeGrid.toggleCollapse(f)},F=!0)};var G=function(){function k(f){this.tick=f}k.prototype.collapse=function(f){var a=this.tick,h=a.axis,d=h.brokenAxis;d&&h.treeGrid.mapOfPosToGridNode&&(a=h.treeGrid.collapse(h.treeGrid.mapOfPosToGridNode[a.pos]),
  15. d.setBreaks(a,y(f,!0)))};k.prototype.expand=function(f){var a=this.tick,h=a.axis,d=h.brokenAxis;d&&h.treeGrid.mapOfPosToGridNode&&(a=h.treeGrid.expand(h.treeGrid.mapOfPosToGridNode[a.pos]),d.setBreaks(a,y(f,!0)))};k.prototype.toggleCollapse=function(f){var a=this.tick,h=a.axis,d=h.brokenAxis;d&&h.treeGrid.mapOfPosToGridNode&&(a=h.treeGrid.toggleCollapse(h.treeGrid.mapOfPosToGridNode[a.pos]),d.setBreaks(a,y(f,!0)))};return k}();l.Additions=G})(u||(u={}));return u});J(e,"Mixins/TreeSeries.js",[e["Core/Color.js"],
  16. e["Core/Utilities.js"]],function(e,n){var v=n.extend,x=n.isArray,w=n.isNumber,y=n.isObject,C=n.merge,u=n.pick;return{getColor:function(l,b){var m=b.index,q=b.mapOptionsToLevel,z=b.parentColor,F=b.parentColorIndex,G=b.series,k=b.colors,f=b.siblings,a=G.points,h=G.chart.options.chart,d;if(l){a=a[l.i];l=q[l.level]||{};if(q=a&&l.colorByPoint){var r=a.index%(k?k.length:h.colorCount);var c=k&&k[r]}if(!G.chart.styledMode){k=a&&a.options.color;h=l&&l.color;if(d=z)d=(d=l&&l.colorVariation)&&"brightness"===
  17. d.key?e.parse(z).brighten(m/f*d.to).get():z;d=u(k,h,c,d,G.color)}var A=u(a&&a.options.colorIndex,l&&l.colorIndex,r,F,b.colorIndex)}return{color:d,colorIndex:A}},getLevelOptions:function(l){var b=null;if(y(l)){b={};var m=w(l.from)?l.from:1;var q=l.levels;var z={};var F=y(l.defaults)?l.defaults:{};x(q)&&(z=q.reduce(function(b,k){if(y(k)&&w(k.level)){var f=C({},k);var a="boolean"===typeof f.levelIsConstant?f.levelIsConstant:F.levelIsConstant;delete f.levelIsConstant;delete f.level;k=k.level+(a?0:m-1);
  18. y(b[k])?v(b[k],f):b[k]=f}return b},{}));q=w(l.to)?l.to:1;for(l=0;l<=q;l++)b[l]=C({},F,y(z[l])?z[l]:{})}return b},setTreeValues:function q(b,m){var z=m.before,F=m.idRoot,G=m.mapIdToNode[F],k=m.points[b.i],f=k&&k.options||{},a=0,h=[];v(b,{levelDynamic:b.level-(("boolean"===typeof m.levelIsConstant?m.levelIsConstant:1)?0:G.level),name:u(k&&k.name,""),visible:F===b.id||("boolean"===typeof m.visible?m.visible:!1)});"function"===typeof z&&(b=z(b,m));b.children.forEach(function(d,r){var c=v({},m);v(c,{index:r,
  19. siblings:b.children.length,visible:b.visible});d=q(d,c);h.push(d);d.visible&&(a+=d.val)});b.visible=0<a||b.visible;z=u(f.value,a);v(b,{children:h,childrenTotal:a,isLeaf:b.visible&&!a,val:z});return b},updateRootId:function(b){if(y(b)){var m=y(b.options)?b.options:{};m=u(b.rootNode,m.rootId,"");y(b.userOptions)&&(b.userOptions.rootId=m);b.rootNode=m}return m}}});J(e,"Core/Axis/GridAxis.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Options.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],
  20. function(e,n,v,x,w){var y=v.dateFormat,C=w.addEvent,u=w.defined,l=w.erase,b=w.find,m=w.isArray,q=w.isNumber,z=w.merge,F=w.pick,G=w.timeUnits,k=w.wrap;v=n.Chart;var f=function(d){var r=d.options;r.labels||(r.labels={});r.labels.align=F(r.labels.align,"center");d.categories||(r.showLastLabel=!1);d.labelRotation=0;r.labels.rotation=0};"";e.prototype.getMaxLabelDimensions=function(d,r){var c={width:0,height:0};r.forEach(function(r){var a=d[r];r=0;if(w.isObject(a,!0)){var A=w.isObject(a.label,!0)?a.label:
  21. {};a=A.getBBox?A.getBBox().height:0;A.textStr&&(r=Math.round(A.getBBox().width));c.height=Math.max(a,c.height);c.width=Math.max(r,c.width)}});return c};n.dateFormats.W=function(a){a=new this.Date(a);var r=(this.get("Day",a)+6)%7,c=new this.Date(a.valueOf());this.set("Date",c,this.get("Date",a)-r+3);r=new this.Date(this.get("FullYear",c),0,1);4!==this.get("Day",r)&&(this.set("Month",a,0),this.set("Date",a,1+(11-this.get("Day",r))%7));return(1+Math.floor((c.valueOf()-r.valueOf())/6048E5)).toString()};
  22. n.dateFormats.E=function(a){return y("%a",a,!0).charAt(0)};C(v,"afterSetChartSize",function(){this.axes.forEach(function(a){(a.grid&&a.grid.columns||[]).forEach(function(r){r.setAxisSize();r.setAxisTranslation()})})});C(x,"afterGetLabelPosition",function(a){var r=this.label,c=this.axis,d=c.reversed,t=c.chart,f=c.options.grid||{},D=c.options.labels,B=D.align,E=h.Side[c.side],g=a.tickmarkOffset,p=c.tickPositions,H=this.pos-g;p=q(p[a.index+1])?p[a.index+1]-g:c.max+g;var K=c.tickSize("tick");g=K?K[0]:
  23. 0;K=K?K[1]/2:0;if(!0===f.enabled){if("top"===E){f=c.top+c.offset;var L=f-g}else"bottom"===E?(L=t.chartHeight-c.bottom+c.offset,f=L+g):(f=c.top+c.len-c.translate(d?p:H),L=c.top+c.len-c.translate(d?H:p));"right"===E?(E=t.chartWidth-c.right+c.offset,d=E+g):"left"===E?(d=c.left+c.offset,E=d-g):(E=Math.round(c.left+c.translate(d?p:H))-K,d=Math.round(c.left+c.translate(d?H:p))-K);this.slotWidth=d-E;a.pos.x="left"===B?E:"right"===B?d:E+(d-E)/2;a.pos.y=L+(f-L)/2;t=t.renderer.fontMetrics(D.style.fontSize,
  24. r.element);r=r.getBBox().height;D.useHTML?a.pos.y+=t.b+-(r/2):(r=Math.round(r/t.h),a.pos.y+=(t.b-(t.h-t.f))/2+-((r-1)*t.h/2));a.pos.x+=c.horiz&&D.x||0}});var a=function(){function a(a){this.axis=a}a.prototype.isOuterAxis=function(){var a=this.axis,c=a.grid.columnIndex,d=a.linkedParent&&a.linkedParent.grid.columns||a.grid.columns,t=c?a.linkedParent:a,h=-1,f=0;a.chart[a.coll].forEach(function(c,r){c.side!==a.side||c.options.isInternal||(f=r,c===t&&(h=r))});return f===h&&(q(c)?d.length===c:!0)};return a}(),
  25. h=function(){function d(){}d.compose=function(a){e.keepProps.push("grid");k(a.prototype,"unsquish",d.wrapUnsquish);C(a,"init",d.onInit);C(a,"afterGetOffset",d.onAfterGetOffset);C(a,"afterGetTitlePosition",d.onAfterGetTitlePosition);C(a,"afterInit",d.onAfterInit);C(a,"afterRender",d.onAfterRender);C(a,"afterSetAxisTranslation",d.onAfterSetAxisTranslation);C(a,"afterSetOptions",d.onAfterSetOptions);C(a,"afterSetOptions",d.onAfterSetOptions2);C(a,"afterSetScale",d.onAfterSetScale);C(a,"afterTickSize",
  26. d.onAfterTickSize);C(a,"trimTicks",d.onTrimTicks);C(a,"destroy",d.onDestroy)};d.onAfterGetOffset=function(){var a=this.grid;(a&&a.columns||[]).forEach(function(a){a.getOffset()})};d.onAfterGetTitlePosition=function(a){if(!0===(this.options.grid||{}).enabled){var c=this.axisTitle,r=this.height,t=this.horiz,h=this.left,f=this.offset,B=this.opposite,E=this.options.title,g=void 0===E?{}:E;E=this.top;var p=this.width,H=this.tickSize(),K=c&&c.getBBox().width,L=g.x||0,k=g.y||0,b=F(g.margin,t?5:10);c=this.chart.renderer.fontMetrics(g.style&&
  27. g.style.fontSize,c).f;H=(t?E+r:h)+(t?1:-1)*(B?-1:1)*(H?H[0]/2:0)+(this.side===d.Side.bottom?c:0);a.titlePosition.x=t?h-K/2-b+L:H+(B?p:0)+f+L;a.titlePosition.y=t?H-(B?r:0)+(B?c:-c)/2+f+k:E-b+k}};d.onAfterInit=function(){var a=this.chart,c=this.options.grid;c=void 0===c?{}:c;var d=this.userOptions;c.enabled&&(f(this),k(this,"labelFormatter",function(a){var c=this.axis,g=this.value,p=c.tickPositions,r=(c.isLinked?c.linkedParent:c).series[0],d=g===p[0];p=g===p[p.length-1];r=r&&b(r.options.data,function(p){return p[c.isXAxis?
  28. "x":"y"]===g});this.isFirst=d;this.isLast=p;this.point=r;return a.call(this)}));if(c.columns)for(var t=this.grid.columns=[],h=this.grid.columnIndex=0;++h<c.columns.length;){var D=z(d,c.columns[c.columns.length-h-1],{linkedTo:0,type:"category",scrollbar:{enabled:!1}});delete D.grid.columns;D=new e(this.chart,D);D.grid.isColumn=!0;D.grid.columnIndex=h;l(a.axes,D);l(a[this.coll],D);t.push(D)}};d.onAfterRender=function(){var a=this.grid,c=this.options,h=this.chart.renderer;if(!0===(c.grid||{}).enabled){this.maxLabelDimensions=
  29. this.getMaxLabelDimensions(this.ticks,this.tickPositions);this.rightWall&&this.rightWall.destroy();if(this.grid&&this.grid.isOuterAxis()&&this.axisLine){var t=c.lineWidth;if(t){var f=this.getLinePath(t),D=f[0],k=f[1],E=((this.tickSize("tick")||[1])[0]-1)*(this.side===d.Side.top||this.side===d.Side.left?-1:1);"M"===D[0]&&"L"===k[0]&&(this.horiz?(D[2]+=E,k[2]+=E):(D[1]+=E,k[1]+=E));this.grid.axisLineExtra?this.grid.axisLineExtra.animate({d:f}):(this.grid.axisLineExtra=h.path(f).attr({zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup),
  30. h.styledMode||this.grid.axisLineExtra.attr({stroke:c.lineColor,"stroke-width":t}));this.axisLine[this.showAxis?"show":"hide"](!0)}}(a&&a.columns||[]).forEach(function(g){g.render()})}};d.onAfterSetAxisTranslation=function(){var a=this.tickPositions&&this.tickPositions.info,c=this.options,d=c.grid||{},t=this.userOptions.labels||{};this.horiz&&(!0===d.enabled&&this.series.forEach(function(a){a.options.pointRange=0}),a&&c.dateTimeLabelFormats&&c.labels&&!u(t.align)&&(!1===c.dateTimeLabelFormats[a.unitName].range||
  31. 1<a.count)&&(c.labels.align="left",u(t.x)||(c.labels.x=3)))};d.onAfterSetOptions=function(a){var c=this.options;a=a.userOptions;var d=c&&w.isObject(c.grid,!0)?c.grid:{};if(!0===d.enabled){var r=z(!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:"13px"}},margin:0,title:{text:null,reserveSpace:!1,
  32. 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&&(u(a.linkedTo)&&!u(a.tickPixelInterval)&&(r.tickPixelInterval=350),u(a.tickPixelInterval)||!u(a.linkedTo)||u(a.tickPositioner)||u(a.tickInterval)||(r.tickPositioner=function(a,c){var d=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(d){var t,g=r.units;for(t=0;t<g.length;t++)if(g[t][0]===
  33. d.unitName){var p=t;break}if(g[p+1]){var H=g[p+1][0];var h=(g[p+1][1]||[1])[0]}else"year"===d.unitName&&(H="year",h=10*d.count);d=G[H];this.tickInterval=d*h;return this.getTimeTicks({unitRange:d,count:h,unitName:H},a,c,this.options.startOfWeek)}}));z(!0,this.options,r);this.horiz&&(c.minPadding=F(a.minPadding,0),c.maxPadding=F(a.maxPadding,0));q(c.grid.borderWidth)&&(c.tickWidth=c.lineWidth=d.borderWidth)}};d.onAfterSetOptions2=function(a){a=(a=a.userOptions)&&a.grid||{};var c=a.columns;a.enabled&&
  34. c&&z(!0,this.options,c[c.length-1])};d.onAfterSetScale=function(){(this.grid.columns||[]).forEach(function(a){a.setScale()})};d.onAfterTickSize=function(a){var c=e.defaultLeftAxisOptions,d=this.horiz,t=this.maxLabelDimensions,h=this.options.grid;h=void 0===h?{}:h;h.enabled&&t&&(c=2*Math.abs(c.labels.x),d=d?h.cellHeight||c+t.height:c+t.width,m(a.tickSize)?a.tickSize[0]=d:a.tickSize=[d,0])};d.onDestroy=function(a){var c=this.grid;(c.columns||[]).forEach(function(c){c.destroy(a.keepEvents)});c.columns=
  35. void 0};d.onInit=function(d){d=d.userOptions||{};var c=d.grid||{};c.enabled&&u(c.borderColor)&&(d.tickColor=d.lineColor=c.borderColor);this.grid||(this.grid=new a(this))};d.onTrimTicks=function(){var a=this.options,c=this.categories,d=this.tickPositions,h=d[0],f=d[d.length-1],k=this.linkedParent&&this.linkedParent.min||this.min,b=this.linkedParent&&this.linkedParent.max||this.max,E=this.tickInterval;!0!==(a.grid||{}).enabled||c||!this.horiz&&!this.isLinked||(h<k&&h+E>k&&!a.startOnTick&&(d[0]=k),f>
  36. b&&f-E<b&&!a.endOnTick&&(d[d.length-1]=b))};d.wrapUnsquish=function(a){var c=this.options.grid;return!0===(void 0===c?{}:c).enabled&&this.categories?this.tickInterval:a.apply(this,Array.prototype.slice.call(arguments,1))};return d}();(function(a){a=a.Side||(a.Side={});a[a.top=0]="top";a[a.right=1]="right";a[a.bottom=2]="bottom";a[a.left=3]="left"})(h||(h={}));h.compose(e);return h});J(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Utilities.js"],e["Extensions/Stacking.js"]],
  37. function(e,n,v,x){var w=v.addEvent,y=v.find,C=v.fireEvent,u=v.isArray,l=v.isNumber,b=v.pick,m=n.Series,q=function(){function m(b){this.hasBreaks=!1;this.axis=b}m.isInBreak=function(b,m){var k=b.repeat||Infinity,f=b.from,a=b.to-b.from;m=m>=f?(m-f)%k:k-(f-m)%k;return b.inclusive?m<=a:m<a&&0!==m};m.lin2Val=function(b){var q=this.brokenAxis;q=q&&q.breakArray;if(!q)return b;var k;for(k=0;k<q.length;k++){var f=q[k];if(f.from>=b)break;else f.to<b?b+=f.len:m.isInBreak(f,b)&&(b+=f.len)}return b};m.val2Lin=
  38. function(b){var q=this.brokenAxis;q=q&&q.breakArray;if(!q)return b;var k=b,f;for(f=0;f<q.length;f++){var a=q[f];if(a.to<=b)k-=a.len;else if(a.from>=b)break;else if(m.isInBreak(a,b)){k-=b-a.from;break}}return k};m.prototype.findBreakAt=function(b,m){return y(m,function(k){return k.from<b&&b<k.to})};m.prototype.isInAnyBreak=function(q,l){var k=this.axis,f=k.options.breaks,a=f&&f.length,h;if(a){for(;a--;)if(m.isInBreak(f[a],q)){var d=!0;h||(h=b(f[a].showPoints,!k.isXAxis))}var r=d&&l?d&&!h:d}return r};
  39. m.prototype.setBreaks=function(q,l){var k=this,f=k.axis,a=u(q)&&!!q.length;f.isDirty=k.hasBreaks!==a;k.hasBreaks=a;f.options.breaks=f.userOptions.breaks=q;f.forceRedraw=!0;f.series.forEach(function(a){a.isDirty=!0});a||f.val2lin!==m.val2Lin||(delete f.val2lin,delete f.lin2val);a&&(f.userOptions.ordinal=!1,f.lin2val=m.lin2Val,f.val2lin=m.val2Lin,f.setExtremes=function(a,d,f,c,b){if(k.hasBreaks){for(var t,h=this.options.breaks;t=k.findBreakAt(a,h);)a=t.to;for(;t=k.findBreakAt(d,h);)d=t.from;d<a&&(d=
  40. a)}e.prototype.setExtremes.call(this,a,d,f,c,b)},f.setAxisTranslation=function(a){e.prototype.setAxisTranslation.call(this,a);k.unitLength=null;if(k.hasBreaks){a=f.options.breaks||[];var d=[],h=[],c=0,A,t=f.userMin||f.min,q=f.userMax||f.max,D=b(f.pointRangePadding,0),B;a.forEach(function(a){A=a.repeat||Infinity;m.isInBreak(a,t)&&(t+=a.to%A-t%A);m.isInBreak(a,q)&&(q-=q%A-a.from%A)});a.forEach(function(a){g=a.from;for(A=a.repeat||Infinity;g-A>t;)g-=A;for(;g<t;)g+=A;for(B=g;B<q;B+=A)d.push({value:B,
  41. move:"in"}),d.push({value:B+(a.to-a.from),move:"out",size:a.breakSize})});d.sort(function(a,g){return a.value===g.value?("in"===a.move?0:1)-("in"===g.move?0:1):a.value-g.value});var E=0;var g=t;d.forEach(function(a){E+="in"===a.move?1:-1;1===E&&"in"===a.move&&(g=a.value);0===E&&(h.push({from:g,to:a.value,len:a.value-g-(a.size||0)}),c+=a.value-g-(a.size||0))});f.breakArray=k.breakArray=h;k.unitLength=q-t-c+D;C(f,"afterBreaks");f.staticScale?f.transA=f.staticScale:k.unitLength&&(f.transA*=(q-f.min+
  42. D)/k.unitLength);D&&(f.minPixelPadding=f.transA*f.minPointOffset);f.min=t;f.max=q}});b(l,!0)&&f.chart.redraw()};return m}();n=function(){function z(){}z.compose=function(z,e){z.keepProps.push("brokenAxis");var k=m.prototype;k.drawBreaks=function(f,a){var h=this,d=h.points,r,c,A,t;if(f&&f.brokenAxis&&f.brokenAxis.hasBreaks){var k=f.brokenAxis;a.forEach(function(a){r=k&&k.breakArray||[];c=f.isXAxis?f.min:b(h.options.threshold,f.min);d.forEach(function(d){t=b(d["stack"+a.toUpperCase()],d[a]);r.forEach(function(a){if(l(c)&&
  43. l(t)){A=!1;if(c<a.from&&t>a.to||c>a.from&&t<a.from)A="pointBreak";else if(c<a.from&&t>a.from&&t<a.to||c>a.from&&t>a.to&&t<a.from)A="pointInBreak";A&&C(f,A,{point:d,brk:a})}})})})}};k.gappedPath=function(){var f=this.currentDataGrouping,a=f&&f.gapSize;f=this.options.gapSize;var h=this.points.slice(),d=h.length-1,r=this.yAxis,c;if(f&&0<d)for("value"!==this.options.gapUnit&&(f*=this.basePointRange),a&&a>f&&a>=this.basePointRange&&(f=a),c=void 0;d--;)c&&!1!==c.visible||(c=h[d+1]),a=h[d],!1!==c.visible&&
  44. !1!==a.visible&&(c.x-a.x>f&&(c=(a.x+c.x)/2,h.splice(d+1,0,{isNull:!0,x:c}),r.stacking&&this.options.stacking&&(c=r.stacking.stacks[this.stackKey][c]=new x(r,r.options.stackLabels,!1,c,this.stack),c.total=0)),c=a);return this.getGraphPath(h)};w(z,"init",function(){this.brokenAxis||(this.brokenAxis=new q(this))});w(z,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});w(z,"afterSetTickPositions",function(){var f=this.brokenAxis;if(f&&f.hasBreaks){var a=
  45. this.tickPositions,h=this.tickPositions.info,d=[],r;for(r=0;r<a.length;r++)f.isInAnyBreak(a[r])||d.push(a[r]);this.tickPositions=d;this.tickPositions.info=h}});w(z,"afterSetOptions",function(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)});w(e,"afterGeneratePoints",function(){var f=this.options.connectNulls,a=this.points,h=this.xAxis,d=this.yAxis;if(this.isDirty)for(var r=a.length;r--;){var c=a[r],b=!(null===c.y&&!1===f)&&(h&&h.brokenAxis&&h.brokenAxis.isInAnyBreak(c.x,!0)||
  46. d&&d.brokenAxis&&d.brokenAxis.isInAnyBreak(c.y,!0));c.visible=b?!1:!1!==c.options.visible}});w(e,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,b(this.pointArrayMap,["y"]))})};return z}();n.compose(e,m);return n});J(e,"Core/Axis/TreeGridAxis.js",[e["Core/Axis/Axis.js"],e["Core/Axis/Tick.js"],e["Gantt/Tree.js"],e["Core/Axis/TreeGridTick.js"],e["Mixins/TreeSeries.js"],e["Core/Utilities.js"]],function(e,n,v,x,w,y){var C=w.getLevelOptions,u=y.addEvent,l=y.find,b=
  47. y.fireEvent,m=y.isNumber,q=y.isObject,z=y.isString,F=y.merge,G=y.pick,k=y.wrap,f;(function(a){function h(a,g){var p=a.collapseStart||0;a=a.collapseEnd||0;a>=g&&(p-=.5);return{from:p,to:a,showPoints:!1}}function d(a,g,p){var c=[],d=[],t={},h={},f=-1,r="boolean"===typeof g?g:!1;a=v.getTree(a,{after:function(a){a=h[a.pos];var g=0,c=0;a.children.forEach(function(a){c+=(a.descendants||0)+1;g=Math.max((a.height||0)+1,g)});a.descendants=c;a.height=g;a.collapsed&&d.push(a)},before:function(a){var g=q(a.data,
  48. !0)?a.data:{},p=z(g.name)?g.name:"",d=t[a.parent];d=q(d,!0)?h[d.pos]:null;var H=function(a){return a.name===p},b;r&&q(d,!0)&&(b=l(d.children,H))?(H=b.pos,b.nodes.push(a)):H=f++;h[H]||(h[H]=b={depth:d?d.depth+1:0,name:p,nodes:[a],children:[],pos:H},-1!==H&&c.push(p),q(d,!0)&&d.children.push(b));z(a.id)&&(t[a.id]=a);b&&!0===g.collapsed&&(b.collapsed=!0);a.pos=H}});h=function(a,g){var c=function(a,p,d){var h=p+(-1===p?0:g-1),t=(h-p)/2,H=p+t;a.nodes.forEach(function(a){var g=a.data;q(g,!0)&&(g.y=p+(g.seriesIndex||
  49. 0),delete g.seriesIndex);a.pos=H});d[H]=a;a.pos=H;a.tickmarkOffset=t+.5;a.collapseStart=h+.5;a.children.forEach(function(a){c(a,h+1,d);h=(a.collapseEnd||0)-.5});a.collapseEnd=h+.5;return d};return c(a["-1"],-1,{})}(h,p);return{categories:c,mapOfIdToNode:t,mapOfPosToGridNode:h,collapsedNodes:d,tree:a}}function f(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(g){var p=g.options||{},c=p.labels,h=p.uniqueNames,t=0,f=p.max;if(!g.treeGrid.mapOfPosToGridNode||g.series.some(function(a){return!a.hasRendered||
  50. a.isDirtyData||a.isDirty})){p=g.series.reduce(function(a,g){g.visible&&((g.options.data||[]).forEach(function(g){q(g,!0)&&(g.seriesIndex=t,a.push(g))}),!0===h&&t++);return a},[]);if(f&&p.length<f)for(var r=p.length;r<=f;r++)p.push({name:r+"\u200b"});p=d(p,h||!1,!0===h?t:1);g.categories=p.categories;g.treeGrid.mapOfPosToGridNode=p.mapOfPosToGridNode;g.hasNames=!0;g.treeGrid.tree=p.tree;g.series.forEach(function(a){var g=(a.options.data||[]).map(function(a){return q(a,!0)?F(a):a});a.visible&&a.setData(g,
  51. !1)});g.treeGrid.mapOptionsToLevel=C({defaults:c,from:1,levels:c&&c.levels,to:g.treeGrid.tree&&g.treeGrid.tree.height});"beforeRender"===a.type&&(g.treeGrid.collapsedNodes=p.collapsedNodes)}})}function c(a,g){var c=this.treeGrid.mapOptionsToLevel||{},d=this.ticks,h=d[g],t;if("treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode){var f=this.treeGrid.mapOfPosToGridNode[g];(c=c[f.depth])&&(t={labels:c});h?(h.parameters.category=f.name,h.options=t,h.addLabel()):d[g]=new n(this,g,void 0,void 0,
  52. {category:f.name,tickmarkOffset:f.tickmarkOffset,options:t})}else a.apply(this,Array.prototype.slice.call(arguments,1))}function A(a){var g=this.options;g=(g=g&&g.labels)&&m(g.indentation)?g.indentation:0;var c=a.apply(this,Array.prototype.slice.call(arguments,1));if("treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode){var d=this.treeGrid.mapOfPosToGridNode[-1].height||0;c.width+=g*(d-1)}return c}function t(a,g,c){var p=this,h="treegrid"===c.type;p.treeGrid||(p.treeGrid=new B(p));h&&
  53. (u(g,"beforeRender",f),u(g,"beforeRedraw",f),u(g,"addSeries",function(a){a.options.data&&(a=d(a.options.data,c.uniqueNames||!1,1),p.treeGrid.collapsedNodes=(p.treeGrid.collapsedNodes||[]).concat(a.collapsedNodes))}),u(p,"foundExtremes",function(){p.treeGrid.collapsedNodes&&p.treeGrid.collapsedNodes.forEach(function(a){var g=p.treeGrid.collapse(a);p.brokenAxis&&(p.brokenAxis.setBreaks(g,!1),p.treeGrid.collapsedNodes&&(p.treeGrid.collapsedNodes=p.treeGrid.collapsedNodes.filter(function(g){return a.collapseStart!==
  54. g.collapseStart||a.collapseEnd!==g.collapseEnd})))})}),u(p,"afterBreaks",function(){var a;"yAxis"===p.coll&&!p.staticScale&&(null===(a=p.chart.options.chart)||void 0===a?0:a.height)&&(p.isDirty=!0)}),c=F({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},c,{reversed:!0,grid:{columns:void 0}}));a.apply(p,[g,c]);h&&(p.hasNames=!0,p.options.showLastLabel=!0)}function I(a){var g=
  55. this.options;"treegrid"===g.type?(this.min=G(this.userMin,g.min,this.dataMin),this.max=G(this.userMax,g.max,this.dataMax),b(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):a.apply(this,Array.prototype.slice.call(arguments,1))}var D=!1;a.compose=function(a){D||(k(a.prototype,"generateTick",c),k(a.prototype,"getMaxLabelDimensions",A),k(a.prototype,"init",t),k(a.prototype,
  56. "setTickInterval",I),x.compose(n),D=!0)};var B=function(){function a(a){this.axis=a}a.prototype.collapse=function(a){var g=this.axis,c=g.options.breaks||[];a=h(a,g.max);c.push(a);return c};a.prototype.expand=function(a){var g=this.axis,c=g.options.breaks||[],d=h(a,g.max);return c.reduce(function(a,g){g.to===d.to&&g.from===d.from||a.push(g);return a},[])};a.prototype.getTickPositions=function(){var a=this.axis;return Object.keys(a.treeGrid.mapOfPosToGridNode||{}).reduce(function(g,c){c=+c;!(a.min<=
  57. c&&a.max>=c)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(c)||g.push(c);return g},[])};a.prototype.isCollapsed=function(a){var g=this.axis,c=g.options.breaks||[],d=h(a,g.max);return c.some(function(a){return a.from===d.from&&a.to===d.to})};a.prototype.toggleCollapse=function(a){return this.isCollapsed(a)?this.expand(a):this.collapse(a)};return a}();a.Additions=B})(f||(f={}));e.prototype.utils={getNode:v.getNode};f.compose(e);return f});J(e,"Extensions/CurrentDateIndication.js",[e["Core/Globals.js"],e["Core/Options.js"],
  58. e["Core/Utilities.js"],e["Core/Axis/PlotLineOrBand.js"]],function(e,n,v,x){var w=n.dateFormat;n=v.addEvent;var y=v.merge;v=v.wrap;var C={currentDateIndicator:!0,color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(e,l){return w(l,e)},rotation:0,style:{fontSize:"10px"}}};n(e.Axis,"afterSetOptions",function(){var e=this.options,l=e.currentDateIndicator;l&&(l="object"===typeof l?y(C,l):y(C),l.value=new Date,e.plotLines||(e.plotLines=[]),e.plotLines.push(l))});n(x,"render",function(){this.label&&
  59. this.label.attr({text:this.getLabelText(this.options.label)})});v(x.prototype,"getLabelText",function(e,l){var b=this.options;return b.currentDateIndicator&&b.label&&"function"===typeof b.label.formatter?(b.value=new Date,b.label.formatter.call(this,b.value,b.label.format)):e.call(this,l)})});J(e,"Extensions/StaticScale.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,n){var v=n.addEvent,x=n.defined,w=n.isNumber,y=n.pick;n=e.Chart;v(e.Axis,"afterSetOptions",function(){var e=this.chart.options&&
  60. this.chart.options.chart;!this.horiz&&w(this.options.staticScale)&&(!e.height||e.scrollablePlotArea&&e.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)});n.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(e){var n=e.chart,l=!!n.initiatedScale&&n.options.animation,b=e.options.staticScale;if(e.staticScale&&x(e.min)){var m=y(e.brokenAxis&&e.brokenAxis.unitLength,e.max+e.tickInterval-e.min)*b;m=Math.max(m,b);b=m-n.plotHeight;
  61. 1<=Math.abs(b)&&(n.plotHeight=m,n.redrawTrigger="adjustHeight",n.setSize(void 0,n.chartHeight+b,l));e.series.forEach(function(b){(b=b.sharedClipKey&&n[b.sharedClipKey])&&b.attr({height:n.plotHeight})})}}),this.initiatedScale=!0);this.redrawTrigger=null};v(n,"render",n.prototype.adjustHeight)});J(e,"Extensions/ArrowSymbols.js",[e["Core/Renderer/SVG/SVGRenderer.js"]],function(e){e.prototype.symbols.arrow=function(e,v,x,w){return[["M",e,v+w/2],["L",e+x,v],["L",e,v+w/2],["L",e+x,v+w]]};e.prototype.symbols["arrow-half"]=
  62. function(n,v,x,w){return e.prototype.symbols.arrow(n,v,x/2,w)};e.prototype.symbols["triangle-left"]=function(e,v,x,w){return[["M",e+x,v],["L",e,v+w/2],["L",e+x,v+w],["Z"]]};e.prototype.symbols["arrow-filled"]=e.prototype.symbols["triangle-left"];e.prototype.symbols["triangle-left-half"]=function(n,v,x,w){return e.prototype.symbols["triangle-left"](n,v,x/2,w)};e.prototype.symbols["arrow-filled-half"]=e.prototype.symbols["triangle-left-half"]});J(e,"Gantt/Connection.js",[e["Core/Globals.js"],e["Core/Options.js"],
  63. e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(e,n,v,x){function w(b){var m=b.shapeArgs;return m?{xMin:m.x,xMax:m.x+m.width,yMin:m.y,yMax:m.y+m.height}:(m=b.graphic&&b.graphic.getBBox())?{xMin:b.plotX-m.width/2,xMax:b.plotX+m.width/2,yMin:b.plotY-m.height/2,yMax:b.plotY+m.height/2}:null}"";var y=x.defined,C=x.error,u=x.extend,l=x.merge,b=x.objectEach,m=e.deg2rad,q=Math.max,z=Math.min;u(n.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",
  64. inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});n=function(){function e(b,k,f){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0;this.init(b,k,f)}e.prototype.init=function(b,k,f){this.fromPoint=b;this.toPoint=k;this.options=f;this.chart=b.series.chart;this.pathfinder=this.chart.pathfinder};e.prototype.renderPath=function(b,k,f){var a=this.chart,h=a.styledMode,d=a.pathfinder,r=!a.options.chart.forExport&&!1!==f,c=this.graphics&&this.graphics.path;
  65. d.group||(d.group=a.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(a.seriesGroup));d.group.translate(a.plotLeft,a.plotTop);c&&c.renderer||(c=a.renderer.path().add(d.group),h||c.attr({opacity:0}));c.attr(k);b={d:b};h||(b.opacity=1);c[r?"animate":"attr"](b,f);this.graphics=this.graphics||{};this.graphics.path=c};e.prototype.addMarker=function(b,k,f){var a=this.fromPoint.series.chart,h=a.pathfinder;a=a.renderer;var d="start"===b?this.fromPoint:this.toPoint,r=d.getPathfinderAnchorPoint(k);
  66. if(k.enabled&&((f="start"===b?f[1]:f[f.length-2])&&"M"===f[0]||"L"===f[0])){f={x:f[1],y:f[2]};f=d.getRadiansToVector(f,r);r=d.getMarkerVector(f,k.radius,r);f=-f/m;if(k.width&&k.height){var c=k.width;var A=k.height}else c=A=2*k.radius;this.graphics=this.graphics||{};r={x:r.x-c/2,y:r.y-A/2,width:c,height:A,rotation:f,rotationOriginX:r.x,rotationOriginY:r.y};this.graphics[b]?this.graphics[b].animate(r):(this.graphics[b]=a.symbol(k.symbol).addClass("highcharts-point-connecting-path-"+b+"-marker").attr(r).add(h.group),
  67. a.styledMode||this.graphics[b].attr({fill:k.color||this.fromPoint.color,stroke:k.lineColor,"stroke-width":k.lineWidth,opacity:0}).animate({opacity:1},d.series.options.animation))}};e.prototype.getPath=function(b){var k=this.pathfinder,f=this.chart,a=k.algorithms[b.type],h=k.chartObstacles;if("function"!==typeof a)return C('"'+b.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};a.requiresObstacles&&!h&&(h=k.chartObstacles=k.getChartObstacles(b),f.options.connectors.algorithmMargin=b.algorithmMargin,
  68. k.chartObstacleMetrics=k.getObstacleMetrics(h));return a(this.fromPoint.getPathfinderAnchorPoint(b.startMarker),this.toPoint.getPathfinderAnchorPoint(b.endMarker),l({chartObstacles:h,lineObstacles:k.lineObstacles||[],obstacleMetrics:k.chartObstacleMetrics,hardBounds:{xMin:0,xMax:f.plotWidth,yMin:0,yMax:f.plotHeight},obstacleOptions:{margin:b.algorithmMargin},startDirectionX:k.getAlgorithmStartDirection(b.startMarker)},b))};e.prototype.render=function(){var b=this.fromPoint,k=b.series,f=k.chart,a=
  69. f.pathfinder,h=l(f.options.connectors,k.options.connectors,b.options.connectors,this.options),d={};f.styledMode||(d.stroke=h.lineColor||b.color,d["stroke-width"]=h.lineWidth,h.dashStyle&&(d.dashstyle=h.dashStyle));d["class"]="highcharts-point-connecting-path highcharts-color-"+b.colorIndex;h=l(d,h);y(h.marker.radius)||(h.marker.radius=z(q(Math.ceil((h.algorithmMargin||8)/2)-1,1),5));b=this.getPath(h);f=b.path;b.obstacles&&(a.lineObstacles=a.lineObstacles||[],a.lineObstacles=a.lineObstacles.concat(b.obstacles));
  70. this.renderPath(f,d,k.options.animation);this.addMarker("start",l(h.marker,h.startMarker),f);this.addMarker("end",l(h.marker,h.endMarker),f)};e.prototype.destroy=function(){this.graphics&&(b(this.graphics,function(b){b.destroy()}),delete this.graphics)};return e}();e.Connection=n;u(v.prototype,{getPathfinderAnchorPoint:function(b){var m=w(this);switch(b.align){case "right":var k="xMax";break;case "left":k="xMin"}switch(b.verticalAlign){case "top":var f="yMin";break;case "bottom":f="yMax"}return{x:k?
  71. m[k]:(m.xMin+m.xMax)/2,y:f?m[f]:(m.yMin+m.yMax)/2}},getRadiansToVector:function(b,m){var k;y(m)||(k=w(this))&&(m={x:(k.xMin+k.xMax)/2,y:(k.yMin+k.yMax)/2});return Math.atan2(m.y-b.y,b.x-m.x)},getMarkerVector:function(b,m,k){var f=2*Math.PI,a=w(this),h=a.xMax-a.xMin,d=a.yMax-a.yMin,r=Math.atan2(d,h),c=!1;h/=2;var A=d/2,t=a.xMin+h;a=a.yMin+A;for(var e=t,D=a,B={},E=1,g=1;b<-Math.PI;)b+=f;for(;b>Math.PI;)b-=f;f=Math.tan(b);b>-r&&b<=r?(g=-1,c=!0):b>r&&b<=Math.PI-r?g=-1:b>Math.PI-r||b<=-(Math.PI-r)?(E=
  72. -1,c=!0):E=-1;c?(e+=E*h,D+=g*h*f):(e+=d/(2*f)*E,D+=g*A);k.x!==t&&(e=k.x);k.y!==a&&(D=k.y);B.x=e+m*Math.cos(b);B.y=D-m*Math.sin(b);return B}});return n});J(e,"Gantt/PathfinderAlgorithms.js",[e["Core/Utilities.js"]],function(e){function n(b,e,l){l=l||0;var m=b.length-1;e-=1e-7;for(var q,k;l<=m;)if(q=m+l>>1,k=e-b[q].xMin,0<k)l=q+1;else if(0>k)m=q-1;else return q;return 0<l?l-1:0}function v(b,e){for(var m=n(b,e.x+1)+1;m--;){var q;if(q=b[m].xMax>=e.x)q=b[m],q=e.x<=q.xMax&&e.x>=q.xMin&&e.y<=q.yMax&&e.y>=
  73. q.yMin;if(q)return m}return-1}function x(b){var e=[];if(b.length){e.push(["M",b[0].start.x,b[0].start.y]);for(var m=0;m<b.length;++m)e.push(["L",b[m].end.x,b[m].end.y])}return e}function w(b,e){b.yMin=l(b.yMin,e.yMin);b.yMax=u(b.yMax,e.yMax);b.xMin=l(b.xMin,e.xMin);b.xMax=u(b.xMax,e.xMax)}var y=e.extend,C=e.pick,u=Math.min,l=Math.max,b=Math.abs;e=y(function(e,q,l){function m(a,d,b,h,f){a={x:a.x,y:a.y};a[d]=b[h||d]+(f||0);return a}function n(a,d,h){var c=b(d[h]-a[h+"Min"])>b(d[h]-a[h+"Max"]);return m(d,
  74. h,a,h+(c?"Max":"Min"),c?1:-1)}var k=[],f=C(l.startDirectionX,b(q.x-e.x)>b(q.y-e.y))?"x":"y",a=l.chartObstacles,h=v(a,e);l=v(a,q);if(-1<l){var d=a[l];l=n(d,q,f);d={start:l,end:q};var r=l}else r=q;-1<h&&(a=a[h],l=n(a,e,f),k.push({start:e,end:l}),l[f]>=e[f]===l[f]>=r[f]&&(f="y"===f?"x":"y",q=e[f]<q[f],k.push({start:l,end:m(l,f,a,f+(q?"Max":"Min"),q?1:-1)}),f="y"===f?"x":"y"));e=k.length?k[k.length-1].end:e;l=m(e,f,r);k.push({start:e,end:l});f=m(l,"y"===f?"x":"y",r);k.push({start:l,end:f});k.push(d);
  75. return{path:x(k),obstacles:k}},{requiresObstacles:!0});return{fastAvoid:y(function(e,q,z){function m(a,g,c){var p,d=a.x<g.x?1:-1;if(a.x<g.x){var b=a;var h=g}else b=g,h=a;if(a.y<g.y){var f=a;var t=g}else f=g,t=a;for(p=0>d?u(n(B,h.x),B.length-1):0;B[p]&&(0<d&&B[p].xMin<=h.x||0>d&&B[p].xMax>=b.x);){if(B[p].xMin<=h.x&&B[p].xMax>=b.x&&B[p].yMin<=t.y&&B[p].yMax>=f.y)return c?{y:a.y,x:a.x<g.x?B[p].xMin-1:B[p].xMax+1,obstacle:B[p]}:{x:a.x,y:a.y<g.y?B[p].yMin-1:B[p].yMax+1,obstacle:B[p]};p+=d}return g}function y(a,
  76. g,c,d,h){var p=h.soft,f=h.hard,t=d?"x":"y",r={x:g.x,y:g.y},e={x:g.x,y:g.y};h=a[t+"Max"]>=p[t+"Max"];p=a[t+"Min"]<=p[t+"Min"];var k=a[t+"Max"]>=f[t+"Max"];f=a[t+"Min"]<=f[t+"Min"];var A=b(a[t+"Min"]-g[t]),H=b(a[t+"Max"]-g[t]);c=10>b(A-H)?g[t]<c[t]:H<A;e[t]=a[t+"Min"];r[t]=a[t+"Max"];a=m(g,e,d)[t]!==e[t];g=m(g,r,d)[t]!==r[t];c=a?g?c:!0:g?!1:c;c=p?h?c:!0:h?!1:c;return f?k?c:!0:k?!1:c}function k(a,g,c){if(a.x===g.x&&a.y===g.y)return[];var d=c?"x":"y",b=z.obstacleOptions.margin;var p={soft:{xMin:A,xMax:t,
  77. yMin:I,yMax:D},hard:z.hardBounds};var h=v(B,a);if(-1<h){h=B[h];p=y(h,a,g,c,p);w(h,z.hardBounds);var f=c?{y:a.y,x:h[p?"xMax":"xMin"]+(p?1:-1)}:{x:a.x,y:h[p?"yMax":"yMin"]+(p?1:-1)};var e=v(B,f);-1<e&&(e=B[e],w(e,z.hardBounds),f[d]=p?l(h[d+"Max"]-b+1,(e[d+"Min"]+h[d+"Max"])/2):u(h[d+"Min"]+b-1,(e[d+"Max"]+h[d+"Min"])/2),a.x===f.x&&a.y===f.y?(r&&(f[d]=p?l(h[d+"Max"],e[d+"Max"])+1:u(h[d+"Min"],e[d+"Min"])-1),r=!r):r=!1);a=[{start:a,end:f}]}else d=m(a,{x:c?g.x:a.x,y:c?a.y:g.y},c),a=[{start:a,end:{x:d.x,
  78. y:d.y}}],d[c?"x":"y"]!==g[c?"x":"y"]&&(p=y(d.obstacle,d,g,!c,p),w(d.obstacle,z.hardBounds),p={x:c?d.x:d.obstacle[p?"xMax":"xMin"]+(p?1:-1),y:c?d.obstacle[p?"yMax":"yMin"]+(p?1:-1):d.y},c=!c,a=a.concat(k({x:d.x,y:d.y},p,c)));return a=a.concat(k(a[a.length-1].end,g,!c))}function f(a,g,c){var d=u(a.xMax-g.x,g.x-a.xMin)<u(a.yMax-g.y,g.y-a.yMin);c=y(a,g,c,d,{soft:z.hardBounds,hard:z.hardBounds});return d?{y:g.y,x:a[c?"xMax":"xMin"]+(c?1:-1)}:{x:g.x,y:a[c?"yMax":"yMin"]+(c?1:-1)}}var a=C(z.startDirectionX,
  79. b(q.x-e.x)>b(q.y-e.y)),h=a?"x":"y",d=[],r=!1,c=z.obstacleMetrics,A=u(e.x,q.x)-c.maxWidth-10,t=l(e.x,q.x)+c.maxWidth+10,I=u(e.y,q.y)-c.maxHeight-10,D=l(e.y,q.y)+c.maxHeight+10,B=z.chartObstacles;var E=n(B,A);c=n(B,t);B=B.slice(E,c+1);if(-1<(c=v(B,q))){var g=f(B[c],q,e);d.push({end:q,start:g});q=g}for(;-1<(c=v(B,q));)E=0>q[h]-e[h],g={x:q.x,y:q.y},g[h]=B[c][E?h+"Max":h+"Min"]+(E?1:-1),d.push({end:q,start:g}),q=g;e=k(e,q,a);e=e.concat(d.reverse());return{path:x(e),obstacles:e}},{requiresObstacles:!0}),
  80. straight:function(b,e){return{path:[["M",b.x,b.y],["L",e.x,e.y]],obstacles:[{start:b,end:e}]}},simpleConnect:e}});J(e,"Gantt/Pathfinder.js",[e["Gantt/Connection.js"],e["Core/Chart/Chart.js"],e["Core/Globals.js"],e["Core/Options.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"],e["Gantt/PathfinderAlgorithms.js"]],function(e,n,v,x,w,y,C){function u(a){var c=a.shapeArgs;return c?{xMin:c.x,xMax:c.x+c.width,yMin:c.y,yMax:c.y+c.height}:(c=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-c.width/2,xMax:a.plotX+
  81. c.width/2,yMin:a.plotY-c.height/2,yMax:a.plotY+c.height/2}:null}function l(d){for(var c=d.length,b=0,t,f,e=[],r=function(a,g,c){c=k(c,10);var d=a.yMax+c>g.yMin-c&&a.yMin-c<g.yMax+c,b=a.xMax+c>g.xMin-c&&a.xMin-c<g.xMax+c,p=d?a.xMin>g.xMax?a.xMin-g.xMax:g.xMin-a.xMax:Infinity,t=b?a.yMin>g.yMax?a.yMin-g.yMax:g.yMin-a.yMax:Infinity;return b&&d?c?r(a,g,Math.floor(c/2)):Infinity:h(p,t)};b<c;++b)for(t=b+1;t<c;++t)f=r(d[b],d[t]),80>f&&e.push(f);e.push(80);return a(Math.floor(e.sort(function(a,g){return a-
  82. g})[Math.floor(e.length/10)]/2-1),1)}function b(a){if(a.options.pathfinder||a.series.reduce(function(a,d){d.options&&G(!0,d.options.connectors=d.options.connectors||{},d.options.pathfinder);return a||d.options&&d.options.pathfinder},!1))G(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),z('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var m=y.addEvent,q=y.defined,z=y.error,F=y.extend,G=y.merge,k=y.pick,f=y.splat,a=
  83. Math.max,h=Math.min;F(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"}}});var d=function(){function a(a){this.lineObstacles=this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(a)}a.prototype.init=function(a){this.chart=a;this.connections=[];m(a,"redraw",function(){this.pathfinder.update()})};a.prototype.update=
  84. function(a){var c=this.chart,d=this,b=d.connections;d.connections=[];c.series.forEach(function(a){a.visible&&!a.options.isInternal&&a.points.forEach(function(a){var g,b=a.options&&a.options.connect&&f(a.options.connect);a.visible&&!1!==a.isInside&&b&&b.forEach(function(b){g=c.get("string"===typeof b?b:b.to);g instanceof w&&g.series.visible&&g.visible&&!1!==g.isInside&&d.connections.push(new e(a,g,"string"===typeof b?{}:b))})})});for(var h=0,r,k,g=b.length,p=d.connections.length;h<g;++h){k=!1;for(r=
  85. 0;r<p;++r)if(b[h].fromPoint===d.connections[r].fromPoint&&b[h].toPoint===d.connections[r].toPoint){d.connections[r].graphics=b[h].graphics;k=!0;break}k||b[h].destroy()}delete this.chartObstacles;delete this.lineObstacles;d.renderConnections(a)};a.prototype.renderConnections=function(a){a?this.chart.series.forEach(function(a){var c=function(){var c=a.chart.pathfinder;(c&&c.connections||[]).forEach(function(c){c.fromPoint&&c.fromPoint.series===a&&c.render()});a.pathfinderRemoveRenderEvent&&(a.pathfinderRemoveRenderEvent(),
  86. delete a.pathfinderRemoveRenderEvent)};!1===a.options.animation?c():a.pathfinderRemoveRenderEvent=m(a,"afterAnimate",c)}):this.connections.forEach(function(a){a.render()})};a.prototype.getChartObstacles=function(a){for(var c=[],d=this.chart.series,b=k(a.algorithmMargin,0),h,f=0,e=d.length;f<e;++f)if(d[f].visible&&!d[f].options.isInternal)for(var g=0,p=d[f].points.length,r;g<p;++g)r=d[f].points[g],r.visible&&(r=u(r))&&c.push({xMin:r.xMin-b,xMax:r.xMax+b,yMin:r.yMin-b,yMax:r.yMax+b});c=c.sort(function(a,
  87. g){return a.xMin-g.xMin});q(a.algorithmMargin)||(h=a.algorithmMargin=l(c),c.forEach(function(a){a.xMin-=h;a.xMax+=h;a.yMin-=h;a.yMax+=h}));return c};a.prototype.getObstacleMetrics=function(a){for(var c=0,d=0,b,h,f=a.length;f--;)b=a[f].xMax-a[f].xMin,h=a[f].yMax-a[f].yMin,c<b&&(c=b),d<h&&(d=h);return{maxHeight:d,maxWidth:c}};a.prototype.getAlgorithmStartDirection=function(a){var c="top"!==a.verticalAlign&&"bottom"!==a.verticalAlign;return"left"!==a.align&&"right"!==a.align?c?void 0:!1:c?!0:void 0};
  88. return a}();d.prototype.algorithms=C;v.Pathfinder=d;F(w.prototype,{getPathfinderAnchorPoint:function(a){var c=u(this);switch(a.align){case "right":var d="xMax";break;case "left":d="xMin"}switch(a.verticalAlign){case "top":var b="yMin";break;case "bottom":b="yMax"}return{x:d?c[d]:(c.xMin+c.xMax)/2,y:b?c[b]:(c.yMin+c.yMax)/2}},getRadiansToVector:function(a,c){var d;q(c)||(d=u(this))&&(c={x:(d.xMin+d.xMax)/2,y:(d.yMin+d.yMax)/2});return Math.atan2(c.y-a.y,a.x-c.x)},getMarkerVector:function(a,c,d){var b=
  89. 2*Math.PI,h=u(this),f=h.xMax-h.xMin,e=h.yMax-h.yMin,r=Math.atan2(e,f),g=!1;f/=2;var p=e/2,k=h.xMin+f;h=h.yMin+p;for(var m=k,l=h,q={},A=1,n=1;a<-Math.PI;)a+=b;for(;a>Math.PI;)a-=b;b=Math.tan(a);a>-r&&a<=r?(n=-1,g=!0):a>r&&a<=Math.PI-r?n=-1:a>Math.PI-r||a<=-(Math.PI-r)?(A=-1,g=!0):A=-1;g?(m+=A*f,l+=n*f*b):(m+=e/(2*b)*A,l+=n*p);d.x!==k&&(m=d.x);d.y!==h&&(l=d.y);q.x=m+c*Math.cos(a);q.y=l-c*Math.sin(a);return q}});n.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(b(a),this.pathfinder=
  90. new d(this),this.pathfinder.update(!0))});return d});J(e,"Series/XRangeSeries.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Color.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(e,n,v,x,w){var y=v.parse;v=w.addEvent;var C=w.clamp,u=w.correctFloat,l=w.defined,b=w.find,m=w.isNumber,q=w.isObject,z=w.merge,F=w.pick;w=w.seriesType;var G=n.seriesTypes.column,k=n.seriesTypes,f=n.Series;w("xrange","column",{colorByPoint:!0,dataLabels:{formatter:function(){var a=this.point.partialFill;
  91. q(a)&&(a=a.amount);if(m(a)&&0<a)return u(100*a)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'<span style="font-size: 10px">{point.x} - {point.x2}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.yCategory}</b><br/>'},borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:k.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:n.noop,buildKDTree:n.noop,init:function(){k.column.prototype.init.apply(this,
  92. arguments);this.options.stacking=void 0},getColumnMetrics:function(){function a(){b.series.forEach(function(a){var c=a.xAxis;a.xAxis=a.yAxis;a.yAxis=c})}var b=this.chart;a();var d=G.prototype.getColumnMetrics.call(this);a();return d},cropData:function(a,b,d,e){b=f.prototype.cropData.call(this,this.x2Data,b,d,e);b.xData=a.slice(b.start,b.end);return b},findPointIndex:function(a){var h=this.cropped,d=this.cropStart,f=this.points,c=a.id;if(c)var e=(e=b(f,function(a){return a.id===c}))?e.index:void 0;
  93. "undefined"===typeof e&&(e=(e=b(f,function(c){return c.x===a.x&&c.x2===a.x2&&!c.touched}))?e.index:void 0);h&&m(e)&&m(d)&&e>=d&&(e-=d);return e},translatePoint:function(a){var b=this.xAxis,d=this.yAxis,f=this.columnMetrics,c=this.options,e=c.minPointLength||0,t=a.plotX,k=F(a.x2,a.x+(a.len||0)),D=b.translate(k,0,0,0,1);k=Math.abs(D-t);var B=this.chart.inverted,E=F(c.borderWidth,1)%2/2,g=f.offset,p=Math.round(f.width);e&&(e-=k,0>e&&(e=0),t-=e/2,D+=e/2);t=Math.max(t,-10);D=C(D,-10,b.len+10);l(a.options.pointWidth)&&
  94. (g-=(Math.ceil(a.options.pointWidth)-p)/2,p=Math.ceil(a.options.pointWidth));c.pointPlacement&&m(a.plotY)&&d.categories&&(a.plotY=d.translate(a.y,0,1,0,1,c.pointPlacement));a.shapeArgs={x:Math.floor(Math.min(t,D))+E,y:Math.floor(a.plotY+g)+E,width:Math.round(Math.abs(D-t)),height:p,r:this.options.borderRadius};c=a.shapeArgs.x;e=c+a.shapeArgs.width;0>c||e>b.len?(c=C(c,0,b.len),e=C(e,0,b.len),D=e-c,a.dlBox=z(a.shapeArgs,{x:c,width:e-c,centerX:D?D/2:null})):a.dlBox=null;c=a.tooltipPos;e=B?1:0;D=B?0:
  95. 1;f=this.columnMetrics?this.columnMetrics.offset:-f.width/2;c[e]=C(c[e]+k/2*(b.reversed?-1:1)*(B?-1:1),0,b.len-1);c[D]=C(c[D]+(B?-1:1)*f,0,d.len-1);if(f=a.partialFill)q(f)&&(f=f.amount),m(f)||(f=0),d=a.shapeArgs,a.partShapeArgs={x:d.x,y:d.y,width:d.width,height:d.height,r:this.options.borderRadius},t=Math.max(Math.round(k*f+a.plotX-t),0),a.clipRectArgs={x:b.reversed?d.x+k-t:d.x,y:d.y,width:t,height:d.height}},translate:function(){G.prototype.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},
  96. this)},drawPoint:function(a,b){var d=this.options,f=this.chart.renderer,c=a.graphic,h=a.shapeType,e=a.shapeArgs,k=a.partShapeArgs,m=a.clipRectArgs,l=a.partialFill,E=d.stacking&&!d.borderRadius,g=a.state,p=d.states[g||"normal"]||{},H="undefined"===typeof g?"attr":b;g=this.pointAttribs(a,g);p=F(this.chart.options.chart.animation,p.animation);if(a.isNull||!1===a.visible)c&&(a.graphic=c.destroy());else{if(c)c.rect[b](e);else a.graphic=c=f.g("point").addClass(a.getClassName()).add(a.group||this.group),
  97. c.rect=f[h](z(e)).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(c);k&&(c.partRect?(c.partRect[b](z(k)),c.partialClipRect[b](z(m))):(c.partialClipRect=f.clipRect(m.x,m.y,m.width,m.height),c.partRect=f[h](k).addClass("highcharts-partfill-overlay").add(c).clip(c.partialClipRect)));this.chart.styledMode||(c.rect[b](g,p).shadow(d.shadow,null,E),k&&(q(l)||(l={}),q(d.partialFill)&&(l=z(l,d.partialFill)),a=l.fill||y(g.fill).brighten(-.3).get()||y(a.color||this.color).brighten(-.3).get(),
  98. g.fill=a,c.partRect[H](g,p).shadow(d.shadow,null,E)))}},drawPoints:function(){var a=this,b=a.getAnimationVerb();a.points.forEach(function(d){a.drawPoint(d,b)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{resolveColor:function(){var a=this.series;if(a.options.colorByPoint&&!this.options.color){var b=a.options.colors||a.chart.options.colors;var d=this.y%(b?b.length:a.chart.options.chart.colorCount);b=b&&b[d];a.chart.styledMode||(this.color=
  99. b);this.options.colorIndex||(this.colorIndex=d)}else this.color||(this.color=a.color)},init:function(){x.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){x.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var a=x.prototype.getLabelConfig.call(this),b=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=b&&b[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===
  100. typeof this.x&&"number"===typeof this.x2}});v(e,"afterGetSeriesExtremes",function(){var a=this.series,b;if(this.isXAxis){var d=F(this.dataMax,-Number.MAX_VALUE);a.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>d&&(d=a,b=!0)})});b&&(this.dataMax=d)}});""});J(e,"Series/GanttSeries.js",[e["Core/Globals.js"],e["Core/Options.js"],e["Core/Utilities.js"]],function(e,n,v){var x=n.dateFormat,w=v.isNumber,y=v.merge,C=v.pick;n=v.seriesType;var u=v.splat,l=e.seriesTypes.xrange;n("gantt","xrange",
  101. {grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'<span style="font-size: 10px">{series.name}</span><br/>',pointFormat:null,pointFormatter:function(){var b=this.series,e=b.chart.tooltip,l=b.xAxis,n=b.tooltipOptions.dateTimeLabelFormats,w=l.options.startOfWeek,v=b.tooltipOptions,k=v.xDateFormat;b=this.options.milestone;var f="<b>"+(this.name||this.yCategory)+"</b>";if(v.pointFormat)return this.tooltipFormatter(v.pointFormat);k||(k=u(e.getDateFormat(l.closestPointRange,this.start,w,n))[0]);
  102. e=x(k,this.start);l=x(k,this.end);f+="<br/>";return b?f+(e+"<br/>"):f+("Start: "+e+"<br/>End: ")+(l+"<br/>")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{pointArrayMap:["start","end","y"],keyboardMoveVertical:!1,translatePoint:function(b){l.prototype.translatePoint.call(this,b);if(b.options.milestone){var e=b.shapeArgs;var q=e.height;b.shapeArgs={x:e.x-q/2,y:e.y,width:q,
  103. height:q}}},drawPoint:function(b,e){var m=this.options,n=this.chart.renderer,u=b.shapeArgs,v=b.plotY,k=b.graphic,f=b.selected&&"select",a=m.stacking&&!m.borderRadius;if(b.options.milestone)if(w(v)&&null!==b.y&&!1!==b.visible){u=n.symbols.diamond(u.x,u.y,u.width,u.height);if(k)k[e]({d:u});else b.graphic=n.path(u).addClass(b.getClassName(),!0).add(b.group||this.group);this.chart.styledMode||b.graphic.attr(this.pointAttribs(b,f)).shadow(m.shadow,null,a)}else k&&(b.graphic=k.destroy());else l.prototype.drawPoint.call(this,
  104. b,e)},setData:e.Series.prototype.setData,setGanttPointAliases:function(b){function e(e,l){"undefined"!==typeof l&&(b[e]=l)}e("x",C(b.start,b.x));e("x2",C(b.end,b.x2));e("partialFill",C(b.completed,b.partialFill));e("connect",C(b.dependency,b.connect))}},y(l.prototype.pointClass.prototype,{applyOptions:function(b,m){b=y(b);e.seriesTypes.gantt.prototype.setGanttPointAliases(b);return b=l.prototype.pointClass.prototype.applyOptions.call(this,b,m)},isValid:function(){return("number"===typeof this.start||
  105. "number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)}}));""});J(e,"Core/Chart/GanttChart.js",[e["Core/Chart/Chart.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,n,v){var x=v.getOptions,w=v.isArray,y=v.merge,C=v.splat;n.ganttChart=function(u,l,b){var m="string"===typeof u||u.nodeName,q=l.series,z=x(),v,G=l;l=arguments[m?1:0];w(l.xAxis)||(l.xAxis=[l.xAxis||{},{}]);l.xAxis=l.xAxis.map(function(b,f){1===f&&(v=0);return y(z.xAxis,{grid:{enabled:!0},
  106. opposite:!0,linkedTo:v},b,{type:"datetime"})});l.yAxis=C(l.yAxis||{}).map(function(b){return y(z.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:b.categories?b.type:"treegrid"},b)});l.series=null;l=y(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"}}},l,{isGantt:!0});l.series=G.series=q;(l.series||[]).forEach(function(b){b.data&&b.data.forEach(function(b){n.seriesTypes.gantt.prototype.setGanttPointAliases(b)})});return m?new e(u,l,b):new e(l,
  107. l)}});J(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,n){var v=n.addEvent,x=n.defined,w=n.pick;return function(){function n(){}n.compose=function(n,u){v(n,"afterInit",function(){var l=this;l.options&&l.options.scrollbar&&l.options.scrollbar.enabled&&(l.options.scrollbar.vertical=!l.horiz,l.options.startOnTick=l.options.endOnTick=!1,l.scrollbar=new u(l.chart.renderer,l.options.scrollbar,l.chart),v(l.scrollbar,"changed",function(b){var m=w(l.options&&l.options.min,
  108. l.min),q=w(l.options&&l.options.max,l.max),n=x(l.dataMin)?Math.min(m,l.min,l.dataMin):m,u=(x(l.dataMax)?Math.max(q,l.max,l.dataMax):q)-n;x(m)&&x(q)&&(l.horiz&&!l.reversed||!l.horiz&&l.reversed?(m=n+u*this.to,n+=u*this.from):(m=n+u*(1-this.from),n+=u*(1-this.to)),w(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===b.DOMType||!x(b.DOMType)?l.setExtremes(n,m,!0,"mousemove"!==b.DOMType,b):this.setRange(this.from,this.to))}))});v(n,"afterRender",function(){var e=Math.min(w(this.options.min,
  109. this.min),this.min,w(this.dataMin,this.min)),b=Math.max(w(this.options.max,this.max),this.max,w(this.dataMax,this.max)),m=this.scrollbar,q=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,u=this.options.margin||0;m&&(this.horiz?(this.opposite||(n[1]+=q),m.position(this.left,this.top+this.height+2+n[1]-(this.opposite?u:0),this.width,this.height),this.opposite||(n[1]+=u),q=1):(this.opposite&&(n[0]+=q),m.position(this.left+this.width+2+n[0]-(this.opposite?0:u),this.top,this.width,
  110. this.height),this.opposite&&(n[0]+=u),q=0),n[q]+=m.size+m.options.margin,isNaN(e)||isNaN(b)||!x(this.min)||!x(this.max)||this.min===this.max?m.setRange(0,1):(n=(this.min-e)/(b-e),e=(this.max-e)/(b-e),this.horiz&&!this.reversed||!this.horiz&&this.reversed?m.setRange(n,e):m.setRange(1-e,1-n)))});v(n,"afterGetOffset",function(){var e=this.horiz?2:1,b=this.scrollbar;b&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=b.size+b.options.margin)})};return n}()});J(e,"Core/Scrollbar.js",[e["Core/Axis/Axis.js"],
  111. e["Core/Globals.js"],e["Core/Axis/ScrollbarAxis.js"],e["Core/Utilities.js"],e["Core/Options.js"]],function(e,n,v,x,w){var y=x.addEvent,C=x.correctFloat,u=x.defined,l=x.destroyObjectProperties,b=x.fireEvent,m=x.merge,q=x.pick,z=x.removeEvent;x=w.defaultOptions;var F=n.hasTouch,G=n.isTouchDevice,k=n.swapXY=function(b,a){a&&b.forEach(function(a){for(var b=a.length,e,c=0;c<b;c+=2)e=a[c+1],"number"===typeof e&&(a[c+1]=a[c+2],a[c+2]=e)});return b};w=function(){function e(a,b,d){this._events=[];this.from=
  112. this.chartY=this.chartX=0;this.scrollbar=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={};this.y=this.x=0;this.chart=d;this.options=b;this.renderer=d.renderer;this.init(a,b,d)}e.prototype.addEvents=function(){var a=this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,d=this.scrollbarGroup.element,
  113. e=this.track.element,c=this.mouseDownHandler.bind(this),f=this.mouseMoveHandler.bind(this),t=this.mouseUpHandler.bind(this);a=[[b[a[0]].element,"click",this.buttonToMinClick.bind(this)],[b[a[1]].element,"click",this.buttonToMaxClick.bind(this)],[e,"click",this.trackClick.bind(this)],[d,"mousedown",c],[d.ownerDocument,"mousemove",f],[d.ownerDocument,"mouseup",t]];F&&a.push([d,"touchstart",c],[d.ownerDocument,"touchmove",f],[d.ownerDocument,"touchend",t]);a.forEach(function(a){y.apply(null,a)});this._events=
  114. a};e.prototype.buttonToMaxClick=function(a){var e=(this.to-this.from)*q(this.options.step,.2);this.updatePosition(this.from+e,this.to+e);b(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};e.prototype.buttonToMinClick=function(a){var e=C(this.to-this.from)*q(this.options.step,.2);this.updatePosition(C(this.from-e),C(this.to-e));b(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};e.prototype.cursorToScrollbarPosition=function(a){var b=this.options;
  115. b=b.minWidth>this.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)}};e.prototype.destroy=function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,l(a.scrollbarButtons))};e.prototype.drawScrollbarButton=function(a){var b=
  116. this.renderer,d=this.scrollbarButtons,e=this.options,c=this.size;var f=b.g().add(this.group);d.push(f);f=b.rect().addClass("highcharts-scrollbar-button").add(f);this.chart.styledMode||f.attr({stroke:e.buttonBorderColor,"stroke-width":e.buttonBorderWidth,fill:e.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:c+1,height:c+1,r:e.buttonBorderRadius},f.strokeWidth()));f=b.path(k([["M",c/2+(a?-1:1),c/2-3],["L",c/2+(a?-1:1),c/2+3],["L",c/2+(a?2:-2),c/2]],e.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]);
  117. this.chart.styledMode||f.attr({fill:e.buttonArrowColor})};e.prototype.init=function(a,b,d){this.scrollbarButtons=[];this.renderer=a;this.userOptions=b;this.options=m(e.defaultOptions,b);this.chart=d;this.size=q(this.options.size,this.options.height);b.enabled&&(this.render(),this.addEvents())};e.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=
  118. !0};e.prototype.mouseMoveHandler=function(a){var e=this.chart.pointer.normalize(a),d=this.options.vertical?"chartY":"chartX",f=this.initPositions||[];!this.grabbedCenter||a.touches&&0===a.touches[0][d]||(e=this.cursorToScrollbarPosition(e)[d],d=this[d],d=e-d,this.hasDragged=!0,this.updatePosition(f[0]+d,f[1]+d),this.hasDragged&&b(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};e.prototype.mouseUpHandler=function(a){this.hasDragged&&b(this,"changed",{from:this.from,
  119. to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};e.prototype.position=function(a,b,d,e){var c=this.options.vertical,f=0,h=this.rendered?"animate":"attr";this.x=a;this.y=b+this.trackBorderWidth;this.width=d;this.xOffset=this.height=e;this.yOffset=f;c?(this.width=this.yOffset=d=f=this.size,this.xOffset=b=0,this.barWidth=e-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=e=b=this.size,this.barWidth=d-2*e,this.y+=this.options.margin);
  120. this.group[h]({translateX:a,translateY:this.y});this.track[h]({width:d,height:e});this.scrollbarButtons[1][h]({translateX:c?0:d-b,translateY:c?e-f:0})};e.prototype.removeEvents=function(){this._events.forEach(function(a){z.apply(null,a)});this._events.length=0};e.prototype.render=function(){var a=this.renderer,b=this.options,d=this.size,e=this.chart.styledMode,c;this.group=c=a.g("scrollbar").attr({zIndex:b.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,
  121. r:b.trackBorderRadius||0,height:d,width:d}).add(c);e||this.track.attr({fill:b.trackBackgroundColor,stroke:b.trackBorderColor,"stroke-width":b.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(c);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(k([["M",-3,d/4],["L",-3,2*d/3],["M",0,d/4],["L",
  122. 0,2*d/3],["M",3,d/4],["L",3,2*d/3]],b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);e||(this.scrollbar.attr({fill:b.barBackgroundColor,stroke:b.barBorderColor,"stroke-width":b.barBorderWidth}),this.scrollbarRifles.attr({stroke:b.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)};e.prototype.setRange=
  123. function(a,b){var d=this.options,e=d.vertical,c=d.minWidth,f=this.barWidth,h,k=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(u(f)){a=Math.max(a,0);var m=Math.ceil(f*a);this.calculatedWidth=h=C(f*Math.min(b,1)-m);h<c&&(m=(f-c+h)*a,h=c);c=Math.floor(m+this.xOffset+this.yOffset);f=h/2-.5;this.from=a;this.to=b;e?(this.scrollbarGroup[k]({translateY:c}),this.scrollbar[k]({height:h}),this.scrollbarRifles[k]({translateY:f}),this.scrollbarTop=c,
  124. this.scrollbarLeft=0):(this.scrollbarGroup[k]({translateX:c}),this.scrollbar[k]({width:h}),this.scrollbarRifles[k]({translateX:f}),this.scrollbarLeft=c,this.scrollbarTop=0);12>=h?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0);!1===d.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show());this.rendered=!0}};e.prototype.trackClick=function(a){var e=this.chart.pointer.normalize(a),d=this.to-this.from,f=this.y+this.scrollbarTop,c=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>
  125. f||!this.options.vertical&&e.chartX>c?this.updatePosition(this.from+d,this.to+d):this.updatePosition(this.from-d,this.to-d);b(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};e.prototype.update=function(a){this.destroy();this.init(this.chart.renderer,m(!0,this.options,a),this.chart)};e.prototype.updatePosition=function(a,b){1<b&&(a=C(1-C(b-a)),b=1);0>a&&(b=C(b-a),a=0);this.from=a;this.to=b};e.defaultOptions={height:G?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,
  126. margin:10,minWidth:6,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};return e}();n.Scrollbar||(x.scrollbar=m(!0,w.defaultOptions,x.scrollbar),n.Scrollbar=w,v.compose(e,w));return n.Scrollbar});J(e,"Extensions/RangeSelector.js",[e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],
  127. e["Core/Globals.js"],e["Core/Options.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(e,n,v,x,w,y){var C=x.defaultOptions,u=y.addEvent,l=y.createElement,b=y.css,m=y.defined,q=y.destroyObjectProperties,z=y.discardElement,F=y.extend,G=y.fireEvent,k=y.isNumber,f=y.merge,a=y.objectEach,h=y.pick,d=y.pInt,r=y.splat;F(C,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},
  128. buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});C.lang=f(C.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});var c=function(){function c(a){this.buttons=void 0;this.buttonOptions=c.prototype.defaultButtons;this.options=void 0;this.chart=a;this.init(a)}c.prototype.clickButton=function(a,b){var c=this.chart,d=this.buttonOptions[a],f=c.xAxis[0],g=c.scroller&&c.scroller.getUnionExtremes()||f||{},p=g.dataMin,t=g.dataMax,l=f&&Math.round(Math.min(f.max,
  129. h(t,f.max))),q=d.type;g=d._range;var n,v=d.dataGrouping;if(null!==p&&null!==t){c.fixedRange=g;v&&(this.forcedDataGrouping=!0,e.prototype.setDataGrouping.call(f||{chart:this.chart},v,!1),this.frozenStates=d.preserveDataGrouping);if("month"===q||"year"===q)if(f){q={range:d,max:l,chart:c,dataMin:p,dataMax:t};var M=f.minFromRange.call(q);k(q.newMax)&&(l=q.newMax)}else g=d;else if(g)M=Math.max(l-g,p),l=Math.min(M+g,t);else if("ytd"===q)if(f)"undefined"===typeof t&&(p=Number.MAX_VALUE,t=Number.MIN_VALUE,
  130. c.series.forEach(function(a){a=a.xData;p=Math.min(a[0],p);t=Math.max(a[a.length-1],t)}),b=!1),l=this.getYTDExtremes(t,p,c.time.useUTC),M=n=l.min,l=l.max;else{this.deferredYTDClick=a;return}else"all"===q&&f&&(M=p,l=t);m(M)&&(M+=d._offsetMin);m(l)&&(l+=d._offsetMax);this.setSelected(a);if(f)f.setExtremes(M,l,h(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:d});else{var I=r(c.options.xAxis)[0];var A=I.range;I.range=g;var w=I.min;I.min=n;u(c,"load",function(){I.range=A;I.min=w})}}};c.prototype.setSelected=
  131. function(a){this.selected=this.options.selected=a};c.prototype.init=function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||b.defaultButtons.slice(),e=c.selected,g=function(){var a=b.minInput,g=b.maxInput;a&&a.blur&&G(a,"blur");g&&g.blur&&G(g,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=d;this.unMouseDown=u(a.container,"mousedown",g);this.unResize=u(a,"resize",g);d.forEach(b.computeButtonRange);"undefined"!==typeof e&&d[e]&&this.clickButton(e,!1);u(a,"load",function(){a.xAxis&&
  132. a.xAxis[0]&&u(a.xAxis[0],"setExtremes",function(g){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==g.trigger&&"updatedData"!==g.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})})};c.prototype.updateButtonStates=function(){var a=this,b=this.chart,c=b.xAxis[0],d=Math.round(c.max-c.min),e=!c.hasVisibleSeries,g=b.scroller&&b.scroller.getUnionExtremes()||c,f=g.dataMin,h=g.dataMax;b=a.getYTDExtremes(h,f,b.time.useUTC);var l=b.min,m=b.max,r=a.selected,q=k(r),n=a.options.allButtonsEnabled,
  133. u=a.buttons;a.buttonOptions.forEach(function(b,g){var p=b._range,k=b.type,t=b.count||1,H=u[g],E=0,D=b._offsetMax-b._offsetMin;b=g===r;var B=p>h-f,L=p<c.minRange,K=!1,v=!1;p=p===d;("month"===k||"year"===k)&&d+36E5>=864E5*{month:28,year:365}[k]*t-D&&d-36E5<=864E5*{month:31,year:366}[k]*t+D?p=!0:"ytd"===k?(p=m-l+D===d,K=!b):"all"===k&&(p=c.max-c.min>=h-f,v=!b&&q&&p);k=!n&&(B||L||v||e);t=b&&p||p&&!q&&!K||b&&a.frozenStates;k?E=3:t&&(q=!0,E=2);H.state!==E&&(H.setState(E),0===E&&r===g&&a.setSelected(null))})};
  134. c.prototype.computeButtonRange=function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c;a._offsetMin=h(a.offsetMin,0);a._offsetMax=h(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};c.prototype.setInputValue=function(a,b){var c=this.chart.options.rangeSelector,d=this.chart.time,e=this[a+"Input"];m(b)&&(e.previousValue=e.HCTime,e.HCTime=b);e.value=
  135. d.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",e.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(c.inputDateFormat||"%b %e, %Y",e.HCTime)})};c.prototype.showInput=function(a){var c=this.inputGroup,d=this[a+"DateBox"];b(this[a+"Input"],{left:c.translateX+d.x+"px",top:c.translateY+"px",width:d.width-2+"px",height:d.height-2+"px",border:"2px solid silver"})};c.prototype.hideInput=function(a){b(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)};c.prototype.defaultInputDateParser=
  136. function(a,b){var c=new Date;return v.isSafari?Date.parse(a.split(" ").join("T")):b?Date.parse(a+"Z"):Date.parse(a)-6E4*c.getTimezoneOffset()};c.prototype.drawInput=function(a){function c(){var a=q.value,b=h.xAxis[0];var g=h.scroller&&h.scroller.xAxis?h.scroller.xAxis:b;var c=g.dataMin,f=g.dataMax;g=(p.inputDateParser||M)(a,h.time.useUTC);g!==q.previousValue&&(q.previousValue=g,k(g)||(g=a.split("-"),g=Date.UTC(d(g[0]),d(g[1])-1,d(g[2]))),k(g)&&(h.time.useUTC||(g+=6E4*(new Date).getTimezoneOffset()),
  137. r?g>e.maxInput.HCTime?g=void 0:g<c&&(g=c):g<e.minInput.HCTime?g=void 0:g>f&&(g=f),"undefined"!==typeof g&&b.setExtremes(r?g:b.min,r?b.max:g,void 0,void 0,{trigger:"rangeSelectorInput"})))}var e=this,h=e.chart,t=h.renderer.style||{},g=h.renderer,p=h.options.rangeSelector,m=e.div,r="min"===a,q,n,u=this.inputGroup,M=this.defaultInputDateParser;this[a+"Label"]=n=g.label(C.lang[r?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(u);
  138. u.offset+=n.width+5;this[a+"DateBox"]=g=g.label("",u.offset).addClass("highcharts-range-input").attr({padding:2,width:p.inputBoxWidth||90,height:p.inputBoxHeight||17,"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()});h.styledMode||g.attr({stroke:p.inputBoxBorderColor||"#cccccc","stroke-width":1});g.add(u);u.offset+=g.width+(r?10:0);this[a+"Input"]=q=l("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:h.plotTop+"px"},m);h.styledMode||(n.css(f(t,
  139. p.labelStyle)),g.css(f({color:"#333333"},t,p.inputStyle)),b(q,F({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:t.fontSize,fontFamily:t.fontFamily,top:"-9999em"},p.inputStyle)));q.onfocus=function(){e.showInput(a)};q.onblur=function(){q===v.doc.activeElement&&c();e.hideInput(a);q.blur()};q.onchange=c;q.onkeypress=function(a){13===a.keyCode&&c()}};c.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-
  140. a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};c.prototype.getYTDExtremes=function(a,b,c){var d=this.chart.time,e=new d.Date(a),g=d.get("FullYear",e);c=c?d.Date.UTC(g,0,1):+new d.Date(g,0,1);b=Math.max(b||0,c);e=e.getTime();return{max:Math.min(a||e,e),min:b}};c.prototype.render=function(a,b){var c=this,d=c.chart,e=d.renderer,g=d.container,f=d.options,k=f.exporting&&!1!==f.exporting.enabled&&f.navigation&&f.navigation.buttonOptions,t=C.lang,m=c.div,q=f.rangeSelector,
  141. r=h(f.chart.style&&f.chart.style.zIndex,0)+1;f=q.floating;var n=c.buttons;m=c.inputGroup;var u=q.buttonTheme,v=q.buttonPosition,A=q.inputPosition,w=q.inputEnabled,y=u&&u.states,x=d.plotLeft,z=c.buttonGroup,I,G=c.options.verticalAlign,F=d.legend,J=F&&F.options,Q=v.y,P=A.y,R=d.hasLoaded,S=R?"animate":"attr",O=0,N=0;if(!1!==q.enabled){c.rendered||(c.group=I=e.g("range-selector-group").attr({zIndex:7}).add(),c.buttonGroup=z=e.g("range-selector-buttons").add(I),c.zoomText=e.text(t.rangeSelectorZoom,0,
  142. 15).add(z),d.styledMode||(c.zoomText.css(q.labelStyle),u["stroke-width"]=h(u["stroke-width"],0)),c.buttonOptions.forEach(function(a,b){n[b]=e.button(a.text,0,0,function(g){var d=a.events&&a.events.click,e;d&&(e=d.call(a,g));!1!==e&&c.clickButton(b);c.isActive=!0},u,y&&y.hover,y&&y.select,y&&y.disabled).attr({"text-align":"center"}).add(z)}),!1!==w&&(c.div=m=l("div",null,{position:"relative",height:0,zIndex:r}),g.parentNode.insertBefore(m,g),c.inputGroup=m=e.g("input-group").add(I),m.offset=0,c.drawInput("min"),
  143. c.drawInput("max")));c.zoomText[S]({x:h(x+v.x,x)});var T=h(x+v.x,x)+c.zoomText.getBBox().width+5;c.buttonOptions.forEach(function(a,b){n[b][S]({x:T});T+=n[b].width+h(q.buttonSpacing,5)});x=d.plotLeft-d.spacing[3];c.updateButtonStates();k&&this.titleCollision(d)&&"top"===G&&"right"===v.align&&v.y+z.getBBox().height-12<(k.y||0)+k.height&&(O=-40);g=v.x-d.spacing[3];"right"===v.align?g+=O-x:"center"===v.align&&(g-=x/2);z.align({y:v.y,width:z.getBBox().width,align:v.align,x:g},!0,d.spacingBox);c.group.placed=
  144. R;c.buttonGroup.placed=R;!1!==w&&(O=k&&this.titleCollision(d)&&"top"===G&&"right"===A.align&&A.y-m.getBBox().height-12<(k.y||0)+k.height+d.spacing[0]?-40:0,"left"===A.align?g=x:"right"===A.align&&(g=-Math.max(d.axisOffset[1],-O)),m.align({y:A.y,width:m.getBBox().width,align:A.align,x:A.x+g-2},!0,d.spacingBox),k=m.alignAttr.translateX+m.alignOptions.x-O+m.getBBox().x+2,g=m.alignOptions.width,t=z.alignAttr.translateX+z.getBBox().x,x=z.getBBox().width+20,(A.align===v.align||t+x>k&&k+g>t&&Q<P+m.getBBox().height)&&
  145. m.attr({translateX:m.alignAttr.translateX+(d.axisOffset[1]>=-O?0:-O),translateY:m.alignAttr.translateY+z.getBBox().height+10}),c.setInputValue("min",a),c.setInputValue("max",b),c.inputGroup.placed=R);c.group.align({verticalAlign:G},!0,d.spacingBox);a=c.group.getBBox().height+20;b=c.group.alignAttr.translateY;"bottom"===G&&(F=J&&"bottom"===J.verticalAlign&&J.enabled&&!J.floating?F.legendHeight+h(J.margin,10):0,a=a+F-20,N=b-a-(f?0:q.y)-(d.titleOffset?d.titleOffset[2]:0)-10);if("top"===G)f&&(N=0),d.titleOffset&&
  146. d.titleOffset[0]&&(N=d.titleOffset[0]),N+=d.margin[0]-d.spacing[0]||0;else if("middle"===G)if(P===Q)N=0>P?b+void 0:b;else if(P||Q)N=0>P||0>Q?N-Math.min(P,Q):b-a+NaN;c.group.translate(q.x,q.y+Math.floor(N));!1!==w&&(c.minInput.style.marginTop=c.group.translateY+"px",c.maxInput.style.marginTop=c.group.translateY+"px");c.rendered=!0}};c.prototype.getHeight=function(){var a=this.options,b=this.group,c=a.y,d=a.buttonPosition.y,e=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+
  147. c:0;b=Math.min(e,d);if(0>e&&0>d||0<e&&0<d)a+=Math.abs(b);return a};c.prototype.titleCollision=function(a){return!(a.options.title.text||a.options.subtitle.text)};c.prototype.update=function(a){var b=this.chart;f(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()};c.prototype.destroy=function(){var b=this,d=b.minInput,e=b.maxInput;b.unMouseDown();b.unResize();q(b.buttons);d&&(d.onfocus=d.onblur=d.onchange=null);e&&(e.onfocus=e.onblur=e.onchange=null);a(b,function(a,
  148. d){a&&"chart"!==d&&(a instanceof w?a.destroy():a instanceof window.HTMLElement&&z(a));a!==c.prototype[d]&&(b[d]=null)},this)};return c}();c.prototype.defaultButtons=[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}];e.prototype.minFromRange=function(){var a=this.range,b=a.type,c=this.max,d=this.chart.time,e=function(a,c){var g="year"===b?"FullYear":"Month",e=new d.Date(a),
  149. f=d.get(g,e);d.set(g,e,f+c);f===d.get(g,e)&&d.set("Date",e,0);return e.getTime()-a};if(k(a)){var f=c-a;var g=a}else f=c+e(c,-a.count),this.chart&&(this.chart.fixedRange=c-f);var p=h(this.dataMin,Number.MIN_VALUE);k(f)||(f=p);f<=p&&(f=p,"undefined"===typeof g&&(g=e(f,a.count)),this.newMax=Math.min(f+g,this.dataMax));k(c)||(f=void 0);return f};v.RangeSelector||(u(n,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new c(this))}),u(n,"beforeRender",function(){var a=
  150. this.axes,b=this.rangeSelector;b&&(k(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),u(n,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var d=this.extraBottomMargin,e=this.extraTopMargin;b&&b.enabled&&!m(a)&&(this.options.rangeSelector.enabled=
  151. !0,this.rangeSelector=new c(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==d||this.extraTopMargin!==e)&&(this.isDirtyBox=!0)}),u(n,"render",function(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,"bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=
  152. !0))}),u(n,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),n.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();e=a.legend;g=null===d||void 0===d?void 0:d.options.verticalAlign;k(c.min)&&d.render(c.min,c.max);d&&e.display&&"top"===g&&g===e.options.verticalAlign&&(h=f(a.spacingBox),h.y="vertical"===e.options.layout?a.plotTop:h.y+d.getHeight(),e.group.placed=!1,e.align(h))}
  153. var c,d=a.rangeSelector,e,h,g;if(d){var p=u(a.xAxis[0],"afterSetExtremes",function(a){d.render(a.min,a.max)});var m=u(a,"redraw",b);b()}u(a,"destroy",function(){d&&(m(),p())})}),v.RangeSelector=c);return v.RangeSelector});J(e,"Core/Axis/NavigatorAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,n){var v=e.isTouchDevice,x=n.addEvent,w=n.correctFloat,y=n.defined,C=n.isNumber,u=n.pick,l=function(){function b(b){this.axis=b}b.prototype.destroy=function(){this.axis=void 0};b.prototype.toFixedRange=
  154. function(b,e,l,n){var m=this.axis,k=m.chart;k=k&&k.fixedRange;var f=(m.pointRange||0)/2;b=u(l,m.translate(b,!0,!m.horiz));e=u(n,m.translate(e,!0,!m.horiz));m=k&&(e-b)/k;y(l)||(b=w(b+f));y(n)||(e=w(e-f));.7<m&&1.3>m&&(n?b=e-k:e=b+k);C(b)&&C(e)||(b=e=void 0);return{min:b,max:e}};return b}();return function(){function b(){}b.compose=function(b){b.keepProps.push("navigatorAxis");x(b,"init",function(){this.navigatorAxis||(this.navigatorAxis=new l(this))});x(b,"zoom",function(b){var e=this.chart.options,
  155. m=e.navigator,l=this.navigatorAxis,k=e.chart.pinchType,f=e.rangeSelector;e=e.chart.zoomType;this.isXAxis&&(m&&m.enabled||f&&f.enabled)&&("y"===e?b.zoomed=!1:(!v&&"xy"===e||v&&"xy"===k)&&this.options.range&&(m=l.previousZoom,y(b.newMin)?l.previousZoom=[this.min,this.max]:m&&(b.newMin=m[0],b.newMax=m[1],l.previousZoom=void 0)));"undefined"!==typeof b.zoomed&&b.preventDefault()})};b.AdditionsClass=l;return b}()});J(e,"Core/Navigator.js",[e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],e["Core/Color.js"],
  156. e["Core/Globals.js"],e["Core/Axis/NavigatorAxis.js"],e["Core/Options.js"],e["Core/Scrollbar.js"],e["Core/Utilities.js"]],function(e,n,v,x,w,y,C,u){v=v.parse;var l=y.defaultOptions,b=u.addEvent,m=u.clamp,q=u.correctFloat,z=u.defined,F=u.destroyObjectProperties,G=u.erase,k=u.extend,f=u.find,a=u.isArray,h=u.isNumber,d=u.merge,r=u.pick,c=u.removeEvent,A=u.splat,t=x.hasTouch,I=x.isTouchDevice;y=x.Series;var D=function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];b=[].filter.call(b,h);
  157. if(b.length)return Math[a].apply(0,b)};u="undefined"===typeof x.seriesTypes.areaspline?"line":"areaspline";k(l,{navigator:{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:v("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:u,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,
  158. smoothed:!0,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,
  159. labels:{align:"left",style:{color:"#999999"},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}}});x.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,d,e){a=(e&&e.width||0)/2;b=Math.round(a/3)+.5;e=e&&e.height||0;return[["M",-a-1,.5],["L",a,.5],["L",a,e+.5],["L",-a-1,e+.5],["L",-a-1,.5],["M",-b,4],["L",-b,e-3],["M",b-1,
  160. 4],["L",b-1,e-3]]};var B=function(){function n(a){this.zoomedMin=this.zoomedMax=this.yAxis=this.xAxis=this.top=this.size=this.shades=this.rendered=this.range=this.outlineHeight=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.init(a)}n.prototype.drawHandle=function(a,b,c,d){var e=this.navigatorOptions.handles.height;this.handles[b][d](c?{translateX:Math.round(this.left+
  161. this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-e)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-e/2-1)})};n.prototype.drawOutline=function(a,b,c,d){var e=this.navigatorOptions.maskInside,g=this.outline.strokeWidth(),f=g/2,p=g%2/2;g=this.outlineHeight;var h=this.scrollbarHeight||0,k=this.size,m=this.left-h,l=this.top;c?(m-=f,c=l+b+p,b=l+a+p,p=[["M",m+g,l-h-p],["L",m+g,c],["L",m,c],["L",m,b],["L",m+g,b],["L",m+g,l+k+h]],e&&p.push(["M",
  162. m+g,c-f],["L",m+g,b+f])):(a+=m+h-p,b+=m+h-p,l+=f,p=[["M",m,l],["L",a,l],["L",a,l+g],["L",b,l+g],["L",b,l],["L",m+k+2*h,l]],e&&p.push(["M",a-f,l],["L",b+f,l]));this.outline[d]({d:p})};n.prototype.drawMasks=function(a,b,c,d){var e=this.left,g=this.top,f=this.height;if(c){var p=[e,e,e];var h=[g,g+a,g+b];var k=[f,f,f];var m=[a,b-a,this.size-b]}else p=[e,e+a,e+b],h=[g,g,g],k=[a,b-a,this.size-b],m=[f,f,f];this.shades.forEach(function(a,b){a[d]({x:p[b],y:h[b],width:k[b],height:m[b]})})};n.prototype.renderElements=
  163. function(){var a=this,b=a.navigatorOptions,c=b.maskInside,e=a.chart,d=e.renderer,f,h={cursor:e.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=f=d.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!c,c,!c].forEach(function(c,g){a.shades[g]=d.rect().addClass("highcharts-navigator-mask"+(1===g?"-inside":"-outside")).add(f);e.styledMode||a.shades[g].attr({fill:c?b.maskFill:"rgba(0,0,0,0)"}).css(1===g&&h)});a.outline=d.path().addClass("highcharts-navigator-outline").add(f);e.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,
  164. stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(c){b.handles.inverted=e.inverted;a.handles[c]=d.symbol(b.handles.symbols[c],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[c].attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][c]).add(f);if(!e.styledMode){var g=b.handles;a.handles[c].attr({fill:g.backgroundColor,stroke:g.borderColor,"stroke-width":g.lineWidth}).css(h)}})};n.prototype.update=function(a){(this.series||
  165. []).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();d(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)};n.prototype.render=function(a,b,c,e){var d=this.chart,g=this.scrollbarHeight,f,p=this.xAxis,k=p.pointRange||0;var l=p.navigatorAxis.fake?d.xAxis[0]:p;var n=this.navigatorEnabled,t,u=this.rendered;var v=d.inverted;var H=d.xAxis[0].minRange,w=d.xAxis[0].options.maxRange;if(!this.hasDragged||z(c)){a=q(a-k/2);b=q(b+k/2);if(!h(a)||!h(b))if(u)c=
  166. 0,e=r(p.width,l.width);else return;this.left=r(p.left,d.plotLeft+g+(v?d.plotWidth:0));this.size=t=f=r(p.len,(v?d.plotHeight:d.plotWidth)-2*g);d=v?g:f+2*g;c=r(c,p.toPixels(a,!0));e=r(e,p.toPixels(b,!0));h(c)&&Infinity!==Math.abs(c)||(c=0,e=d);a=p.toValue(c,!0);b=p.toValue(e,!0);var x=Math.abs(q(b-a));x<H?this.grabbedLeft?c=p.toPixels(b-H-k,!0):this.grabbedRight&&(e=p.toPixels(a+H+k,!0)):z(w)&&q(x-k)>w&&(this.grabbedLeft?c=p.toPixels(b-w-k,!0):this.grabbedRight&&(e=p.toPixels(a+w+k,!0)));this.zoomedMax=
  167. m(Math.max(c,e),0,t);this.zoomedMin=m(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,e),0,t);this.range=this.zoomedMax-this.zoomedMin;t=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);n&&(this.navigatorGroup.attr({visibility:"visible"}),u=u&&!this.hasDragged?"animate":"attr",this.drawMasks(c,t,v,u),this.drawOutline(c,t,v,u),this.navigatorOptions.handles.enabled&&(this.drawHandle(c,0,v,u),this.drawHandle(t,1,v,u)));this.scrollbar&&(v?(v=this.top-g,l=this.left-g+(n||!l.opposite?0:
  168. (l.titleOffset||0)+l.axisTitleMargin),g=f+2*g):(v=this.top+(n?this.height:-g),l=this.left-g),this.scrollbar.position(l,v,d,g),this.scrollbar.setRange(this.zoomedMin/(f||1),this.zoomedMax/(f||1)));this.rendered=!0}};n.prototype.addMouseEvents=function(){var a=this,c=a.chart,e=c.container,d=[],f,h;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=h=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(b(c.renderTo,"mousemove",f),b(e.ownerDocument,"mouseup",h));t&&(d.push(b(c.renderTo,
  169. "touchmove",f),b(e.ownerDocument,"touchend",h)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(b(a.series[0].xAxis,"foundExtremes",function(){c.navigator.modifyNavigatorAxisExtremes()}))};n.prototype.getPartsEvents=function(a){var c=this,e=[];["shades","handles"].forEach(function(d){c[d].forEach(function(g,f){e.push(b(g.element,a,function(a){c[d+"Mousedown"](a,f)}))})});return e};n.prototype.shadesMousedown=function(a,b){a=this.chart.pointer.normalize(a);
  170. var c=this.chart,e=this.xAxis,d=this.zoomedMin,g=this.left,f=this.size,h=this.range,p=a.chartX;c.inverted&&(p=a.chartY,g=this.top);if(1===b)this.grabbedCenter=p,this.fixedWidth=h,this.dragOffset=p-d;else{a=p-g-h/2;if(0===b)a=Math.max(0,a);else if(2===b&&a+h>=f)if(a=f-h,this.reversedExtremes){a-=h;var k=this.getUnionExtremes().dataMin}else var m=this.getUnionExtremes().dataMax;a!==d&&(this.fixedWidth=h,b=e.navigatorAxis.toFixedRange(a,a+h,k,m),z(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),
  171. Math.max(b.min,b.max),!0,null,{trigger:"navigator"}))}};n.prototype.handlesMousedown=function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);a.fixedRange=null};n.prototype.onMouseMove=function(a){var b=this,c=b.chart,d=b.left,e=b.navigatorSize,g=b.range,f=b.dragOffset,h=c.inverted;
  172. a.touches&&0===a.touches[0].pageX||(a=c.pointer.normalize(a),c=a.chartX,h&&(d=b.top,c=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,c-d,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,c-d)):b.grabbedCenter&&(b.hasDragged=!0,c<f?c=f:c>e+f-g&&(c=e+f-g),b.render(0,0,c-f,c-f+g)),b.hasDragged&&b.scrollbar&&r(b.scrollbar.options.liveRedraw,x.svg&&!I&&!this.chart.isBoosting)&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))};n.prototype.onMouseUp=function(a){var b=
  173. this.chart,c=this.xAxis,d=this.scrollbar,e=a.DOMEvent||a,g=b.inverted,f=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===a.trigger){d=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var k=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&&(k=this.reversedExtremes?d.dataMax:d.dataMin);c=c.navigatorAxis.toFixedRange(this.zoomedMin,
  174. this.zoomedMax,k,m);z(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&&h(this.zoomedMin)&&h(this.zoomedMax)&&(b=Math.round(this.zoomedMin),a=Math.round(this.zoomedMax),
  175. this.shades&&this.drawMasks(b,a,g,f),this.outline&&this.drawOutline(b,a,g,f),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(b,0,g,f),this.drawHandle(a,1,g,f)))};n.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()};n.prototype.removeBaseSeriesEvents=function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&
  176. a.forEach(function(a){c(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&c(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};n.prototype.init=function(a){var c=a.options,g=c.navigator,f=g.enabled,h=c.scrollbar,k=h.enabled;c=f?g.height:0;var m=k?h.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=c;this.scrollbarHeight=m;this.scrollbarEnabled=k;this.navigatorEnabled=f;this.navigatorOptions=g;this.scrollbarOptions=h;this.outlineHeight=c+m;this.opposite=
  177. r(g.opposite,!(f||!a.inverted));var l=this;f=l.baseSeries;h=a.xAxis.length;k=a.yAxis.length;var n=f&&f[0]&&f[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;l.navigatorEnabled?(l.xAxis=new e(a,d({breaks:n.options.breaks,ordinal:n.options.ordinal},g.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:h,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[m,0,-m,0],width:c}:{offsets:[0,
  178. -m,0,m],height:c})),l.yAxis=new e(a,d(g.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:k,isInternal:!0,zoomEnabled:!1},a.inverted?{width:c}:{height:c})),f||g.series.data?l.updateNavigatorSeries(!1):0===a.series.length&&(l.unbindRedraw=b(a,"beforeRedraw",function(){0<a.series.length&&!l.series&&(l.setBaseSeries(),l.unbindRedraw())})),l.reversedExtremes=a.inverted&&!l.xAxis.reversed||!a.inverted&&l.xAxis.reversed,l.renderElements(),l.addMouseEvents()):(l.xAxis={chart:a,navigatorAxis:{fake:!0},
  179. translate:function(b,c){var d=a.xAxis[0],e=d.getExtremes(),g=d.len-2*m,f=D("min",d.options.min,e.dataMin);d=D("max",d.options.max,e.dataMax)-f;return c?b*d/g+f:g*(b-f)/d},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)}},l.xAxis.navigatorAxis.axis=l.xAxis,l.xAxis.navigatorAxis.toFixedRange=w.AdditionsClass.prototype.toFixedRange.bind(l.xAxis.navigatorAxis));a.options.scrollbar.enabled&&(a.scrollbar=l.scrollbar=new C(a.renderer,d(a.options.scrollbar,{margin:l.navigatorEnabled?
  180. 0:10,vertical:a.inverted}),a),b(l.scrollbar,"changed",function(b){var c=l.size,d=c*this.to;c*=this.from;l.hasDragged=l.scrollbar.hasDragged;l.render(0,0,c,d);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){l.onMouseUp(b)})}));l.addBaseSeriesEvents();l.addChartEvents()};n.prototype.getUnionExtremes=function(a){var b=this.chart.xAxis[0],c=this.xAxis,d=c.options,e=b.options,f;a&&null===b.dataMin||(f={dataMin:r(d&&d.min,D("min",e.min,b.dataMin,
  181. c.dataMin,c.min)),dataMax:r(d&&d.max,D("max",e.max,b.dataMax,c.dataMax,c.max))});return f};n.prototype.setBaseSeries=function(a,b){var c=this.chart,d=this.baseSeries=[];a=a||c.options&&c.options.navigator.baseSeries||(c.series.length?f(c.series,function(a){return!a.options.isInternal}).index:0);(c.series||[]).forEach(function(b,c){b.options.isInternal||!b.options.showInNavigator&&(c!==a&&b.options.id!==a||!1===b.options.showInNavigator)||d.push(b)});this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,
  182. b)};n.prototype.updateNavigatorSeries=function(b,e){var f=this,g=f.chart,h=f.baseSeries,m,p,n=f.navigatorOptions.series,q,t={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}}},u=f.series=(f.series||[]).filter(function(a){var b=a.baseSeries;return 0>h.indexOf(b)?(b&&(c(b,"updatedData",f.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),
  183. !1):!0});h&&h.length&&h.forEach(function(b){var c=b.navigatorSeries,v=k({color:b.color,visible:b.visible},a(n)?l.navigator.series:n);c&&!1===f.navigatorOptions.adaptToUpdatedData||(t.name="Navigator "+h.length,m=b.options||{},q=m.navigatorOptions||{},p=d(m,t,v,q),p.pointRange=r(v.pointRange,q.pointRange,l.plotOptions[p.type||"line"].pointRange),v=q.data||v.data,f.hasNavigatorData=f.hasNavigatorData||!!v,p.data=v||m.data&&m.data.slice(0),c&&c.options?c.update(p,e):(b.navigatorSeries=g.initSeries(p),
  184. b.navigatorSeries.baseSeries=b,u.push(b.navigatorSeries)))});if(n.data&&(!h||!h.length)||a(n))f.hasNavigatorData=!1,n=A(n),n.forEach(function(a,b){t.name="Navigator "+(u.length+1);p=d(l.navigator.series,{color:g.series[b]&&!g.series[b].options.isInternal&&g.series[b].color||g.options.colors[b]||g.options.colors[0]},t,a);p.data=a.data;p.data&&(f.hasNavigatorData=!0,u.push(g.initSeries(p)))});b&&this.addBaseSeriesEvents()};n.prototype.addBaseSeriesEvents=function(){var a=this,c=a.baseSeries||[];c[0]&&
  185. c[0].xAxis&&b(c[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);c.forEach(function(c){b(c,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});b(c,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&c.xAxis&&b(c,"updatedData",this.updatedDataHandler);b(c,"remove",function(){this.navigatorSeries&&(G(a.series,this.navigatorSeries),z(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),
  186. delete this.navigatorSeries)})},this)};n.prototype.getBaseSeriesMin=function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)};n.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))};n.prototype.modifyBaseAxisExtremes=function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,d=b.dataMax;b=
  187. b.max-b.min;var e=a.stickToMin,f=a.stickToMax,k=r(this.options.overscroll,0),l=a.series&&a.series[0],m=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(e){var n=c;var q=n+b}f&&(q=d+k,e||(n=Math.max(c,q-b,a.getBaseSeriesMin(l&&l.xData?l.xData[0]:-Number.MAX_VALUE))));m&&(e||f)&&h(n)&&(this.min=this.userMin=n,this.max=this.userMax=q)}a.stickToMin=a.stickToMax=null};n.prototype.updatedDataHandler=function(){var a=this.chart.navigator,b=this.navigatorSeries,c=
  188. a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=h(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))};n.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(b(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&
  189. a.baseSeries[0]&&a.baseSeries[0].xAxis||this.xAxis[0]);b&&a.render(b.min,b.max)}),b(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))};n.prototype.destroy=function(){this.removeEvents();this.xAxis&&(G(this.chart.xAxis,this.xAxis),G(this.chart.axes,this.xAxis));this.yAxis&&(G(this.chart.yAxis,this.yAxis),
  190. G(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){F(a)},this)};return n}();x.Navigator||(x.Navigator=B,w.compose(e),b(n,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&
  191. b.enabled||c&&c.enabled)&&(!I&&"x"===a.chart.zoomType||I&&"x"===a.chart.pinchType))return!1}),b(n,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new B(this)}),b(n,"afterSetChartSize",function(){var a=this.legend,b=this.navigator;if(b){var c=a&&a.options;var d=b.xAxis;var e=b.yAxis;var f=b.scrollbarHeight;this.inverted?(b.left=b.opposite?this.chartWidth-f-b.height:this.spacing[3]+f,b.top=this.plotTop+f):(b.left=this.plotLeft+f,
  192. b.top=b.navigatorOptions.top||this.chartHeight-b.height-f-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(c&&"bottom"===c.verticalAlign&&"proximate"!==c.layout&&c.enabled&&!c.floating?a.legendHeight+r(c.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0));d&&e&&(this.inverted?d.options.left=e.options.left=b.left:d.options.top=e.options.top=b.top,d.setAxisSize(),e.setAxisSize())}}),b(n,"update",function(a){var b=a.options.navigator||{},c=a.options.scrollbar||
  193. {};this.navigator||this.scroller||!b.enabled&&!c.enabled||(d(!0,this.options.navigator,b),d(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)}),b(n,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new B(this),r(a.redraw,!0)&&this.redraw(a.animation))}),b(n,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),b(y,"afterUpdate",function(){this.chart.navigator&&
  194. !this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),n.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}));x.Navigator=B;return x.Navigator});J(e,"masters/modules/gantt.src.js",[],function(){})});
  195. //# sourceMappingURL=gantt.js.map