(function(){function u(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a}function pa(){for(var a=0,b=arguments,c=b.length,d={};a<c;a++)d[b[a++]]=b[a];return d}function A(a,b){return parseInt(a,b||10)}function qa(a){return"string"===typeof a}function ba(a){return"object"===typeof a}function Ia(a){return"[object Array]"===Object.prototype.toString.call(a)}function Ja(a){return"number"===typeof a}function ra(a){return O.log(a)/O.LN10}function fa(a){return O.pow(10,a)}function Ca(a,b){for(var c=a.length;c--;)if(a[c]===
b){a.splice(c,1);break}}function x(a){return a!==D&&null!==a}function F(a,b,c){var d,e;if(qa(b))x(c)?a.setAttribute(b,c):a&&a.getAttribute&&(e=a.getAttribute(b));else if(x(b)&&ba(b))for(d in b)a.setAttribute(d,b[d]);return e}function sa(a){return Ia(a)?a:[a]}function s(){var a=arguments,b,c,d=a.length;for(b=0;b<d;b++)if(c=a[b],"undefined"!==typeof c&&null!==c)return c}function K(a,b){Ka&&b&&b.opacity!==D&&(b.filter="alpha(opacity="+100*b.opacity+")");u(a.style,b)}function V(a,b,c,d,e){a=G.createElement(a);
b&&u(a,b);e&&K(a,{padding:0,border:W,margin:0});c&&K(a,c);d&&d.appendChild(a);return a}function ga(a,b){var c=function(){};c.prototype=new a;u(c.prototype,b);return c}function La(a,b,c,d){var e=R.lang,f=a;-1===b?(b=(a||0).toString(),a=-1<b.indexOf(".")?b.split(".")[1].length:0):a=isNaN(b=Q(b))?2:b;b=a;c=void 0===c?e.decimalPoint:c;d=void 0===d?e.thousandsSep:d;e=0>f?"-":"";a=String(A(f=Q(+f||0).toFixed(b)));var g=3<a.length?a.length%3:0;return e+(g?a.substr(0,g)+d:"")+a.substr(g).replace(/(\d{3})(?=\d)/g,
"$1"+d)+(b?c+Q(f-a).toFixed(b).slice(2):"")}function wa(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function kb(a,b,c,d){var e;c=s(c,1);e=a/c;b||(b=[1,2,2.5,5,10],d&&!1===d.allowDecimals&&(1===c?b=[1,2,5,10]:0.1>=c&&(b=[1/c])));for(d=0;d<b.length&&!(a=b[d],e<=(b[d]+(b[d+1]||b[d]))/2);d++);return a*c}function Qb(a,b){var c=b||[[Cb,[1,2,5,10,20,25,50,100,200,500]],[lb,[1,2,5,10,15,30]],[Xa,[1,2,5,10,15,30]],[Ma,[1,2,3,4,6,8,12]],[ta,[1,2]],[Ya,[1,2]],[Na,[1,2,3,4,6]],[xa,null]],d=c[c.length-
1],e=H[d[0]],f=d[1],g;for(g=0;g<c.length&&!(d=c[g],e=H[d[0]],f=d[1],c[g+1]&&a<=(e*f[f.length-1]+H[c[g+1][0]])/2);g++);e===H[xa]&&a<5*e&&(f=[1,2,5]);e===H[xa]&&a<5*e&&(f=[1,2,5]);c=kb(a/e,f);return{unitRange:e,count:c,unitName:d[0]}}function Rb(a,b,c,d){var e=[],f={},g=R.global.useUTC,h,k=new Date(b);b=a.unitRange;var l=a.count;b>=H[lb]&&(k.setMilliseconds(0),k.setSeconds(b>=H[Xa]?0:l*Y(k.getSeconds()/l)));if(b>=H[Xa])k[Db](b>=H[Ma]?0:l*Y(k[mb]()/l));if(b>=H[Ma])k[Eb](b>=H[ta]?0:l*Y(k[nb]()/l));if(b>=
H[ta])k[ob](b>=H[Na]?1:l*Y(k[Oa]()/l));b>=H[Na]&&(k[Fb](b>=H[xa]?0:l*Y(k[Za]()/l)),h=k[$a]());b>=H[xa]&&(h-=h%l,k[Gb](h));if(b===H[Ya])k[ob](k[Oa]()-k[pb]()+s(d,1));d=1;h=k[$a]();for(var m=k.getTime(),n=k[Za](),p=k[Oa](),k=g?0:(864E5+6E4*k.getTimezoneOffset())%864E5;m<c;)e.push(m),b===H[xa]?m=ab(h+d*l,0):b===H[Na]?m=ab(h,n+d*l):g||b!==H[ta]&&b!==H[Ya]?(m+=b*l,b<=H[Ma]&&m%H[ta]===k&&(f[m]=ta)):m=ab(h,n,p+d*l*(b===H[ta]?1:7)),d++;e.push(m);e.info=u(a,{higherRanks:f,totalRange:b*l});return e}function Hb(){this.symbol=
this.color=0}function Ib(a,b){var c=a.length,d,e;for(e=0;e<c;e++)a[e].ss_i=e;a.sort(function(a,c){d=b(a,c);return 0===d?a.ss_i-c.ss_i:d});for(e=0;e<c;e++)delete a[e].ss_i}function Pa(a){for(var b=a.length,c=a[0];b--;)a[b]<c&&(c=a[b]);return c}function Da(a){for(var b=a.length,c=a[0];b--;)a[b]>c&&(c=a[b]);return c}function Ea(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Qa(a){bb||(bb=V(la));a&&bb.appendChild(a);bb.innerHTML=""}function cb(a,b){var c="Highcharts error #"+
a+": www.highcharts.com/errors/"+a;if(b)throw c;P.console&&console.log(c)}function ma(a){return parseFloat(a.toPrecision(14))}function ya(a,b){Ra=s(a,b.animation)}function Jb(){var a=R.global.useUTC,b=a?"getUTC":"get",c=a?"setUTC":"set";ab=a?Date.UTC:function(a,b,c,g,h,k){return(new Date(a,b,s(c,1),s(g,0),s(h,0),s(k,0))).getTime()};mb=b+"Minutes";nb=b+"Hours";pb=b+"Day";Oa=b+"Date";Za=b+"Month";$a=b+"FullYear";Db=c+"Minutes";Eb=c+"Hours";ob=c+"Date";Fb=c+"Month";Gb=c+"FullYear"}function za(){}function Sa(a,
b,c){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;c||this.addLabel()}function qb(a,b){this.axis=a;b&&(this.options=b,this.id=b.id);return this}function Kb(a,b,c,d,e){var f=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.stack=e;this.alignOptions={align:b.align||(f?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(f?"middle":c?"bottom":"top"),y:s(b.y,f?4:c?14:-6),x:s(b.x,f?c?-6:6:0)};this.textAlign=b.textAlign||(f?c?"right":"left":"center")}function rb(){this.init.apply(this,
arguments)}function sb(a,b){var c=b.borderWidth,d=b.style,e=A(d.padding);this.chart=a;this.options=b;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=a.renderer.label("",0,0,b.shape,null,null,b.useHTML,null,"tooltip").attr({padding:e,fill:b.backgroundColor,"stroke-width":c,r:b.borderRadius,zIndex:8}).css(d).css({padding:0}).hide().add();ca||this.label.shadow(b.shadow);this.shared=b.shared}function tb(a,b){var c=ca?"":b.chart.zoomType;this.zoomX=/x/.test(c);this.zoomY=/y/.test(c);
this.options=b;this.chart=a;this.init(a,b.tooltip)}function ub(a){this.init(a)}function vb(a,b){var c,d=a.series;a.series=null;c=E(R,a);c.series=a.series=d;var d=c.chart,e=d.margin,e=ba(e)?e:[e,e,e,e];this.optionsMarginTop=s(d.marginTop,e[0]);this.optionsMarginRight=s(d.marginRight,e[1]);this.optionsMarginBottom=s(d.marginBottom,e[2]);this.optionsMarginLeft=s(d.marginLeft,e[3]);this.runChartClick=(e=d.events)&&!!e.click;this.callback=b;this.isResizing=0;this.options=c;this.axes=[];this.series=[];
this.hasCartesianSeries=d.showAxes;this.init(e)}var D,G=document,P=window,O=Math,w=O.round,Y=O.floor,Aa=O.ceil,z=O.max,T=O.min,Q=O.abs,Z=O.cos,da=O.sin,Ba=O.PI,db=2*Ba/360,Fa=navigator.userAgent,Lb=P.opera,Ka=/msie/i.test(Fa)&&!Lb,Ta=8===G.documentMode,wb=/AppleWebKit/.test(Fa),eb=/Firefox/.test(Fa),ha=!!G.createElementNS&&!!G.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,Sb=eb&&4>parseInt(Fa.split("Firefox/")[1],10),ca=!ha&&!Ka&&!!G.createElement("canvas").getContext,Ua,ia=G.documentElement.ontouchstart!==
D,Mb={},xb=0,bb,R,fb,Ra,yb,H,Ga=function(){},la="div",W="none",zb="rgba(192,192,192,"+(ha?1E-6:0.0020)+")",Cb="millisecond",lb="second",Xa="minute",Ma="hour",ta="day",Ya="week",Na="month",xa="year",ab,mb,nb,pb,Oa,Za,$a,Db,Eb,ob,Fb,Gb,ea={};P.Highcharts={};fb=function(a,b,c){if(!x(b)||isNaN(b))return"Invalid date";a=s(a,"%Y-%m-%d %H:%M:%S");var d=new Date(b),e,f=d[nb](),g=d[pb](),h=d[Oa](),k=d[Za](),l=d[$a](),m=R.lang,n=m.weekdays;b={a:n[g].substr(0,3),A:n[g],d:wa(h),e:h,b:m.shortMonths[k],B:m.months[k],
m:wa(k+1),y:l.toString().substr(2,2),Y:l,H:wa(f),I:wa(f%12||12),l:f%12||12,M:wa(d[mb]()),p:12>f?"AM":"PM",P:12>f?"am":"pm",S:wa(d.getSeconds()),L:wa(w(b%1E3),3)};for(e in b)a=a.replace("%"+e,b[e]);return c?a.substr(0,1).toUpperCase()+a.substr(1):a};Hb.prototype={wrapColor:function(a){this.color>=a&&(this.color=0)},wrapSymbol:function(a){this.symbol>=a&&(this.symbol=0)}};H=pa(Cb,1,lb,1E3,Xa,6E4,Ma,36E5,ta,864E5,Ya,6048E5,Na,2592E6,xa,31556952E3);yb={init:function(a,b,c){b=b||"";var d=a.shift,e=-1<
b.indexOf("C"),f=e?7:3,g;b=b.split(" ");c=[].concat(c);var h,k,l=function(a){for(g=a.length;g--;)"M"===a[g]&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(l(b),l(c));a.isArea&&(h=b.splice(b.length-6,6),k=c.splice(c.length-6,6));if(d<=c.length/f)for(;d--;)c=[].concat(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(a=c.length;b.length<a;)d=[].concat(b).splice(b.length-f,f),e&&(d[f-6]=d[f-2],d[f-5]=d[f-1]),b=b.concat(d);h&&(b=b.concat(h),c=c.concat(k));return[b,c]},step:function(a,b,c,d){var e=
[],f=a.length;if(1===c)e=d;else if(f===b.length&&1>c)for(;f--;)d=parseFloat(a[f]),e[f]=isNaN(d)?a[f]:c*parseFloat(b[f]-d)+d;else e=b;return e}};(function(a){P.HighchartsAdapter=P.HighchartsAdapter||a&&{init:function(b){var c=a.fx,d=c.step,e,f=a.Tween,g=f&&f.propHooks;a.extend(a.easing,{easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c}});a.each(["cur","_default","width","height"],function(a,b){var e=d,m,n;"cur"===b?e=c.prototype:"_default"===b&&f&&(e=g[b],b="set");(m=e[b])&&(e[b]=function(c){c=
a?c:this;n=c.elem;return n.attr?n.attr(c.prop,"cur"===b?D:c.now):m.apply(this,arguments)})});e=function(a){var c=a.elem,d;a.started||(d=b.init(c,c.d,c.toD),a.start=d[0],a.end=d[1],a.started=!0);c.attr("d",b.step(a.start,a.end,a.pos,c.toD))};f?g.d={set:e}:d.d=e;this.each=Array.prototype.forEach?function(a,b){return Array.prototype.forEach.call(a,b)}:function(a,b){for(var c=0,d=a.length;c<d;c++)if(!1===b.call(a[c],a[c],c,a))return c}},getScript:a.getScript,inArray:a.inArray,adapterRun:function(b,c){return a(b)[c]()},
grep:a.grep,map:function(a,c){for(var d=[],e=0,f=a.length;e<f;e++)d[e]=c.call(a[e],a[e],e,a);return d},merge:function(){var b=arguments;return a.extend(!0,null,b[0],b[1],b[2],b[3])},offset:function(b){return a(b).offset()},addEvent:function(b,c,d){a(b).bind(c,d)},removeEvent:function(b,c,d){var e=G.removeEventListener?"removeEventListener":"detachEvent";G[e]&&!b[e]&&(b[e]=function(){});a(b).unbind(c,d)},fireEvent:function(b,c,d,e){var f=a.Event(c),g="detached"+c,h;!Ka&&d&&(delete d.layerX,delete d.layerY);
u(f,d);b[c]&&(b[g]=b[c],b[c]=null);a.each(["preventDefault","stopPropagation"],function(a,b){var c=f[b];f[b]=function(){try{c.call(f)}catch(a){"preventDefault"===b&&(h=!0)}}});a(b).trigger(f);b[g]&&(b[c]=b[g],b[g]=null);e&&!f.isDefaultPrevented()&&!h&&e(f)},washMouseEvent:function(a){var c=a.originalEvent||a;c.pageX=a.pageX;c.pageY=a.pageY;return c},animate:function(b,c,d){var e=a(b);c.d&&(b.toD=c.d,c.d=1);e.stop();e.animate(c,d)},stop:function(b){a(b).stop()}}})(P.jQuery);var $=P.HighchartsAdapter,
J=$||{};$&&$.init.call($,yb);var gb=J.adapterRun,Tb=J.getScript,Ub=J.inArray,q=J.each,Nb=J.grep,Vb=J.offset,Va=J.map,E=J.merge,M=J.addEvent,X=J.removeEvent,I=J.fireEvent,Ob=J.washMouseEvent,Ab=J.animate,hb=J.stop,J={enabled:!0,align:"center",x:0,y:15,style:{color:"#666",fontSize:"11px",lineHeight:"14px"}};R={colors:"#4572A7 #AA4643 #89A54E #80699B #3D96AE #DB843D #92A8CD #A47D7C #B5CA92".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),
shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/2.3.2/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/2.3.2/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:5,
defaultSeriesType:"line",ignoreHiddenSeries:!0,spacingTop:10,spacingRight:10,spacingBottom:15,spacingLeft:10,style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",y:15,style:{color:"#3E576F",fontSize:"16px"}},subtitle:{text:"",align:"center",y:30,style:{color:"#6D869F"}},plotOptions:{line:{allowPointSelect:!1,
showCheckbox:!1,animation:{duration:1E3},events:{},lineWidth:2,shadow:!0,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:E(J,{enabled:!1,y:-6,formatter:function(){return this.y}}),cropThreshold:300,pointRange:0,showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",
layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,navigation:{activeColor:"#3E576F",inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#3E576F",fontSize:"12px"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"1em"},
style:{position:"absolute",backgroundColor:"white",opacity:0.5,textAlign:"center"}},tooltip:{enabled:!0,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:2,borderRadius:5,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',
shadow:!0,shared:ca,snap:ia?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}};var aa=R.plotOptions,$=aa.line;Jb();var ua=function(a){var b=[],c;(function(a){(c=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))?b=[A(c[1]),A(c[2]),
A(c[3]),parseFloat(c[4],10)]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))&&(b=[A(c[1],16),A(c[2],16),A(c[3],16),1])})(a);return{get:function(c){return b&&!isNaN(b[0])?"rgb"===c?"rgb("+b[0]+","+b[1]+","+b[2]+")":"a"===c?b[3]:"rgba("+b.join(",")+")":a},brighten:function(a){if(Ja(a)&&0!==a){var c;for(c=0;3>c;c++)b[c]+=A(255*a),0>b[c]&&(b[c]=0),255<b[c]&&(b[c]=255)}return this},setOpacity:function(a){b[3]=a;return this}}};za.prototype={init:function(a,b){this.element="span"===b?V(b):
G.createElementNS("http://www.w3.org/2000/svg",b);this.renderer=a;this.attrSetters={}},animate:function(a,b,c){b=s(b,Ra,!0);hb(this);b?(b=E(b),c&&(b.complete=c),Ab(this,a,b)):(this.attr(a),c&&c())},attr:function(a,b){var c,d,e,f,g=this.element,h=g.nodeName,k=this.renderer,l,m=this.attrSetters,n=this.shadows,p,r,t=this;qa(a)&&x(b)&&(c=a,a={},a[c]=b);if(qa(a))c=a,"circle"===h?c={x:"cx",y:"cy"}[c]||c:"strokeWidth"===c&&(c="stroke-width"),t=F(g,c)||this[c]||0,"d"!==c&&"visibility"!==c&&(t=parseFloat(t));
else for(c in a)if(l=!1,d=a[c],e=m[c]&&m[c].call(this,d,c),!1!==e){e!==D&&(d=e);if("d"===c)d&&d.join&&(d=d.join(" ")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0");else if("x"===c&&"text"===h){for(e=0;e<g.childNodes.length;e++)f=g.childNodes[e],F(f,"x")===F(g,"x")&&F(f,"x",d);this.rotation&&F(g,"transform","rotate("+this.rotation+" "+d+" "+A(a.y||F(g,"y"))+")")}else if("fill"===c)d=k.color(d,g,c);else if("circle"!==h||"x"!==c&&"y"!==c)if("rect"===h&&"r"===c)F(g,{rx:d,ry:d}),l=!0;else if("translateX"===c||
"translateY"===c||"rotation"===c||"verticalAlign"===c)l=r=!0;else if("stroke"===c)d=k.color(d,g,c);else if("dashstyle"===c)if(c="stroke-dasharray",d=d&&d.toLowerCase(),"solid"===d)d=W;else{if(d){d=d.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=d.length;e--;)d[e]=A(d[e])*a["stroke-width"];d=d.join(",")}}else"isTracker"===
c?this[c]=d:"width"===c?d=A(d):"align"===c?(c="text-anchor",d={left:"start",center:"middle",right:"end"}[d]):"title"===c&&((e=g.getElementsByTagName("title")[0])||(e=G.createElementNS("http://www.w3.org/2000/svg","title"),g.appendChild(e)),e.textContent=d);else c={x:"cx",y:"cy"}[c]||c;"strokeWidth"===c&&(c="stroke-width");wb&&"stroke-width"===c&&0===d&&(d=1E-6);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(c)&&(p||(this.symbolAttr(a),p=!0),l=!0);if(n&&/^(width|height|visibility|x|y|d|transform)$/.test(c))for(e=
n.length;e--;)F(n[e],c,"height"===c?z(d-(n[e].cutHeight||0),0):d);("width"===c||"height"===c)&&"rect"===h&&0>d&&(d=0);this[c]=d;r&&this.updateTransform();"text"===c?(d!==this.textStr&&delete this.bBox,this.textStr=d,this.added&&k.buildText(this)):l||F(g,c,d)}return t},symbolAttr:function(a){var b=this;q("x y r start end width height innerR anchorX anchorY".split(" "),function(c){b[c]=s(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",
a?"url("+this.renderer.url+"#"+a.id+")":W)},crisp:function(a,b,c,d,e){var f,g={},h={},k;a=a||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;k=w(a)%2/2;h.x=Y(b||this.x||0)+k;h.y=Y(c||this.y||0)+k;h.width=Y((d||this.width||0)-2*k);h.height=Y((e||this.height||0)-2*k);h.strokeWidth=a;for(f in h)this[f]!==h[f]&&(this[f]=g[f]=h[f]);return g},css:function(a){var b=this.element,b=a&&a.width&&"text"===b.nodeName,c,d="",e=function(a,b){return"-"+b.toLowerCase()};a&&a.color&&(a.fill=a.color);this.styles=
a=u(this.styles,a);if(Ka&&!ha)b&&delete a.width,K(this.element,a);else{for(c in a)d+=c.replace(/([A-Z])/g,e)+":"+a[c]+";";this.attr({style:d})}b&&this.added&&this.renderer.buildText(this);return this},on:function(a,b){var c=b;ia&&"click"===a&&(a="touchstart",c=function(a){a.preventDefault();b()});this.element["on"+a]=c;return this},setRadialReference:function(a){this.element.radialReference=a;return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(){this.inverted=
!0;this.updateTransform();return this},htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();this.styles=u(this.styles,a);K(this.element,a);return this},htmlGetBBox:function(){var a=this.element,b=this.bBox;b||("text"===a.nodeName&&(a.style.position="absolute"),b=this.bBox={x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight});return b},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=
this.element,c=this.translateX||0,d=this.translateY||0,e=this.x||0,f=this.y||0,g=this.textAlign||"left",h={left:0,center:0.5,right:1}[g],k=g&&"left"!==g,l=this.shadows;if(c||d)K(b,{marginLeft:c,marginTop:d}),l&&q(l,function(a){K(a,{marginLeft:c+1,marginTop:d+1})});this.inverted&&q(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var m,n,l=this.rotation,p,r=0,t=1,r=0,C;p=A(this.textWidth);var v=this.xCorr||0;C=this.yCorr||0;var B=[l,g,b.innerHTML,this.textWidth].join();m={};B!==
this.cTT&&(x(l)&&(a.isSVG?(v=Ka?"-ms":wb?"-webkit":eb?"-moz":Lb?"-o":"",m[v+"-transform"]=m.transform="rotate("+l+"deg)"):(r=l*db,t=Z(r),r=da(r),m.filter=l?["progid:DXImageTransform.Microsoft.Matrix(M11=",t,", M12=",-r,", M21=",r,", M22=",t,", sizingMethod='auto expand')"].join(""):W),K(b,m)),m=s(this.elemWidth,b.offsetWidth),n=s(this.elemHeight,b.offsetHeight),m>p&&/[ \-]/.test(b.innerText)&&(K(b,{width:p+"px",display:"block",whiteSpace:"normal"}),m=p),p=a.fontMetrics(b.style.fontSize).b,C=0>t*r,
v=(0>t&&-m)+r*p*(C?1-h:h),C=(0>r&&-n)-t*p*(l?C?h:1-h:1),k&&(v-=m*h*(0>t?-1:1),l&&(C-=n*h*(0>r?-1:1)),K(b,{textAlign:g})),this.xCorr=v,this.yCorr=C);K(b,{left:e+v+"px",top:f+C+"px"});this.cTT=B}}else this.alignOnAdd=!0},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.inverted,d=this.rotation,e=[];c&&(a+=this.attr("width"),b+=this.attr("height"));(a||b)&&e.push("translate("+a+","+b+")");c?e.push("rotate(90) scale(-1,1)"):d&&e.push("rotate("+d+" "+(this.x||0)+" "+(this.y||
0)+")");e.length&&F(this.element,"transform",e.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){a?(this.alignOptions=a,this.alignByTranslate=b,c||this.renderer.alignedObjects.push(this)):(a=this.alignOptions,b=this.alignByTranslate);c=s(c,this.renderer);var d=a.align,e=a.verticalAlign,f=(c.x||0)+(a.x||0),g=(c.y||0)+(a.y||0),h={};/^(right|center)$/.test(d)&&(f+=(c.width-(a.width||0))/{right:1,center:2}[d]);h[b?"translateX":"x"]=w(f);/^(bottom|middle)$/.test(e)&&
(g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1));h[b?"translateY":"y"]=w(g);this[this.placed?"animate":"attr"](h);this.placed=!0;this.alignAttr=h;return this},getBBox:function(){var a=this.bBox,b=this.renderer,c,d=this.rotation;c=this.element;var e=d*db;if(!a){if("http://www.w3.org/2000/svg"===c.namespaceURI||b.forExport){try{a=c.getBBox?u({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight}}catch(f){}if(!a||0>a.width)a={width:0,height:0}}else a=this.htmlGetBBox();b.isSVG&&(b=a.width,
c=a.height,d)&&(a.width=Q(c*da(e))+Q(b*Z(e)),a.height=Q(c*Z(e))+Q(b*da(e)));this.bBox=a}return a},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},add:function(a){var b=this.renderer,c=a||b,d=c.element||b.box,e=d.childNodes,f=this.element,g=F(f,"zIndex"),h;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);g&&(c.handleZ=!0,g=A(g));if(c.handleZ)for(c=0;c<e.length;c++)if(a=e[c],b=F(a,"zIndex"),
a!==f&&(A(b)>g||!x(g)&&x(b))){d.insertBefore(f,a);h=!0;break}h||d.appendChild(f);this.added=!0;I(this,"add");return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},c=a.shadows,d=a.box,e,f;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=null;hb(a);a.clipPath&&(a.clipPath=a.clipPath.destroy());if(a.stops){for(f=0;f<a.stops.length;f++)a.stops[f]=a.stops[f].destroy();a.stops=null}a.safeRemoveChild(b);c&&q(c,function(b){a.safeRemoveChild(b)});
d&&d.destroy();Ca(a.renderer.alignedObjects,a);for(e in a)delete a[e];return null},empty:function(){for(var a=this.element,b=a.childNodes,c=b.length;c--;)a.removeChild(b[c])},shadow:function(a,b,c){var d=[],e,f,g=this.element,h,k,l,m;if(a){k=s(a.width,3);l=(a.opacity||0.15)/k;m=this.parentInverted?"(-1,-1)":"("+(a.offsetX||1)+", "+(a.offsetY||1)+")";for(e=1;e<=k;e++)f=g.cloneNode(0),h=2*k+1-2*e,F(f,{isShadow:"true",stroke:a.color||"black","stroke-opacity":l*e,"stroke-width":h,transform:"translate"+
m,fill:W}),c&&(F(f,"height",z(F(f,"height")-h,0)),f.cutHeight=h),b?b.element.appendChild(f):g.parentNode.insertBefore(f,g),d.push(f);this.shadows=d}return this}};var va=function(){this.init.apply(this,arguments)};va.prototype={Element:za,init:function(a,b,c,d){var e=location,f;f=this.createElement("svg").attr({xmlns:"http://www.w3.org/2000/svg",version:"1.1"});a.appendChild(f.element);this.isSVG=!0;this.box=f.element;this.boxWrapper=f;this.alignedObjects=[];this.url=(eb||wb)&&G.getElementsByTagName("base").length?
e.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.defs=this.createElement("defs").add();this.forExport=d;this.gradients={};this.setSize(b,c,!1);var g;eb&&a.getBoundingClientRect&&(this.subPixelFix=b=function(){K(a,{left:0,top:0});g=a.getBoundingClientRect();K(a,{left:Aa(g.left)-g.left+"px",top:Aa(g.top)-g.top+"px"})},b(),M(P,"resize",b))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();
Ea(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.subPixelFix&&X(P,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:function(){},buildText:function(a){for(var b=a.element,c=s(a.textStr,"").toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g),
d=b.childNodes,e=/style="([^"]+)"/,f=/href="([^"]+)"/,g=F(b,"x"),h=a.styles,k=h&&A(h.width),l=h&&h.lineHeight,m,h=d.length,n=[];h--;)b.removeChild(d[h]);k&&!a.added&&this.box.appendChild(b);""===c[c.length-1]&&c.pop();q(c,function(c,d){var h,C=0,v;c=c.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");h=c.split("|||");q(h,function(c){if(""!==c||1===h.length){var p={},s=G.createElementNS("http://www.w3.org/2000/svg","tspan");e.test(c)&&F(s,"style",c.match(e)[1].replace(/(;| |^)color([ :])/,
"$1fill$2"));f.test(c)&&(F(s,"onclick",'location.href="'+c.match(f)[1]+'"'),K(s,{cursor:"pointer"}));c=(c.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">");s.appendChild(G.createTextNode(c));C?p.dx=3:p.x=g;if(!C){if(d){!ha&&a.renderer.forExport&&K(s,{display:"block"});v=P.getComputedStyle&&A(P.getComputedStyle(m,null).getPropertyValue("line-height"));if(!v||isNaN(v)){var q;(q=l)||(q=m.offsetHeight)||(n[d]=b.getBBox?b.getBBox().height:a.renderer.fontMetrics(b.style.fontSize).h,
q=w(n[d]-(n[d-1]||0))||18);v=q}F(s,"dy",v)}m=s}F(s,p);b.appendChild(s);C++;if(k){c=c.replace(/-/g,"- ").split(" ");for(var N=[];c.length||N.length;)delete a.bBox,q=a.getBBox().width,(p=q>k)&&1!==c.length?(s.removeChild(s.firstChild),N.unshift(c.pop())):(c=N,N=[],c.length&&(s=G.createElementNS("http://www.w3.org/2000/svg","tspan"),F(s,{dy:l||16,x:g}),b.appendChild(s),q>k&&(k=q))),c.length&&s.appendChild(G.createTextNode(c.join(" ").replace(/- /g,"-")))}}})})},button:function(a,b,c,d,e,f,g){var h=this.label(a,
b,c),k=0,l,m,n,p,r;a={x1:0,y1:0,x2:0,y2:1};e=E(pa("stroke-width",1,"stroke","#999","fill",pa("linearGradient",a,"stops",[[0,"#FFF"],[1,"#DDD"]]),"r",3,"padding",3,"style",pa("color","black")),e);n=e.style;delete e.style;f=E(e,pa("stroke","#68A","fill",pa("linearGradient",a,"stops",[[0,"#FFF"],[1,"#ACF"]])),f);p=f.style;delete f.style;g=E(e,pa("stroke","#68A","fill",pa("linearGradient",a,"stops",[[0,"#9BD"],[1,"#CDF"]])),g);r=g.style;delete g.style;M(h.element,"mouseenter",function(){h.attr(f).css(p)});
M(h.element,"mouseleave",function(){l=[e,f,g][k];m=[n,p,r][k];h.attr(l).css(m)});h.setState=function(a){(k=a)?2===a&&h.attr(g).css(r):h.attr(e).css(n)};return h.on("click",function(){d.call(h)}).attr(e).css(u({cursor:"default"},n))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=w(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=w(a[2])+b%2/2);return a},path:function(a){var b={fill:W};Ia(a)?b.d=a:ba(a)&&u(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=ba(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)},
arc:function(a,b,c,d,e,f){ba(a)&&(b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x);return this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:e||0,end:f||0})},rect:function(a,b,c,d,e,f){e=ba(a)?a.r:e;e=this.createElement("rect").attr({rx:e,ry:e,fill:W});return e.attr(ba(a)?a:e.crisp(f,a,b,z(c,0),z(d,0)))},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[s(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=
this.createElement("g");return x(a)?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:W};1<arguments.length&&u(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e,f){var g,h=this.symbols[a],h=h&&h(w(b),w(c),d,e,f),k=/^url\((.*?)\)$/,l,m;h?(g=this.path(h),u(g,{symbolName:a,x:b,y:c,
width:d,height:e}),f&&u(g,f)):k.test(a)&&(m=function(a,b){a.attr({width:b[0],height:b[1]});a.alignByTranslate||a.translate(-w(b[0]/2),-w(b[1]/2))},l=a.match(k)[1],a=Mb[l],g=this.image(l).attr({x:b,y:c}),a?m(g,a):(g.attr({width:0,height:0}),V("img",{onload:function(){m(g,Mb[l]=[this.width,this.height])},src:l})));return g},symbols:{circle:function(a,b,c,d){var e=0.166*c;return["M",a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+
c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start;c=e.r||c||d;var g=e.end-1E-6;d=e.innerR;var h=e.open,k=Z(f),l=da(f),m=Z(g),g=da(g);e=e.end-f<Ba?0:1;return["M",a+c*k,b+c*l,"A",c,c,0,e,1,a+c*m,b+c*g,h?"M":"L",a+d*m,b+d*g,"A",d,d,0,e,0,a+d*k,b+d*l,h?"":"Z"]}},clipRect:function(a,
b,c,d){var e="highcharts-"+xb++,f=this.createElement("clipPath").attr({id:e}).add(this.defs);a=this.rect(a,b,c,d,0).add(f);a.id=e;a.clipPath=f;return a},color:function(a,b,c){var d=this,e,f=/^rgba/,g;a&&a.linearGradient?g="linearGradient":a&&a.radialGradient&&(g="radialGradient");if(g){c=a[g];var h=d.gradients,k,l,m;b=b.radialReference;c.id&&h[c.id]||(Ia(c)&&(a[g]=c={x1:c[0],y1:c[1],x2:c[2],y2:c[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===g&&b&&!x(c.gradientUnits)&&u(c,{cx:b[0]-b[2]/2+
c.cx*b[2],cy:b[1]-b[2]/2+c.cy*b[2],r:c.r*b[2],gradientUnits:"userSpaceOnUse"}),c.id="highcharts-"+xb++,h[c.id]=k=d.createElement(g).attr(c).add(d.defs),k.stops=[],q(a.stops,function(a){f.test(a[1])?(e=ua(a[1]),l=e.get("rgb"),m=e.get("a")):(l=a[1],m=1);a=d.createElement("stop").attr({offset:a[0],"stop-color":l,"stop-opacity":m}).add(k);k.stops.push(a)}));return"url("+d.url+"#"+c.id+")"}return f.test(a)?(e=ua(a),F(b,c+"-opacity",e.get("a")),e.get("rgb")):(b.removeAttribute(c+"-opacity"),a)},text:function(a,
b,c,d){var e=R.chart.style;if(d&&!this.forExport)return this.html(a,b,c);b=w(s(b,0));c=w(s(c,0));a=this.createElement("text").attr({x:b,y:c,text:a}).css({fontFamily:e.fontFamily,fontSize:e.fontSize});!ha&&this.forExport&&a.css({position:"absolute"});a.x=b;a.y=c;return a},html:function(a,b,c){var d=R.chart.style,e=this.createElement("span"),f=e.attrSetters,g=e.element,h=e.renderer;f.text=function(a){a!==g.innerHTML&&delete this.bBox;g.innerHTML=a;return!1};f.x=f.y=f.align=function(a,b){"align"===b&&
(b="textAlign");e[b]=a;e.htmlUpdateTransform();return!1};e.attr({text:a,x:w(b),y:w(c)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:d.fontFamily,fontSize:d.fontSize});e.css=e.htmlCss;h.isSVG&&(e.add=function(a){var b,c=h.box.parentNode,d=[];if(a){if(b=a.div,!b){for(;a;)d.push(a),a=a.parentGroup;q(d.reverse(),function(a){var d;b=a.div=a.div||V(la,{className:F(a.element,"class")},{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px"},b||c);d=b.style;u(a.attrSetters,
{translateX:function(a){d.left=a+"px"},translateY:function(a){d.top=a+"px"},visibility:function(a,b){d[b]=a}})})}}else b=c;b.appendChild(g);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e},fontMetrics:function(a){a=A(a||11);a=24>a?a+4:w(1.2*a);var b=w(0.8*a);return{h:a,b:b}},label:function(a,b,c,d,e,f,g,h,k){function l(){var a=r.styles,a=a&&a.textAlign,b=na*(1-B),c;c=h?0:Ha;!x(ja)||"center"!==a&&"right"!==a||(b+={center:0.5,right:1}[a]*(ja-s.width));b===t.x&&c===t.y||t.attr({x:b,
y:c});t.x=b;t.y=c}function m(a,b){C?C.attr(a,b):ib[a]=b}function n(){t.add(r);r.attr({text:a,x:b,y:c});x(e)&&r.attr({anchorX:e,anchorY:f})}var p=this,r=p.g(k),t=p.text("",0,0,g).attr({zIndex:1}),C,s,B=0,na=3,ja,y,N,L,S=0,ib={},Ha;g=r.attrSetters;M(r,"add",n);g.width=function(a){ja=a;return!1};g.height=function(a){y=a;return!1};g.padding=function(a){x(a)&&a!==na&&(na=a,l());return!1};g.align=function(a){B={left:0,center:0.5,right:1}[a];return!1};g.text=function(a,b){t.attr(b,a);var c;c=t.element.style;
s=(void 0===ja||void 0===y||r.styles.textAlign)&&t.getBBox();r.width=(ja||s.width||0)+2*na;r.height=(y||s.height||0)+2*na;Ha=na+p.fontMetrics(c&&c.fontSize).b;C||(c=h?-Ha:0,r.box=C=d?p.symbol(d,-B*na,c,r.width,r.height):p.rect(-B*na,c,r.width,r.height,0,ib["stroke-width"]),C.add(r));C.attr(E({width:r.width,height:r.height},ib));ib=null;l();return!1};g["stroke-width"]=function(a,b){S=a%2/2;m(b,a);return!1};g.stroke=g.fill=g.r=function(a,b){m(b,a);return!1};g.anchorX=function(a,b){e=a;m(b,a+S-N);return!1};
g.anchorY=function(a,b){f=a;m(b,a-L);return!1};g.x=function(a){r.x=a;a-=B*((ja||s.width)+na);N=w(a);r.attr("translateX",N);return!1};g.y=function(a){L=r.y=w(a);r.attr("translateY",a);return!1};var z=r.css;return u(r,{css:function(a){if(a){var b={};a=E({},a);q("fontSize fontWeight fontFamily color lineHeight width".split(" "),function(c){a[c]!==D&&(b[c]=a[c],delete a[c])});t.css(b)}return z.call(r,a)},getBBox:function(){return C.getBBox()},shadow:function(a){C.shadow(a);return r},destroy:function(){X(r,
"add",n);X(r.element,"mouseenter");X(r.element,"mouseleave");t&&(t=t.destroy());za.prototype.destroy.call(r)}})}};Ua=va;var oa;if(!ha&&!ca){oa={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ","absolute",";"];"shape"!==b&&b!==la||d.push("left:0;top:0;width:1px;height:1px;");Ta&&d.push("visibility: ",b===la?"hidden":"visible");c.push(' style="',d.join(""),'"/>');b&&(c=b===la||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=V(c));this.renderer=a;this.attrSetters=
{}},add:function(a){var b=this.renderer,c=this.element,d=b.box,d=a?a.element||a:d;a&&a.inverted&&b.invertChild(c,d);d.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();I(this,"add");return this},updateTransform:za.prototype.htmlUpdateTransform,attr:function(a,b){var c,d,e,f=this.element||{},g=f.style,h=f.nodeName,k=this.renderer,l=this.symbolName,m,n=this.shadows,p,r=this.attrSetters,t=this;qa(a)&&x(b)&&(c=a,a={},a[c]=b);if(qa(a))c=a,t="strokeWidth"===
c||"stroke-width"===c?this.strokeweight:this[c];else for(c in a)if(d=a[c],p=!1,e=r[c]&&r[c].call(this,d,c),!1!==e&&null!==d){e!==D&&(d=e);if(l&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(c))m||(this.symbolAttr(a),m=!0),p=!0;else if("d"===c){d=d||[];this.d=d.join(" ");e=d.length;for(p=[];e--;)p[e]=Ja(d[e])?w(10*d[e])-5:"Z"===d[e]?"x":d[e];d=p.join(" ")||"x";f.path=d;if(n)for(e=n.length;e--;)n[e].path=n[e].cutOff?this.cutOffPath(d,n[e].cutOff):d;p=!0}else if("visibility"===c){if(n)for(e=
n.length;e--;)n[e].style[c]=d;"DIV"===h&&(d="hidden"===d?"-999em":0,c="top");g[c]=d;p=!0}else"zIndex"===c?(d&&(g[c]=d),p=!0):"width"===c||"height"===c?(d=z(0,d),this[c]=d,this.updateClipping?(this[c]=d,this.updateClipping()):g[c]=d,p=!0):"x"===c||"y"===c?(this[c]=d,g[{x:"left",y:"top"}[c]]=d):"class"===c?f.className=d:"stroke"===c?(d=k.color(d,f,c),c="strokecolor"):"stroke-width"===c||"strokeWidth"===c?(f.stroked=d?!0:!1,c="strokeweight",this[c]=d,Ja(d)&&(d+="px")):"dashstyle"===c?((f.getElementsByTagName("stroke")[0]||
V(k.prepVML(["<stroke/>"]),null,null,f))[c]=d||"solid",this.dashstyle=d,p=!0):"fill"===c?"SPAN"===h?g.color=d:(f.filled=d!==W?!0:!1,d=k.color(d,f,c,this),c="fillcolor"):"shape"===h&&"rotation"===c?(this[c]=d,f.style.left=-w(da(d*db)+1)+"px",f.style.top=w(Z(d*db))+"px"):"translateX"===c||"translateY"===c||"rotation"===c?(this[c]=d,this.updateTransform(),p=!0):"text"===c&&(this.bBox=null,f.innerHTML=d,p=!0);p||(Ta?f[c]=d:F(f,c,d))}return t},clip:function(a){var b=this,c,d=b.element,e=d.parentNode;a?
(c=a.members,c.push(b),b.destroyClip=function(){Ca(c,b)},e&&"highcharts-tracker"===e.className&&!Ta&&K(d,{visibility:"hidden"}),a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:Ta?"inherit":"rect(auto)"});return b.css(a)},css:za.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Qa(a)},destroy:function(){this.destroyClip&&this.destroyClip();return za.prototype.destroy.apply(this)},empty:function(){for(var a=this.element.childNodes,b=a.length,c;b--;)c=a[b],c.parentNode.removeChild(c)},
on:function(a,b){this.element["on"+a]=function(){var a=P.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=A(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,c){var d=[],e,f=this.element,g=this.renderer,h,k=f.style,l,m=f.path,n,p,r,t;m&&"string"!==typeof m.value&&(m="x");p=m;if(a){r=s(a.width,3);t=(a.opacity||0.15)/r;for(e=1;3>=e;e++)n=2*r+1-2*e,c&&(p=this.cutOffPath(m.value,n+0.5)),l=['<shape isShadow="true" strokeweight="',
n,'" filled="false" path="',p,'" coordsize="10 10" style="',f.style.cssText,'" />'],h=V(g.prepVML(l),null,{left:A(k.left)+(a.offsetX||1),top:A(k.top)+(a.offsetY||1)}),c&&(h.cutOff=n+1),l=['<stroke color="',a.color||"black",'" opacity="',t*e,'"/>'],V(g.prepVML(l),null,null,h),b?b.element.appendChild(h):f.parentNode.insertBefore(h,f),d.push(h);this.shadows=d}return this}};oa=ga(za,oa);var ka={Element:oa,isIE8:-1<Fa.indexOf("MSIE 8.0"),init:function(a,b,c){var d,e;this.alignedObjects=[];d=this.createElement(la);
e=d.element;e.style.position="relative";a.appendChild(d.element);this.box=e;this.boxWrapper=d;this.setSize(b,c,!1);G.namespaces.hcv||(G.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),G.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } ")},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,b,c,d){var e=this.createElement(),f=ba(a);return u(e,{members:[],left:f?a.x:a,top:f?a.y:b,width:f?a.width:
c,height:f?a.height:d,getCSS:function(a){var b=a.inverted,c=this.top,d=this.left,e=d+this.width,f=c+this.height,c={clip:"rect("+w(b?d:c)+"px,"+w(b?f:e)+"px,"+w(b?e:f)+"px,"+w(b?c:d)+"px)"};!b&&Ta&&"IMG"!==a.element.nodeName&&u(c,{width:e+"px",height:f+"px"});return c},updateClipping:function(){q(e.members,function(a){a.css(e.getCSS(a))})}})},color:function(a,b,c,d){var e=this,f,g=/^rgba/,h,k,l=W;a&&a.linearGradient?k="gradient":a&&a.radialGradient&&(k="pattern");if(k){var m,n,p=a.linearGradient||
a.radialGradient,r,t,s,v,B,x="";a=a.stops;var ja,y=[],N=function(){h=['<fill colors="'+y.join(",")+'" opacity="',s,'" o:opacity2="',t,'" type="',k,'" ',x,'focus="100%" method="any" />'];V(e.prepVML(h),null,null,b)};r=a[0];ja=a[a.length-1];0<r[0]&&a.unshift([0,r[1]]);1>ja[0]&&a.push([1,ja[1]]);q(a,function(a,b){g.test(a[1])?(f=ua(a[1]),m=f.get("rgb"),n=f.get("a")):(m=a[1],n=1);y.push(100*a[0]+"% "+m);b?(s=n,v=m):(t=n,B=m)});if("fill"===c)if("gradient"===k)c=p.x1||p[0]||0,a=p.y1||p[1]||0,r=p.x2||p[2]||
0,p=p.y2||p[3]||0,x='angle="'+(90-180*O.atan((p-a)/(r-c))/Ba)+'"',N();else{var l=p.r,L=2*l,S=2*l,w=p.cx,u=p.cy,z=b.radialReference,D,l=function(){z&&(D=d.getBBox(),w+=(z[0]-D.x)/D.width-0.5,u+=(z[1]-D.y)/D.height-0.5,L*=z[2]/D.width,S*=z[2]/D.height);x='src="'+R.global.VMLRadialGradientURL+'" size="'+L+","+S+'" origin="0.5,0.5" position="'+w+","+u+'" color2="'+B+'" ';N()};d.added?l():M(d,"add",l);l=v}else l=m}else g.test(a)&&"IMG"!==b.tagName?(f=ua(a),h=["<",c,' opacity="',f.get("a"),'"/>'],V(this.prepVML(h),
null,null,b),l=f.get("rgb")):(l=b.getElementsByTagName(c),l.length&&(l[0].opacity=1),l=a);return l},prepVML:function(a){var b=this.isIE8;a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=-1===a.indexOf('style="')?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","<hcv:");return a},text:va.prototype.html,path:function(a){var b={coordsize:"10 10"};
Ia(a)?b.d=a:ba(a)&&u(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,c){return this.symbol("circle").attr({x:a-c,y:b-c,width:2*c,height:2*c})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement(la).attr(b)},image:function(a,b,c,d,e){var f=this.createElement("img").attr({src:a});1<arguments.length&&f.css({left:b,top:c,width:d,height:e});return f},rect:function(a,b,c,d,e,f){ba(a)&&(b=a.y,c=a.width,d=a.height,f=a.strokeWidth,
a=a.x);var g=this.symbol("rect");g.r=e;return g.attr(g.crisp(f,a,b,z(c,0),z(d,0)))},invertChild:function(a,b){var c=b.style;K(a,{flip:"x",left:A(c.width)-1,top:A(c.height)-1,rotation:-90})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d;c=Z(f);d=da(f);var k=Z(g),l=da(g),m=e.innerR,n=0.08/h,p=m&&0.1/m||0;if(0===g-f)return["x"];2*Ba-g+f<n?k=-n:g-f<p&&(k=Z(f+p));f=["wa",a-h,b-h,a+h,b+h,a+h*c,b+h*d,a+h*k,b+h*l];e.open&&!m&&f.push("e","M",a,b);f.push("at",a-m,b-m,a+m,b+m,a+m*k,b+m*
l,a+m*c,b+m*d,"x","e");return f},circle:function(a,b,c,d){return["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(a,b,c,d,e){var f=a+c,g=b+d,h;x(e)&&e.r?(h=T(e.r,c,d),f=["M",a+h,b,"L",f-h,b,"wa",f-2*h,b,f,b+2*h,f-h,b,f,b+h,"L",f,g-h,"wa",f-2*h,g-2*h,f,g,f,g-h,f-h,g,"L",a+h,g,"wa",a,g-2*h,a+2*h,g,a+h,g,a,g-h,"L",a,b+h,"wa",a,b,a+2*h,b+2*h,a,b+h,a+h,b,"x","e"]):f=va.prototype.symbols.square.apply(0,arguments);return f}}};oa=function(){this.init.apply(this,arguments)};oa.prototype=E(va.prototype,
ka);Ua=oa}var jb,Pb;ca&&(jb=function(){},jb.prototype.symbols={},Pb=function(){function a(){var a=b.length,d;for(d=0;d<a;d++)b[d]();b=[]}var b=[];return{push:function(c,d){0===b.length&&Tb(d,a);b.push(c)}}}());Ua=oa||jb||va;Sa.prototype={addLabel:function(){var a=this.axis,b=a.options,c=a.chart,d=a.horiz,e=a.categories,f=this.pos,g=b.labels,h=a.tickPositions,d=e&&d&&e.length&&!g.step&&!g.staggerLines&&!g.rotation&&c.plotWidth/h.length||!d&&c.plotWidth/2,k=f===h[0],l=f===h[h.length-1],m=e&&x(e[f])?
e[f]:f,e=this.label,h=h.info,n;a.isDatetimeAxis&&h&&(n=b.dateTimeLabelFormats[h.higherRanks[f]||h.unitName]);this.isFirst=k;this.isLast=l;b=a.labelFormatter.call({axis:a,chart:c,isFirst:k,isLast:l,dateTimeLabelFormat:n,value:a.isLog?ma(fa(m)):m});f=d&&{width:z(1,w(d-2*(g.padding||10)))+"px"};f=u(f,g.style);x(e)?e&&e.attr({text:b}).css(f):(d={align:g.align},Ja(g.rotation)&&(d.rotation=g.rotation),this.label=x(b)&&g.enabled?c.renderer.text(b,0,0,g.useHTML).attr(d).css(f).add(a.labelGroup):null)},getLabelSize:function(){var a=
this.label,b=this.axis;return a?(this.labelBBox=a.getBBox())[b.horiz?"height":"width"]:0},getLabelSides:function(){var a=this.axis.options.labels,b=this.labelBBox.width,a=b*{left:0,center:0.5,right:1}[a.align]-a.x;return[-a,b-a]},handleOverflow:function(a,b){var c=!0,d=this.axis,e=d.chart,f=this.isFirst,g=this.isLast,h=b.x,k=d.reversed,l=d.tickPositions;if(f||g){var m=this.getLabelSides(),n=m[0],m=m[1],e=e.plotLeft,p=e+d.len,l=(d=d.ticks[l[a+(f?1:-1)]])&&d.label.xy&&d.label.xy.x+d.getLabelSides()[f?
0:1];f&&!k||g&&k?h+n<e&&(h=e-n,d&&h+m>l&&(c=!1)):h+m>p&&(h=p-m,d&&h+n<l&&(c=!1));b.x=h}return c},getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var k=this.axis,l=k.transA,m=k.reversed,k=k.staggerLines;
a=a+e.x-(f&&d?f*l*(m?-1:1):0);b=b+e.y-(f&&!d?f*l*(m?1:-1):0);x(e.y)||(b+=0.9*A(c.styles.lineHeight)-c.getBBox().height/2);k&&(b+=g/(h||1)%k*16);return{x:a,y:b}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b){var c=this.axis,d=c.options,e=c.chart.renderer,f=c.horiz,g=this.type,h=this.label,k=this.pos,l=d.labels,m=this.gridLine,n=g?g+"Grid":"grid",p=g?g+"Tick":"tick",r=d[n+"LineWidth"],t=d[n+"LineColor"],C=d[n+"LineDashStyle"],q=d[p+
"Length"],n=d[p+"Width"]||0,B=d[p+"Color"],x=d[p+"Position"],p=this.mark,w=l.step,y=!0,N=c.tickmarkOffset,L=this.getPosition(f,k,N,b),S=L.x,L=L.y,u=c.staggerLines;if(r&&(k=c.getPlotLinePath(k+N,r,b),m===D&&(m={stroke:t,"stroke-width":r},C&&(m.dashstyle=C),g||(m.zIndex=1),this.gridLine=m=r?e.path(k).attr(m).add(c.gridGroup):null),!b&&m&&k))m[this.isNew?"attr":"animate"]({d:k});n&&q&&("inside"===x&&(q=-q),c.opposite&&(q=-q),g=this.getMarkPath(S,L,q,n,f,e),p?p.animate({d:g}):this.mark=e.path(g).attr({stroke:B,
"stroke-width":n}).add(c.axisGroup));h&&!isNaN(S)&&(h.xy=L=this.getLabelPosition(S,L,h,f,l,N,a,w),this.isFirst&&!s(d.showFirstLabel,1)||this.isLast&&!s(d.showLastLabel,1)?y=!1:!u&&f&&"justify"===l.overflow&&!this.handleOverflow(a,L)&&(y=!1),w&&a%w&&(y=!1),y?(h[this.isNew?"attr":"animate"](L),h.show(),this.isNew=!1):h.hide())},destroy:function(){Ea(this,this.axis)}};qb.prototype={render:function(){var a=this,b=a.axis,c=b.horiz,d=(b.pointRange||0)/2,e=a.options,f=e.label,g=a.label,h=e.width,k=e.to,
l=e.from,m=x(l)&&x(k),n=e.value,p=e.dashStyle,r=a.svgElem,t=[],C,q=e.color,B=e.zIndex,w=e.events,u=b.chart.renderer;b.isLog&&(l=ra(l),k=ra(k),n=ra(n));if(h){if(t=b.getPlotLinePath(n,h),d={stroke:q,"stroke-width":h},p)d.dashstyle=p}else if(m){if(l=z(l,b.min-d),k=T(k,b.max+d),t=b.getPlotBandPath(l,k,e),d={fill:q},e.borderWidth)d.stroke=e.borderColor,d["stroke-width"]=e.borderWidth}else return;x(B)&&(d.zIndex=B);if(r)t?r.animate({d:t},null,r.onGetPath):(r.hide(),r.onGetPath=function(){r.show()});else if(t&&
t.length&&(a.svgElem=r=u.path(t).attr(d).add(),w))for(C in e=function(b){r.on(b,function(c){w[b].apply(a,[c])})},w)e(C);f&&x(f.text)&&t&&t.length&&0<b.width&&0<b.height?(f=E({align:c&&m&&"center",x:c?!m&&4:10,verticalAlign:!c&&m&&"middle",y:c?m?16:10:m?6:-4,rotation:c&&!m&&90},f),g||(a.label=g=u.text(f.text,0,0).attr({align:f.textAlign||f.align,rotation:f.rotation,zIndex:B}).css(f.style).add()),b=[t[1],t[4],s(t[6],t[1])],t=[t[2],t[5],s(t[7],t[2])],c=Pa(b),m=Pa(t),g.align(f,!1,{x:c,y:m,width:Da(b)-
c,height:Da(t)-m}),g.show()):g&&g.hide();return a},destroy:function(){Ca(this.axis.plotLinesAndBands,this);Ea(this,this.axis)}};Kb.prototype={destroy:function(){Ea(this,this.axis)},setTotal:function(a){this.cum=this.total=a},render:function(a){var b=this.options.formatter.call(this);this.label?this.label.attr({text:b,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(b,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:"hidden"}).add(a)},
setOffset:function(a,b){var c=this.axis,d=c.chart,e=d.inverted,f=this.isNegative,g=c.translate(this.total,0,0,0,1),c=c.translate(0),c=Q(g-c),h=d.xAxis[0].translate(this.x)+a,d=d.plotHeight,e={x:e?f?g:g-c:h,y:e?d-h-b:f?d-g-c:d-g,width:e?c:b,height:e?b:c};this.label&&this.label.align(this.alignOptions,null,e).attr({visibility:"visible"})}};rb.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",
year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:J,lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,
gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:J.style}},defaultLeftAxisOptions:{labels:{align:"right",x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{align:"left",x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{align:"center",x:0,y:14},title:{rotation:0}},
defaultTopAxisOptions:{labels:{align:"center",x:0,y:-5},title:{rotation:0}},init:function(a,b){var c=b.isX;this.horiz=a.inverted?!c:c;this.xOrY=(this.isXAxis=c)?"x":"y";this.opposite=b.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(b);var d=this.options,e=d.type,f="datetime"===e;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter;this.staggerLines=this.horiz&&d.labels.staggerLines;this.userOptions=b;this.minPixelPadding=0;this.chart=a;this.reversed=
d.reversed;this.categories=d.categories;this.isLog="logarithmic"===e;this.isLinked=x(d.linkedTo);this.isDatetimeAxis=f;this.tickmarkOffset=d.categories&&"between"===d.tickmarkPlacement?0.5:0;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.stacks={};this.min=this.max=null;var g,d=this.options.events;a.axes.push(this);a[c?"xAxis":"yAxis"].push(this);this.series=
[];a.inverted&&c&&this.reversed===D&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;this.addPlotLine=this.addPlotBand=this.addPlotBandOrLine;for(g in d)M(this,g,d[g]);this.isLog&&(this.val2lin=ra,this.lin2val=fa)},setOptions:function(a){this.options=E(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],E(R[this.isXAxis?"xAxis":
"yAxis"],a))},defaultLabelFormatter:function(){var a=this.axis,b=this.value,c=this.dateTimeLabelFormat,d=R.lang.numericSymbols,e=d&&d.length,f,g=a.isLog?b:a.tickInterval;if(a.categories)f=b;else if(c)f=fb(c,b);else if(e&&1E3<=g)for(;e--&&f===D;)a=Math.pow(1E3,e+1),g>=a&&null!==d[e]&&(f=La(b/a,-1)+d[e]);f===D&&(f=1E3<=b?La(b,0):La(b,-1));return f},getSeriesExtremes:function(){var a=this,b=a.chart,c=a.stacks,d=[],e=[],f;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=null;q(a.series,function(g){if(g.visible||
!b.options.chart.ignoreHiddenSeries){var h=g.options,k,l,m,n,p,r,t,q,v,B=h.threshold,w,u=[],y=0;a.hasVisibleSeries=!0;a.isLog&&0>=B&&(B=h.threshold=null);if(a.isXAxis){if(h=g.xData,h.length)a.dataMin=T(s(a.dataMin,h[0]),Pa(h)),a.dataMax=z(s(a.dataMax,h[0]),Da(h))}else{var N,L,S,E=g.cropped,Ha=g.xAxis.getExtremes(),A=!!g.modifyValue;k=h.stacking;a.usePercentage="percent"===k;k&&(p=h.stack,n=g.type+s(p,""),r="-"+n,g.stackKey=n,l=d[n]||[],d[n]=l,m=e[r]||[],e[r]=m);a.usePercentage&&(a.dataMin=0,a.dataMax=
99);h=g.processedXData;t=g.processedYData;w=t.length;for(f=0;f<w;f++)if(q=h[f],v=t[f],null!==v&&v!==D&&(k?(L=(N=v<B)?m:l,S=N?r:n,v=L[q]=x(L[q])?L[q]+v:v,c[S]||(c[S]={}),c[S][q]||(c[S][q]=new Kb(a,a.options.stackLabels,N,q,p)),c[S][q].setTotal(v)):A&&(v=g.modifyValue(v)),E||(h[f+1]||q)>=Ha.min&&(h[f-1]||q)<=Ha.max))if(q=v.length)for(;q--;)null!==v[q]&&(u[y++]=v[q]);else u[y++]=v;!a.usePercentage&&u.length&&(a.dataMin=T(s(a.dataMin,u[0]),Pa(u)),a.dataMax=z(s(a.dataMax,u[0]),Da(u)));x(B)&&(a.dataMin>=
B?(a.dataMin=B,a.ignoreMinPadding=!0):a.dataMax<B&&(a.dataMax=B,a.ignoreMaxPadding=!0))}}})},translate:function(a,b,c,d,e,f){var g=this.len,h=1,k=0,l=d?this.oldTransA:this.transA;d=d?this.oldMin:this.min;e=this.options.ordinal||this.isLog&&e;l||(l=this.transA);c&&(h*=-1,k=g);this.reversed&&(h*=-1,k-=h*g);b?(this.reversed&&(a=g-a),a=a/l+d,e&&(a=this.lin2val(a))):(e&&(a=this.val2lin(a)),a=h*(a-d)*l+k+h*this.minPixelPadding+(f?l*this.pointRange/2:0));return a},getPlotLinePath:function(a,b,c){var d=this.chart,
e=this.left,f=this.top,g,h,k;a=this.translate(a,null,null,c);var l=c&&d.oldChartHeight||d.chartHeight,m=c&&d.oldChartWidth||d.chartWidth,n;g=this.transB;c=h=w(a+g);g=k=w(l-a-g);if(isNaN(a))n=!0;else if(this.horiz){if(g=f,k=l-this.bottom,c<e||c>e+this.width)n=!0}else if(c=e,h=m-this.right,g<f||g>f+this.height)n=!0;return n?null:d.renderer.crispLine(["M",c,g,"L",h,k],b||0)},getPlotBandPath:function(a,b){var c=this.getPlotLinePath(b),d=this.getPlotLinePath(a);d&&c?d.push(c[4],c[5],c[1],c[2]):d=null;
return d},getLinearTickPositions:function(a,b,c){var d;b=ma(Y(b/a)*a);c=ma(Aa(c/a)*a);for(var e=[];b<=c;){e.push(b);b=ma(b+a);if(b===d)break;d=b}return e},getLogTickPositions:function(a,b,c,d){var e=this.options,f=this.len,g=[];d||(this._minorAutoInterval=null);if(0.5<=a)a=w(a),g=this.getLinearTickPositions(a,b,c);else if(0.08<=a)for(var f=Y(b),h,k,l,m,n,e=0.3<a?[1,2,4]:0.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];f<c+1&&!n;f++)for(k=e.length,h=0;h<k&&!n;h++)l=ra(fa(f)*e[h]),l>b&&g.push(m),m>c&&(n=!0),
m=l;else(b=fa(b),c=fa(c),a=e[d?"minorTickInterval":"tickInterval"],a=s("auto"===a?null:a,this._minorAutoInterval,e.tickPixelInterval/(d?5:1)*(c-b)/((d?f/this.tickPositions.length:f)||1)),a=kb(a,null,O.pow(10,Y(O.log(a)/O.LN10))),g=Va(this.getLinearTickPositions(a,b,c),ra),d)||(this._minorAutoInterval=a/5);d||(this.tickInterval=a);return g},getMinorTickPositions:function(){var a=this.tickPositions,b=this.minorTickInterval,c=[],d,e;if(this.isLog)for(e=a.length,d=1;d<e;d++)c=c.concat(this.getLogTickPositions(b,
a[d-1],a[d],!0));else for(a=this.min+(a[0]-this.min)%b;a<=this.max;a+=b)c.push(a);return c},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,d,e=this.dataMax-this.dataMin>=this.minRange,f,g,h,k;this.isXAxis&&this.minRange===D&&!this.isLog&&(x(a.min)||x(a.max)?this.minRange=null:(q(this.series,function(a){k=a.xData;for(g=a.xIncrement?1:k.length-1;0<g;g--)if(h=k[g]-k[g-1],f===D||h<f)f=h}),this.minRange=T(5*f,this.dataMax-this.dataMin)));if(c-b<this.minRange){var l=this.minRange;
d=(l-c+b)/2;d=[b-d,s(a.min,b-d)];e&&(d[2]=this.dataMin);b=Da(d);c=[b+l,s(a.max,b+l)];e&&(c[2]=this.dataMax);c=Pa(c);c-b<l&&(d[0]=c-l,d[1]=s(a.min,c-l),b=Da(d))}this.min=b;this.max=c},setAxisTranslation:function(){var a=this.max-this.min,b=0,c,d=0,e=0,f=this.transA;this.isXAxis&&(this.isLinked?d=this.linkedParent.minPointOffset:q(this.series,function(a){var f=a.pointRange,k=a.options.pointPlacement,l=a.closestPointRange;b=z(b,f);d=z(d,k?0:f/2);e=z(e,"on"===k?0:f);!a.noSharedTooltip&&x(l)&&(c=x(c)?
T(c,l):l)}),this.minPointOffset=d,this.pointRange=b,this.closestPointRange=c);this.oldTransA=f;this.translationSlope=this.transA=f=this.len/(a+e||1);this.transB=this.horiz?this.left:this.bottom;this.minPixelPadding=f*d},setTickPositions:function(a){var b=this,c=b.chart,d=b.options,e=b.isLog,f=b.isDatetimeAxis,g=b.isXAxis,h=b.isLinked,k=b.options.tickPositioner,l=d.maxPadding,m=d.minPadding,n=d.tickInterval,p=d.minTickInterval,r=d.tickPixelInterval,t=b.categories;h?(b.linkedParent=c[g?"xAxis":"yAxis"][d.linkedTo],
c=b.linkedParent.getExtremes(),b.min=s(c.min,c.dataMin),b.max=s(c.max,c.dataMax),d.type!==b.linkedParent.options.type&&cb(11,1)):(b.min=s(b.userMin,d.min,b.dataMin),b.max=s(b.userMax,d.max,b.dataMax));e&&(!a&&0>=T(b.min,s(b.dataMin,b.min))&&cb(10,1),b.min=ma(ra(b.min)),b.max=ma(ra(b.max)));b.range&&(b.userMin=b.min=z(b.min,b.max-b.range),b.userMax=b.max,a)&&(b.range=null);b.adjustForMinRange();t||b.usePercentage||h||!x(b.min)||!x(b.max)||(c=b.max-b.min||1,x(d.min)||x(b.userMin)||!m||!(0>b.dataMin)&&
b.ignoreMinPadding||(b.min-=c*m),x(d.max)||x(b.userMax)||!l||!(0<b.dataMax)&&b.ignoreMaxPadding||(b.max+=c*l));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:h&&!n&&r===b.linkedParent.options.tickPixelInterval?b.linkedParent.tickInterval:s(n,t?1:(b.max-b.min)*r/(b.len||1));g&&!a&&q(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(a);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));
!n&&b.tickInterval<p&&(b.tickInterval=p);f||e||(a=O.pow(10,Y(O.log(b.tickInterval)/O.LN10)),n)||(b.tickInterval=kb(b.tickInterval,null,a,d));b.minorTickInterval="auto"===d.minorTickInterval&&b.tickInterval?b.tickInterval/5:d.minorTickInterval;b.tickPositions=k=d.tickPositions||k&&k.apply(b,[b.min,b.max]);k||(k=f?(b.getNonLinearTimeTicks||Rb)(Qb(b.tickInterval,d.units),b.min,b.max,d.startOfWeek,b.ordinalPositions,b.closestPointRange,!0):e?b.getLogTickPositions(b.tickInterval,b.min,b.max):b.getLinearTickPositions(b.tickInterval,
b.min,b.max),b.tickPositions=k);h||(e=k[0],f=k[k.length-1],h=b.minPointOffset||0,d.startOnTick?b.min=e:b.min-h>e&&k.shift(),d.endOnTick?b.max=f:b.max+h<f&&k.pop())},setMaxTicks:function(){var a=this.chart,b=a.maxTicks,c=this.tickPositions,d=this.xOrY;b||(b={x:0,y:0});!this.isLinked&&!this.isDatetimeAxis&&c.length>b[d]&&!1!==this.options.alignTicks&&(b[d]=c.length);a.maxTicks=b},adjustTickAmount:function(){var a=this.xOrY,b=this.tickPositions,c=this.chart.maxTicks;if(c&&c[a]&&!this.isDatetimeAxis&&
!this.categories&&!this.isLinked&&!1!==this.options.alignTicks){var d=this.tickAmount,e=b.length;this.tickAmount=a=c[a];if(e<a){for(;b.length<a;)b.push(ma(b[b.length-1]+this.tickInterval));this.transA*=(e-1)/(a-1);this.max=b[b.length-1]}x(d)&&a!==d&&(this.isDirty=!0)}},setScale:function(){var a=this.stacks,b,c,d,e;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();e=this.len!==this.oldAxisLength;q(this.series,function(a){if(a.isDirtyData||a.isDirty||a.xAxis.isDirty)d=
!0});if(e||d||this.isLinked||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax)(this.getSeriesExtremes(),this.setTickPositions(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty)||(this.isDirty=e||this.min!==this.oldMin||this.max!==this.oldMax);if(!this.isXAxis)for(b in a)for(c in a[b])a[b][c].cum=a[b][c].total;this.setMaxTicks()},setExtremes:function(a,b,c,d,e){var f=this,g=f.chart;c=s(c,!0);e=u(e,{min:a,max:b});I(f,"setExtremes",e,function(){f.userMin=a;f.userMax=
b;f.isDirtyExtremes=!0;c&&g.redraw(d)})},zoom:function(a,b){this.setExtremes(a,b,!1,D,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=b.offsetRight||0;this.left=s(b.left,a.plotLeft+c);this.top=s(b.top,a.plotTop);this.width=s(b.width,a.plotWidth-c+d);this.height=s(b.height,a.plotHeight);this.bottom=a.chartHeight-this.height-this.top;this.right=a.chartWidth-this.width-this.left;this.len=z(this.horiz?this.width:this.height,0)},getExtremes:function(){var a=
this.isLog;return{min:a?ma(fa(this.min)):this.min,max:a?ma(fa(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?fa(this.min):this.min,b=b?fa(this.max):this.max;c>a||null===a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},addPlotBandOrLine:function(a){a=(new qb(this,a)).render();this.plotLinesAndBands.push(a);return a},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.tickPositions,
f=a.ticks,g=a.horiz,h=a.side,k,l=0,m,n=0,p=d.title,r=d.labels,t=0,C=b.axisOffset,v=[-1,1,1,-1][h],B;a.hasData=b=a.hasVisibleSeries||x(a.min)&&x(a.max)&&!!e;a.showAxis=k=b||s(d.showEmpty,!0);a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||1}).add(),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).add(),a.labelGroup=c.g("axis-labels").attr({zIndex:r.zIndex||7}).add());if(b||a.isLinked)q(e,function(b){f[b]?f[b].addLabel():f[b]=new Sa(a,b)}),q(e,function(a){if(0===h||2===h||{1:"left",
3:"right"}[h]===r.align)t=z(f[a].getLabelSize(),t)}),a.staggerLines&&(t+=16*(a.staggerLines-1));else for(B in f)f[B].destroy(),delete f[B];p&&p.text&&(a.axisTitle||(a.axisTitle=c.text(p.text,0,0,p.useHTML).attr({zIndex:7,rotation:p.rotation||0,align:p.textAlign||{low:"left",middle:"center",high:"right"}[p.align]}).css(p.style).add(a.axisGroup),a.axisTitle.isNew=!0),k&&(l=a.axisTitle.getBBox()[g?"height":"width"],n=s(p.margin,g?5:10),m=p.offset),a.axisTitle[k?"show":"hide"]());a.offset=v*s(d.offset,
C[h]);a.axisTitleMargin=s(m,t+n+(2!==h&&t&&v*d.labels[g?"y":"x"]));C[h]=z(C[h],a.axisTitleMargin+l+v*a.offset)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+d;this.lineTop=c=b.chartHeight-this.bottom-(c?this.height:0)+d;return b.renderer.crispLine(["M",e?this.left:f,e?c:this.top,"L",e?b.chartWidth-this.right:f,e?c:b.chartHeight-this.bottom],a)},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,e=this.options.title,
f=a?b:c,g=this.opposite,h=this.offset,k=A(e.style.fontSize||12),d={low:f+(a?0:d),middle:f+d/2,high:f+(a?d:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(2===this.side?k:0);return{x:a?d:b+(g?this.width:0)+h+(e.x||0),y:a?b-(g?this.height:0)+h:d+(e.y||0)}},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.isLog,f=a.isLinked,g=a.tickPositions,h=a.axisTitle,k=a.stacks,l=a.ticks,m=a.minorTicks,n=a.alternateBands,p=d.stackLabels,r=d.alternateGridColor,t=a.tickmarkOffset,
s=d.lineWidth,v,B=b.hasRendered&&x(a.oldMin)&&!isNaN(a.oldMin),w=a.showAxis,u,y;if(a.hasData||f)(a.minorTickInterval&&!a.categories&&q(a.getMinorTickPositions(),function(b){m[b]||(m[b]=new Sa(a,b,"minor"));B&&m[b].isNew&&m[b].render(null,!0);m[b].isActive=!0;m[b].render()}),q(g.slice(1).concat([g[0]]),function(b,c){c=c===g.length-1?0:c+1;if(!f||b>=a.min&&b<=a.max)l[b]||(l[b]=new Sa(a,b)),B&&l[b].isNew&&l[b].render(c,!0),l[b].isActive=!0,l[b].render(c)}),r&&q(g,function(b,c){0===c%2&&b<a.max&&(n[b]||
(n[b]=new qb(a)),u=b+t,y=g[c+1]!==D?g[c+1]+t:a.max,n[b].options={from:e?fa(u):u,to:e?fa(y):y,color:r},n[b].render(),n[b].isActive=!0)}),a._addedPlotLB)||(q((d.plotLines||[]).concat(d.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0);q([l,m,n],function(a){for(var b in a)a[b].isActive?a[b].isActive=!1:(a[b].destroy(),delete a[b])});s&&(v=a.getLinePath(s),a.axisLine?a.axisLine.animate({d:v}):a.axisLine=c.path(v).attr({stroke:d.lineColor,"stroke-width":s,zIndex:7}).add(a.axisGroup),
a.axisLine[w?"show":"hide"]());h&&w&&(h[h.isNew?"attr":"animate"](a.getTitlePosition()),h.isNew=!1);if(p&&p.enabled){var N,L,d=a.stackTotalGroup;d||(a.stackTotalGroup=d=c.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());d.translate(b.plotLeft,b.plotTop);for(N in k)for(L in b=k[N],b)b[L].render(d)}a.isDirty=!1},removePlotBandOrLine:function(a){for(var b=this.plotLinesAndBands,c=b.length;c--;)b[c].id===a&&b[c].destroy()},setTitle:function(a,b){var c=this.chart,d=this.options,e=this.axisTitle;
d.title=E(d.title,a);this.axisTitle=e&&e.destroy();this.isDirty=!0;s(b,!0)&&c.redraw()},redraw:function(){var a=this.chart;a.tracker.resetTracker&&a.tracker.resetTracker(!0);this.render();q(this.plotLinesAndBands,function(a){a.render()});q(this.series,function(a){a.isDirty=!0})},setCategories:function(a,b){var c=this.chart;this.categories=this.userOptions.categories=a;q(this.series,function(a){a.translate();a.setTooltipPoints(!0)});this.isDirty=!0;s(b,!0)&&c.redraw()},destroy:function(){var a=this,
b=a.stacks,c;X(a);for(c in b)Ea(b[c]),b[c]=null;q([a.ticks,a.minorTicks,a.alternateBands,a.plotLinesAndBands],function(a){Ea(a)});q("stackTotalGroup axisLine axisGroup gridGroup labelGroup axisTitle".split(" "),function(b){a[b]&&(a[b]=a[b].destroy())})}};sb.prototype={destroy:function(){q(this.crosshairs,function(a){a&&a.destroy()});this.label&&(this.label=this.label.destroy())},move:function(a,b,c,d){var e=this,f=e.now,g=!1!==e.options.animation&&!e.isHidden;u(f,{x:g?(2*f.x+a)/3:a,y:g?(f.y+b)/2:
b,anchorX:g?(2*f.anchorX+c)/3:c,anchorY:g?(f.anchorY+d)/2:d});e.label.attr(f);e.tooltipTick=g&&(1<Q(a-f.x)||1<Q(b-f.y))?function(){e.move(a,b,c,d)}:null},hide:function(){if(!this.isHidden){var a=this.chart.hoverPoints;this.label.hide();a&&q(a,function(a){a.setState()});this.chart.hoverPoints=null;this.isHidden=!0}},hideCrosshairs:function(){q(this.crosshairs,function(a){a&&a.hide()})},getAnchor:function(a,b){var c,d=this.chart,e=d.inverted,f=0,g=0,h;a=sa(a);(c=a[0].tooltipPos)||(q(a,function(a){h=
a.series.yAxis;f+=a.plotX;g+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!e&&h?h.top-d.plotTop:0)}),f/=a.length,g/=a.length,c=[e?d.plotWidth-g:f,this.shared&&!e&&1<a.length&&b?b.chartY-d.plotTop:e?d.plotHeight-f:g]);return Va(c,w)},getPosition:function(a,b,c){var d=this.chart,e=d.plotLeft,f=d.plotTop,g=d.plotWidth,h=d.plotHeight,k=s(this.options.distance,12),l=c.plotX;c=c.plotY;var d=l+e+(d.inverted?k:-a-k),m=c-b+f+15,n;7>d&&(d=e+l+k);d+a>e+g&&(d-=d+a-(e+g),m=c-b+f-k,n=!0);m<f+5&&(m=f+5,n&&c>=m&&
c<=m+b&&(m=c+f+k));m+b>f+h&&(m=z(f,f+h-b-k));return{x:d,y:m}},refresh:function(a,b){function c(){var a=this.points||sa(this),b=a[0].series,c;c=[b.tooltipHeaderFormatter(a[0].key)];q(a,function(a){b=a.series;c.push(b.tooltipFormatter&&b.tooltipFormatter(a)||a.point.tooltipFormatter(b.tooltipOptions.pointFormat))});c.push(f.footerFormat||"");return c.join("")}var d=this.chart,e=this.label,f=this.options,g,h,k,l={},m,n=[];m=f.formatter||c;var l=d.hoverPoints,p,r=f.crosshairs;k=this.shared;h=this.getAnchor(a,
b);g=h[0];h=h[1];!k||a.series&&a.series.noSharedTooltip?l=a.getLabelConfig():(d.hoverPoints=a,l&&q(l,function(a){a.setState()}),q(a,function(a){a.setState("hover");n.push(a.getLabelConfig())}),l={x:a[0].category,y:a[0].y},l.points=n,a=a[0]);m=m.call(l);l=a.series;k=k||!l.isCartesian||l.tooltipOutsidePlot||d.isInsidePlot(g,h);!1!==m&&k?(this.isHidden&&e.show(),e.attr({text:m}),p=f.borderColor||a.color||l.color||"#606060",e.attr({stroke:p}),e=(f.positioner||this.getPosition).call(this,e.width,e.height,
{plotX:g,plotY:h}),this.move(w(e.x),w(e.y),g+d.plotLeft,h+d.plotTop),this.isHidden=!1):this.hide();if(r)for(r=sa(r),e=r.length;e--;)if(k=a.series[e?"yAxis":"xAxis"],r[e]&&k)(k=k.getPlotLinePath(e?s(a.stackY,a.y):a.x,1),this.crosshairs[e])?this.crosshairs[e].attr({d:k,visibility:"visible"}):(l={"stroke-width":r[e].width||1,stroke:r[e].color||"#C0C0C0",zIndex:r[e].zIndex||2},r[e].dashStyle&&(l.dashstyle=r[e].dashStyle),this.crosshairs[e]=d.renderer.path(k).attr(l).add());I(d,"tooltipRefresh",{text:m,
x:g+d.plotLeft,y:h+d.plotTop,borderColor:p})},tick:function(){this.tooltipTick&&this.tooltipTick()}};tb.prototype={normalizeMouseEvent:function(a){var b,c,d;a=a||P.event;a.target||(a.target=a.srcElement);a=Ob(a);d=a.touches?a.touches.item(0):a;this.chartPosition=b=Vb(this.chart.container);d.pageX===D?(c=a.x,b=a.y):(c=d.pageX-b.left,b=d.pageY-b.top);return u(a,{chartX:w(c),chartY:w(b)})},getMouseCoordinates:function(a){var b={xAxis:[],yAxis:[]},c=this.chart;q(c.axes,function(d){var e=d.isXAxis;b[e?
"xAxis":"yAxis"].push({axis:d,value:d.translate(((c.inverted?!e:e)?a.chartX-c.plotLeft:d.top+d.len-a.chartY)-d.minPixelPadding,!0)})});return b},getIndex:function(a){var b=this.chart;return b.inverted?b.plotHeight+b.plotTop-a.chartY:a.chartX-b.plotLeft},onmousemove:function(a){var b=this.chart,c=b.series,d=b.tooltip,e,f=b.hoverPoint,g=b.hoverSeries,h,k,l=b.chartWidth,m=this.getIndex(a);if(d&&this.options.tooltip.shared&&(!g||!g.noSharedTooltip)){e=[];h=c.length;for(k=0;k<h;k++)c[k].visible&&!1!==
c[k].options.enableMouseTracking&&!c[k].noSharedTooltip&&c[k].tooltipPoints.length&&(b=c[k].tooltipPoints[m],b._dist=Q(m-b[c[k].xAxis.tooltipPosName||"plotX"]),l=T(l,b._dist),e.push(b));for(h=e.length;h--;)e[h]._dist>l&&e.splice(h,1);e.length&&e[0].plotX!==this.hoverX&&(d.refresh(e,a),this.hoverX=e[0].plotX)}if(g&&g.tracker&&(b=g.tooltipPoints[m])&&b!==f)b.onMouseOver()},resetTracker:function(a){var b=this.chart,c=b.hoverSeries,d=b.hoverPoint,e=b.tooltip,b=e&&e.shared?b.hoverPoints:d;(a=a&&e&&b)&&
sa(b)[0].plotX===D&&(a=!1);if(a)e.refresh(b);else{if(d)d.onMouseOut();if(c)c.onMouseOut();e&&(e.hide(),e.hideCrosshairs());this.hoverX=null}},setDOMEvents:function(){function a(){if(b.selectionMarker){var f={xAxis:[],yAxis:[]},g=b.selectionMarker.getBBox(),h=g.x-c.plotLeft,n=g.y-c.plotTop,p;e&&(q(c.axes,function(a){if(!1!==a.options.zoomEnabled){var b=a.isXAxis,d=c.inverted?!b:b,e=a.translate(d?h:c.plotHeight-n-g.height,!0,0,0,1),d=a.translate((d?h+g.width:c.plotHeight-n)-2*a.minPixelPadding,!0,0,
0,1);!isNaN(e)&&!isNaN(d)&&(f[b?"xAxis":"yAxis"].push({axis:a,min:T(e,d),max:z(e,d)}),p=!0)}}),p&&I(c,"selection",f,function(a){c.zoom(a)}));b.selectionMarker=b.selectionMarker.destroy()}c&&(K(d,{cursor:"auto"}),c.cancelClick=e,c.mouseIsDown=e=!1);X(G,ia?"touchend":"mouseup",a)}var b=this,c=b.chart,d=c.container,e,f=b.zoomX&&!c.inverted||b.zoomY&&c.inverted,g=b.zoomY&&!c.inverted||b.zoomX&&c.inverted;b.hideTooltipOnMouseMove=function(a){a=Ob(a);b.chartPosition&&c.hoverSeries&&c.hoverSeries.isCartesian&&
!c.isInsidePlot(a.pageX-b.chartPosition.left-c.plotLeft,a.pageY-b.chartPosition.top-c.plotTop)&&b.resetTracker()};b.hideTooltipOnMouseLeave=function(){b.resetTracker();b.chartPosition=null};d.onmousedown=function(d){d=b.normalizeMouseEvent(d);!ia&&d.preventDefault&&d.preventDefault();c.mouseIsDown=!0;c.cancelClick=!1;c.mouseDownX=b.mouseDownX=d.chartX;b.mouseDownY=d.chartY;M(G,ia?"touchend":"mouseup",a)};var h=function(a){if(!(a&&a.touches&&1<a.touches.length)){a=b.normalizeMouseEvent(a);ia||(a.returnValue=
!1);var d=a.chartX,h=a.chartY,n=!c.isInsidePlot(d-c.plotLeft,h-c.plotTop);ia&&"touchstart"===a.type&&(F(a.target,"isTracker")?c.runTrackerClick||a.preventDefault():!c.runChartClick&&!n&&a.preventDefault());n&&(d<c.plotLeft?d=c.plotLeft:d>c.plotLeft+c.plotWidth&&(d=c.plotLeft+c.plotWidth),h<c.plotTop?h=c.plotTop:h>c.plotTop+c.plotHeight&&(h=c.plotTop+c.plotHeight));if(c.mouseIsDown&&"touchstart"!==a.type&&(e=Math.sqrt(Math.pow(b.mouseDownX-d,2)+Math.pow(b.mouseDownY-h,2)),10<e)){var p=c.isInsidePlot(b.mouseDownX-
c.plotLeft,b.mouseDownY-c.plotTop);c.hasCartesianSeries&&(b.zoomX||b.zoomY)&&p&&!b.selectionMarker&&(b.selectionMarker=c.renderer.rect(c.plotLeft,c.plotTop,f?1:c.plotWidth,g?1:c.plotHeight,0).attr({fill:b.options.chart.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add());if(b.selectionMarker&&f){var r=d-b.mouseDownX;b.selectionMarker.attr({width:Q(r),x:(0<r?0:r)+b.mouseDownX})}b.selectionMarker&&g&&(h-=b.mouseDownY,b.selectionMarker.attr({height:Q(h),y:(0<h?0:h)+b.mouseDownY}));p&&!b.selectionMarker&&
b.options.chart.panning&&c.pan(d)}if(!n)b.onmousemove(a);return n||!c.hasCartesianSeries}};d.onmousemove=h;M(d,"mouseleave",b.hideTooltipOnMouseLeave);M(G,"mousemove",b.hideTooltipOnMouseMove);d.ontouchstart=function(a){if(b.zoomX||b.zoomY)d.onmousedown(a);h(a)};d.ontouchmove=h;d.ontouchend=function(){e&&b.resetTracker()};d.onclick=function(a){var d=c.hoverPoint,e,f;a=b.normalizeMouseEvent(a);a.cancelBubble=!0;c.cancelClick||(d&&(F(a.target,"isTracker")||F(a.target.parentNode,"isTracker"))?(e=d.plotX,
f=d.plotY,u(d,{pageX:b.chartPosition.left+c.plotLeft+(c.inverted?c.plotWidth-f:e),pageY:b.chartPosition.top+c.plotTop+(c.inverted?c.plotHeight-e:f)}),I(d.series,"click",u(a,{point:d})),d.firePointEvent("click",a)):(u(a,b.getMouseCoordinates(a)),c.isInsidePlot(a.chartX-c.plotLeft,a.chartY-c.plotTop)&&I(c,"click",a)))}},destroy:function(){var a=this.chart,b=a.container;a.trackerGroup&&(a.trackerGroup=a.trackerGroup.destroy());X(b,"mouseleave",this.hideTooltipOnMouseLeave);X(G,"mousemove",this.hideTooltipOnMouseMove);
b.onclick=b.onmousedown=b.onmousemove=b.ontouchstart=b.ontouchend=b.ontouchmove=null;clearInterval(this.tooltipInterval)},init:function(a,b){a.trackerGroup||(a.trackerGroup=a.renderer.g("tracker").attr({zIndex:9}).add());b.enabled&&(a.tooltip=new sb(a,b),this.tooltipInterval=setInterval(function(){a&&a.tooltip&&a.tooltip.tick()},32));this.setDOMEvents()}};ub.prototype={init:function(a){var b=this,c=b.options=a.options.legend;if(c.enabled){var d=c.itemStyle,e=s(c.padding,8),f=c.itemMarginTop||0;b.baseline=
A(d.fontSize)+3+f;b.itemStyle=d;b.itemHiddenStyle=E(d,c.itemHiddenStyle);b.itemMarginTop=f;b.padding=e;b.initialItemX=e;b.initialItemY=e-5;b.maxItemWidth=0;b.chart=a;b.itemHeight=0;b.lastLineHeight=0;b.render();M(b.chart,"endResize",function(){b.positionCheckboxes()})}},colorizeItem:function(a,b){var c=this.options,d=a.legendItem,e=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,c=b?c.itemStyle.color:g,g=b?a.color:g;d&&d.css({fill:c});e&&e.attr({stroke:g});f&&f.attr({stroke:g,fill:g})},
positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;a.legendGroup&&a.legendGroup.translate(b?e:this.legendWidth-e-2*c-4,d);f&&(f.x=e,f.y=d)},destroyItem:function(a){var b=a.checkbox;q(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&a[b].destroy()});b&&Qa(a.checkbox)},destroy:function(){var a=this.group,b=this.box;b&&(this.box=b.destroy());a&&(this.group=a.destroy())},positionCheckboxes:function(){var a=this;
q(a.allItems,function(b){var c=b.checkbox,d=a.group.alignAttr;c&&K(c,{left:d.translateX+b.legendItemWidth+c.x-20+"px",top:d.translateY+c.y+3+"px"})})},renderItem:function(a){var b=this,c=b.chart,d=c.renderer,e=b.options,f="horizontal"===e.layout,g=e.symbolWidth,h=e.symbolPadding,k=b.itemStyle,l=b.itemHiddenStyle,m=b.padding,n=!e.rtl,p=e.width,r=e.itemMarginBottom||0,t=b.itemMarginTop,q=b.initialItemX,s=a.legendItem,B=a.series||a,w=B.options,x=w.showCheckbox;!s&&(a.legendGroup=d.g("legend-item").attr({zIndex:1}).add(b.scrollGroup),
B.drawLegendSymbol(b,a),a.legendItem=s=d.text(e.labelFormatter.call(a),n?g+h:-h,b.baseline,e.useHTML).css(E(a.visible?k:l)).attr({align:n?"left":"right",zIndex:2}).add(a.legendGroup),a.legendGroup.on("mouseover",function(){a.setState("hover");s.css(b.options.itemHoverStyle)}).on("mouseout",function(){s.css(a.visible?k:l);a.setState()}).on("click",function(b){var c=function(){a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):I(a,"legendItemClick",b,c)}),b.colorizeItem(a,
a.visible),w&&x)&&(a.checkbox=V("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},e.itemCheckboxStyle,c.container),M(a.checkbox,"click",function(b){I(a,"checkboxClick",{checked:b.target.checked},function(){a.select()})}));d=s.getBBox();e=a.legendItemWidth=e.itemWidth||g+h+d.width+m+(x?20:0);b.itemHeight=g=d.height;f&&b.itemX-q+e>(p||c.chartWidth-2*m-q)&&(b.itemX=q,b.itemY+=t+b.lastLineHeight+r,b.lastLineHeight=0);b.maxItemWidth=z(b.maxItemWidth,e);b.lastItemY=t+b.itemY+r;b.lastLineHeight=
z(g,b.lastLineHeight);a._legendItemPos=[b.itemX,b.itemY];f?b.itemX+=e:(b.itemY+=t+g+r,b.lastLineHeight=g);b.offsetWidth=p||z(f?b.itemX-q:e,b.offsetWidth)},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.group,e,f,g,h,k=a.box,l=a.options,m=a.padding,n=l.borderWidth,p=l.backgroundColor;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;d||(a.group=d=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(d),a.scrollGroup=c.g().add(a.contentGroup),
a.clipRect=c.clipRect(0,0,9999,b.chartHeight),a.contentGroup.clip(a.clipRect));e=[];q(b.series,function(a){var b=a.options;b.showInLegend&&(e=e.concat(a.legendItems||("point"===b.legendType?a.data:a)))});Ib(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});l.reversed&&e.reverse();a.allItems=e;a.display=f=!!e.length;q(e,function(b){a.renderItem(b)});g=l.width||a.offsetWidth;h=a.lastItemY+a.lastLineHeight;h=a.handleOverflow(h);if(n||p)g+=m,h+=m,k?0<
g&&0<h&&(k[k.isNew?"attr":"animate"](k.crisp(null,null,null,g,h)),k.isNew=!1):(a.box=k=c.rect(0,0,g,h,l.borderRadius,n||0).attr({stroke:l.borderColor,"stroke-width":n||0,fill:p||W}).add(d).shadow(l.shadow),k.isNew=!0),k[f?"show":"hide"]();a.legendWidth=g;a.legendHeight=h;q(e,function(b){a.positionItem(b)});f&&d.align(u({width:g,height:h},l),!0,b.spacingBox);b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,f=e.y,f=c.spacingBox.height+
("top"===e.verticalAlign?-f:f)-this.padding,g=e.maxHeight,h=this.clipRect,k=e.navigation,l=s(k.animation,!0),m=k.arrowSize||12,n=this.nav;"horizontal"===e.layout&&(f/=2);g&&(f=T(f,g));a>f?(this.clipHeight=c=f-20,this.pageCount=Aa(a/c),this.currentPage=s(this.currentPage,1),this.fullHeight=a,h.attr({height:c}),n||(this.nav=n=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,m,m).on("click",function(){b.scroll(-1,l)}).add(n),this.pager=d.text("",15,10).css(k.style).add(n),this.down=
d.symbol("triangle-down",0,0,m,m).on("click",function(){b.scroll(1,l)}).add(n)),b.scroll(0),a=f):n&&(h.attr({height:c.chartHeight}),n.hide(),this.scrollGroup.attr({translateY:1}));return a},scroll:function(a,b){var c=this.pageCount,d=this.currentPage+a,e=this.clipHeight,f=this.options.navigation,g=f.activeColor,f=f.inactiveColor,h=this.pager,k=this.padding;d>c&&(d=c);0<d&&(b!==D&&ya(b,this.chart),this.nav.attr({translateX:k,translateY:e+7,visibility:"visible"}),this.up.attr({fill:1===d?f:g}).css({cursor:1===
d?"default":"pointer"}),h.attr({text:d+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:d===c?f:g}).css({cursor:d===c?"default":"pointer"}),this.scrollGroup.animate({translateY:-T(e*(d-1),this.fullHeight-e+k)+1}),h.attr({text:d+"/"+c}),this.currentPage=d)}};vb.prototype={initSeries:function(a){var b=this.options.chart,b=new ea[a.type||b.type||b.defaultSeriesType];b.init(this,a);return b},addSeries:function(a,b,c){var d,e=this;a&&(ya(c,e),b=s(b,!0),I(e,"addSeries",{options:a},
function(){d=e.initSeries(a);e.isDirtyLegend=!0;b&&e.redraw()}));return d},isInsidePlot:function(a,b,c){var d=c?b:a;a=c?a:b;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},adjustTickAmounts:function(){!1!==this.options.chart.alignTicks&&q(this.axes,function(a){a.adjustTickAmount()});this.maxTicks=null},redraw:function(a){var b=this.axes,c=this.series,d=this.tracker,e=this.legend,f=this.isDirtyLegend,g,h=this.isDirtyBox,k=c.length,l=k,m=this.renderer,n=m.isHidden();ya(a,this);for(n&&this.cloneRenderTo();l--;)if(a=
c[l],a.isDirty&&a.options.stacking){g=!0;break}if(g)for(l=k;l--;)if(a=c[l],a.options.stacking)a.isDirty=!0;q(c,function(a){a.isDirty&&"point"===a.options.legendType&&(f=!0)});f&&e.options.enabled&&(e.render(),this.isDirtyLegend=!1);this.hasCartesianSeries&&(this.isResizing||(this.maxTicks=null,q(b,function(a){a.setScale()})),this.adjustTickAmounts(),this.getMargins(),q(b,function(a){a.isDirtyExtremes&&(a.isDirtyExtremes=!1,I(a,"afterSetExtremes",a.getExtremes()));if(a.isDirty||h||g)a.redraw(),h=!0}));
h&&this.drawChartBox();q(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});d&&d.resetTracker&&d.resetTracker(!0);m.draw();I(this,"redraw");n&&this.cloneRenderTo(!0)},showLoading:function(a){var b=this.options,c=this.loadingDiv,d=b.loading;c||(this.loadingDiv=c=V(la,{className:"highcharts-loading"},u(d.style,{left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px",zIndex:10,display:W}),this.container),this.loadingSpan=V("span",null,
d.labelStyle,c));this.loadingSpan.innerHTML=a||b.lang.loading;this.loadingShown||(K(c,{opacity:0,display:""}),Ab(c,{opacity:d.style.opacity},{duration:d.showDuration||0}),this.loadingShown=!0)},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&Ab(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){K(b,{display:W})}});this.loadingShown=!1},get:function(a){var b=this.axes,c=this.series,d,e;for(d=0;d<b.length;d++)if(b[d].options.id===a)return b[d];for(d=0;d<c.length;d++)if(c[d].options.id===
a)return c[d];for(d=0;d<c.length;d++)for(e=c[d].points||[],b=0;b<e.length;b++)if(e[b].id===a)return e[b];return null},getAxes:function(){var a=this,b=this.options,c=b.xAxis||{},b=b.yAxis||{},c=sa(c);q(c,function(a,b){a.index=b;a.isX=!0});b=sa(b);q(b,function(a,b){a.index=b});c=c.concat(b);q(c,function(b){new rb(a,b)});a.adjustTickAmounts()},getSelectedPoints:function(){var a=[];q(this.series,function(b){a=a.concat(Nb(b.points,function(a){return a.selected}))});return a},getSelectedSeries:function(){return Nb(this.series,
function(a){return a.selected})},showResetZoom:function(){var a=this,b=R.lang,c=a.options.chart.resetZoomButton,d=c.theme,e=d.states,f="chart"===c.relativeTo?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},d,e&&e.hover).attr({align:c.position.align,title:b.resetZoomTitle}).add().align(c.position,!1,a[f]);this.resetZoomButton.alignTo=f},zoomOut:function(){var a=this,b=a.resetZoomButton;I(a,"selection",{resetSelection:!0},function(){a.zoom()});b&&
(a.resetZoomButton=b.destroy())},zoom:function(a){var b=this,c;!a||a.resetSelection?q(b.axes,function(a){c=a.zoom()}):q(a.xAxis.concat(a.yAxis),function(a){var e=a.axis;b.tracker[e.isXAxis?"zoomX":"zoomY"]&&(c=e.zoom(a.min,a.max))});b.resetZoomButton||b.showResetZoom();c&&b.redraw(s(b.options.chart.animation,100>b.pointCount))},pan:function(a){var b=this.xAxis[0],c=this.mouseDownX,d=b.pointRange/2,e=b.getExtremes(),f=b.translate(c-a,!0)+d,c=b.translate(c+this.plotWidth-a,!0)-d;(d=this.hoverPoints)&&
q(d,function(a){a.setState()});b.series.length&&f>T(e.dataMin,e.min)&&c<z(e.dataMax,e.max)&&b.setExtremes(f,c,!0,!1,{trigger:"pan"});this.mouseDownX=a;K(this.container,{cursor:"move"})},setTitle:function(a,b){var c=this,d=c.options,e;c.chartTitleOptions=e=E(d.title,a);c.chartSubtitleOptions=d=E(d.subtitle,b);q([["title",a,e],["subtitle",b,d]],function(a){var b=a[0],d=c[b],e=a[1];a=a[2];d&&e&&(c[b]=d=d.destroy());a&&a.text&&!d&&(c[b]=c.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+
b,zIndex:a.zIndex||4}).css(a.style).add().align(a,!1,c.spacingBox))})},getChartSize:function(){var a=this.options.chart,b=this.renderToClone||this.renderTo;this.containerWidth=gb(b,"width");this.containerHeight=gb(b,"height");this.chartWidth=a.width||this.containerWidth||600;this.chartHeight=a.height||(19<this.containerHeight?this.containerHeight:400)},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;a?b&&(this.renderTo.appendChild(c),Qa(b),delete this.renderToClone):(c&&this.renderTo.removeChild(c),
this.renderToClone=b=this.renderTo.cloneNode(0),K(b,{position:"absolute",top:"-9999px",display:"block"}),G.body.appendChild(b),c&&b.appendChild(c))},getContainer:function(){var a,b=this.options.chart,c,d,e;this.renderTo=a=b.renderTo;e="highcharts-"+xb++;qa(a)&&(this.renderTo=a=G.getElementById(a));a||cb(13,!0);a.innerHTML="";a.offsetWidth||this.cloneRenderTo();this.getChartSize();c=this.chartWidth;d=this.chartHeight;this.container=a=V(la,{className:"highcharts-container"+(b.className?" "+b.className:
""),id:e},u({position:"relative",overflow:"hidden",width:c+"px",height:d+"px",textAlign:"left",lineHeight:"normal",zIndex:0},b.style),this.renderToClone||a);this.renderer=b.forExport?new va(a,c,d,!0):new Ua(a,c,d);ca&&this.renderer.create(this,a,c,d)},getMargins:function(){var a=this.options.chart,b=a.spacingTop,c=a.spacingRight,d=a.spacingBottom,a=a.spacingLeft,e,f=this.legend,g=this.optionsMarginTop,h=this.optionsMarginLeft,k=this.optionsMarginRight,l=this.optionsMarginBottom,m=this.chartTitleOptions,
n=this.chartSubtitleOptions,p=this.options.legend,r=s(p.margin,10),t=p.x,C=p.y,v=p.align,B=p.verticalAlign;this.resetMargins();e=this.axisOffset;(this.title||this.subtitle)&&!x(this.optionsMarginTop)&&(n=z(this.title&&!m.floating&&!m.verticalAlign&&m.y||0,this.subtitle&&!n.floating&&!n.verticalAlign&&n.y||0))&&(this.plotTop=z(this.plotTop,n+s(m.margin,15)+b));f.display&&!p.floating&&("right"===v?x(k)||(this.marginRight=z(this.marginRight,f.legendWidth-t+r+c)):"left"===v?x(h)||(this.plotLeft=z(this.plotLeft,
f.legendWidth+t+r+a)):"top"===B?x(g)||(this.plotTop=z(this.plotTop,f.legendHeight+C+r+b)):"bottom"!==B||x(l)||(this.marginBottom=z(this.marginBottom,f.legendHeight-C+r+d)));this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&q(this.axes,function(a){a.getOffset()});x(h)||(this.plotLeft+=e[3]);x(g)||(this.plotTop+=e[0]);x(l)||(this.marginBottom+=e[2]);x(k)||(this.marginRight+=e[1]);this.setChartSize()},
initReflow:function(){function a(a){var g=c.width||gb(d,"width"),h=c.height||gb(d,"height");a=a?a.target:P;if(g&&h&&(a===P||a===G)){if(g!==b.containerWidth||h!==b.containerHeight)clearTimeout(e),e=setTimeout(function(){b.resize(g,h,!1)},100);b.containerWidth=g;b.containerHeight=h}}var b=this,c=b.options.chart,d=b.renderTo,e;M(P,"resize",a);M(b,"destroy",function(){X(P,"resize",a)})},resize:function(a,b,c){var d=this,e,f,g=d.resetZoomButton,h=d.title,k=d.subtitle,l;d.isResizing+=1;l=function(){d&&
I(d,"endResize",null,function(){d.isResizing-=1})};ya(c,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;x(a)&&(d.chartWidth=e=w(a));x(b)&&(d.chartHeight=f=w(b));K(d.container,{width:e+"px",height:f+"px"});d.renderer.setSize(e,f,c);d.plotWidth=e-d.plotLeft-d.marginRight;d.plotHeight=f-d.plotTop-d.marginBottom;d.maxTicks=null;q(d.axes,function(a){a.isDirty=!0;a.setScale()});q(d.series,function(a){a.isDirty=!0});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.getMargins();a=d.spacingBox;h&&h.align(null,
null,a);k&&k.align(null,null,a);g&&g.align(null,null,d[g.alignTo]);d.redraw(c);d.oldChartHeight=null;I(d,"resize");!1===Ra?l():setTimeout(l,Ra&&Ra.duration||500)},setChartSize:function(){var a=this.inverted,b=this.chartWidth,c=this.chartHeight,d=this.options.chart,e=d.spacingTop,f=d.spacingRight,g=d.spacingBottom,h=d.spacingLeft,k,l,m,n;this.plotLeft=k=w(this.plotLeft);this.plotTop=l=w(this.plotTop);this.plotWidth=m=w(b-k-this.marginRight);this.plotHeight=n=w(c-l-this.marginBottom);this.plotSizeX=
a?n:m;this.plotSizeY=a?m:n;this.plotBorderWidth=a=d.plotBorderWidth||0;this.spacingBox={x:h,y:e,width:b-h-f,height:c-e-g};this.plotBox={x:k,y:l,width:m,height:n};this.clipBox={x:a/2,y:a/2,width:this.plotSizeX-a,height:this.plotSizeY-a};q(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this.options.chart,b=a.spacingRight,c=a.spacingBottom,d=a.spacingLeft;this.plotTop=s(this.optionsMarginTop,a.spacingTop);this.marginRight=s(this.optionsMarginRight,b);this.marginBottom=
s(this.optionsMarginBottom,c);this.plotLeft=s(this.optionsMarginLeft,d);this.axisOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,e=this.chartBackground,f=this.plotBackground,g=this.plotBorder,h=this.plotBGImage,k=a.borderWidth||0,l=a.backgroundColor,m=a.plotBackgroundColor,n=a.plotBackgroundImage,p=a.plotBorderWidth||0,r,q=this.plotLeft,s=this.plotTop,v=this.plotWidth,B=this.plotHeight,w=this.plotBox,x=this.clipRect,y=this.clipBox;
r=k+(a.shadow?8:0);if(k||l)e?e.animate(e.crisp(null,null,null,c-r,d-r)):(e={fill:l||W},k&&(e.stroke=a.borderColor,e["stroke-width"]=k),this.chartBackground=b.rect(r/2,r/2,c-r,d-r,a.borderRadius,k).attr(e).add().shadow(a.shadow));m&&(f?f.animate(w):this.plotBackground=b.rect(q,s,v,B,0).attr({fill:m}).add().shadow(a.plotShadow));n&&(h?h.animate(w):this.plotBGImage=b.image(n,q,s,v,B).add());x?x.animate({width:y.width,height:y.height}):this.clipRect=b.clipRect(y);p&&(g?g.animate(g.crisp(null,q,s,v,B)):
this.plotBorder=b.rect(q,s,v,B,0,p).attr({stroke:a.plotBorderColor,"stroke-width":p,zIndex:1}).add());this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,e,f;q(["inverted","angular","polar"],function(g){c=ea[b.type||b.defaultSeriesType];f=a[g]||b[g]||c&&c.prototype[g];for(e=d&&d.length;!f&&e--;)(c=ea[d[e].type])&&c.prototype[g]&&(f=!0);a[g]=f})},render:function(){var a=this,b=a.axes,c=a.renderer,d=a.options,e=d.labels,d=d.credits,f;a.setTitle();a.legend=
new ub(a);q(b,function(a){a.setScale()});a.getMargins();a.maxTicks=null;q(b,function(a){a.setTickPositions(!0);a.setMaxTicks()});a.adjustTickAmounts();a.getMargins();a.drawChartBox();a.hasCartesianSeries&&q(b,function(a){a.render()});a.seriesGroup||(a.seriesGroup=c.g("series-group").attr({zIndex:3}).add());q(a.series,function(a){a.translate();a.setTooltipPoints();a.render()});e.items&&q(e.items,function(b){var d=u(e.style,b.style),f=A(d.left)+a.plotLeft,l=A(d.top)+a.plotTop+12;delete d.left;delete d.top;
c.text(b.html,f,l).attr({zIndex:2}).css(d).add()});d.enabled&&!a.credits&&(f=d.href,a.credits=c.text(d.text,0,0).on("click",function(){f&&(location.href=f)}).attr({align:d.position.align,zIndex:8}).css(d.style).add().align(d.position));a.hasRendered=!0},destroy:function(){var a=this,b=a.axes,c=a.series,d=a.container,e,f=d&&d.parentNode;if(null!==a){I(a,"destroy");X(a);for(e=b.length;e--;)b[e]=b[e].destroy();for(e=c.length;e--;)c[e]=c[e].destroy();q("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits tracker scroller rangeSelector legend resetZoomButton tooltip renderer".split(" "),
function(b){var c=a[b];c&&(a[b]=c.destroy())});d&&(d.innerHTML="",X(d),f&&Qa(d),d=null);for(e in a)delete a[e];a=a.options=null}},firstRender:function(){var a=this,b=a.options,c=a.callback;!ha&&P==P.top&&"complete"!==G.readyState||ca&&!P.canvg?ca?Pb.push(function(){a.firstRender()},b.global.canvasToolsURL):G.attachEvent("onreadystatechange",function(){G.detachEvent("onreadystatechange",a.firstRender);"complete"===G.readyState&&a.firstRender()}):(a.getContainer(),I(a,"init"),Highcharts.RangeSelector&&
b.rangeSelector.enabled&&(a.rangeSelector=new Highcharts.RangeSelector(a)),a.resetMargins(),a.setChartSize(),a.propFromSeries(),a.getAxes(),q(b.series||[],function(b){a.initSeries(b)}),Highcharts.Scroller&&(b.navigator.enabled||b.scrollbar.enabled)&&(a.scroller=new Highcharts.Scroller(a)),a.tracker=new tb(a,b),a.render(),a.renderer.draw(),c&&c.apply(a,[a]),q(a.callbacks,function(b){b.apply(a,[a])}),a.cloneRenderTo(!0),I(a,"load"))},init:function(a){var b=this.options.chart,c;!1!==b.reflow&&M(this,
"load",this.initReflow);if(a)for(c in a)M(this,c,a[c]);this.xAxis=[];this.yAxis=[];this.animation=ca?!1:s(b.animation,!0);this.setSize=this.resize;this.pointCount=0;this.counters=new Hb;this.firstRender()}};vb.prototype.callbacks=[];var Wa=function(){};Wa.prototype={init:function(a,b,c){var d=a.chart.counters;this.series=a;this.applyOptions(b,c);this.pointAttr={};a.options.colorByPoint&&(b=a.chart.options.colors,this.color=this.color||b[d.color++],d.wrapColor(b.length));a.chart.pointCount++;return this},
applyOptions:function(a,b){var c=this.series,d=typeof a;this.config=a;"number"===d||null===a?this.y=a:"number"===typeof a[0]?(this.x=a[0],this.y=a[1]):"object"===d&&"number"!==typeof a.length?(u(this,a),this.options=a,a.dataLabels&&(c._hasPointLabels=!0),a.marker&&(c._hasPointMarkers=!0)):"string"===typeof a[0]&&(this.name=a[0],this.y=a[1]);this.x===D&&(this.x=b===D?c.autoIncrement():b)},destroy:function(){var a=this.series.chart,b=a.hoverPoints,c;a.pointCount--;b&&(this.setState(),Ca(b,this),!b.length)&&
(a.hoverPoints=null);if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)X(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(c in this)this[c]=null},destroyElements:function(){for(var a="graphic tracker dataLabel group connector shadowGroup".split(" "),b,c=6;c--;)b=a[c],this[b]&&(this[b]=this[b].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,
total:this.total||this.stackTotal}},select:function(a,b){var c=this,d=c.series.chart;a=s(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=a;c.setState(a&&"select");b||q(d.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=!1,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(){var a=this.series,b=a.chart,c=b.tooltip,d=b.hoverPoint;if(d&&d!==this)d.onMouseOut();this.firePointEvent("mouseOver");c&&(!c.shared||a.noSharedTooltip)&&
c.refresh(this);this.setState("hover");b.hoverPoint=this},onMouseOut:function(){var a=this.series.chart,b=a.hoverPoints;b&&-1!==Ub(this,b)||(this.firePointEvent("mouseOut"),this.setState(),a.hoverPoint=null)},tooltipFormatter:function(a){var b=this.series,c=b.tooltipOptions,d=a.match(/\{(series|point)\.[a-zA-Z]+\}/g),e=/[{\.}]/,f,g,h,k,l={y:0,open:0,high:0,low:0,close:0,percentage:1,total:1};c.valuePrefix=c.valuePrefix||c.yPrefix;c.valueDecimals=c.valueDecimals||c.yDecimals;c.valueSuffix=c.valueSuffix||
c.ySuffix;for(k in d)g=d[k],qa(g)&&g!==a&&(h=(" "+g).split(e),f={point:this,series:b}[h[1]],h=h[2],f===this&&l.hasOwnProperty(h)?(f=l[h]?h:"value",f=(c[f+"Prefix"]||"")+La(this[h],s(c[f+"Decimals"],-1))+(c[f+"Suffix"]||"")):f=f[h],a=a.replace(g,f));return a},update:function(a,b,c){var d=this,e=d.series,f=d.graphic,g,h=e.data,k=h.length,l=e.chart;b=s(b,!0);d.firePointEvent("update",{options:a},function(){d.applyOptions(a);ba(a)&&(e.getAttribs(),f&&f.attr(d.pointAttr[e.state]));for(g=0;g<k;g++)if(h[g]===
d){e.xData[g]=d.x;e.yData[g]=d.y;e.options.data[g]=a;break}e.isDirty=!0;e.isDirtyData=!0;b&&l.redraw(c)})},remove:function(a,b){var c=this,d=c.series,e=d.chart,f,g=d.data,h=g.length;ya(b,e);a=s(a,!0);c.firePointEvent("remove",null,function(){for(f=0;f<h;f++)if(g[f]===c){g.splice(f,1);d.options.data.splice(f,1);d.xData.splice(f,1);d.yData.splice(f,1);break}c.destroy();d.isDirty=!0;d.isDirtyData=!0;a&&e.redraw()})},firePointEvent:function(a,b,c){var d=this,e=this.series.options;(e.point.events[a]||
d.options&&d.options.events&&d.options.events[a])&&this.importEvents();"click"===a&&e.allowPointSelect&&(c=function(a){d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});I(this,a,b,c)},importEvents:function(){if(!this.hasImportedEvents){var a=E(this.series.options.point,this.options).events,b;this.events=a;for(b in a)M(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a){var b=this.plotX,c=this.plotY,d=this.series,e=d.options.states,f=aa[d.type].marker&&d.options.marker,g=f&&!f.enabled,h=
f&&f.states[a],k=h&&!1===h.enabled,l=d.stateMarkerGraphic,m=d.chart,n=this.pointAttr;a=a||"";if(!(a===this.state||this.selected&&"select"!==a||e[a]&&!1===e[a].enabled||a&&(k||g&&!h.enabled))){if(this.graphic)e=f&&this.graphic.symbolName&&n[a].r,this.graphic.attr(E(n[a],e?{x:b-e,y:c-e,width:2*e,height:2*e}:{}));else if(a&&h&&(e=h.radius,l?l.attr({x:b-e,y:c-e}):d.stateMarkerGraphic=l=m.renderer.symbol(d.symbol,b-e,c-e,2*e,2*e).attr(n[a]).add(d.markerGroup)),l)l[a&&m.isInsidePlot(b,c)?"show":"hide"]();
this.state=a}}};var U=function(){};U.prototype={isCartesian:!0,type:"line",pointClass:Wa,sorted:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},init:function(a,b){var c,d;this.chart=a;this.options=b=this.setOptions(b);this.bindAxes();u(this,{name:b.name,state:"",pointAttr:{},visible:!1!==b.visible,selected:!0===b.selected});ca&&(b.animation=!1);d=b.events;for(c in d)M(this,c,d[c]);if(d&&d.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=
!0;this.getColor();this.getSymbol();this.setData(b.data,!1);this.isCartesian&&(a.hasCartesianSeries=!0);a.series.push(this);Ib(a.series,function(a,b){return(a.options.index||0)-(b.options.index||0)});q(a.series,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart,d;a.isCartesian&&q(["xAxis","yAxis"],function(e){q(c[e],function(c){d=c.options;if(b[e]===d.index||b[e]===D&&0===d.index)c.series.push(a),a[e]=c,c.isDirty=!0})})},autoIncrement:function(){var a=
this.options,b=this.xIncrement,b=s(b,a.pointStart,0);this.pointInterval=s(this.pointInterval,a.pointInterval,1);this.xIncrement=b+this.pointInterval;return b},getSegments:function(){var a=-1,b=[],c,d=this.points,e=d.length;if(e)if(this.options.connectNulls){for(c=e;c--;)null===d[c].y&&d.splice(c,1);d.length&&(b=[d])}else q(d,function(c,g){null===c.y?(g>a+1&&b.push(d.slice(a+1,g)),a=g):g===e-1&&b.push(d.slice(a+1,g+1))});this.segments=b},setOptions:function(a){var b=this.chart.options,c=b.plotOptions,
d=c[this.type],e=a.data;a.data=null;c=E(d,c.series,a);c.data=a.data=e;this.tooltipOptions=E(b.tooltip,c.tooltip);null===d.marker&&delete c.marker;return c},getColor:function(){var a=this.options,b=this.chart.options.colors,c=this.chart.counters;this.color=a.color||!a.colorByPoint&&b[c.color++]||"gray";c.wrapColor(b.length)},getSymbol:function(){var a=this.options.marker,b=this.chart,c=b.options.symbols,b=b.counters;this.symbol=a.symbol||c[b.symbol++];/^url/.test(this.symbol)&&(a.radius=0);b.wrapSymbol(c.length)},
drawLegendSymbol:function(a){var b=this.options,c=b.marker,d=a.options.symbolWidth,e=this.chart.renderer,f=this.legendGroup;a=a.baseline;var g;b.lineWidth&&(g={"stroke-width":b.lineWidth},b.dashStyle&&(g.dashstyle=b.dashStyle),this.legendLine=e.path(["M",0,a-4,"L",d,a-4]).attr(g).add(f));c&&c.enabled&&(b=c.radius,this.legendSymbol=e.symbol(this.symbol,d/2-b,a-4-b,2*b,2*b).attr(this.pointAttr[""]).add(f))},addPoint:function(a,b,c,d){var e=this.data,f=this.graph,g=this.area,h=this.chart,k=this.xData,
l=this.yData,m=f&&f.shift||0,n=this.options.data,p=this.pointClass.prototype;ya(d,h);f&&c&&(f.shift=m+1);g&&(c&&(g.shift=m+1),g.isArea=!0);b=s(b,!0);d={series:this};p.applyOptions.apply(d,[a]);k.push(d.x);l.push(p.toYData?p.toYData.call(d):d.y);n.push(a);c&&(e[0]&&e[0].remove?e[0].remove(!1):(e.shift(),k.shift(),l.shift(),n.shift()));this.getAttribs();this.isDirtyData=this.isDirty=!0;b&&h.redraw()},setData:function(a,b){var c=this.points,d=this.options,e=this.initialColor,f=this.chart,g=null,h=this.xAxis,
k,l=this.pointClass.prototype;this.xIncrement=null;this.pointRange=h&&h.categories?1:d.pointRange;x(e)&&(f.counters.color=e);var e=[],m=[],n=a?a.length:[],p=(k=this.pointArrayMap)&&k.length;if(n>(d.turboThreshold||1E3)){for(k=0;null===g&&k<n;)g=a[k],k++;if(Ja(g)){l=s(d.pointStart,0);d=s(d.pointInterval,1);for(k=0;k<n;k++)e[k]=l,m[k]=a[k],l+=d;this.xIncrement=l}else if(Ia(g))if(p)for(k=0;k<n;k++)d=a[k],e[k]=d[0],m[k]=d.slice(1,p+1);else for(k=0;k<n;k++)d=a[k],e[k]=d[0],m[k]=d[1]}else for(k=0;k<n;k++)d=
{series:this},l.applyOptions.apply(d,[a[k]]),e[k]=d.x,m[k]=l.toYData?l.toYData.call(d):d.y;qa(m[0])&&cb(14,!0);this.data=[];this.options.data=a;this.xData=e;this.yData=m;for(k=c&&c.length||0;k--;)c[k]&&c[k].destroy&&c[k].destroy();h&&(h.minRange=h.userMinRange);this.isDirty=this.isDirtyData=f.isDirtyBox=!0;s(b,!0)&&f.redraw(!1)},remove:function(a,b){var c=this,d=c.chart;a=s(a,!0);c.isRemoving||(c.isRemoving=!0,I(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;a&&d.redraw(b)}));
c.isRemoving=!1},processData:function(a){var b=this.xData,c=this.yData,d=b.length,e=0,f=d,g,h,k=this.xAxis,l=this.options,m=l.cropThreshold,n=this.isCartesian;if(n&&!(this.isDirty||k.isDirty||this.yAxis.isDirty||a))return!1;if(n&&this.sorted&&(!m||d>m||this.forceCrop))if(a=k.getExtremes(),k=a.min,m=a.max,b[d-1]<k||b[0]>m)b=[],c=[];else if(b[0]<k||b[d-1]>m){for(a=0;a<d;a++)if(b[a]>=k){e=z(0,a-1);break}for(;a<d;a++)if(b[a]>m){f=a+1;break}b=b.slice(e,f);c=c.slice(e,f);g=!0}for(a=b.length-1;0<a;a--)if(d=
b[a]-b[a-1],0<d&&(h===D||d<h))h=d;this.cropped=g;this.cropStart=e;this.processedXData=b;this.processedYData=c;null===l.pointRange&&(this.pointRange=h||1);this.closestPointRange=h},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,h=this.cropStart||0,k,l=this.hasGroupedData,m,n=[],p;b||l||(b=[],b.length=a.length,b=this.data=b);for(p=0;p<g;p++)k=h+p,l?n[p]=(new f).init(this,[d[p]].concat(sa(e[p]))):(b[k]?m=b[k]:a[k]!==
D&&(b[k]=m=(new f).init(this,a[k],d[p])),n[p]=m);if(b&&(g!==(c=b.length)||l))for(p=0;p<c;p++)if(p===h&&!l&&(p+=g),b[p])b[p].destroyElements(),b[p].plotX=D;this.data=b;this.points=n},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var a=this.chart,b=this.options,c=b.stacking,d=this.xAxis,e=d.categories,f=this.yAxis,g=this.points,h=g.length,k=!!this.modifyValue,l,m=f.series,n=m.length,p="between"===b.pointPlacement;n--;)if(m[n].visible){m[n]===this&&(l=!0);break}for(n=
0;n<h;n++){var m=g[n],r=m.x,q=m.y,C=m.low,v=f.stacks[(q<b.threshold?"-":"")+this.stackKey];m.plotX=d.translate(r,0,0,0,1,p);c&&this.visible&&v&&v[r]&&(C=v[r],r=C.total,C.cum=C=C.cum-q,q=C+q,l&&(C=s(b.threshold,f.isLog?null:f.min)),"percent"===c&&(C=r?100*C/r:0,q=r?100*q/r:0),m.percentage=r?100*m.y/r:0,m.total=m.stackTotal=r,m.stackY=q);m.yBottom=x(C)?f.translate(C,0,1,0,1):null;k&&(q=this.modifyValue(q,m));m.plotY="number"===typeof q?w(10*f.translate(q,0,1,0,1))/10:D;m.clientX=a.inverted?a.plotHeight-
m.plotX:m.plotX;m.category=e&&e[m.x]!==D?e[m.x]:m.x}this.getSegments()},setTooltipPoints:function(a){var b=[],c,d,e=(c=this.xAxis)?c.tooltipLen||c.len:this.chart.plotSizeX,f=c&&c.tooltipPosName||"plotX",g,h,k=[];if(!1!==this.options.enableMouseTracking){a&&(this.tooltipPoints=null);q(this.segments||this.points,function(a){b=b.concat(a)});c&&c.reversed&&(b=b.reverse());a=b.length;for(h=0;h<a;h++)for(g=b[h],c=b[h-1]?d+1:0,d=b[h+1]?z(0,Y((g[f]+(b[h+1]?b[h+1][f]:e))/2)):e;0<=c&&c<=d;)k[c++]=g;this.tooltipPoints=
k}},tooltipHeaderFormatter:function(a){var b=this.tooltipOptions,c=b.xDateFormat,d=this.xAxis,e=d&&"datetime"===d.options.type,f;if(e&&!c)for(f in H)if(H[f]>=d.closestPointRange){c=b.dateTimeLabelFormats[f];break}return b.headerFormat.replace("{point.key}",e?fb(c,a):a).replace("{series.name}",this.name).replace("{series.color}",this.color)},onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&I(this,"mouseOver");this.setState("hover");
a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;if(d)d.onMouseOut();this&&a.events.mouseOut&&I(this,"mouseOut");c&&!a.stickyTracking&&!c.shared&&c.hide();this.setState();b.hoverSeries=null},animate:function(a){var b=this,c=b.chart,d=c.renderer,e;e=b.options.animation;var f=c.clipBox,g=c.inverted,h;e&&!ba(e)&&(e=aa[b.type].animation);h="_sharedClip"+e.duration+e.easing;if(a)a=c[h],e=c[h+"m"],a||(c[h]=a=d.clipRect(u(f,{width:0})),c[h+"m"]=e=d.clipRect(-99,
g?-c.plotLeft:-c.plotTop,99,g?c.chartWidth:c.chartHeight)),b.group.clip(a),b.markerGroup.clip(e),b.sharedClipKey=h;else{if(a=c[h])a.animate({width:c.plotSizeX},e),c[h+"m"].animate({width:c.plotSizeX+99},e);b.animate=null;b.animationTimeout=setTimeout(function(){b.afterAnimate()},e.duration)}},afterAnimate:function(){var a=this.chart,b=this.sharedClipKey,c=this.group;c&&!1!==this.options.clip&&(c.clip(a.clipRect),this.markerGroup.clip());setTimeout(function(){b&&a[b]&&(a[b]=a[b].destroy(),a[b+"m"]=
a[b+"m"].destroy())},100)},drawPoints:function(){var a,b=this.points,c=this.chart,d,e,f,g,h,k,l,m,n=this.options.marker,p,r=this.markerGroup;if(n.enabled||this._hasPointMarkers)for(f=b.length;f--;)if(g=b[f],d=g.plotX,e=g.plotY,m=g.graphic,k=g.marker||{},a=n.enabled&&k.enabled===D||k.enabled,p=c.isInsidePlot(d,e,c.inverted),a&&e!==D&&!isNaN(e))(a=g.pointAttr[g.selected?"select":""],h=a.r,k=s(k.symbol,this.symbol),l=0===k.indexOf("url"),m)?m.attr({visibility:p?ha?"inherit":"visible":"hidden"}).animate(u({x:d-
h,y:e-h},m.symbolName?{width:2*h,height:2*h}:{})):p&&(0<h||l)&&(g.graphic=c.renderer.symbol(k,d-h,e-h,2*h,2*h).attr(a).add(r))},convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={};a=a||{};b=b||{};c=c||{};d=d||{};for(f in e)g=e[f],h[f]=s(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=aa[a.type].marker?a.options.marker:a.options,c=b.states,d=c.hover,e,f=a.color,g={stroke:f,fill:f},h=a.points||[],k=[],l,m=a.pointAttrToOptions,n;a.options.marker?(d.radius=d.radius||
b.radius+2,d.lineWidth=d.lineWidth||b.lineWidth+1):d.color=d.color||ua(d.color||f).brighten(d.brightness).get();k[""]=a.convertAttribs(b,g);q(["hover","select"],function(b){k[b]=a.convertAttribs(c[b],k[""])});a.pointAttr=k;for(f=h.length;f--;){g=h[f];(b=g.options&&g.options.marker||g.options)&&!1===b.enabled&&(b.radius=0);e=a.options.colorByPoint;if(g.options)for(n in m)x(b[m[n]])&&(e=!0);e?(b=b||{},l=[],c=b.states||{},e=c.hover=c.hover||{},a.options.marker||(e.color=ua(e.color||g.color).brighten(e.brightness||
d.brightness).get()),l[""]=a.convertAttribs(u({color:g.color},b),k[""]),l.hover=a.convertAttribs(c.hover,k.hover,l[""]),l.select=a.convertAttribs(c.select,k.select,l[""])):l=k;g.pointAttr=l}},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(Fa),d,e,f=a.data||[],g,h,k;I(a,"destroy");X(a);q(["xAxis","yAxis"],function(b){if(k=a[b])Ca(k.series,a),k.isDirty=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(e=f.length;e--;)(g=f[e])&&g.destroy&&g.destroy();a.points=null;clearTimeout(a.animationTimeout);
q("area graph dataLabelsGroup group markerGroup tracker trackerGroup".split(" "),function(b){a[b]&&(d=c&&"group"===b?"hide":"destroy",a[b][d]())});b.hoverSeries===a&&(b.hoverSeries=null);Ca(b.series,a);for(h in a)delete a[h]},drawDataLabels:function(){var a=this,b=a.options,c=b.dataLabels;if(c.enabled||a._hasPointLabels){var d,e,f=a.points,g,h,k,l,m=a.chart,n=m.renderer,p=m.inverted,r=a.type,t=b.stacking,C="column"===r||"bar"===r,v=null===c.verticalAlign,B=null===c.y,u=n.fontMetrics(c.style.fontSize),
z=u.h,y=u.b;C&&(u={top:y,middle:y-z/2,bottom:-z+y},t?(v&&(c=E(c,{verticalAlign:"middle"})),B&&(c=E(c,{y:u[c.verticalAlign]}))):v?c=E(c,{verticalAlign:"top"}):B&&(c=E(c,{y:u[c.verticalAlign]})));l=a.plotGroup("dataLabelsGroup","data-labels",a.visible?"visible":"hidden",6);h=c;q(f,function(f){var q,v,B,u,A=f.dataLabel;c=h;(g=f.options)&&g.dataLabels&&(c=E(c,g.dataLabels));if(u=c.enabled)q=f.barX&&f.barX+f.barW/2||s(f.plotX,-999),v=s(f.plotY,-999),B=null===c.y?f.y>=b.threshold?-z+y:y:c.y,d=(p?m.plotWidth-
v:q)+c.x,e=w((p?m.plotHeight-q:v)+B);a.isCartesian&&!m.isInsidePlot(d-c.x,e)&&(u=!1);if(A&&!u)f.dataLabel=A.destroy();else if(u){q=c.align;var F;k=c.formatter.call(f.getLabelConfig(),c);"column"===r&&(d+={left:-1,right:1}[q]*f.barW/2||0);!t&&p&&0>f.y&&(q="right",d-=10);c.style.color=s(c.color,c.style.color,a.color,"black");if(A)A.attr({text:k}).animate({x:d,y:e});else if(x(k)){A={align:q,fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:c.rotation,
padding:c.padding,zIndex:1};for(F in A)A[F]===D&&delete A[F];A=f.dataLabel=n[c.rotation?"text":"label"](k,d,e,null,null,null,c.useHTML,!0).attr(A).css(c.style).add(l).shadow(c.shadow)}C&&b.stacking&&A&&(F=f.barX,q=f.barY,v=f.barW,f=f.barH,A.align(c,null,{x:p?m.plotWidth-q-f:F,y:p?m.plotHeight-F-v:q,width:p?f:v,height:p?v:f}))}})}},getSegmentPath:function(a){var b=this,c=[];q(a,function(d,e){b.getPointSpline?c.push.apply(c,b.getPointSpline(a,d,e)):(c.push(e?"L":"M"),e&&b.options.step&&c.push(d.plotX,
a[e-1].plotY),c.push(d.plotX,d.plotY))});return c},getGraphPath:function(){var a=this,b=[],c,d=[];q(a.segments,function(e){c=a.getSegmentPath(e);1<e.length?b=b.concat(c):d.push(e[0])});a.singlePoints=d;return a.graphPath=b},drawGraph:function(){var a=this.options,b=this.graph,c=this.group,d=a.lineColor||this.color,e=a.lineWidth,f=a.dashStyle,g=this.getGraphPath();b?(hb(b),b.animate({d:g})):e&&(b={stroke:d,"stroke-width":e,zIndex:1},f&&(b.dashstyle=f),this.graph=this.chart.renderer.path(g).attr(b).add(c).shadow(a.shadow))},
invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};q(["group","trackerGroup","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;M(c,"resize",a);M(b,"destroy",function(){X(c,"resize",a)});a();b.invertGroups=a},plotGroup:function(a,b,c,d,e){var f=this[a],g=this.chart,h=this.xAxis,k=this.yAxis;f||(this[a]=f=g.renderer.g(b).attr({visibility:c,zIndex:d||0.1}).add(e));f.translate(h?h.left:g.plotLeft,k?k.top:g.plotTop);return f},render:function(){var a=
this.chart,b,c=this.options,d=c.animation&&!!this.animate,e=this.visible?"visible":"hidden",f=c.zIndex,g=this.hasRendered,h=a.seriesGroup;b=this.plotGroup("group","series",e,f,h);this.markerGroup=this.plotGroup("markerGroup","markers",e,f,h);this.drawDataLabels();d&&this.animate(!0);this.getAttribs();b.inverted=a.inverted;this.drawGraph&&this.drawGraph();this.drawPoints();!1!==this.options.enableMouseTracking&&this.drawTracker();a.inverted&&this.invertGroups();!1!==c.clip&&!this.sharedClipKey&&!g&&
(b.clip(a.clipRect),this.trackerGroup&&this.trackerGroup.clip(a.clipRect));d?this.animate():g||this.afterAnimate();this.isDirty=this.isDirtyData=!1;this.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.group;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:this.xAxis.left,translateY:this.yAxis.top}));this.translate();this.setTooltipPoints(!0);this.render();b&&I(this,"updatedData")},setState:function(a){var b=this.options,c=this.graph,
d=b.states,b=b.lineWidth;a=a||"";this.state!==a&&(this.state=a,d[a]&&!1===d[a].enabled||(a&&(b=d[a].lineWidth||b+1),c&&!c.dashstyle&&c.attr({"stroke-width":b},a?0:500)))},setVisible:function(a,b){var c=this.chart,d=this.legendItem,e=this.group,f=this.tracker,g=this.dataLabelsGroup,h=this.markerGroup,k,l=this.points,m=c.options.chart.ignoreHiddenSeries;k=this.visible;k=(this.visible=a=a===D?!k:a)?"show":"hide";if(e)e[k]();if(h)h[k]();if(f)f[k]();else if(l)for(e=l.length;e--;)if(f=l[e],f.tracker)f.tracker[k]();
if(g)g[k]();d&&c.legend.colorizeItem(this,a);this.isDirty=!0;this.options.stacking&&q(c.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});m&&(c.isDirtyBox=!0);!1!==b&&c.redraw();I(this,k)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===D?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);I(this,a?"select":"unselect")},drawTracker:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),
e=d.length,f=a.chart,g=f.renderer,h=f.options.tooltip.snap,k=a.tracker,l=b.cursor,l=l&&{cursor:l},m=a.singlePoints,n=this.isCartesian&&this.plotGroup("trackerGroup",null,"visible",b.zIndex||1,f.trackerGroup),p;if(e&&!c)for(p=e+1;p--;)"M"===d[p]&&d.splice(p+1,0,d[p+1]-h,d[p+2],"L"),(p&&"M"===d[p]||p===e)&&d.splice(p,0,"L",d[p-2]+h,d[p-1]);for(p=0;p<m.length;p++)e=m[p],d.push("M",e.plotX-h,e.plotY,"L",e.plotX+h,e.plotY);k?k.attr({d:d}):a.tracker=g.path(d).attr({isTracker:!0,"stroke-linejoin":"bevel",
visibility:a.visible?"visible":"hidden",stroke:zb,fill:c?zb:W,"stroke-width":b.lineWidth+(c?0:2*h)}).on(ia?"touchstart":"mouseover",function(){if(f.hoverSeries!==a)a.onMouseOver()}).on("mouseout",function(){if(!b.stickyTracking)a.onMouseOut()}).css(l).add(n)}};J=ga(U);ea.line=J;aa.area=E($,{threshold:0});J=ga(U,{type:"area",getSegmentPath:function(a){var b=U.prototype.getSegmentPath.call(this,a),c=[].concat(b),d,e=this.options;3===b.length&&c.push("L",b[1],b[2]);if(e.stacking&&!this.closedStacks)for(d=
a.length-1;0<=d;d--)d<a.length-1&&e.step&&c.push(a[d+1].plotX,a[d].yBottom),c.push(a[d].plotX,a[d].yBottom);else this.closeSegment(c,a);this.areaPath=this.areaPath.concat(c);return b},closeSegment:function(a,b){var c=this.yAxis.getThreshold(this.options.threshold);a.push("L",b[b.length-1].plotX,c,"L",b[0].plotX,c)},drawGraph:function(){this.areaPath=[];U.prototype.drawGraph.apply(this);var a=this.areaPath,b=this.options,c=this.area;c?c.animate({d:a}):this.area=this.chart.renderer.path(a).attr({fill:s(b.fillColor,
ua(this.color).setOpacity(b.fillOpacity||0.75).get()),zIndex:0}).add(this.group)},drawLegendSymbol:function(a,b){b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,a.options.symbolWidth,12,2).attr({zIndex:3}).add(b.legendGroup)}});ea.area=J;aa.spline=E($);ka=ga(U,{type:"spline",getPointSpline:function(a,b,c){var d=b.plotX,e=b.plotY,f=a[c-1],g=a[c+1],h,k,l,m;if(f&&g){a=f.plotY;l=g.plotX;var g=g.plotY,n;h=(1.5*d+f.plotX)/2.5;k=(1.5*e+a)/2.5;l=(1.5*d+l)/2.5;m=(1.5*e+g)/2.5;n=(m-k)*(l-d)/(l-h)+e-
m;k+=n;m+=n;k>a&&k>e?(k=z(a,e),m=2*e-k):k<a&&k<e&&(k=T(a,e),m=2*e-k);m>g&&m>e?(m=z(g,e),k=2*e-m):m<g&&m<e&&(m=T(g,e),k=2*e-m);b.rightContX=l;b.rightContY=m}c?(b=["C",f.rightContX||f.plotX,f.rightContY||f.plotY,h||d,k||e,d,e],f.rightContX=f.rightContY=null):b=["M",d,e];return b}});ea.spline=ka;aa.areaspline=E(aa.area);var Bb=J.prototype,ka=ga(ka,{type:"areaspline",closedStacks:!0,getSegmentPath:Bb.getSegmentPath,closeSegment:Bb.closeSegment,drawGraph:Bb.drawGraph});ea.areaspline=ka;aa.column=E($,{borderColor:"#FFFFFF",
borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:0.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{y:null,verticalAlign:null},threshold:0});Ga=ga(U,{type:"column",tooltipOutsidePlot:!0,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},init:function(){U.prototype.init.apply(this,arguments);var a=this,b=a.chart;b.hasRendered&&
q(b.series,function(b){b.type===a.type&&(b.isDirty=!0)})},translate:function(){var a=this,b=a.chart,c=a.options,d=c.stacking,e=c.borderWidth,f=0,g=a.xAxis,h=g.reversed,k={},l,m;U.prototype.translate.apply(a);!1===c.grouping?f=1:q(b.series,function(b){var c=b.options;b.type===a.type&&b.visible&&a.options.group===c.group&&(c.stacking?(l=b.stackKey,k[l]===D&&(k[l]=f++),m=k[l]):!1!==c.grouping&&(m=f++),b.columnIndex=m)});var n=a.points,g=Q(g.transA)*(g.ordinalSlope||c.pointRange||g.closestPointRange||
1),p=g*c.groupPadding,r=(g-2*p)/f,t=c.pointWidth,C=x(t)?(r-t)/2:r*c.pointPadding,v=s(t,r-2*C),B=Aa(z(v,1+2*e)),w=C+(p+((h?f-a.columnIndex:a.columnIndex)||0)*r-g/2)*(h?-1:1),A=a.yAxis.getThreshold(c.threshold),y=s(c.minPointLength,5);q(n,function(c){var f=c.plotY,g=s(c.yBottom,A),h=c.plotX+w,k=Aa(T(f,g)),l=Aa(z(f,g)-k),m=a.yAxis.stacks[(0>c.y?"-":"")+a.stackKey];d&&a.visible&&m&&m[c.x]&&m[c.x].setOffset(w,B);Q(l)<y&&y&&(l=y,k=Q(k-A)>y?g-y:A-(f<=A?y:0));u(c,{barX:h,barY:k,barW:B,barH:l,pointWidth:v});
c.shapeType="rect";c.shapeArgs=f=b.renderer.Element.prototype.crisp.call(0,e,h,k,B,l);e%2&&(f.y-=1,f.height+=1);c.trackerArgs=3>Q(l)&&E(c.shapeArgs,{height:6,y:k-3})})},getSymbol:Ga,drawLegendSymbol:J.prototype.drawLegendSymbol,drawGraph:Ga,drawPoints:function(){var a=this,b=a.options,c=a.chart.renderer,d,e;q(a.points,function(f){var g=f.plotY;g===D||isNaN(g)||null===f.y||(d=f.graphic,e=f.shapeArgs,d?(hb(d),d.animate(E(e))):f.graphic=d=c[f.shapeType](e).attr(f.pointAttr[f.selected?"select":""]).add(a.group).shadow(b.shadow,
null,b.stacking&&!b.borderRadius))})},drawTracker:function(){var a=this,b=a.chart,c=b.renderer,d,e,f=+new Date,g=a.options,h=g.cursor,k=h&&{cursor:h},l=a.isCartesian&&a.plotGroup("trackerGroup",null,"visible",g.zIndex||1,b.trackerGroup),m,n,p;q(a.points,function(h){e=h.tracker;d=h.trackerArgs||h.shapeArgs;n=h.plotY;p=!a.isCartesian||n!==D&&!isNaN(n);delete d.strokeWidth;null!==h.y&&p&&(e?e.attr(d):h.tracker=c[h.shapeType](d).attr({isTracker:f,fill:zb,visibility:a.visible?"visible":"hidden"}).on(ia?
"touchstart":"mouseover",function(c){m=c.relatedTarget||c.fromElement;if(b.hoverSeries!==a&&F(m,"isTracker")!==f)a.onMouseOver();h.onMouseOver()}).on("mouseout",function(b){if(!g.stickyTracking&&(m=b.relatedTarget||b.toElement,F(m,"isTracker")!==f))a.onMouseOut()}).css(k).add(h.group||l))})},animate:function(a){var b=this,c=b.points,d=b.options;a||(q(c,function(a){var c=a.graphic;a=a.shapeArgs;var g=b.yAxis,h=d.threshold;c&&(c.attr({height:0,y:x(h)?g.getThreshold(h):g.translate(g.getExtremes().min,
0,1,0,1)}),c.animate({height:a.height,y:a.y},d.animation))}),b.animate=null)},remove:function(){var a=this,b=a.chart;b.hasRendered&&q(b.series,function(b){b.type===a.type&&(b.isDirty=!0)});U.prototype.remove.apply(a,arguments)}});ea.column=Ga;aa.bar=E(aa.column,{dataLabels:{align:"left",x:5,y:null,verticalAlign:"middle"}});ka=ga(Ga,{type:"bar",inverted:!0});ea.bar=ka;aa.scatter=E($,{lineWidth:0,states:{hover:{lineWidth:0}},tooltip:{headerFormat:'<span style="font-size: 10px; color:{series.color}">{series.name}</span><br/>',
pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}});ka=ga(U,{type:"scatter",sorted:!1,translate:function(){var a=this;U.prototype.translate.apply(a);q(a.points,function(b){b.shapeType="circle";b.shapeArgs={x:b.plotX,y:b.plotY,r:a.chart.options.tooltip.snap}})},drawTracker:function(){for(var a=this,b=a.options.cursor,b=b&&{cursor:b},c=a.points,d=c.length,e;d--;)if(e=c[d].graphic)e.element._i=d;a._hasTracking?a._hasTracking=!0:a.markerGroup.attr({isTracker:!0}).on(ia?"touchstart":"mouseover",
function(b){a.onMouseOver();if(b.target._i!==D)c[b.target._i].onMouseOver()}).on("mouseout",function(){if(!a.options.stickyTracking)a.onMouseOut()}).css(b)}});ea.scatter=ka;aa.pie=E($,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},y:5},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}}});$={type:"pie",isCartesian:!1,pointClass:ga(Wa,
{init:function(){Wa.prototype.init.apply(this,arguments);var a=this,b;u(a,{visible:!1!==a.visible,name:s(a.name,"Slice")});b=function(){a.slice()};M(a,"select",b);M(a,"unselect",b);return a},setVisible:function(a){var b=this.series,c=b.chart,d=this.tracker,e=this.dataLabel,f=this.connector,g=this.shadowGroup,h;h=(this.visible=a=a===D?!this.visible:a)?"show":"hide";this.group[h]();if(d)d[h]();if(e)e[h]();if(f)f[h]();if(g)g[h]();this.legendItem&&c.legend.colorizeItem(this,a);!b.isDirty&&b.options.ignoreHiddenPoint&&
(b.isDirty=!0,c.redraw())},slice:function(a,b,c){var d=this.series.chart,e=this.slicedTranslation;ya(c,d);s(b,!0);a=this.sliced=x(a)?a:!this.sliced;a={translateX:a?e[0]:d.plotLeft,translateY:a?e[1]:d.plotTop};this.group.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}}),pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var a=this;q(a.points,function(b){var c=b.graphic;b=b.shapeArgs;
var d=-Ba/2;c&&(c.attr({r:0,start:d,end:d}),c.animate({r:b.r,start:b.start,end:b.end},a.options.animation))});a.animate=null},setData:function(a,b){U.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();s(b,!0)&&this.chart.redraw()},getCenter:function(){var a=this.options,b=this.chart,c=b.plotWidth,d=b.plotHeight,a=a.center.concat([a.size,a.innerSize||0]),e=T(c,d);return Va(a,function(a,b){return/%$/.test(a)?[c,d,e,e][b]*A(a)/100:a})},translate:function(){this.generatePoints();
var a=0,b=-0.25,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f,g=this.chart,h,k,l,m=this.points,n=2*Ba,p,r,s,u=c.dataLabels.distance,v=c.ignoreHiddenPoint;this.center=f=this.getCenter();this.getX=function(a,b){l=O.asin((a-f[1])/(f[2]/2+u));return f[0]+(b?-1:1)*Z(l)*(f[2]/2+u)};q(m,function(b){a+=v&&!b.visible?0:b.y});q(m,function(c){p=a?c.y/a:0;h=w(b*n*1E3)/1E3;if(!v||c.visible)b+=p;k=w(b*n*1E3)/1E3;c.shapeType="arc";c.shapeArgs={x:f[0],y:f[1],r:f[2]/2,innerR:f[3]/2,start:h,end:k};l=(k+h)/2;
c.slicedTranslation=Va([Z(l)*d+g.plotLeft,da(l)*d+g.plotTop],w);r=Z(l)*f[2]/2;s=da(l)*f[2]/2;c.tooltipPos=[f[0]+0.7*r,f[1]+0.7*s];c.labelPos=[f[0]+r+Z(l)*u,f[1]+s+da(l)*u,f[0]+r+Z(l)*e,f[1]+s+da(l)*e,f[0]+r,f[1]+s,0>u?"center":l<n/4?"left":"right",l];c.percentage=100*p;c.total=a});this.setTooltipPoints()},render:function(){this.getAttribs();this.drawPoints();!1!==this.options.enableMouseTracking&&this.drawTracker();this.drawDataLabels();this.options.animation&&this.animate&&this.animate();this.isDirty=
!1},drawPoints:function(){var a=this,b=a.chart,c=b.renderer,d,e,f,g=a.options.shadow,h,k;q(a.points,function(l){e=l.graphic;k=l.shapeArgs;f=l.group;h=l.shadowGroup;g&&!h&&(h=l.shadowGroup=c.g("shadow").attr({zIndex:4}).add());f||(f=l.group=c.g("point").attr({zIndex:5}).add());d=l.sliced?l.slicedTranslation:[b.plotLeft,b.plotTop];f.translate(d[0],d[1]);h&&h.translate(d[0],d[1]);e?e.animate(k):l.graphic=e=c.arc(k).setRadialReference(a.center).attr(u(l.pointAttr[""],{"stroke-linejoin":"round"})).add(l.group).shadow(g,
h);!1===l.visible&&l.setVisible(!1)})},drawDataLabels:function(){var a=this.data,b,c=this.chart,d=this.options.dataLabels,e=s(d.connectorPadding,10),f=s(d.connectorWidth,1),g,h,k=s(d.softConnector,!0),l=d.distance,m=this.center,n=m[2]/2,p=m[1],r=0<l,t=[[],[]],u,v,w,x,A=2,y;if(d.enabled||this._hasPointLabels)for(U.prototype.drawDataLabels.apply(this),q(a,function(a){a.dataLabel&&t[a.labelPos[7]<Ba/2?0:1].push(a)}),t[1].reverse(),x=function(a,b){return b.y-a.y},a=t[0][0]&&t[0][0].dataLabel&&(t[0][0].dataLabel.getBBox().height||
21);A--;){var z=[],D=[],E=t[A],F=E.length,G;if(0<l){for(y=p-n-l;y<=p+n+l;y+=a)z.push(y);w=z.length;if(F>w){h=[].concat(E);h.sort(x);for(y=F;y--;)h[y].rank=y;for(y=F;y--;)E[y].rank>=w&&E.splice(y,1);F=E.length}for(y=0;y<F;y++){b=E[y];h=b.labelPos;b=9999;for(v=0;v<w;v++)g=Q(z[v]-h[1]),g<b&&(b=g,G=v);if(G<y&&null!==z[y])G=y;else for(w<F-y+G&&null!==z[y]&&(G=w-F+y);null===z[G];)G++;D.push({i:G,y:z[G]});z[G]=null}D.sort(x)}for(y=0;y<F;y++){b=E[y];h=b.labelPos;g=b.dataLabel;w=!1===b.visible?"hidden":"visible";
u=h[1];if(0<l){if(v=D.pop(),G=v.i,v=v.y,u>v&&null!==z[G+1]||u<v&&null!==z[G-1])v=u}else v=u;u=d.justify?m[0]+(A?-1:1)*(n+l):this.getX(0===G||G===z.length-1?u:v,A);g.attr({visibility:w,align:h[6]})[g.moved?"animate":"attr"]({x:u+d.x+({left:e,right:-e}[h[6]]||0),y:v+d.y});g.moved=!0;r&&f&&(g=b.connector,h=k?["M",u+("left"===h[6]?5:-5),v,"C",u,v,2*h[2]-h[4],2*h[3]-h[5],h[2],h[3],"L",h[4],h[5]]:["M",u+("left"===h[6]?5:-5),v,"L",h[2],h[3],"L",h[4],h[5]],g?(g.animate({d:h}),g.attr("visibility",w)):b.connector=
g=this.chart.renderer.path(h).attr({"stroke-width":f,stroke:d.connectorColor||b.color||"#606060",visibility:w,zIndex:3}).translate(c.plotLeft,c.plotTop).add())}}},drawTracker:Ga.prototype.drawTracker,drawLegendSymbol:J.prototype.drawLegendSymbol,getSymbol:function(){}};$=ga(U,$);ea.pie=$;u(Highcharts,{Axis:rb,CanVGRenderer:jb,Chart:vb,Color:ua,Legend:ub,MouseTracker:tb,Point:Wa,Tick:Sa,Tooltip:sb,Renderer:Ua,Series:U,SVGRenderer:va,VMLRenderer:oa,dateFormat:fb,pathAnim:yb,getOptions:function(){return R},
hasBidiBug:Sb,numberFormat:La,seriesTypes:ea,setOptions:function(a){R=E(R,a);Jb();return R},addEvent:M,removeEvent:X,createElement:V,discardElement:Qa,css:K,each:q,extend:u,map:Va,merge:E,pick:s,splat:sa,extendClass:ga,pInt:A,wrap:function(a,b,c){var d=a[b];a[b]=function(){var a=Array.prototype.slice.call(arguments);a.unshift(d);return c.apply(this,a)}},svg:ha,canvas:ca,vml:!ha&&!ca,product:"Highcharts",version:"2.3.2"})})();
