/* Highcharts JS v7.0.2 (2019-01-17) Highstock as a plugin for Highcharts (c) 2010-2019 Torstein Honsi License: www.highcharts.com/license */ (function(G){"object"===typeof module&&module.exports?(G["default"]=G,module.exports=G):"function"===typeof define&&define.amd?define(function(){return G}):G("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(G){(function(a){var w=a.addEvent,q=a.Axis,D=a.Chart,y=a.css,A=a.defined,t=a.extend,B=a.noop,k=a.pick,v=a.timeUnits;w(a.Series,"updatedData",function(){var a=this.xAxis;a&&a.options.ordinal&&delete a.ordinalIndex});q.prototype.getTimeTicks=function(a,d,e,n,p,c,m){var l=0,b,h,u={},r, E,f,g=[],z=-Number.MAX_VALUE,F=this.options.tickPixelInterval,x=this.chart.time;if(!this.options.ordinal&&!this.options.breaks||!p||3>p.length||void 0===d)return x.getTimeTicks.apply(x,arguments);E=p.length;for(b=0;be;p[b]5*c||f){if(p[b]>z){for(h=x.getTimeTicks(a,p[l],p[b],n);h.length&&h[0]<=z;)h.shift();h.length&&(z=h[h.length-1]);g=g.concat(h)}l=b+1}if(f)break}h=h.info;if(m&&h.unitRange<=v.hour){b=g.length-1;for(l=1;le?h-1:h;for(I=void 0;l--;)b=r[l],h=Math.abs(I-b),I&&h<.8*F&&(null===x||h<.8*x)?(u[g[l]]&&!u[g[l+1]]?(h=l+1,I=b):h=l,g.splice(h,1)):I=b}return g};t(q.prototype,{beforeSetTickPositions:function(){var a,d=[],e,n=!1,p,c=this.getExtremes(),m=c.min, l=c.max,b,h=this.isXAxis&&!!this.options.breaks,c=this.options.ordinal,u=Number.MAX_VALUE,r=this.chart.options.chart.ignoreHiddenSeries,E;if(c||h){this.series.forEach(function(f,g){e=[];if(!(r&&!1===f.visible||!1===f.takeOrdinalPosition&&!h)&&(d=d.concat(f.processedXData),a=d.length,d.sort(function(f,g){return f-g}),u=Math.min(u,k(f.closestPointRange,u)),a)){for(g=0;gp||l-d[d.length-1]>p)&&(n=!0)}else this.options.overscroll&&(2===a?u=d[1]-d[0]:1===a?(u=this.options.overscroll,d=[d[0],d[0]+u]):u=this.overscrollPointsRange);n?(this.options.overscroll&&(this.overscrollPointsRange=u,d=d.concat(this.getOverscrollPositions())),this.ordinalPositions=d,p=this.ordinal2lin(Math.max(m,d[0]),!0),b=Math.max(this.ordinal2lin(Math.min(l,d[d.length-1]),!0),1),this.ordinalSlope= l=(l-m)/(b-p),this.ordinalOffset=m-p*l):(this.overscrollPointsRange=k(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=c&&n;this.groupIntervalFactor=null},val2lin:function(a,d){var e=this.ordinalPositions;if(e){var n=e.length,p,c;for(p=n;p--;)if(e[p]===a){c=p;break}for(p=n-1;p--;)if(a>e[p]||0===p){a=(a-e[p])/(e[p+1]-e[p]);c=p+a;break}d=d?c:this.ordinalSlope*(c||0)+this.ordinalOffset}else d=a;return d},lin2val:function(a, d){var e=this.ordinalPositions;if(e){var n=this.ordinalSlope,p=this.ordinalOffset,c=e.length-1,m;if(d)0>a?a=e[0]:a>c?a=e[c]:(c=Math.floor(a),m=a-c);else for(;c--;)if(d=n*c+p,a>=d){n=n*(c+1)+p;m=(a-d)/(n-d);break}return void 0!==m&&void 0!==e[c]?e[c]+(m?m*(e[c+1]-e[c]):0):a}return a},getExtendedPositions:function(){var a=this,d=a.chart,e=a.series[0].currentDataGrouping,n=a.ordinalIndex,p=e?e.count+e.unitName:"raw",c=a.options.overscroll,m=a.getExtremes(),l,b;n||(n=a.ordinalIndex={});n[p]||(l={series:[], chart:d,getExtremes:function(){return{min:m.dataMin,max:m.dataMax+c}},options:{ordinal:!0},val2lin:q.prototype.val2lin,ordinal2lin:q.prototype.ordinal2lin},a.series.forEach(function(c){b={xAxis:l,xData:c.xData.slice(),chart:d,destroyGroupedData:B};b.xData=b.xData.concat(a.getOverscrollPositions());b.options={dataGrouping:e?{enabled:!0,forced:!0,approximation:"open",units:[[e.unitName,[e.count]]]}:{enabled:!1}};c.processData.apply(b);l.series.push(b)}),a.beforeSetTickPositions.apply(l),n[p]=l.ordinalPositions); return n[p]},getOverscrollPositions:function(){var k=this.options.overscroll,d=this.overscrollPointsRange,e=[],n=this.dataMax;if(a.defined(d))for(e.push(n);n<=this.dataMax+k;)n+=d,e.push(n);return e},getGroupIntervalFactor:function(a,d,e){var n;e=e.processedXData;var p=e.length,c=[];n=this.groupIntervalFactor;if(!n){for(n=0;nc?(u=E,g=d.ordinalPositions?d:E):(u=d.ordinalPositions?d:E,g=E),E=g.ordinalPositions,l>E[E.length-1]&&E.push(l),this.fixedRange=h-b,c=d.toFixedRange(null,null,r.apply(u,[f.apply(u,[b,!0])+c,!0]),r.apply(g,[f.apply(g,[h,!0])+c,!0])),c.min>=Math.min(m.dataMin,b)&&c.max<=Math.max(l,h)+e&&d.setExtremes(c.min,c.max,!0,!1,{trigger:"pan"}),this.mouseDownX=n,y(this.container,{cursor:"move"})):p=!0}else p= !0;p?e&&(d.max=d.dataMax+e):a.preventDefault()});w(q,"foundExtremes",function(){this.isXAxis&&A(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&A(this.userMin)&&(this.min+=this.options.overscroll))})})(G);(function(a){var w=a.addEvent,q=a.pick,D=a.extend,y=a.isArray,A=a.fireEvent,t=a.Axis,B=a.Series;D(t.prototype,{isInBreak:function(a, v){var k=a.repeat||Infinity,d=a.from,e=a.to-a.from;v=v>=d?(v-d)%k:k-(d-v)%k;return a.inclusive?v<=e:v=a)break;else if(e.isInBreak(m,a)){c-=a-m.from;break}return c}function d(a){var c,m;for(m=0;m=a);m++)c.tou;)f-=h;for(;fb.to||n>b.from&&cb.from&&cb.from&&c>b.to&&ck&&(k=v);d--;)t[d+1].x-t[d].x>k&&(v=(t[d].x+t[d+1].x)/2,t.splice(d+1,0,{isNull:!0,x:v}),this.options.stacking&&(v=e.stacks[this.stackKey][v]=new a.StackItem(e,e.options.stackLabels,!1,v,this.stack),v.total=0));return this.getGraphPath(t)}})(G);(function(a){var w=a.addEvent,q=a.arrayMax,D=a.arrayMin,y=a.Axis,A=a.defaultPlotOptions,t=a.defined,B=a.extend,k=a.format,v=a.isNumber,C=a.merge,d=a.pick,e=a.Point, n=a.Series,p=a.Tooltip,c=n.prototype,m=c.processData,l=c.generatePoints,b={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"], month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},h={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},u=a.defaultDataGroupingUnits=[["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]],["week",[1]],["month",[1,3,6]],["year",null]],r=a.approximations={sum:function(c){var f=c.length,g;if(!f&&c.hasNulls)g=null;else if(f)for(g=0;f--;)g+=c[f];return g},average:function(c){var f=c.length;c=r.sum(c);v(c)&&f&&(c/=f);return c},averages:function(){var c=[];[].forEach.call(arguments,function(f){c.push(r.average(f))});return void 0===c[0]?void 0:c},open:function(c){return c.length?c[0]:c.hasNulls?null:void 0},high:function(c){return c.length?q(c): c.hasNulls?null:void 0},low:function(c){return c.length?D(c):c.hasNulls?null:void 0},close:function(c){return c.length?c[c.length-1]:c.hasNulls?null:void 0},ohlc:function(c,f,g,b){c=r.open(c);f=r.high(f);g=r.low(g);b=r.close(b);if(v(c)||v(f)||v(g)||v(b))return[c,f,g,b]},range:function(c,f){c=r.low(c);f=r.high(f);if(v(c)||v(f))return[c,f];if(null===c&&null===f)return null}};c.groupData=function(c,f,g,a){var z=this,x=z.data,m=z.options.data,u=[],e=[],E=[],l=c.length,d,n,p=!!f,k=[];a="function"===typeof a? a:r[a]||h[z.type]&&r[h[z.type].approximation]||r[b.approximation];var q=z.pointArrayMap,y=q&&q.length,A=["x"].concat(q||["y"]),B=0,w=0,D,H;y?q.forEach(function(){k.push([])}):k.push([]);D=y||1;for(H=0;H<=l&&!(c[H]>=g[0]);H++);for(H;H<=l;H++){for(;void 0!==g[B+1]&&c[H]>=g[B+1]||H===l;){d=g[B];z.dataGroupInfo={start:w,length:k[0].length};n=a.apply(z,k);t(z.dataGroupInfo.options)||(z.dataGroupInfo.options=C(z.pointClass.prototype.optionsToObject.call({series:z},z.options.data[w])),A.forEach(function(f){delete z.dataGroupInfo.options[f]})); void 0!==n&&(u.push(d),e.push(n),E.push(z.dataGroupInfo));w=H;for(d=0;dthis.chart.plotSizeX/a||f&&x.forced)&&(h=!0);return h?a:0};y.prototype.setDataGrouping=function(c,f){var g;f=d(f,!0);c||(c={forced:!1,units:null});if(this instanceof y)for(g=this.series.length;g--;)this.series[g].update({dataGrouping:c},!1);else this.chart.options.series.forEach(function(f){f.dataGrouping=c},!1);this.ordinalSlope=null;f&&this.chart.redraw()}})(G);(function(a){var w=a.Point,q=a.seriesType,D=a.seriesTypes;q("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'}, threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){D.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(a,q){q=D.column.prototype.pointAttribs.call(this,a,q);var t=this.options;delete q.fill;!a.options.color&&t.upColor&&a.openk)););B.forEach(function(b,f){var g;b.plotX+=l;if(void 0===b.plotY||p)0<=b.plotX&&b.plotX<=c.len?p?(b.plotY=c.translate(b.x,0,1,0,1),b.plotX= w(b.y)?m.translate(b.y,0,0,0,1):0):b.plotY=(c.opposite?0:a.yAxis.len)+c.offset:b.shapeArgs={};(v=B[f-1])&&v.plotX===b.plotX&&(void 0===v.stackIndex&&(v.stackIndex=0),g=v.stackIndex+1);b.stackIndex=g});this.onSeries=C}}}(G);(function(a,w){function q(a){e[a+"pin"]=function(d,c,m,l,b){var h=b&&b.anchorX;b=b&&b.anchorY;"circle"===a&&l>m&&(d-=Math.round((l-m)/2),m=l);d=e[a](d,c,m,l);h&&b&&(d.push("M","circle"===a?d[1]-d[4]:d[1]+d[4]/2,c>b?c:c+l,"L",h,b),d=d.concat(e.circle(h-1,b-1,2,2)));return d}}var D= a.addEvent,y=a.merge,A=a.noop,t=a.defined,B=a.Renderer,k=a.Series,v=a.seriesType,C=a.TrackerMixin,d=a.VMLRenderer,e=a.SVGRenderer.prototype.symbols;v("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1, trackerGroups:["markerGroup"],forceCrop:!0,init:k.prototype.init,pointAttribs:function(a,d){var c=this.options,m=a&&a.color||this.color,e=c.lineColor,b=a&&a.lineWidth;a=a&&a.fillColor||c.fillColor;d&&(a=c.states[d].fillColor,e=c.states[d].lineColor,b=c.states[d].lineWidth);return{fill:a||m,stroke:e||m,"stroke-width":b||c.lineWidth||0}},translate:w.translate,getPlotBox:w.getPlotBox,drawPoints:function(){var d=this.points,e=this.chart,c=e.renderer,m,l,b=e.inverted,h=this.options,u=h.y,r,k,f,g,z,F,x= this.yAxis,I={},S=[];for(k=d.length;k--;)f=d[k],F=(b?f.plotY:f.plotX)>this.xAxis.len,m=f.plotX,g=f.stackIndex,r=f.options.shape||h.shape,l=f.plotY,void 0!==l&&(l=f.plotY+u-(void 0!==g&&g*h.stackDistance)),f.anchorX=g?void 0:f.plotX,z=g?void 0:f.plotY,g=f.graphic,void 0!==l&&0<=m&&!F?(g||(g=f.graphic=c.label("",null,null,r,null,null,h.useHTML),e.styledMode||g.attr(this.pointAttribs(f)).css(y(h.style,f.style)),g.attr({align:"flag"===r?"left":"center",width:h.width,height:h.height,"text-align":h.textAlign}).addClass("highcharts-point").add(this.markerGroup), f.graphic.div&&(f.graphic.div.point=f),e.styledMode||g.shadow(h.shadow),g.isNew=!0),0=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===d.showFull&&(0>=c&&1<=a?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(c){var d=a.chart.pointer.normalize(c),b=a.options.vertical? "chartY":"chartX",h=a.initPositions;!a.grabbedCenter||c.touches&&0===c.touches[0][b]||(d=a.cursorToScrollbarPosition(d)[b],b=a[b],b=d-b,a.hasDragged=!0,a.updatePosition(h[0]+b,h[1]+b),a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:c.type,DOMEvent:c}))};a.mouseUpHandler=function(c){a.hasDragged&&k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:c.type,DOMEvent:c});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(c){c=a.chart.pointer.normalize(c); c=a.cursorToScrollbarPosition(c);a.chartX=c.chartX;a.chartY=c.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(c){var d=y(a.to-a.from)*a.options.step;a.updatePosition(y(a.from-d),y(a.to-d));k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:c})};a.buttonToMaxClick=function(c){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:c})};a.trackClick=function(c){var d=a.chart.pointer.normalize(c), b=a.to-a.from,h=a.y+a.scrollbarTop,e=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>h||!a.options.vertical&&d.chartX>e?a.updatePosition(a.from+b,a.to+b):a.updatePosition(a.from-b,a.to-b);k(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:c})}},cursorToScrollbarPosition:function(a){var c=this.options,c=c.minWidth>this.calculatedWidth?c.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-c),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-c)}},updatePosition:function(a, d){1a&&(d=y(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,C(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,b=this.mouseDownHandler,h=this.mouseMoveHandler,u=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e, "mousedown",b],[e.ownerDocument,"mousemove",h],[e.ownerDocument,"mouseup",u]];v&&a.push([e,"touchstart",b],[e.ownerDocument,"touchmove",h],[e.ownerDocument,"touchend",u]);a.forEach(function(a){q.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){e.apply(null,a)});this._events.length=0},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,B(a.scrollbarButtons))}};q(D,"afterInit",function(){var c=this;c.options&&c.options.scrollbar&&c.options.scrollbar.enabled&&(c.options.scrollbar.vertical=!c.horiz,c.options.startOnTick=c.options.endOnTick=!1,c.scrollbar=new w(c.chart.renderer,c.options.scrollbar,c.chart),q(c.scrollbar,"changed",function(e){var k=Math.min(d(c.options.min,c.min),c.min,c.dataMin),b=Math.max(d(c.options.max,c.max),c.max,c.dataMax)-k,h;c.horiz&& !c.reversed||!c.horiz&&c.reversed?(h=k+b*this.to,k+=b*this.from):(h=k+b*(1-this.from),k+=b*(1-this.to));d(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===e.DOMType||!t(e.DOMType)?c.setExtremes(k,h,!0,"mousemove"!==e.DOMType,e):this.setRange(this.from,this.to)}))});q(D,"afterRender",function(){var a=Math.min(d(this.options.min,this.min),this.min,d(this.dataMin,this.min)),e=Math.max(d(this.options.max,this.max),this.max,d(this.dataMax,this.max)),k=this.scrollbar, b=this.titleOffset||0;if(k){this.horiz?(k.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:b+this.axisTitleMargin+this.offset),this.width,this.height),b=1):(k.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?b+this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),b=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[b]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(a)|| isNaN(e)||!t(this.min)||!t(this.max)?k.setRange(0,0):(b=(this.min-a)/(e-a),a=(this.max-a)/(e-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?k.setRange(b,a):k.setRange(1-a,1-b))}});q(D,"afterGetOffset",function(){var a=this.horiz?2:1,d=this.scrollbar;d&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=d.size+d.options.margin)});a.Scrollbar=w})(G);(function(a){function w(a){this.init(a)}var q=a.addEvent,D=a.Axis,y=a.Chart,A=a.color,t=a.defaultOptions,B=a.defined,k=a.destroyObjectProperties, v=a.erase,C=a.extend,d=a.hasTouch,e=a.isArray,n=a.isNumber,p=a.isTouchDevice,c=a.merge,m=a.pick,l=a.removeEvent,b=a.Scrollbar,h=a.Series,u=a.seriesTypes,r=[].concat(a.defaultDataGroupingUnits),E=function(a){var f=[].filter.call(arguments,n);if(f.length)return Math[a].apply(0,f)};r[4]=["day",[1,2,3,4]];r[5]=["week",[1,2,3]];u=void 0===u.areaspline?"line":"areaspline";C(t,{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:A("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:u,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:r},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis", tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,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}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,g,b,c,d){a=d.width/2;g=Math.round(a/3)+.5;d=d.height;return["M",-a-1,.5,"L",a,.5,"L",a, d+.5,"L",-a-1,d+.5,"L",-a-1,.5,"M",-g,4,"L",-g,d-3,"M",g-1,4,"L",g-1,d-3]};w.prototype={drawHandle:function(a,g,b,c){var f=this.navigatorOptions.handles.height;this.handles[g][c](b?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-f)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-f/2-1)})},drawOutline:function(a,g,b,c){var f=this.navigatorOptions.maskInside,d=this.outline.strokeWidth(),z=d/2,d=d%2/2,e=this.outlineHeight, h=this.scrollbarHeight,u=this.size,r=this.left-h,F=this.top;b?(r-=z,b=F+g+d,g=F+a+d,a=["M",r+e,F-h-d,"L",r+e,b,"L",r,b,"L",r,g,"L",r+e,g,"L",r+e,F+u+h].concat(f?["M",r+e,b-z,"L",r+e,g+z]:[])):(a+=r+h-d,g+=r+h-d,F+=z,a=["M",r,F,"L",a,F,"L",a,F+e,"L",g,F+e,"L",g,F,"L",r+u+2*h,F].concat(f?["M",a-z,F,"L",g+z,F]:[]));this.outline[c]({d:a})},drawMasks:function(a,g,b,c){var f=this.left,d=this.top,z=this.height,e,h,u,r;b?(u=[f,f,f],r=[d,d+a,d+g],h=[z,z,z],e=[a,g-a,this.size-g]):(u=[f,f+a,f+g],r=[d,d,d],h= [a,g-a,this.size-g],e=[z,z,z]);this.shades.forEach(function(a,f){a[c]({x:u[f],y:r[f],width:h[f],height:e[f]})})},renderElements:function(){var a=this,g=a.navigatorOptions,b=g.maskInside,c=a.chart,d=c.renderer,e,h={cursor:c.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=e=d.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!b,b,!b].forEach(function(f,b){a.shades[b]=d.rect().addClass("highcharts-navigator-mask"+(1===b?"-inside":"-outside")).add(e);c.styledMode||a.shades[b].attr({fill:f? g.maskFill:"rgba(0,0,0,0)"}).css(1===b&&h)});a.outline=d.path().addClass("highcharts-navigator-outline").add(e);c.styledMode||a.outline.attr({"stroke-width":g.outlineWidth,stroke:g.outlineColor});g.handles.enabled&&[0,1].forEach(function(f){g.handles.inverted=c.inverted;a.handles[f]=d.symbol(g.handles.symbols[f],-g.handles.width/2-1,0,g.handles.width,g.handles.height,g.handles);a.handles[f].attr({zIndex:7-f}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][f]).add(e); if(!c.styledMode){var b=g.handles;a.handles[f].attr({fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.lineWidth}).css(h)}})},update:function(a){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();c(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(f,g,b,c){var d=this.chart,e,h,z=this.scrollbarHeight,u,r=this.xAxis;e=r.fake?d.xAxis[0]:r;var k=this.navigatorEnabled,F,l=this.rendered;h=d.inverted;var t, p=d.xAxis[0].minRange,q=d.xAxis[0].options.maxRange;if(!this.hasDragged||B(b)){if(!n(f)||!n(g))if(l)b=0,c=m(r.width,e.width);else return;this.left=m(r.left,d.plotLeft+z+(h?d.plotWidth:0));this.size=F=u=m(r.len,(h?d.plotHeight:d.plotWidth)-2*z);d=h?z:u+2*z;b=m(b,r.toPixels(f,!0));c=m(c,r.toPixels(g,!0));n(b)&&Infinity!==Math.abs(b)||(b=0,c=d);f=r.toValue(b,!0);g=r.toValue(c,!0);t=Math.abs(a.correctFloat(g-f));tq&&(this.grabbedLeft?b=r.toPixels(g-q,!0):this.grabbedRight&&(c=r.toPixels(f+q,!0)));this.zoomedMax=Math.min(Math.max(b,c,0),F);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(b,c),0),F);this.range=this.zoomedMax-this.zoomedMin;F=Math.round(this.zoomedMax);b=Math.round(this.zoomedMin);k&&(this.navigatorGroup.attr({visibility:"visible"}),l=l&&!this.hasDragged?"animate":"attr",this.drawMasks(b,F,h,l),this.drawOutline(b,F,h,l),this.navigatorOptions.handles.enabled&& (this.drawHandle(b,0,h,l),this.drawHandle(F,1,h,l)));this.scrollbar&&(h?(h=this.top-z,e=this.left-z+(k||!e.opposite?0:(e.titleOffset||0)+e.axisTitleMargin),z=u+2*z):(h=this.top+(k?this.height:-z),e=this.left-z),this.scrollbar.position(e,h,d,z),this.scrollbar.setRange(this.zoomedMin/(u||1),this.zoomedMax/(u||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,g=a.chart,b=g.container,c=[],e,h;a.mouseMoveHandler=e=function(f){a.onMouseMove(f)};a.mouseUpHandler=h=function(f){a.onMouseUp(f)}; c=a.getPartsEvents("mousedown");c.push(q(b,"mousemove",e),q(b.ownerDocument,"mouseup",h));d&&(c.push(q(b,"touchmove",e),q(b.ownerDocument,"touchend",h)),c.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=c;a.series&&a.series[0]&&c.push(q(a.series[0].xAxis,"foundExtremes",function(){g.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var f=this,b=[];["shades","handles"].forEach(function(g){f[g].forEach(function(c,d){b.push(q(c.element,a,function(a){f[g+"Mousedown"](a,d)}))})}); return b},shadesMousedown:function(a,g){a=this.chart.pointer.normalize(a);var f=this.chart,b=this.xAxis,c=this.zoomedMin,d=this.left,e=this.size,h=this.range,u=a.chartX,r,k;f.inverted&&(u=a.chartY,d=this.top);1===g?(this.grabbedCenter=u,this.fixedWidth=h,this.dragOffset=u-c):(a=u-d-h/2,0===g?a=Math.max(0,a):2===g&&a+h>=e&&(a=e-h,this.reversedExtremes?(a-=h,k=this.getUnionExtremes().dataMin):r=this.getUnionExtremes().dataMax),a!==c&&(this.fixedWidth=h,g=b.toFixedRange(a,a+h,k,r),B(g.min)&&f.xAxis[0].setExtremes(Math.min(g.min, g.max),Math.max(g.min,g.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,g){this.chart.pointer.normalize(a);a=this.chart;var f=a.xAxis[0],b=this.reversedExtremes;0===g?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=b?f.min:f.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=b?f.max:f.min);a.fixedRange=null},onMouseMove:function(f){var g=this,b=g.chart,c=g.left,d=g.navigatorSize,h=g.range,e=g.dragOffset,u=b.inverted;f.touches&& 0===f.touches[0].pageX||(f=b.pointer.normalize(f),b=f.chartX,u&&(c=g.top,b=f.chartY),g.grabbedLeft?(g.hasDragged=!0,g.render(0,0,b-c,g.otherHandlePos)):g.grabbedRight?(g.hasDragged=!0,g.render(0,0,g.otherHandlePos,b-c)):g.grabbedCenter&&(g.hasDragged=!0,bd+e-h&&(b=d+e-h),g.render(0,0,b-e,b-e+h)),g.hasDragged&&g.scrollbar&&m(g.scrollbar.options.liveRedraw,a.svg&&!p&&!this.chart.isBoosting)&&(f.DOMType=f.type,setTimeout(function(){g.onMouseUp(f)},0)))},onMouseUp:function(a){var f=this.chart, b=this.xAxis,c=this.scrollbar,d,e,h=a.DOMEvent||a;(!this.hasDragged||c&&c.hasDragged)&&"scrollbar"!==a.trigger||(c=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?d=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(e=this.fixedExtreme),this.zoomedMax===this.size&&(e=this.reversedExtremes?c.dataMin:c.dataMax),0===this.zoomedMin&&(d=this.reversedExtremes?c.dataMax:c.dataMin),b=b.toFixedRange(this.zoomedMin,this.zoomedMax,d,e),B(b.min)&&f.xAxis[0].setExtremes(Math.min(b.min,b.max), Math.max(b.min,b.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:h}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&& a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){l(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&l(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var f=a.options,d=f.navigator,e=d.enabled,h=f.scrollbar,u=h.enabled,f=e?d.height:0,r=u?h.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=f;this.scrollbarHeight=r;this.scrollbarEnabled=u;this.navigatorEnabled=e;this.navigatorOptions=d;this.scrollbarOptions= h;this.outlineHeight=f+r;this.opposite=m(d.opposite,!e&&a.inverted);var k=this,e=k.baseSeries,h=a.xAxis.length,u=a.yAxis.length,l=e&&e[0]&&e[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;k.navigatorEnabled?(k.xAxis=new D(a,c({breaks:l.options.breaks,ordinal:l.options.ordinal},d.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:[r, 0,-r,0],width:f}:{offsets:[0,-r,0,r],height:f})),k.yAxis=new D(a,c(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:u,isInternal:!0,zoomEnabled:!1},a.inverted?{width:f}:{height:f})),e||d.series.data?k.updateNavigatorSeries(!1):0===a.series.length&&(k.unbindRedraw=q(a,"beforeRedraw",function(){0h.indexOf(f)?(f&&(l(f,"updatedData",g.updatedDataHandler),delete f.navigatorSeries),a.chart&&a.destroy(),!1):!0});h&&h.length&&h.forEach(function(a){var f=a.navigatorSeries,z=C({color:a.color,visible:a.visible},e(k)?t.navigator.series:k);f&&!1===g.navigatorOptions.adaptToUpdatedData||(m.name="Navigator "+h.length,u=a.options|| {},n=u.navigatorOptions||{},r=c(u,m,z,n),z=n.data||z.data,g.hasNavigatorData=g.hasNavigatorData||!!z,r.data=z||u.data&&u.data.slice(0),f&&f.options?f.update(r,b):(a.navigatorSeries=d.initSeries(r),a.navigatorSeries.baseSeries=a,p.push(a.navigatorSeries)))});if(k.data&&(!h||!h.length)||e(k))g.hasNavigatorData=!1,k=a.splat(k),k.forEach(function(a,f){m.name="Navigator "+(p.length+1);r=c(t.navigator.series,{color:d.series[f]&&!d.series[f].options.isInternal&&d.series[f].color||d.options.colors[f]||d.options.colors[0]}, m,a);r.data=a.data;r.data&&(g.hasNavigatorData=!0,p.push(d.initSeries(r)))});f&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&q(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(f){q(f,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});q(f,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&f.xAxis&&q(f,"updatedData", this.updatedDataHandler);q(f,"remove",function(){this.navigatorSeries&&(v(a.series,this.navigatorSeries),B(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,f){return Math.min(a,f.xData[0])},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a= this.chart.navigator,b=this.getExtremes(),c=b.dataMin,d=b.dataMax,b=b.max-b.min,e=a.stickToMin,h=a.stickToMax,u=m(this.options.overscroll,0),r,k,l=a.series&&a.series[0],p=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(e&&(k=c,r=k+b),h&&(r=d+u,e||(k=Math.max(r-b,a.getBaseSeriesMin(l&&l.xData?l.xData[0]:-Number.MAX_VALUE)))),p&&(e||h)&&n(k)&&(this.min=this.userMin=k,this.max=this.userMax=r));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator, b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=n(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))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(q(this.chart,"redraw",function(){var a=this.navigator, b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),q(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}))},destroy:function(){this.removeEvents();this.xAxis&&(v(this.chart.xAxis,this.xAxis),v(this.chart.axes,this.xAxis));this.yAxis&&(v(this.chart.yAxis, this.yAxis),v(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){k(a)},this)}};a.Navigator=w;q(D,"zoom",function(a){var b=this.chart.options,f=b.chart.zoomType,c=b.chart.pinchType,d=b.navigator,b=b.rangeSelector;this.isXAxis&& (d&&d.enabled||b&&b.enabled)&&("y"===f?a.zoomed=!1:(!p&&"xy"===f||p&&"xy"===c)&&this.options.range&&(f=this.previousZoom,B(a.newMin)?this.previousZoom=[this.min,this.max]:f&&(a.newMin=f[0],a.newMax=f[1],delete this.previousZoom)));void 0!==a.zoomed&&a.preventDefault()});q(y,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||c&&c.enabled)&&(!p&&"x"===a.chart.zoomType||p&&"x"===a.chart.pinchType))return!1});q(y,"beforeRender",function(){var a=this.options; if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new w(this)});q(y,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,c,d,e,h;b&&(d=a&&a.options,e=b.xAxis,h=b.yAxis,c=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-c-b.height:this.spacing[3]+c,b.top=this.plotTop+c):(b.left=this.plotLeft+c,b.top=b.navigatorOptions.top||this.chartHeight-b.height-c-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(d&& "bottom"===d.verticalAlign&&d.enabled&&!d.floating?a.legendHeight+m(d.margin,10):0)),e&&h&&(this.inverted?e.options.left=h.options.left=b.left:e.options.top=h.options.top=b.top,e.setAxisSize(),h.setAxisSize()))});q(y,"update",function(a){var b=a.options.navigator||{},f=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!f.enabled||(c(!0,this.options.navigator,b),c(!0,this.options.scrollbar,f),delete a.options.navigator,delete a.options.scrollbar)});q(y,"afterUpdate",function(){this.navigator|| this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new w(this))});q(y,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)});q(h,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)});y.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))})})(G);(function(a){function w(a){this.init(a)} var q=a.addEvent,D=a.Axis,y=a.Chart,A=a.css,t=a.createElement,B=a.defaultOptions,k=a.defined,v=a.destroyObjectProperties,C=a.discardElement,d=a.extend,e=a.fireEvent,n=a.isNumber,p=a.merge,c=a.pick,m=a.pInt,l=a.splat;d(B,{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},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});B.lang=p(B.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From", rangeSelectorTo:"To"});w.prototype={clickButton:function(a,d){var b=this.chart,e=this.buttonOptions[a],h=b.xAxis[0],f=b.scroller&&b.scroller.getUnionExtremes()||h||{},g=f.dataMin,k=f.dataMax,m,x=h&&Math.round(Math.min(h.max,c(k,h.max))),p=e.type,t,f=e._range,v,w,y,B=e.dataGrouping;if(null!==g&&null!==k){b.fixedRange=f;B&&(this.forcedDataGrouping=!0,D.prototype.setDataGrouping.call(h||{chart:this.chart},B,!1),this.frozenStates=e.preserveDataGrouping);if("month"===p||"year"===p)h?(p={range:e,max:x, chart:b,dataMin:g,dataMax:k},m=h.minFromRange.call(p),n(p.newMax)&&(x=p.newMax)):f=e;else if(f)m=Math.max(x-f,g),x=Math.min(m+f,k);else if("ytd"===p)if(h)void 0===k&&(g=Number.MAX_VALUE,k=Number.MIN_VALUE,b.series.forEach(function(a){a=a.xData;g=Math.min(a[0],g);k=Math.max(a[a.length-1],k)}),d=!1),x=this.getYTDExtremes(k,g,b.time.useUTC),m=v=x.min,x=x.max;else{this.deferredYTDClick=a;return}else"all"===p&&h&&(m=g,x=k);m+=e._offsetMin;x+=e._offsetMax;this.setSelected(a);h?h.setExtremes(m,x,c(d,1), null,{trigger:"rangeSelectorButton",rangeSelectorButton:e}):(t=l(b.options.xAxis)[0],y=t.range,t.range=f,w=t.min,t.min=v,q(b,"load",function(){t.range=y;t.min=w}))}},setSelected:function(a){this.selected=this.options.selected=a},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"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||[].concat(b.defaultButtons), k=c.selected,f=function(){var a=b.minInput,f=b.maxInput;a&&a.blur&&e(a,"blur");f&&f.blur&&e(f,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=q(a.container,"mousedown",f);this.unResize=q(a,"resize",f);d.forEach(b.computeButtonRange);void 0!==k&&d[k]&&this.clickButton(k,!1);q(a,"load",function(){a.xAxis&&a.xAxis[0]&&q(a.xAxis[0],"setExtremes",function(f){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==f.trigger&&"updatedData"!==f.trigger&& b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,c=this.chart,d=c.xAxis[0],e=Math.round(d.max-d.min),k=!d.hasVisibleSeries,f=c.scroller&&c.scroller.getUnionExtremes()||d,g=f.dataMin,z=f.dataMax,c=a.getYTDExtremes(z,g,c.time.useUTC),m=c.min,x=c.max,l=a.selected,p=n(l),t=a.options.allButtonsEnabled,q=a.buttons;a.buttonOptions.forEach(function(b,f){var c=b._range,h=b.type,u=b.count||1,r=q[f],n=0;b=b._offsetMax-b._offsetMin;f=f===l;var v= c>z-g,E=c=864E5*{month:28,year:365}[h]*u-b&&e-36E5<=864E5*{month:31,year:366}[h]*u+b?c=!0:"ytd"===h?(c=x-m+b===e,F=!f):"all"===h&&(c=d.max-d.min>=z-g,w=!f&&p&&c);h=!t&&(v||E||w||k);u=f&&c||c&&!p&&!F||f&&a.frozenStates;h?n=3:u&&(p=!0,n=2);r.state!==n&&r.setState(n)})},computeButtonRange:function(a){var b=a.type,d=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[b])a._range=e[b]*d;else if("month"=== b||"year"===b)a._range=864E5*{month:30,year:365}[b]*d;a._offsetMin=c(a.offsetMin,0);a._offsetMax=c(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,c){var b=this.chart.options.rangeSelector,d=this.chart.time,e=this[a+"Input"];k(c)&&(e.previousValue=e.HCTime,e.HCTime=c);e.value=d.dateFormat(b.inputEditDateFormat||"%Y-%m-%d",e.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(b.inputDateFormat||"%b %e, %Y",e.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+ "DateBox"];A(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){A(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(b){function c(){var a=x.value,b=(g.inputDateParser||Date.parse)(a),c=k.xAxis[0],f=k.scroller&&k.scroller.xAxis?k.scroller.xAxis:c,d=f.dataMin,f=f.dataMax;b!==x.previousValue&&(x.previousValue=b,n(b)||(b=a.split("-"),b=Date.UTC(m(b[0]), m(b[1])-1,m(b[2]))),n(b)&&(k.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),q?b>e.maxInput.HCTime?b=void 0:bf&&(b=f),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var e=this,k=e.chart,l=k.renderer.style||{},f=k.renderer,g=k.options.rangeSelector,z=e.div,q="min"===b,x,v,w=this.inputGroup;this[b+"Label"]=v=f.label(B.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(w); w.offset+=v.width+5;this[b+"DateBox"]=f=f.label("",w.offset).addClass("highcharts-range-input").attr({padding:2,width:g.inputBoxWidth||90,height:g.inputBoxHeight||17,"text-align":"center"}).on("click",function(){e.showInput(b);e[b+"Input"].focus()});k.styledMode||f.attr({stroke:g.inputBoxBorderColor||"#cccccc","stroke-width":1});f.add(w);w.offset+=f.width+(q?10:0);this[b+"Input"]=x=t("input",{name:b,className:"highcharts-range-selector",type:"text"},{top:k.plotTop+"px"},z);k.styledMode||(v.css(p(l, g.labelStyle)),f.css(p({color:"#333333"},l,g.inputStyle)),A(x,d({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},g.inputStyle)));x.onfocus=function(){e.showInput(b)};x.onblur=function(){x===a.doc.activeElement&&(c(),e.hideInput(b))};x.onchange=c;x.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,c=a.options.rangeSelector,a="top"===c.verticalAlign?a.plotTop-a.axisOffset[0]: 0;return{buttonTop:a+c.buttonPosition.y,inputTop:a+c.inputPosition.y-10}},getYTDExtremes:function(a,c,d){var b=this.chart.time,e=new b.Date(a),f=b.get("FullYear",e);d=d?b.Date.UTC(f,0,1):+new b.Date(f,0,1);c=Math.max(c||0,d);e=e.getTime();return{max:Math.min(a||e,e),min:c}},render:function(a,d){var b=this,e=b.chart,h=e.renderer,f=e.container,g=e.options,k=g.exporting&&!1!==g.exporting.enabled&&g.navigation&&g.navigation.buttonOptions,l=B.lang,x=b.div,m=g.rangeSelector,p=c(g.chart.style&&g.chart.style.zIndex, 0)+1,g=m.floating,n=b.buttons,x=b.inputGroup,q=m.buttonTheme,v=m.buttonPosition,w=m.inputPosition,y=m.inputEnabled,A=q&&q.states,C=e.plotLeft,D,K=b.buttonGroup,G;G=b.rendered;var O=b.options.verticalAlign,P=e.legend,Q=P&&P.options,H=v.y,J=w.y,R=G||!1,T=R?"animate":"attr",N=0,L=0,M;if(!1!==m.enabled){G||(b.group=G=h.g("range-selector-group").attr({zIndex:7}).add(),b.buttonGroup=K=h.g("range-selector-buttons").add(G),b.zoomText=h.text(l.rangeSelectorZoom,0,15).add(K),e.styledMode||(b.zoomText.css(m.labelStyle), q["stroke-width"]=c(q["stroke-width"],0)),b.buttonOptions.forEach(function(a,c){n[c]=h.button(a.text,0,0,function(){var f=a.events&&a.events.click,d;f&&(d=f.call(a));!1!==d&&b.clickButton(c);b.isActive=!0},q,A&&A.hover,A&&A.select,A&&A.disabled).attr({"text-align":"center"}).add(K)}),!1!==y&&(b.div=x=t("div",null,{position:"relative",height:0,zIndex:p}),f.parentNode.insertBefore(x,f),b.inputGroup=x=h.g("input-group").add(G),x.offset=0,b.drawInput("min"),b.drawInput("max")));b.zoomText[T]({x:c(C+v.x, C)});D=c(C+v.x,C)+b.zoomText.getBBox().width+5;b.buttonOptions.forEach(function(a,b){n[b][T]({x:D});D+=n[b].width+c(m.buttonSpacing,5)});C=e.plotLeft-e.spacing[3];b.updateButtonStates();k&&this.titleCollision(e)&&"top"===O&&"right"===v.align&&v.y+K.getBBox().height-12<(k.y||0)+k.height&&(N=-40);"left"===v.align?M=v.x-e.spacing[3]:"right"===v.align&&(M=v.x+N-e.spacing[1]);K.align({y:v.y,width:K.getBBox().width,align:v.align,x:M},!0,e.spacingBox);b.group.placed=R;b.buttonGroup.placed=R;!1!==y&&(N=k&& this.titleCollision(e)&&"top"===O&&"right"===w.align&&w.y-x.getBBox().height-12<(k.y||0)+k.height+e.spacing[0]?-40:0,"left"===w.align?M=C:"right"===w.align&&(M=-Math.max(e.axisOffset[1],-N)),x.align({y:w.y,width:x.getBBox().width,align:w.align,x:w.x+M-2},!0,e.spacingBox),f=x.alignAttr.translateX+x.alignOptions.x-N+x.getBBox().x+2,k=x.alignOptions.width,l=K.alignAttr.translateX+K.getBBox().x,M=K.getBBox().width+20,(w.align===v.align||l+M>f&&f+k>l&&H=-N?0:-N),translateY:x.alignAttr.translateY+K.getBBox().height+10}),b.setInputValue("min",a),b.setInputValue("max",d),b.inputGroup.placed=R);b.group.align({verticalAlign:O},!0,e.spacingBox);a=b.group.getBBox().height+20;d=b.group.alignAttr.translateY;"bottom"===O&&(P=Q&&"bottom"===Q.verticalAlign&&Q.enabled&&!Q.floating?P.legendHeight+c(Q.margin,10):0,a=a+P-20,L=d-a-(g?0:m.y)-10);if("top"===O)g&&(L=0),e.titleOffset&&(L=e.titleOffset+e.options.title.margin),L+=e.margin[0]-e.spacing[0]|| 0;else if("middle"===O)if(J===H)L=0>J?d+void 0:d;else if(J||H)L=0>J||0>H?L-Math.min(J,H):d-a+NaN;b.group.translate(m.x,m.y+Math.floor(L));!1!==y&&(b.minInput.style.marginTop=b.group.translateY+"px",b.maxInput.style.marginTop=b.group.translateY+"px");b.rendered=!0}},getHeight:function(){var a=this.options,c=this.group,d=a.y,e=a.buttonPosition.y,a=a.inputPosition.y,c=c?c.getBBox(!0).height+13+d:0,d=Math.min(a,e);if(0>a&&0>e||0e&&(k?a=d-b:d=a+b);n(a)&&n(d)||(a=d=void 0);return{min:a,max:d}};D.prototype.minFromRange=function(){var a=this.range,d={month:"Month",year:"FullYear"}[a.type],e,k=this.max,m,f,g=function(a,b){var c=new Date(a),f=c["get"+d]();c["set"+d](f+b);f===c["get"+d]()&&c.setDate(0);return c.getTime()-a};n(a)?(e=k-a,f=a):(e=k+g(k,-a.count),this.chart&&(this.chart.fixedRange= k-e));m=c(this.dataMin,Number.MIN_VALUE);n(e)||(e=m);e<=m&&(e=m,void 0===f&&(f=g(e,a.count)),this.newMax=Math.min(e+f,this.dataMax));n(k)||(e=void 0);return e};q(y,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new w(this))});q(y,"beforeRender",function(){var a=this.axes,c=this.rangeSelector;c&&(n(c.deferredYTDClick)&&(c.clickButton(c.deferredYTDClick),delete c.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),c.render(), a=c.options.verticalAlign,c.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))});q(y,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,d=this.extraTopMargin;b&&b.enabled&&!k(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new w(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!==c||this.extraTopMargin!==d)&&(this.isDirtyBox=!0)});q(y,"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=!0))});q(y,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))});y.prototype.callbacks.push(function(a){function b(){c= a.xAxis[0].getExtremes();n(c.min)&&d.render(c.min,c.max)}var c,d=a.rangeSelector,e,f;d&&(f=q(a.xAxis[0],"afterSetExtremes",function(a){d.render(a.min,a.max)}),e=q(a,"redraw",b),b());q(a,"destroy",function(){d&&(e(),f())})});a.RangeSelector=w})(G);(function(a){var w=a.addEvent,q=a.arrayMax,D=a.arrayMin,y=a.Axis,A=a.Chart,t=a.defined,B=a.extend,k=a.format,v=a.isNumber,C=a.isString,d=a.merge,e=a.pick,n=a.Point,p=a.Renderer,c=a.Series,m=a.splat,l=a.SVGRenderer,b=a.VMLRenderer,h=c.prototype,u=h.init,r= h.processData,E=n.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,c,h){var f=C(b)||b.nodeName,g=arguments[f?1:0],k=g,l=g.series,n=a.getOptions(),z,p=e(g.navigator&&g.navigator.enabled,n.navigator.enabled,!0),r=p?{startOnTick:!1,endOnTick:!1}:null,q={marker:{enabled:!1,radius:2}},t={shadow:!1,borderWidth:0};g.xAxis=m(g.xAxis||{}).map(function(a,b){return d({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},n.xAxis,n.xAxis&& n.xAxis[b],a,{type:"datetime",categories:null},r)});g.yAxis=m(g.yAxis||{}).map(function(a,b){z=e(a.opposite,!0);return d({labels:{y:-2},opposite:z,showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},n.yAxis,n.yAxis&&n.yAxis[b],a)});g.series=null;g=d({chart:{panning:!0,pinchType:"x"},navigator:{enabled:p},scrollbar:{enabled:e(n.scrollbar.enabled,!0)},rangeSelector:{enabled:e(n.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:e(n.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}, plotOptions:{line:q,spline:q,area:q,areaspline:q,arearange:q,areasplinerange:q,column:t,columnrange:t,candlestick:t,ohlc:t}},g,{isStock:!0});g.series=k.series=l;return f?new A(b,g,h):new A(g,c)};w(y,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},f=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&f.enabled&&(15===f.x&&(f.x=0),void 0===f.align&&(f.align="right"),b[c]=this,a.align="right",a.preventDefault()))}); w(y,"destroy",function(){var a=this.chart,b=this.options&&this.options.top+","+this.options.height;b&&a._labelPanes&&a._labelPanes[b]===this&&delete a._labelPanes[b]});w(y,"getPlotLinePath",function(b){function c(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return v(a)?[h[b][a]]:C(a)?[h.get(a)]:f.map(function(a){return a[b]})}var d=this,f=this.isLinked&&!this.series?this.linkedParent.series:this.series,h=d.chart,k=h.renderer,m=d.left,n=d.top,l,p,q,r,u=[],w=[],y,A,B=b.translatedValue,D=b.value, E=b.force,G;if("xAxis"===d.coll||"yAxis"===d.coll)b.preventDefault(),w=c(d.coll),y=d.isXAxis?h.yAxis:h.xAxis,y.forEach(function(a){if(t(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=t(a.options[b])?h[b][a.options[b]]:h[b][0];d===b&&w.push(a)}}),A=w.length?[]:[d.isXAxis?h.yAxis[0]:h.xAxis[0]],w.forEach(function(b){-1!==A.indexOf(b)||a.find(A,function(a){return a.pos===b.pos&&a.len===b.len})||A.push(b)}),G=e(B,d.translate(D,null,null,b.old)),v(G)&&(d.horiz? A.forEach(function(a){var b;p=a.pos;r=p+a.len;l=q=Math.round(G+d.transB);"pass"!==E&&(lm+d.width)&&(E?l=q=Math.min(Math.max(m,l),m+d.width):b=!0);b||u.push("M",l,p,"L",q,r)}):A.forEach(function(a){var b;l=a.pos;q=l+a.len;p=r=Math.round(n+d.height-G);"pass"!==E&&(pn+d.height)&&(E?p=r=Math.min(Math.max(n,p),d.top+d.height):b=!0);b||u.push("M",l,p,"L",q,r)})),b.path=0A?"hidden":"visible"});f=l.getBBox();if(h){if(q&&!b||!q&&b)m=l.y-f.height}else m=l.y-f.height/2;h?(b=c-f.x,c=c+this.width-f.x):(b="left"===this.labelAlign?c:0,c="right"===this.labelAlign?c+this.width:d.chartWidth);l.translateX=c&&(u=-(l.translateX+f.width-c));l.attr({x:a+u,y:m,anchorX:h?a:this.opposite?0:d.chartWidth,anchorY:h? this.opposite?d.chartHeight:0:m+f.height/2})}});h.init=function(){u.apply(this,arguments);this.setCompare(this.options.compare)};h.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};h.processData=function(){var a,b=-1,c,d,e=!0===this.options.compareStart? 0:1,h,k;r.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,h=d.length,this.pointArrayMap&&(b=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),a=0;a=this.xAxis.min&&0!==k){this.compareValue=k;break}};w(c,"afterGetExtremes",function(){if(this.modifyValue){var a=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)];this.dataMin=D(a);this.dataMax=q(a)}});y.prototype.setCompare= function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),e(b,!0)&&this.chart.redraw())};n.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0