/* Highcharts 4.1.6 JS v/Highstock 2.1.6 (2015-06-12) (c) 2009-2014 Torstein Honsi License: www.highcharts.com/license Highcharts funnel module (c) 2010-2014 Torstein Honsi License: www.highcharts.com/license */ (function(){function x(){var a,b=arguments,c,d={},e=function(a,b){var c,d;"object"!==typeof a&&(a={});for(d in b)b.hasOwnProperty(d)&&((c=b[d])&&"object"===typeof c&&"[object Array]"!==Object.prototype.toString.call(c)&&"renderTo"!==d&&"number"!==typeof c.nodeType?a[d]=e(a[d]||{},c):a[d]=b[d]);return a};!0===b[0]&&(d=b[1],b=Array.prototype.slice.call(b,2));c=b.length;for(a=0;a=c&&(b=[1/c])));for(d=0;d=a||!e&&f<=(b[d]+(b[d+1]||b[d]))/2);d++);return g*c}function ka(a,b){var c=a.length,d,e;for(e=0;ec&&(c=a[b]);return c}function Fa(a, b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Ga(a){pb||(pb=ba("div"));a&&pb.appendChild(a);pb.innerHTML=""}function la(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(b)throw c;Q.console&&console.log(c)}function oa(a){return parseFloat(a.toPrecision(14))}function Ha(a,b){Qa=t(a,b.animation)}function za(){var a=ha.global,b=a.useUTC,c=b?"getUTC":"get",d=b?"setUTC":"set";Ra=a.Date||window.Date;Ab=b&&a.timezoneOffset;ob=b&&a.getTimezoneOffset; qb=function(a,c,d,h,k,l){var m;b?(m=Ra.UTC.apply(0,arguments),m+=eb(m)):m=(new Ra(a,c,t(d,1),t(h,0),t(k,0),t(l,0))).getTime();return m};Bb=c+"Minutes";Cb=c+"Hours";Db=c+"Day";fb=c+"Date";gb=c+"Month";hb=c+"FullYear";Tb=d+"Milliseconds";Ub=d+"Seconds";Vb=d+"Minutes";Wb=d+"Hours";Eb=d+"Date";Fb=d+"Month";Gb=d+"FullYear"}function X(){}function pa(a,b,c,d){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;c||d||this.addLabel()}function va(a,b,c,d,e){var f=a.chart.inverted;this.axis=a;this.isNegative= c;this.options=b;this.x=d;this.total=null;this.points={};this.stack=e;this.alignOptions={align:b.align||(f?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(f?"middle":c?"bottom":"top"),y:t(b.y,f?4:c?14:-6),x:t(b.x,f?c?-6:6:0)};this.textAlign=b.textAlign||(f?c?"right":"left":"center")}function Ua(a,b,c){this.init.call(this,a,b,c)}var v,F=document,Q=window,aa=Math,z=aa.round,T=aa.floor,La=aa.ceil,C=aa.max,L=aa.min,S=aa.abs,ia=aa.cos,qa=aa.sin,Ia=aa.PI,Aa=2*Ia/360,Sa=navigator.userAgent,Xb= Q.opera,Oa=/(msie|trident)/i.test(Sa)&&!Xb,rb=8===F.documentMode,sb=/AppleWebKit/.test(Sa),Ya=/Firefox/.test(Sa),Yb=/(Mobile|Android|Windows Phone)/.test(Sa),Ta="http://www.w3.org/2000/svg",ra=!!F.createElementNS&&!!F.createElementNS(Ta,"svg").createSVGRect,gc=Ya&&4>parseInt(Sa.split("Firefox/")[1],10),wa=!ra&&!Oa&&!!F.createElement("canvas").getContext,ib,jb,Zb={},Hb=0,pb,ha,bb,Qa,Ib,O,U=function(){return v},ja=[],kb=0,hc=/^[0-9]+$/,tb=["plotTop","marginRight","marginBottom","plotLeft"],Ra,qb,Ab, ob,Bb,Cb,Db,fb,gb,hb,Tb,Ub,Vb,Wb,Eb,Fb,Gb,B={},I;I=Q.Highcharts=Q.Highcharts?la(16,!0):{};I.seriesTypes=B;var D=I.extend=function(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a},t=I.pick=function(){var a=arguments,b,c,d=a.length;for(b=0;bf?"AM":"PM",P:12>f?"am":"pm",S:Wa(d.getSeconds()),L:Wa(z(b%1E3),3)},I.dateFormats);for(e in d)for(;-1!==a.indexOf("%"+e);)a=a.replace("%"+e,"function"===typeof d[e]?d[e](b):d[e]);return c?a.substr(0,1).toUpperCase()+a.substr(1):a}; O={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};I.numberFormat=function(a,b,c,d){var e=ha.lang;a=+a||0;var f=-1===b?L((a.toString().split(".")[1]||"").length,20):isNaN(b=S(b))?2:b;b=void 0===c?e.decimalPoint:c;d=void 0===d?e.thousandsSep:d;e=0>a?"-":"";c=String(G(a=S(a).toFixed(f)));var g=3c)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){Q.HighchartsAdapter=Q.HighchartsAdapter||a&&{init:function(b){var c=a.fx;a.extend(a.easing,{easeOutQuad:function(a,b,c,g,h){return-g*(b/=h)*(b-2)+c}});a.each(["cur","_default","width","height","opacity"],function(b,e){var f=c.step,g;"cur"===e?f=c.prototype:"_default"===e&&a.Tween&&(f=a.Tween.propHooks[e], e="set");(g=f[e])&&(f[e]=function(a){var c;a=b?a:this;if("align"!==a.prop)return c=a.elem,c.attr?c.attr(a.prop,"cur"===e?v:a.now):g.apply(this,arguments)})});ga(a.cssHooks.opacity,"get",function(a,b,c){return b.attr?b.opacity||0:a.call(this,b,c)});this.addAnimSetter("d",function(a){var c=a.elem,f;a.started||(f=b.init(c,c.d,c.toD),a.start=f[0],a.end=f[1],a.started=!0);c.attr("d",b.step(a.start,a.end,a.pos,c.toD))});this.each=Array.prototype.forEach?function(a,b){return Array.prototype.forEach.call(a, b)}:function(a,b){var c,g=a.length;for(c=0;c{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',shadow:!0,snap:Yb?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",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:"9px"}}}; var J=ha.plotOptions,mb=J.line;za();var lc=/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*\)/,mc=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,nc=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,Ba=function(a){var b=[],c,d;(function(a){a&&a.stops?d=$a(a.stops,function(a){return Ba(a[1])}):(c=lc.exec(a))?b=[G(c[1]),G(c[2]),G(c[3]),parseFloat(c[4],10)]:(c=mc.exec(a))?b=[G(c[1],16),G(c[2],16),G(c[3],16),1]:(c=nc.exec(a))&&(b=[G(c[1]), G(c[2]),G(c[3]),1])})(a);return{get:function(c){var f;d?(f=x(a),f.stops=[].concat(f.stops),r(d,function(a,b){f.stops[b]=[f.stops[b][0],a.get(c)]})):f=b&&!isNaN(b[0])?"rgb"===c?"rgb("+b[0]+","+b[1]+","+b[2]+")":"a"===c?b[3]:"rgba("+b.join(",")+")":a;return f},brighten:function(a){if(d)r(d,function(b){b.brighten(a)});else if(sa(a)&&0!==a){var c;for(c=0;3>c;c++)b[c]+=G(255*a),0>b[c]&&(b[c]=0),255b.width)b={width:0,height:0}}else b=this.htmlGetBBox();c.isSVG&&(a=b.width,d=b.height,Oa&&g&&"11px"===g.fontSize&&"16.9"===d.toPrecision(3)&&(b.height=d=14),e&&(b.width=S(d*qa(h))+S(a*ia(h)),b.height=S(d*ia(h))+S(a*qa(h))));c.cache[n]=b}return b},show:function(a){a&&this.element.namespaceURI===Ta?this.element.removeAttribute("visibility"):this.attr({visibility:a?"inherit":"visible"});return this},hide:function(){return this.attr({visibility:"hidden"})}, fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,c=this.element,d;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)d=this.zIndexSetter();d||(a?a.element:b.box).appendChild(c);if(this.onAdd)this.onAdd();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.renderer.isSVG&&"SPAN"===b.nodeName&&a.parentGroup,e,f;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=b.point=null;lb(a);a.clipPath&&(a.clipPath=a.clipPath.destroy());if(a.stops){for(f=0;f]*>/g,"")},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,c){"string"===typeof a?c.setAttribute(b,a):a&&this.colorGradient(a,b,c)},zIndexSetter:function(a,b){var c=this.renderer,d=this.parentGroup,c=(d||c).element||c.box,e,f,g=this.element,h;e=this.added; var k;u(a)&&(g.setAttribute(b,a),a=+a,this[b]===a&&(e=!1),this[b]=a);if(e){(a=this.zIndex)&&d&&(d.handleZ=!0);d=c.childNodes;for(k=0;ka||!u(a)&&u(f))&&(c.insertBefore(g,e),h=!0);h||c.appendChild(g)}return h},_defaultSetter:function(a,b,c){c.setAttribute(b,a)}};X.prototype.yGetter=X.prototype.xGetter;X.prototype.translateXSetter=X.prototype.translateYSetter=X.prototype.rotationSetter=X.prototype.verticalAlignSetter=X.prototype.scaleXSetter=X.prototype.scaleYSetter= function(a,b){this[b]=a;this.doTransform=!0};X.prototype["stroke-widthSetter"]=X.prototype.strokeSetter=function(a,b,c){this[b]=a;this.stroke&&this["stroke-width"]?(this.strokeWidth=this["stroke-width"],X.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(c.removeAttribute("stroke"),this.hasStroke=!1)};var Ma=function(){this.init.apply(this,arguments)};Ma.prototype={Element:X,init:function(a, b,c,d,e){var f=location,g;d=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(d));g=d.element;a.appendChild(g);-1===a.innerHTML.indexOf("xmlns")&&W(g,"xmlns",Ta);this.isSVG=!0;this.box=g;this.boxWrapper=d;this.alignedObjects=[];this.url=(Ya||sb)&&F.getElementsByTagName("base").length?f.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 4.1.6 /Highstock 2.1.6")); this.defs=this.createElement("defs").add();this.forExport=e;this.gradients={};this.cache={};this.setSize(b,c,!1);var h;Ya&&a.getBoundingClientRect&&(this.subPixelFix=b=function(){H(a,{left:0,top:0});h=a.getBoundingClientRect();H(a,{left:La(h.left)-h.left+"px",top:La(h.top)-h.top+"px"})},b(),Z(Q,"resize",b))},getStyle:function(a){return this.style=D({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},isHidden:function(){return!this.boxWrapper.getBBox().width}, destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();Fa(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.subPixelFix&&ma(Q,"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=this,d=c.forExport,e=t(a.textStr,"").toString(),f=-1!==e.indexOf("<"),g=b.childNodes,h,k,l=W(b,"x"),m=a.styles,n=a.textWidth, p=m&&m.lineHeight,q=m&&m.textShadow,A=m&&"ellipsis"===m.textOverflow,w=g.length,ea=n&&!a.added&&this.box,Y=function(a){return p?G(p):c.fontMetrics(/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:m&&m.fontSize||c.style.fontSize||12,a).h},y=function(a){return a.replace(/</g,"<").replace(/>/g,">")};w--;)b.removeChild(g[w]);f||q||A||-1!==e.indexOf(" ")?(h=/<.*style="([^"]+)".*>/,k=/<.*href="(http[^"]+)".*>/,ea&&ea.appendChild(b),e=f?e.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g, '').replace(//g,"").split(//g):[e],""===e[e.length-1]&&e.pop(),r(e,function(e,f){var g,p=0;e=e.replace(//g,"|||");g=e.split("|||");r(g,function(e){if(""!==e||1===g.length){var q={},w=F.createElementNS(Ta,"tspan"),t;h.test(e)&&(t=e.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),W(w,"style",t));k.test(e)&&!d&&(W(w,"onclick",'location.href="'+e.match(k)[1]+'"'), H(w,{cursor:"pointer"}));e=y(e.replace(/<(.|\n)*?>/g,"")||" ");if(" "!==e){w.appendChild(F.createTextNode(e));p?q.dx=0:f&&null!==l&&(q.x=l);W(w,q);b.appendChild(w);!p&&f&&(!ra&&d&&H(w,{display:"block"}),W(w,"dy",Y(w)));if(n){for(var q=e.replace(/([^\^])-/g,"$1- ").split(" "),r=1n,void 0===E&&(E=ea),A&&E?(B/=2,""===x||!ea&&.5>B?q=[]:(ea&&(E=!0),x=e.substring(0,x.length+(ea?-1:1)*La(B)),q=[x+(3n&&(n=u)),q.length&&w.appendChild(F.createTextNode(q.join(" ").replace(/- /g,"-")));E&&a.attr("title",a.textStr);a.rotation=D}p++}}})}),ea&&ea.removeChild(b), q&&a.applyTextShadow&&a.applyTextShadow(q)):b.appendChild(F.createTextNode(y(e)))},getContrast:function(a){a=Ba(a).rgba;return 384c&&e>b+g&&e h&&e>b+g&&ed&&h>a+g&&he&&h>a+g&&ha?a+3:z(1.2*a),d=z(.8*c);return{h:c,b:d,f:a}},rotCorr:function(a,b,c){var d=a;b&&c&&(d=C(d*ia(b*Aa),4));return{x:-a/3*qa(b*Aa),y:d}},label:function(a,b,c,d,e,f,g,h,k){function l(){var a,b;a=A.element.style;t=(void 0===cb||void 0===C||q.styles.textAlign)&&u(A.textStr)&&A.getBBox();q.width=(cb||t.width||0)+2*y+E;q.height=(C||t.height||0)+2*y;H=y+p.fontMetrics(a&&a.fontSize,A).b;L&&(w||(a=z(-Y*y)+G,b=(h?-H:0)+G,q.box=w=d?p.symbol(d,a,b,q.width,q.height,M):p.rect(a,b,q.width,q.height,0,M["stroke-width"]), w.attr("fill","none").add(q)),w.isImg||w.attr(D({width:z(q.width),height:z(q.height)},M)),M=null)}function m(){var a=q.styles,a=a&&a.textAlign,b=E+y*(1-Y),c;c=h?0:H;u(cb)&&t&&("center"===a||"right"===a)&&(b+={center:.5,right:1}[a]*(cb-t.width));if(b!==A.x||c!==A.y)A.attr("x",b),c!==v&&A.attr("y",c);A.x=b;A.y=c}function n(a,b){w?w.attr(a,b):M[a]=b}var p=this,q=p.g(k),A=p.text("",0,0,g).attr({zIndex:1}),w,t,Y=0,y=3,E=0,cb,C,B,F,G=0,M={},H,L;q.onAdd=function(){A.add(q);q.attr({text:a||0===a?a:"",x:b, y:c});w&&u(e)&&q.attr({anchorX:e,anchorY:f})};q.widthSetter=function(a){cb=a};q.heightSetter=function(a){C=a};q.paddingSetter=function(a){u(a)&&a!==y&&(y=q.padding=a,m())};q.paddingLeftSetter=function(a){u(a)&&a!==E&&(E=a,m())};q.alignSetter=function(a){Y={left:0,center:.5,right:1}[a]};q.textSetter=function(a){a!==v&&A.textSetter(a);l();m()};q["stroke-widthSetter"]=function(a,b){a&&(L=!0);G=a%2/2;n(b,a)};q.strokeSetter=q.fillSetter=q.rSetter=function(a,b){"fill"===b&&a&&(L=!0);n(b,a)};q.anchorXSetter= function(a,b){e=a;n(b,z(a)-G-B)};q.anchorYSetter=function(a,b){f=a;n(b,a-F)};q.xSetter=function(a){q.x=a;Y&&(a-=Y*((cb||t.width)+y));B=z(a);q.attr("translateX",B)};q.ySetter=function(a){F=q.y=z(a);q.attr("translateY",F)};var Ca=q.css;return D(q,{css:function(a){if(a){var b={};a=x(a);r(q.textProps,function(c){a[c]!==v&&(b[c]=a[c],delete a[c])});A.css(b)}return Ca.call(q,a)},getBBox:function(){return{width:t.width+2*y,height:t.height+2*y,x:t.x-y,y:t.y-y}},shadow:function(a){w&&w.shadow(a);return q}, destroy:function(){ma(q.element,"mouseenter");ma(q.element,"mouseleave");A&&(A=A.destroy());w&&(w=w.destroy());X.prototype.destroy.call(q);q=p=l=m=n=null}})}};ib=Ma;D(X.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=D(this.styles,a);H(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&& (a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},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:.5,right:1}[g],k=this.shadows,l=this.styles;H(b,{marginLeft:c,marginTop:d});k&&r(k,function(a){H(a,{marginLeft:c+1,marginTop:d+1})});this.inverted&&r(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"=== b.tagName){var m=this.rotation,n,p=G(this.textWidth),q=[m,g,b.innerHTML,this.textWidth].join();q!==this.cTT&&(n=a.fontMetrics(b.style.fontSize).b,u(m)&&this.setSpanRotation(m,h,n),k=t(this.elemWidth,b.offsetWidth),k>p&&/[ \-]/.test(b.textContent||b.innerText)&&(H(b,{width:p+"px",display:"block",whiteSpace:l&&l.whiteSpace||"normal"}),k=p),this.getSpanCorrection(k,n,h,m,g));H(b,{left:e+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});sb&&(n=b.offsetHeight);this.cTT=q}}else this.alignOnAdd=!0},setSpanRotation:function(a, b,c){var d={},e=Oa?"-ms-transform":sb?"-webkit-transform":Ya?"MozTransform":Xb?"-o-transform":"";d[e]=d.transform="rotate("+a+"deg)";d[e+(Ya?"Origin":"-origin")]=d.transformOrigin=100*b+"% "+c+"px";H(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});D(Ma.prototype,{html:function(a,b,c){var d=this.createElement("span"),e=d.element,f=d.renderer;d.textSetter=function(a){a!==e.innerHTML&&delete this.bBox;e.innerHTML=this.textStr=a};d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter= function(a,b){"align"===b&&(b="textAlign");d[b]=a;d.htmlUpdateTransform()};d.attr({text:a,x:z(b),y:z(c)}).css({position:"absolute",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});e.style.whiteSpace="nowrap";d.css=d.htmlCss;f.isSVG&&(d.add=function(a){var b,c=f.box.parentNode,l=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)l.push(a),a=a.parentGroup;r(l.reverse(),function(a){var d;b=a.div=a.div||ba("div",{className:W(a.element,"class")},{position:"absolute",left:(a.translateX||0)+ "px",top:(a.translateY||0)+"px"},b||c);d=b.style;D(a,{translateXSetter:function(b,c){d.left=b+"px";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){d.top=b+"px";a[c]=b;a.doTransform=!0},visibilitySetter:function(a,b){d[b]=a}})})}}else b=c;b.appendChild(e);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}});var Jb,Va;if(!ra&&!wa){Va={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ","absolute",";"],e="div"===b;("shape"===b||e)&&d.push("left:0;top:0;width:1px;height:1px;"); d.push("visibility: ",e?"hidden":"visible");c.push(' style="',d.join(""),'"/>');b&&(c=e||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=ba(c));this.renderer=a},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();if(this.onAdd)this.onAdd();return this},updateTransform:X.prototype.htmlUpdateTransform,setSpanRotation:function(){var a= this.rotation,b=ia(a*Aa),c=qa(a*Aa);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-c,", M21=",c,", M22=",b,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,c,d,e){var f=d?ia(d*Aa):1,g=d?qa(d*Aa):0,h=t(this.elemHeight,this.element.offsetHeight),k;this.xCorr=0>f&&-a;this.yCorr=0>g&&-h;k=0>f*g;this.xCorr+=g*b*(k?1-c:c);this.yCorr-=f*b*(d?k?c:1-c:1);e&&"left"!==e&&(this.xCorr-=a*c*(0>f?-1:1),d&&(this.yCorr-=h*c*(0>g?-1:1)),H(this.element, {textAlign:e}))},pathToVML:function(a){for(var b=a.length,c=[];b--;)sa(a[b])?c[b]=z(10*a[b])-5:"Z"===a[b]?c[b]="x":(c[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b]||(c[b+5]===c[b+7]&&(c[b+7]+=a[b+7]>a[b+5]?1:-1),c[b+6]===c[b+8]&&(c[b+8]+=a[b+8]>a[b+6]?1:-1)));return c.join(" ")||"x"},clip:function(a){var b=this,c;a?(c=a.members,da(c,b),c.push(b),b.destroyClip=function(){da(c,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:rb?"inherit":"rect(auto)"});return b.css(a)},css:X.prototype.htmlCss, safeRemoveChild:function(a){a.parentNode&&Ga(a)},destroy:function(){this.destroyClip&&this.destroyClip();return X.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=Q.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]=G(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,q,A;m&&"string"!==typeof m.value&& (m="x");p=m;if(a){q=t(a.width,3);A=(a.opacity||.15)/q;for(e=1;3>=e;e++)n=2*q+1-2*e,c&&(p=this.cutOffPath(m.value,n+.5)),l=[''],h=ba(g.prepVML(l),null,{left:G(k.left)+t(a.offsetX,1),top:G(k.top)+t(a.offsetY,1)}),c&&(h.cutOff=n+1),l=[''],ba(g.prepVML(l),null,null,h),b?b.element.appendChild(h):f.parentNode.insertBefore(h,f),d.push(h); this.shadows=d}return this},updateShadows:U,setAttr:function(a,b){rb?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){this.element.className=a},dashstyleSetter:function(a,b,c){(c.getElementsByTagName("stroke")[0]||ba(this.renderer.prepVML([""]),null,null,c))[b]=a||"solid";this[b]=a},dSetter:function(a,b,c){var d=this.shadows;a=a||[];this.d=a.join&&a.join(" ");c.path=a=this.pathToVML(a);if(d)for(c=d.length;c--;)d[c].path=d[c].cutOff?this.cutOffPath(a,d[c].cutOff): a;this.setAttr(b,a)},fillSetter:function(a,b,c){var d=c.nodeName;"SPAN"===d?c.style.color=a:"IMG"!==d&&(c.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,c,b,this)))},opacitySetter:U,rotationSetter:function(a,b,c){c=c.style;this[b]=c[b]=a;c.left=-z(qa(a*Aa)+1)+"px";c.top=z(ia(a*Aa))+"px"},strokeSetter:function(a,b,c){this.setAttr("strokecolor",this.renderer.color(a,c,b))},"stroke-widthSetter":function(a,b,c){c.stroked=!!a;this[b]=a;sa(a)&&(a+="px");this.setAttr("strokeweight",a)}, titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,c){"inherit"===a&&(a="visible");this.shadows&&r(this.shadows,function(c){c.style[b]=a});"DIV"===c.nodeName&&(a="hidden"===a?"-999em":0,rb||(c.style[b]=a?"visible":"hidden"),b="top");c.style[b]=a},xSetter:function(a,b,c){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):c.style[b]=a},zIndexSetter:function(a,b,c){c.style[b]=a}};I.VMLElement=Va=N(X,Va);Va.prototype.ySetter=Va.prototype.widthSetter= Va.prototype.heightSetter=Va.prototype.xSetter;var oc={Element:Va,isIE8:-1'];ba(e.prepVML(h),null,null,b)};q=a[0];E=a[a.length-1];0E[0]&&a.push([1,E[1]]);r(a,function(a,b){g.test(a[1])?(f=Ba(a[1]),m=f.get("rgb"),n=f.get("a")):(m=a[1],n=1);u.push(100*a[0]+"% "+m);b?(w=n,t=m):(A=n,Y=m)});if("fill"===c)if("gradient"===k)c=p.x1||p[0]||0,a=p.y1||p[1]||0,q=p.x2||p[2]||0,p=p.y2||p[3]||0,y='angle="'+(90-180*aa.atan((p-a)/(q-c))/Ia)+'"',v();else{var l=p.r,C=2*l,x=2*l,z=p.cx,B=p.cy,D=b.radialReference,F,l=function(){D&& (F=d.getBBox(),z+=(D[0]-F.x)/F.width-.5,B+=(D[1]-F.y)/F.height-.5,C*=D[2]/F.width,x*=D[2]/F.height);y='src="'+ha.global.VMLRadialGradientURL+'" size="'+C+","+x+'" origin="0.5,0.5" position="'+z+","+B+'" color2="'+Y+'" ';v()};d.added?l():d.onAdd=l;l=t}else l=m}else g.test(a)&&"IMG"!==b.tagName?(f=Ba(a),h=["<",c,' opacity="',f.get("a"),'"/>'],ba(this.prepVML(h),null,null,b),l=f.get("rgb")):(l=b.getElementsByTagName(c),l.length&&(l[0].opacity=1,l[0].type="solid"),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("<","h&&c-k*le&&(p=z((d-c)/ia(h*Aa)));else if(d=c+(1-k)*l,c-k*le&&(m=e-a.x+m*k,n=-1),m=L(b.slotWidth,m),mm||b.autoRotation&&g.styles.width)p=m;p&&g.css({width:p,textOverflow:"ellipsis"})},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,n=k.staggerLines,p=k.tickRotCorr||{x:0,y:0};c=t(e.y,p.y+(2===k.side?8:-(c.getBBox().height/2)));a=a+e.x+p.x-(f&&d?f*l*(m?-1:1):0);b=b+c-(f&&!d?f*l*(m?1:-1):0);n&&(b+=g/(h||1)%n*(k.labelOffset/ n));return{x:a,y:z(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,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,k=this.label,l=this.pos,m=e.labels,n=this.gridLine,p=h?h+"Grid":"grid",q=h?h+"Tick":"tick",A=e[p+"LineWidth"],w=e[p+"LineColor"],r=e[p+"LineDashStyle"],Y=e[q+"Length"],p=e[q+"Width"]||0,y=e[q+"Color"],E=e[q+"Position"],q=this.mark,u=m.step,C=!0,x=d.tickmarkOffset,z=this.getPosition(g,l,x,b),B= z.x,z=z.y,D=g&&B===d.pos+d.len||!g&&z===d.pos?-1:1;c=t(c,1);this.isActive=!0;if(A&&(l=d.getPlotLinePath(l+x,A*D,b,!0),n===v&&(n={stroke:w,"stroke-width":A},r&&(n.dashstyle=r),h||(n.zIndex=1),b&&(n.opacity=0),this.gridLine=n=A?f.path(l).attr(n).add(d.gridGroup):null),!b&&n&&l))n[this.isNew?"attr":"animate"]({d:l,opacity:c});p&&Y&&("inside"===E&&(Y=-Y),d.opposite&&(Y=-Y),h=this.getMarkPath(B,z,Y,p*D,g,f),q?q.animate({d:h,opacity:c}):this.mark=f.path(h).attr({stroke:y,"stroke-width":p,opacity:c}).add(d.axisGroup)); k&&!isNaN(B)&&(k.xy=z=this.getLabelPosition(B,z,k,g,m,x,a,u),this.isFirst&&!this.isLast&&!t(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!t(e.showLastLabel,1)?C=!1:!g||d.isRadial||m.step||m.rotation||b||0===c||this.handleOverflow(z),u&&a%u&&(C=!1),C&&!isNaN(z.y)?(z.opacity=c,k[this.isNew?"attr":"animate"](z),this.isNew=!1):k.attr("y",-9999))},destroy:function(){Fa(this,this.axis)}};I.PlotLineOrBand=function(a,b){this.axis=a;b&&(this.options=b,this.id=b.id)};I.PlotLineOrBand.prototype={render:function(){var a= this,b=a.axis,c=b.horiz,d=a.options,e=d.label,f=a.label,g=d.width,h=d.to,k=d.from,l=u(k)&&u(h),m=d.value,n=d.dashStyle,p=a.svgElem,q=[],A,w=d.color,t=d.zIndex,r=d.events,y={},E=b.chart.renderer;b.isLog&&(k=ya(k),h=ya(h),m=ya(m));if(g)q=b.getPlotLinePath(m,g),y={stroke:w,"stroke-width":g},n&&(y.dashstyle=n);else if(l)q=b.getPlotBandPath(k,h,d),w&&(y.fill=w),d.borderWidth&&(y.stroke=d.borderColor,y["stroke-width"]=d.borderWidth);else return;u(t)&&(y.zIndex=t);if(p)q?p.animate({d:q},null,p.onGetPath): (p.hide(),p.onGetPath=function(){p.show()},f&&(a.label=f=f.destroy()));else if(q&&q.length&&(a.svgElem=p=E.path(q).attr(y).add(),r))for(A in d=function(b){p.on(b,function(c){r[b].apply(a,[c])})},r)d(A);e&&u(e.text)&&q&&q.length&&0=c&&null!==e[f]&&(g=I.numberFormat(b/c,-1)+e[f]);g===v&&(g=1E4<=S(b)?I.numberFormat(b, 0):I.numberFormat(b,-1,v,""));return g},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.ignoreMinPadding=a.ignoreMaxPadding=null;a.buildStacks&&a.buildStacks();r(a.series,function(c){if(c.visible||!b.options.chart.ignoreHiddenSeries){var d;d=c.options.threshold;var e;a.hasVisibleSeries=!0;a.isLog&&0>=d&&(d=null);a.isXAxis?(d=c.xData,d.length&&(a.dataMin=L(t(a.dataMin,d[0]),ua(d)),a.dataMax=C(t(a.dataMax,d[0]),na(d)))):(c.getExtremes(),e=c.dataMax,c=c.dataMin, u(c)&&u(e)&&(a.dataMin=L(t(a.dataMin,c),c),a.dataMax=C(t(a.dataMax,e),e)),u(d)&&(a.dataMin>=d?(a.dataMin=d,a.ignoreMinPadding=!0):a.dataMaxc)d?a=L(C(b,a),c):p=!0;return a};e=t(e,this.translate(a, null,null,c));a=c=z(e+k);k=l=z(m-e-k);isNaN(e)?p=!0:this.horiz?(k=h,l=m-this.bottom,a=c=q(a,g,g+this.width)):(a=g,c=n-this.right,k=l=q(k,h,h+this.height));return p&&!d?null:f.renderer.crispLine(["M",a,k,"L",c,l],b||1)},getLinearTickPositions:function(a,b,c){var d,e=oa(T(b/a)*a),f=oa(La(c/a)*a),g=[];if(b===c&&sa(b))return[b];for(b=e;b<=f;){g.push(b);b=oa(b+a);if(b===d)break;d=b}return g},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,c=this.minorTickInterval,d=[],e,f=this.min; e=this.max;var g=e-f;if(g&&g/c=this.minRange,f,g,h,k,l;this.isXAxis&&this.minRange=== v&&!this.isLog&&(u(a.min)||u(a.max)?this.minRange=null:(r(this.series,function(a){k=a.xData;for(g=l=a.xIncrement?1:k.length-1;0c&&(h=0);d=C(d,h);b.single||(f=C(f,fa(l)?0:h/2),g=C(g,"on"===l?0:h));!a.noSharedTooltip&&u(A)&&(e=u(e)?L(e,A):A)}),h=b.ordinalSlope&&e?b.ordinalSlope/e:1,b.minPointOffset=f*=h,b.pointRangePadding=g*=h,b.pointRange=L(d,c),m&&(b.closestPointRange=e);a&&(b.oldTransA= l);b.translationSlope=b.transA=l=b.len/(c+g||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=l*f},setTickInterval:function(a){var b=this,c=b.chart,d=b.options,e=b.isLog,f=b.isDatetimeAxis,g=b.isXAxis,h=b.isLinked,k=d.maxPadding,l=d.minPadding,m=d.tickInterval,n=d.tickPixelInterval,p=b.categories;f||p||h||this.getTickAmount();h?(b.linkedParent=c[b.coll][d.linkedTo],c=b.linkedParent.getExtremes(),b.min=t(c.min,c.dataMin),b.max=t(c.max,c.dataMax),d.type!==b.linkedParent.options.type&&la(11,1)): (b.min=t(b.userMin,d.min,b.dataMin),b.max=t(b.userMax,d.max,b.dataMax));e&&(!a&&0>=L(b.min,t(b.dataMin,b.min))&&la(10,1),b.min=oa(ya(b.min)),b.max=oa(ya(b.max)));b.range&&u(b.max)&&(b.userMin=b.min=C(b.min,b.max-b.range),b.userMax=b.max,b.range=null);b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(p||b.axisPointRange||b.usePercentage||h)&&u(b.min)&&u(b.max)&&(c=b.max-b.min)&&(u(d.min)||u(b.userMin)||!l||!(0>b.dataMin)&&b.ignoreMinPadding||(b.min-=c*l),u(d.max)||u(b.userMax)||!k||!(0b.tickInterval&&1E3b.max)),!!this.tickAmount));!this.tickAmount&&this.len&&(b.tickInterval=b.unsquish());this.setTickPositions()}, setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,e=a.startOnTick,f=a.endOnTick,g;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(this.tickPositions=b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek, this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,e,f),this.min===this.max&&u(this.min)&&!this.tickAmount&&(g=!0,this.min-=.5,this.max+=.5),this.single=g,c||d||this.adjustTickAmount())},trimTicks:function(a,b,c){var d=a[0],e=a[a.length-1],f=this.minPointOffset||0; b?this.min=d:this.min-f>d&&a.shift();c?this.max=e:this.max+fd&&(this.finalTickAmt=d,d=5);this.tickAmount=d},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,e=b&&b.length;if(ec&&(this.tickInterval*=2,this.setTickPositions());if(u(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=C(d,t(e.max,d))&&(b=v));this.displayBtn=a!==v||b!==v;this.setExtremes(a,b,!1,v,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,e=t(b.width,a.plotWidth-c+(b.offsetRight||0)),f=t(b.height,a.plotHeight),g=t(b.top,a.plotTop),b=t(b.left,a.plotLeft+c),c=/%$/;c.test(f)&&(f=parseFloat(f)/100*a.plotHeight);c.test(g)&&(g=parseFloat(g)/100*a.plotHeight+a.plotTop);this.left= b;this.top=g;this.width=e;this.height=f;this.bottom=a.chartHeight-f-g;this.right=a.chartWidth-e-b;this.len=C(d?e:f,0);this.pos=d?b:g},getExtremes:function(){var a=this.isLog;return{min:a?oa(R(this.min)):this.min,max:a?oa(R(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?R(this.min):this.min,b=b?R(this.max):this.max;c>a||null===a?a=c:ba?"right":195a?"left":"center"},unsquish:function(){var a=this.ticks,b=this.options.labels,c=this.horiz,d=this.tickInterval,e=d,f=this.len/(((this.categories?1:0)+this.max-this.min)/d),g,h=b.rotation,k=this.chart.renderer.fontMetrics(b.style.fontSize,a[0]&&a[0].label),l,m=Number.MAX_VALUE,n,p=function(a){a/=f||1;a=1=a)l=p(S(k.h/qa(Aa*a))),b=l+S(a/360),bn&&(n=a.labelLength)}),n>k&&n>g.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(h)for(m={width:k+"px",textOverflow:"clip"},h=c.length;!f&&h--;)if(k=c[h],k=d[k].label)"ellipsis"===k.styles.textOverflow&&k.css({textOverflow:"clip"}),k.getBBox().height>this.len/c.length-(g.h-g.f)&&(k.specCss={textOverflow:"ellipsis"});l.rotation&&(m={width:(n>.5*a.chartHeight?.33* a.chartHeight:a.chartHeight)+"px",textOverflow:"ellipsis"});this.labelAlign=l.align=e.align||this.autoLabelAlign(this.labelRotation);r(c,function(a){var b=(a=d[a])&&a.label;b&&(m&&b.css(x(m,b.specCss)),delete b.specCss,b.attr(l),a.rotation=l.rotation)});this.tickRotCorr=b.rotCorr(g.b,this.labelRotation||0,2===this.side)},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=b.inverted?[1,0,3,2][h]:h,l,m,n=0,p,q=0,A=d.title,w=d.labels,ea= 0,Y=b.axisOffset,b=b.clipOffset,y=[-1,1,1,-1][h],E;a.hasData=l=a.hasVisibleSeries||u(a.min)&&u(a.max)&&!!e;a.showAxis=m=l||t(d.showEmpty,!0);a.staggerLines=a.horiz&&w.staggerLines;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:w.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels").add());if(l||a.isLinked)r(e,function(b){f[b]?f[b].addLabel():f[b]=new pa(a, b)}),a.renderUnsquish(),r(e,function(b){if(0===h||2===h||{1:"left",3:"right"}[h]===a.labelAlign)ea=C(f[b].getLabelSize(),ea)}),a.staggerLines&&(ea*=a.staggerLines,a.labelOffset=ea);else for(E in f)f[E].destroy(),delete f[E];A&&A.text&&!1!==A.enabled&&(a.axisTitle||(a.axisTitle=c.text(A.text,0,0,A.useHTML).attr({zIndex:7,rotation:A.rotation||0,align:A.textAlign||{low:"left",middle:"center",high:"right"}[A.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(A.style).add(a.axisGroup), a.axisTitle.isNew=!0),m&&(n=a.axisTitle.getBBox()[g?"height":"width"],p=A.offset,q=u(p)?0:t(A.margin,g?5:10)),a.axisTitle[m?"show":"hide"]());a.offset=y*t(d.offset,Y[h]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=2===h?a.tickRotCorr.y:0;g=ea+q+(ea&&y*(g?t(w.y,a.tickRotCorr.y+8):w.x)-c);a.axisTitleMargin=t(p,g);Y[h]=C(Y[h],a.axisTitleMargin+n+y*a.offset,g);b[k]=C(b[k],2*T(d.lineWidth/2))},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+ d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",e?this.left:f,e?d:this.top,"L",e?b.chartWidth-this.right:f,e?d: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=e.x||0,l=e.y||0,m=G(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? m:0);return{x:a?d+k:b+(g?this.width:0)+h+k,y:a?b+l-(g?this.height:0)+h:d+l}},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.ticks,l=a.minorTicks,m=a.alternateBands,n=d.stackLabels,p=d.alternateGridColor,q=a.tickmarkOffset,A=d.lineWidth,w,t=b.hasRendered&&u(a.oldMin)&&!isNaN(a.oldMin);w=a.hasData;var Y=a.showAxis,y,E;a.labelEdge.length=0;a.overlap=!1;r([k,l,m],function(a){for(var b in a)a[b].isActive=!1});if(w||f)a.minorTickInterval&& !a.categories&&r(a.getMinorTickPositions(),function(b){l[b]||(l[b]=new pa(a,b,"minor"));t&&l[b].isNew&&l[b].render(null,!0);l[b].render(null,!1,1)}),g.length&&(r(g,function(b,c){if(!f||b>=a.min&&b<=a.max)k[b]||(k[b]=new pa(a,b)),t&&k[b].isNew&&k[b].render(c,!0,.1),k[b].render(c)}),q&&(0===a.min||a.single)&&(k[-1]||(k[-1]=new pa(a,-1,null,!0)),k[-1].render(-1))),p&&r(g,function(b,c){0===c%2&&b=O.second?0: m*T(k.getMilliseconds()/m));if(l>=O.second)k[Ub](l>=O.minute?0:m*T(k.getSeconds()/m));if(l>=O.minute)k[Vb](l>=O.hour?0:m*T(k[Bb]()/m));if(l>=O.hour)k[Wb](l>=O.day?0:m*T(k[Cb]()/m));if(l>=O.day)k[Eb](l>=O.month?1:m*T(k[fb]()/m));l>=O.month&&(k[Fb](l>=O.year?0:m*T(k[gb]()/m)),h=k[hb]());if(l>=O.year)k[Gb](h-h%m);if(l===O.week)k[Eb](k[fb]()-k[Db]()+t(d,1));b=1;if(Ab||ob)k=k.getTime(),k=new Ra(k+eb(k));h=k[hb]();d=k.getTime();for(var n=k[gb](),p=k[fb](),q=(O.day+(g?eb(k):6E4*k.getTimezoneOffset()))%O.day;d< c;)e.push(d),d=l===O.year?qb(h+b*m,0):l===O.month?qb(h,n+b*m):g||l!==O.day&&l!==O.week?d+l*m:qb(h,n,p+b*m*(l===O.day?1:7)),b++;e.push(d);r(wb(e,function(a){return l<=O.hour&&a%O.day===q}),function(a){f[a]="day"})}e.info=D(a,{higherRanks:f,totalRange:l*m});return e};Da.prototype.normalizeTimeTickInterval=function(a,b){var c=b||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2, 3,4,6]],["year",null]],d=c[c.length-1],e=O[d[0]],f=d[1],g;for(g=0;gb&&(!d||m<=c)&&m!==v&&g.push(m),m>c&&(n=!0),m=l;else b=R(b),c=R(c),a=e[d?"minorTickInterval":"tickInterval"],a=t("auto"===a?null:a,this._minorAutoInterval,e.tickPixelInterval/(d?5:1)*(c-b)/((d?f/this.tickPositions.length:f)||1)),a=Pa(a,null,ta(a)),g=$a(this.getLinearTickPositions(a,b,c),ya),d||(this._minorAutoInterval=a/5);d||(this.tickInterval=a);return g};var ac=I.Tooltip=function(){this.init.apply(this, arguments)};ac.prototype={init:function(a,b){var c=b.borderWidth,d=b.style,e=G(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||"callout",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}).add().attr({y:-9999});wa||this.label.shadow(b.shadow);this.shared=b.shared},destroy:function(){this.label&&(this.label=this.label.destroy()); clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,b,c,d){var e=this,f=e.now,g=!1!==e.options.animation&&!e.isHidden&&(1l-g?l:l-g;else if(k)f[a]=d+g+c>b?d:d+g;else return!1},p=function(a,b,c,d){if(db- e)return!1;f[a]=db-c/2?b-c-2:d-c/2},q=function(a){var b=k;k=l;l=b;h=a},A=function(){!1!==n.apply(0,k)?!1!==p.apply(0,l)||h||(q(!0),A()):h?f.x=f.y=0:(q(!0),A())};(d.inverted||1e){f=k;break}else if(g[f]&&h.substr(g[f])!=="01-01 00:00:00.000".substr(g[f]))break;"week"!==f&&(k=f)}f&&(d=b[f])}else d=b.day;return d||b.year},tooltipFooterHeaderFormatter:function(a, b){var c=b?"footer":"header",d=a.series,e=d.tooltipOptions,f=e.xDateFormat,g=d.xAxis,h=g&&"datetime"===g.options.type&&sa(a.key),c=e[c+"Format"];h&&!f&&(f=this.getXDateFormat(a,e,g));h&&f&&(c=c.replace("{point.key}","{point.key:"+f+"}"));return Xa(c,{point:a,series:d})},bodyFormatter:function(a){return $a(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}};var Ja;jb=F.documentElement.ontouchstart!==v;var ab=I.Pointer=function(a, b){this.init(a,b)};ab.prototype={init:function(a,b){var c=b.chart,d=c.events,e=wa?"":c.zoomType,c=a.inverted,f;this.options=b;this.chart=a;this.zoomX=f=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=f&&!c||e&&c;this.zoomVert=e&&!c||f&&c;this.hasZoom=f||e;this.runChartClick=d&&!!d.click;this.pinchDown=[];this.lastValidTouch={};I.Tooltip&&b.tooltip.enabled&&(a.tooltip=new ac(a,b.tooltip),this.followTouchMove=t(b.tooltip.followTouchMove,!0));this.setDOMEvents()},normalize:function(a,b){var c,d;a= a||window.event;a=kc(a);a.target||(a.target=a.srcElement);d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=jc(this.chart.container));d.pageX===v?(c=C(a.x,a.clientX-b.left),d=a.y):(c=d.pageX-b.left,d=d.pageY-b.top);return D(a,{chartX:z(c),chartY:z(d)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};r(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},runPointActions:function(a){var b= this.chart,c=b.series,d=b.tooltip,e=d?d.shared:!1,f=b.hoverPoint,g=b.hoverSeries,h,k=b.chartWidth,l,m,n=[],p,q;if(!e&&!g)for(h=0;hh+l&&(d=h+l);ek+m&&(e=k+m);this.hasDragged=Math.sqrt(Math.pow(p-d,2)+Math.pow(q-e,2));10y.max&&(b=y.max-A,B=!0);B?(v-=.8*(v-g[l][0]),E||(z-=.8*(z-g[l][1])),c()):g[l]=[v,z];r||(f[l]=w-q,f[p]=A);f=r?1/t:t;e[p]=A;e[l]=b;d[r?a?"scaleY":"scaleX":"scale"+m]=t;d["translate"+m]=f*q+(v-f*u)},pinch:function(a){var b=this,c=b.chart,d=b.pinchDown,e=a.touches,f=e.length,g=b.lastValidTouch,h=b.hasZoom,k=b.selectionMarker,l={},m=1===f&&(b.inClass(a.target,"highcharts-tracker")&&c.runTrackerClick||b.runChartClick),n={};1c-6&&g(p||b.chartWidth-2*l-w-d.x)&&(this.itemX=w,this.itemY+=A+this.lastLineHeight+q,this.lastLineHeight=0);this.maxItemWidth=C(this.maxItemWidth,f);this.lastItemY=A+this.itemY+q;this.lastLineHeight=C(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=f:(this.itemY+=A+g+q,this.lastLineHeight=g);this.offsetWidth=p||C((e?this.itemX-w-m:f)+l,this.offsetWidth)},getAllItems:function(){var a=[];r(this.chart.series, function(b){var c=b.options;t(c.showInLegend,u(c.linkedTo)?!1:v,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});return a},adjustMargins:function(a,b){var c=this.chart,d=this.options,e=d.align[0]+d.verticalAlign[0]+d.layout[0];this.display&&!d.floating&&r([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,g){f.test(e)&&!u(a[g])&&(c[tb[g]]=C(c[tb[g]],c.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*d[g%2?"x":"y"]+t(d.margin,12)+b[g]))})},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.renderTitle();e=a.getAllItems();ka(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;a.lastLineHeight=0;r(e,function(b){a.renderItem(b)});g=(l.width||a.offsetWidth)+m;h=a.lastItemY+a.lastLineHeight+a.titleHeight;h=a.handleOverflow(h);h+=m;if(n||p)k?0f&&!e.useHTML?(this.clipHeight=h=C(f-20-this.titleHeight-this.padding,0), this.currentPage=t(this.currentPage,1),this.fullHeight=a,r(w,function(a,b){var c=a._legendItemPos[1],d=z(a.legendItem.getBBox().height),e=q.length;if(!e||c-q[e-1]>h&&(A||c)!==q[e-1])q.push(A||c),e++;b===w.length-1&&c+d-q[e-1]>h&&q.push(c);c!==A&&(A=c)}),k||(k=b.clipRect=d.clipRect(0,this.padding,9999,0),b.contentGroup.clip(k)),k.attr({height:h}),p||(this.nav=p=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,n,n).on("click",function(){b.scroll(-1,m)}).add(p),this.pager=d.text("", 15,10).css(l.style).add(p),this.down=d.symbol("triangle-down",0,0,n,n).on("click",function(){b.scroll(1,m)}).add(p)),b.scroll(0),a=f):p&&(k.attr({height:c.chartHeight}),p.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,d=c.length,e=this.currentPage+a,f=this.clipHeight,g=this.options.navigation,h=g.activeColor,g=g.inactiveColor,k=this.pager,l=this.padding;e>d&&(e=d);0g;++g)h=e[g],a=2>g||2===g&&/%$/.test(h),e[g]=Sb(h,[d,b,f,e[2]][g])+(a?c:0);return e}},Ka=function(){};Ka.prototype={init:function(a,b,c){this.series=a;this.color=a.color;this.applyOptions(b,c);this.pointAttr={};a.options.colorByPoint&&(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter++], a.colorCounter===b.length&&(a.colorCounter=0));a.chart.pointCount++;return this},applyOptions:function(a,b){var c=this.series,d=c.options.pointValKey||c.pointValKey;a=Ka.prototype.optionsToObject.call(this,a);D(this,a);this.options=this.options?D(this.options,a):a;d&&(this.y=this[d]);this.x===v&&c&&(this.x=b===v?c.autoIncrement():b);return this},optionsToObject:function(a){var b={},c=this.series,d=c.options.keys,e=d||c.pointArrayMap||["y"],f=e.length,g=0,h=0;if("number"===typeof a||null===a)b[e[0]]= a;else if(Ea(a))for(!d&&a.length>f&&(c=typeof a[0],"string"===c?b.name=a[0]:"number"===c&&(b.x=a[0]),g++);ha+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,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=x(e,c.series,a);this.tooltipOptions=x(ha.tooltip,ha.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,color:c.negativeColor,fillColor:c.negativeFillColor}); a.length&&u(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return c},getCyclic:function(a,b,c){var d=this.userOptions,e="_"+a+"Index",f=a+"Counter";b||(u(d[e])?b=d[e]:(d[e]=b=this.chart[f]%c.length,this.chart[f]+=1),b=c[b]);this[a]=b},getColor:function(){this.options.colorByPoint||this.getCyclic("color",this.options.color||J[this.type].color,this.chart.options.colors)},getSymbol:function(){var a=this.options.marker;this.getCyclic("symbol",a.symbol,this.chart.options.symbols); /^url/.test(this.symbol)&&(a.radius=0)},drawLegendSymbol:nb.drawLineMarker,setData:function(a,b,c,d){var e=this,f=e.points,g=f&&f.length||0,h,k=e.options,l=e.chart,m=null,n=e.xAxis,p=n&&!!n.categories,q=k.turboThreshold,A=this.xData,w=this.yData,u=(h=e.pointArrayMap)&&h.length;a=a||[];h=a.length;b=t(b,!0);if(!1!==d&&h&&g===h&&!e.cropped&&!e.hasGroupedData&&e.visible)r(a,function(a,b){f[b].update(a,!1,null,!1)});else{e.xIncrement=null;e.pointRange=p?1:k.pointRange;e.colorCounter=0;r(this.parallelArrays, function(a){e[a+"Data"].length=0});if(q&&h>q){for(c=0;null===m&&ck||this.forceCrop))if(b[d-1]p)b=[],c=[];else if(b[0]< n||b[d-1]>p)e=this.cropData(this.xData,this.yData,n,p),b=e.xData,c=e.yData,e=e.start,f=!0;for(k=b.length-1;0<=k;k--)d=b[k]-b[k-1],0d&&this.requireSorting&&la(15);this.cropped=f;this.cropStart=e;this.processedXData=b;this.processedYData=c;null===l.pointRange&&(this.pointRange=g||1);this.closestPointRange=g},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,h=t(this.cropShoulder,1),k;for(k=0;k=c){f=C(0,k-h);break}for(;kd){g=k+h;break}return{xData:a.slice(f, g),yData:b.slice(f,g),start:f,end:g}},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&&(c[n-1]||l)<=h,k&&l)if(k=m.length)for(;k--;)null!==m[k]&&(e[f++]=m[k]);else e[f++]=m;this.dataMin=ua(e);this.dataMax= na(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,g=f.length,h=!!this.modifyValue,k=a.pointPlacement,l="between"===k||sa(k),m=a.threshold,n=a.startFromThreshold?m:0,p,q,A,w=Number.MAX_VALUE,a=0;a=y&&(r.y=y=null,la(10));r.plotX=p=L(C(-1E5,c.translate(z, 0,0,0,1,k,"flags"===this.type)),1E5);b&&this.visible&&E&&E[z]&&(E=E[z],y=E.points[this.index+","+a],q=y[0],y=y[1],q===n&&(q=t(m,e.min)),e.isLog&&0>=q&&(q=null),r.total=r.stackTotal=E.total,r.percentage=E.total&&r.y/E.total*100,r.stackY=y,E.setOffset(this.pointXOffset||0,this.barW||0));r.yBottom=u(q)?e.translate(q,0,1,0,1):null;h&&(y=this.modifyValue(y,r));r.plotY=q="number"===typeof y&&Infinity!==y?L(C(-1E5,e.translate(y,0,1,0,1)),1E5):v;r.isInside=q!==v&&0<=q&&q<=e.len&&0<=p&&p<=c.len;r.clientX= l?c.translate(z,0,0,0,1):p;r.negative=r.y<(m||0);r.category=d&&d[r.x]!==v?d[r.x]:r.x;a&&(w=L(w,S(p-A)));A=p}this.closestPointRangePx=w;this.getSegments()},setClip:function(a){var b=this.chart,c=b.renderer,d=b.inverted,e=this.clipBox,f=e||b.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height].join(),h=b[g],k=b[g+"m"];h||(a&&(f.width=0,b[g+"m"]=k=c.clipRect(-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:b.chartHeight)),b[g]=h=c.clipRect(f));a&&(h.count+=1);!1!==this.options.clip&& (this.group.clip(a||e?h:b.clipRect),this.markerGroup.clip(k),this.sharedClipKey=g);a||(--h.count,0>=h.count&&g&&b[g]&&(e||(b[g]=b[g].destroy()),b[g+"m"]&&(b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,c=this.options.animation,d;c&&!ca(c)&&(c=J[this.type].animation);a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();V(this,"afterAnimate")}, drawPoints:function(){var a,b=this.points,c=this.chart,d,e,f,g,h,k,l,m,n=this.options.marker,p=this.pointAttr[""],q,r,w,u=this.markerGroup,z=t(n.enabled,this.xAxis.isRadial,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(f=b.length;f--;)g=b[f],d=T(g.plotX),e=g.plotY,m=g.graphic,q=g.marker||{},r=!!g.marker,a=z&&q.enabled===v||q.enabled,w=g.isInside,a&&e!==v&&!isNaN(e)&&null!==g.y?(a=g.pointAttr[g.selected?"select":""]||p,h=a.r,k=t(q.symbol,this.symbol),l=0===k.indexOf("url"), m?m[w?"show":"hide"](!0).animate(D({x:d-h,y:e-h},m.symbolName?{width:2*h,height:2*h}:{})):w&&(0=f.value;)f=w[++n];l.color=l.fillColor=f.color}n=b.colorByPoint||l.color;if(l.options)for(z in p)u(c[p[z]])&&(n=!0);n?(c=c||{},n=[],d=c.states||{},f=d.hover=d.hover||{},b.marker||(f.color=f.color||!l.options.color&&e[l.negative&&h?"negativeColor":"color"]||Ba(l.color).brighten(f.brightness||e.brightness).get()),f={color:l.color}, t||(f.fillColor=l.color),q||(f.lineColor=l.color),c.hasOwnProperty("color")&&!c.color&&delete c.color,n[""]=a.convertAttribs(D(f,c),m[""]),n.hover=a.convertAttribs(d.hover,m.hover,n[""]),n.select=a.convertAttribs(d.select,m.select,n[""])):n=m;l.pointAttr=n}},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(Sa),d,e=a.data||[],f,g,h;V(a,"destroy");ma(a);r(a.axisTypes||[],function(b){if(h=a[b])da(h.series,a),h.isDirty=h.forceRedraw=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(d= e.length;d--;)(f=e[d])&&f.destroy&&f.destroy();a.points=null;clearTimeout(a.animationTimeout);for(g in a)a[g]instanceof X&&!a[g].survive&&(d=c&&"group"===g?"hide":"destroy",a[g][d]());b.hoverSeries===a&&(b.hoverSeries=null);da(b.series,a);for(g in a)delete a[g]},getSegmentPath:function(a){var b=this,c=[],d=b.options.step;r(a,function(e,f){var g=e.plotX,h=e.plotY,k;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(k=a[f-1],"right"===d?c.push(k.plotX,h):"center"===d? c.push((k.plotX+g)/2,k.plotY,(k.plotX+g)/2,h):c.push(g,k.plotY)),c.push(e.plotX,e.plotY))});return c},getGraphPath:function(){var a=this,b=[],c,d=[];r(a.segments,function(e){c=a.getSegmentPath(e);1k&&b.shadow))})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],h,k=this.graph,l=this.area,m=C(b.chartWidth,b.chartHeight),n=this[(this.zoneAxis|| "y")+"Axis"],p,q=n.reversed,A=b.inverted,w=n.horiz,u,v,y,E=!1;d.length&&(k||l)&&(k&&k.hide(),l&&l.hide(),p=n.getExtremes(),r(d,function(d,r){e=q?w?b.plotWidth:0:w?0:n.toPixels(p.min);e=L(C(t(f,e),0),m);f=L(C(z(n.toPixels(t(d.value,p.max),!0)),0),m);E&&(e=f=n.toPixels(p.max));u=Math.abs(e-f);v=L(e,f);y=C(e,f);n.isXAxis?(h={x:A?y:v,y:0,width:u,height:m},w||(h.x=b.plotHeight-h.x)):(h={x:0,y:A?y:v,width:m,height:u},w&&(h.y=b.plotWidth-h.y));b.inverted&&c.isVML&&(h=n.isXAxis?{x:0,y:q?v:y,height:h.width, width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});g[r]?g[r].animate(h):(g[r]=c.clipRect(h),k&&a["zoneGraph"+r].clip(g[r]),l&&a["zoneArea"+r].clip(g[r]));E=d.value>p.max}),this.clips=g)},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};r(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;b.xAxis&&(Z(c,"resize",a),Z(b,"destroy",function(){ma(c,"resize",a)}),a(),b.invertGroups=a)},plotGroup:function(a, b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({visibility:c,zIndex:d||.1}).add(e));f[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=(c=d.animation)&&!!a.animate&&b.renderer.isSVG&&t(c.duration,500)||0,f=a.visible?"visible":"hidden",g=d.zIndex, h=a.hasRendered,k=b.seriesGroup;c=a.plotGroup("group","series",f,g,k);a.markerGroup=a.plotGroup("markerGroup","markers",f,g,k);e&&a.animate(!0);a.getAttribs();c.inverted=a.isCartesian?b.inverted:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());r(a.points,function(a){a.redraw&&a.redraw()});a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();b.inverted&&a.invertGroups();!1===d.clip||a.sharedClipKey||h||c.clip(b.clipRect);e&& a.animate();h||(e?a.animationTimeout=setTimeout(function(){a.afterAnimate()},e):a.afterAnimate());a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.isDirty,d=this.group,e=this.xAxis,f=this.yAxis;d&&(a.inverted&&d.attr({width:a.plotWidth,height:a.plotHeight}),d.animate({translateX:t(e&&e.left,a.plotLeft),translateY:t(f&&f.top,a.plotTop)}));this.translate();this.render();b&&V(this,"updatedData");(c||b)&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX", "plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(b,d,g){var h,k;if(k=b&&b.length)return h=c.kdAxisArray[d%g],b.sort(function(a,b){return a[h]-b[h]}),k=Math.floor(k/2),{point:b[k],left:a(b.slice(0,k),d+1,g),right:a(b.slice(k+1),d+1,g)}}function b(){var b=wb(c.points,function(a){return null!==a.y});c.kdTree=a(b, d,d)}var c=this,d=c.kdDimensions;delete c.kdTree;c.options.kdSync?b():setTimeout(b)},searchKDTree:function(a,b){function c(a,b,l,m){var n=b.point,p=d.kdAxisArray[l%m],q,t,r=n;t=u(a[e])&&u(n[e])?Math.pow(a[e]-n[e],2):null;q=u(a[f])&&u(n[f])?Math.pow(a[f]-n[f],2):null;q=(t||0)+(q||0);n.dist=u(q)?Math.sqrt(q):Number.MAX_VALUE;n.distX=u(t)?Math.sqrt(t):Number.MAX_VALUE;p=a[p]-n[p];q=0>p?"left":"right";t=0>p?"right":"left";b[q]&&(q=c(a,b[q],l+1,m),r=q[g]p;)d--;e.updateParallelArrays(k, "splice",d,0,0);e.updateParallelArrays(k,d);m&&k.name&&(m[p]=k.name);h.splice(d,0,a);q&&(e.data.splice(d,0,null),e.processData());"point"===f.legendType&&e.generatePoints();c&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),e.updateParallelArrays(k,"shift"),h.shift()));e.isDirty=!0;e.isDirtyData=!0;b&&(e.getAttribs(),l.redraw())},removePoint:function(a,b,c){var d=this,e=d.data,f=e[a],g=d.points,h=d.chart,k=function(){e.length===g.length&&g.splice(a,1);e.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(f|| {series:d},"splice",a,1);f&&f.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&h.redraw()};Ha(c,h);b=t(b,!0);f?f.firePointEvent("remove",null,k):k()},remove:function(a,b){var c=this,d=c.chart;a=t(a,!0);c.isRemoving||(c.isRemoving=!0,V(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;d.linkSeries();a&&d.redraw(b)}));c.isRemoving=!1},update:function(a,b){var c=this,d=this.chart,e=this.userOptions,f=this.type,g=B[f].prototype,h=["group","markerGroup","dataLabelsGroup"],k;if(a.type&&a.type!== f||void 0!==a.zIndex)h.length=0;r(h,function(a){h[a]=c[a];delete c[a]});a=x(e,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1);for(k in g)this[k]=v;D(this,B[a.type||f].prototype);r(h,function(a){c[a]=h[a]});this.init(d,a);d.linkSeries();t(b,!0)&&d.redraw(!1)}});D(Da.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=x(this.userOptions,a);this.destroy(!0);this._addedPlotLB=v;this.init(c,D(a,{events:v}));c.isDirtyBox= !0;t(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);da(b.axes,this);da(b[c],this);b.options[c].splice(this.options.index,1);r(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;t(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}});var qc=N(P);B.line=qc;J.area=x(mb,{threshold:0});var cc=N(P,{type:"area",getSegments:function(){var a= this,b=[],c=[],d=[],e=this.xAxis,f=this.yAxis,g=f.stacks[this.stackKey],h={},k,l,m=this.points,n=this.options.connectNulls,p,q;if(this.options.stacking&&!this.cropped){for(p=0;pa&&k>e?(k=C(a,e),m=2*e-k):kg&&m>e?(m=C(g,e),k=2*e-m):ma.closestPointRange*a.xAxis.transA?0:1),e=a.yAxis,f=a.translatedThreshold=e.getThreshold(c.threshold),g=t(c.minPointLength,5),h=a.getColumnMetrics(),k=h.width,l=a.barW=C(k,1+2*d),m=a.pointXOffset=h.offset,n=-(d%2?.5:0),p=d%2?.5:1;b.inverted&&(f-=.5,b.renderer.isVML&& (p+=1));c.pointPadding&&(l=La(l));P.prototype.translate.apply(a);r(a.points,function(c){var d=t(c.yBottom,f),h=999+S(d),h=L(C(-h,c.plotY),e.len+h),r=c.plotX+m,u=l,y=L(h,d),v,B;v=C(h,d)-y;S(v)g?d-g:f-(B?g:0)));c.barX=r;c.pointWidth=k;u=z(r+u)+n;r=z(r)+n;u-=r;d=.5>S(y);v=L(z(y+v)+p,9E4);y=z(y)+p;v-=y;d&&(--y,v+=1);c.tooltipPos=b.inverted?[e.len+e.pos-b.plotLeft-h,a.xAxis.len-r-u/2,v]:[r+u/2,h+e.pos-b.plotTop,v];c.shapeType="rect"; c.shapeArgs={x:r,y:y,width:u,height:v}})},getSymbol:U,drawLegendSymbol:nb.drawRectangle,drawGraph:U,drawPoints:function(){var a=this,b=this.chart,c=a.options,d=b.renderer,e=c.animationLimit||250,f,g;r(a.points,function(h){var k=h.plotY,l=h.graphic;k===v||isNaN(k)||null===h.y?l&&(h.graphic=l.destroy()):(f=h.shapeArgs,k=u(a.borderWidth)?{"stroke-width":a.borderWidth}:{},g=h.pointAttr[h.selected?"select":""]||a.pointAttr[""],l?(lb(l),l.attr(k)[b.pointCount\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});var ec=N(P,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&& P.prototype.drawGraph.call(this)}});B.scatter=ec;J.pie=x(mb,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});var Qb={type:"pie",isCartesian:!1,pointClass:N(Ka,{init:function(){Ka.prototype.init.apply(this, arguments);var a=this,b;D(a,{visible:!1!==a.visible,name:t(a.name,"Slice")});b=function(b){a.slice("select"===b.type)};Z(a,"select",b);Z(a,"unselect",b);return a},setVisible:function(a,b){var c=this,d=c.series,e=d.chart,f=d.options.ignoreHiddenPoint;b=t(b,f);a!==c.visible&&(c.visible=c.options.visible=a=a===v?!c.visible:a,d.options.data[Za(c,d.data)]=c.options,r(["graphic","dataLabel","connector","shadowGroup"],function(b){if(c[b])c[b][a?"show":"hide"](!0)}),c.legendItem&&e.legend.colorizeItem(c, a),f&&(d.isDirty=!0),b&&e.redraw())},slice:function(a,b,c){var d=this.series;Ha(c,d.chart);t(b,!0);this.sliced=this.options.sliced=a=u(a)?a:!this.sliced;d.options.data[Za(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var b=this.shapeArgs,c=this.series.chart;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.plotLeft+b.x,c.plotTop+b.y,b.r+a,b.r+ a,{innerR:this.shapeArgs.r,start:b.start,end:b.end})}}),requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:U,animate:function(a){var b=this,c=b.points,d=b.startAngleRad;a||(r(c,function(a){var c=a.graphic,g=a.shapeArgs;c&&(c.attr({r:a.startR||b.center[3]/2,start:d,end:d}),c.animate({r:g.r,start:g.start,end:g.end},b.options.animation))}),b.animate=null)}, setData:function(a,b,c,d){P.prototype.setData.call(this,a,!1,c,d);this.processData();this.generatePoints();t(b,!0)&&this.chart.redraw(c)},updateTotals:function(){var a,b=0,c=this.points,d=c.length,e,f=this.options.ignoreHiddenPoint;for(a=0;a1.5*Ia?h-=2*Ia:h<-Ia/2&&(h+=2*Ia);r.slicedTranslation={translateX:z(ia(h)*d),translateY:z(qa(h)*d)};f=ia(h)*a[2]/2;g=qa(h)*a[2]/2;r.tooltipPos=[a[0]+.7*f,a[1]+.7*g];r.half=h<-Ia/2||h>Ia/2?1:0;r.angle=h;e=L(e,n/2);r.labelPos=[a[0]+f+ia(h)*n,a[1]+g+qa(h)*n,a[0]+f+ia(h)*e,a[1]+g+qa(h)*e,a[0]+f,a[1]+g,0>n?"center":r.half?"right":"left",h]}},drawGraph:null,drawPoints:function(){var a=this,b=a.chart.renderer,c,d,e=a.options.shadow,f,g,h;e&& !a.shadowGroup&&(a.shadowGroup=b.g("shadow").add(a.group));r(a.points,function(k){d=k.graphic;g=k.shapeArgs;f=k.shadowGroup;e&&!f&&(f=k.shadowGroup=b.g("shadow").add(a.shadowGroup));c=k.sliced?k.slicedTranslation:{translateX:0,translateY:0};f&&f.attr(c);d?d.animate(D(g,c)):(h={"stroke-linejoin":"round"},k.visible||(h.visibility="hidden"),k.graphic=d=b[k.shapeType](g).setRadialReference(a.center).attr(k.pointAttr[k.selected?"select":""]).attr(h).attr(c).add(a.group).shadow(e,f))})},searchPoint:U,sortByAngle:function(a, b){a.sort(function(a,d){return void 0!==a.angle&&(d.angle-a.angle)*b})},drawLegendSymbol:nb.drawRectangle,getCenter:bc.getCenter,getSymbol:U},Qb=N(P,Qb);B.pie=Qb;P.prototype.drawDataLabels=function(){var a=this,b=a.options,c=b.cursor,d=b.dataLabels,e=a.points,f,g,h=a.hasRendered||0,k,l,m=a.chart.renderer;if(d.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(d),l=a.plotGroup("dataLabelsGroup","data-labels",d.defer?"hidden":"visible",d.zIndex||6),t(d.defer,!0)&&(l.attr({opacity:+h}), h||Z(a,"afterAnimate",function(){a.visible&&l.show();l[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),g=d,r(e,function(e){var h,q=e.dataLabel,r,w,z=e.connector,C=!0,y,E={};f=e.dlOptions||e.options&&e.options.dataLabels;h=t(f&&f.enabled,g.enabled);if(q&&!h)e.dataLabel=q.destroy();else if(h){d=x(g,f);y=d.style;h=d.rotation;r=e.getLabelConfig();k=d.format?Xa(d.format,r):d.formatter.call(r,d);y.color=t(d.color,y.color,a.color,"black");if(q)u(k)?(q.attr({text:k}),C=!1):(e.dataLabel=q=q.destroy(), z&&(e.connector=z.destroy()));else if(u(k)){q={fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.borderWidth,r:d.borderRadius||0,rotation:h,padding:d.padding,zIndex:1};"contrast"===y.color&&(E.color=d.inside||0>d.distance||b.stacking?m.getContrast(e.color||a.color):"#000000");c&&(E.cursor=c);for(w in q)q[w]===v&&delete q[w];q=e.dataLabel=m[h?"text":"label"](k,0,-999,d.shape,null,null,d.useHTML).attr(q).css(D(y,E)).add(l).shadow(d.shadow)}q&&a.alignDataLabel(e,q,d,null,C)}})};P.prototype.alignDataLabel= function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=t(a.plotX,-999),k=t(a.plotY,-999),l=b.getBBox(),m=f.renderer.fontMetrics(c.style.fontSize).b,n=this.visible&&(a.series.forceDL||f.isInsidePlot(h,z(k),g)||d&&f.isInsidePlot(h,g?d.x+1:d.y+d.height-1,g));n&&(d=D({x:g?f.plotWidth-k:h,y:z(g?f.plotHeight-h:k),width:0,height:0},d),D(c,{width:l.width,height:l.height}),c.rotation?(a=f.renderer.rotCorr(m,c.rotation),b[e?"attr":"animate"]({x:d.x+c.x+d.width/2+a.x,y:d.y+c.y+d.height/2}).attr({align:c.align})): (b.align(c,null,d),g=b.alignAttr,"justify"===t(c.overflow,"justify")?this.justifyDataLabel(b,c,g,l,d,e):t(c.crop,!0)&&(n=f.isInsidePlot(g.x,g.y)&&f.isInsidePlot(g.x+l.width,g.y+l.height)),c.shape&&b.attr({anchorX:a.plotX,anchorY:a.plotY})));n||(b.attr({y:-999}),b.placed=!1)};P.prototype.justifyDataLabel=function(a,b,c,d,e,f){var g=this.chart,h=b.align,k=b.verticalAlign,l,m,n=a.box?0:a.padding||0;l=c.x+n;0>l&&("right"===h?b.align="left":b.x=-l,m=!0);l=c.x+d.width-n;l>g.plotWidth&&("left"===h?b.align= "right":b.x=g.plotWidth-l,m=!0);l=c.y+n;0>l&&("bottom"===k?b.verticalAlign="top":b.y=-l,m=!0);l=c.y+d.height-n;l>g.plotHeight&&("top"===k?b.verticalAlign="bottom":b.y=g.plotHeight-l,m=!0);m&&(a.placed=!f,a.align(b,null,e))};B.pie&&(B.pie.prototype.drawDataLabels=function(){var a=this,b=a.data,c,d=a.chart,e=a.options.dataLabels,f=t(e.connectorPadding,10),g=t(e.connectorWidth,1),h=d.plotWidth,k=d.plotHeight,l,m,n=t(e.softConnector,!0),p=e.distance,q=a.center,u=q[2]/2,w=q[1],v=0y){c=[].concat(J);c.sort(W);for(M=da;M--;)c[M].rank=M; for(M=da;M--;)J[M].rank>=y&&J.splice(M,1);da=J.length}for(M=0;MF&&null!==Ca[K+1]||ch-f&&(I[1]=C(z(D+y-h+f),I[1])),0>F-b/2?I[0]=C(z(-F+b/2),I[0]):F+b/2>k&&(I[2]=C(z(F+b/2-k),I[2])))}}}if(0===na(I)||this.verifyDataLabelOverflow(I))this.placeDataLabels(),v&&g&&r(this.points,function(b){l=b.connector;E=b.labelPos;(B=b.dataLabel)&&B._pos&&b.visible?(G=B._attr.visibility, D=B.connX,F=B.connY,m=n?["M",D+("left"===E[6]?5:-5),F,"C",D,F,2*E[2]-E[4],2*E[3]-E[5],E[2],E[3],"L",E[4],E[5]]:["M",D+("left"===E[6]?5:-5),F,"L",E[2],E[3],"L",E[4],E[5]],l?(l.animate({d:m}),l.attr("visibility",G)):b.connector=l=a.chart.renderer.path(m).attr({"stroke-width":g,stroke:e.connectorColor||b.color||"#606060",visibility:G}).add(a.dataLabelsGroup)):l&&(b.connector=l.destroy())})}},B.pie.prototype.placeDataLabels=function(){r(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)? (b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-999}))})},B.pie.prototype.alignDataLabel=U,B.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,e=c.minSize||80,f=e,g;null!==d[0]?f=C(b[2]-C(a[1],a[3]),e):(f=C(b[2]-a[1]-a[3],e),b[0]+=(a[3]-a[1])/2);null!==d[1]?f=C(L(f,b[2]-C(a[0],a[2])),e):(f=C(L(f,b[2]-a[0]-a[2]),e),b[1]+=(a[0]-a[2])/2);ft(this.translatedThreshold,g.yAxis.len)),l=t(c.inside,!!this.options.stacking);h&&(d=x(h),f&&(d={x:g.yAxis.len-d.y-d.height,y:g.xAxis.len-d.x-d.width,width:d.height,height:d.width}),l||(f?(d.x+=k?0:d.width,d.width=0):(d.y+=k?d.height:0,d.height=0)));c.align=t(c.align,!f|| l?"center":k?"right":"left");c.verticalAlign=t(c.verticalAlign,f||l?"middle":k?"top":"bottom");P.prototype.alignDataLabel.call(this,a,b,c,d,e)});var db=I.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,d=a.options.cursor,e=d&&{cursor:d},f=function(a){for(var c=a.target,d;c&&!d;)d=c.point,c=c.parentNode;if(d!==v&&d!==b.hoverPoint)d.onMouseOver(a)};r(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.element.point=a)});a._hasTracking||(r(a.trackerGroups, function(b){if(a[b]&&(a[b].addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(a){c.onTrackerMouseOut(a)}).css(e),jb))a[b].on("touchstart",f)}),a._hasTracking=!0)},drawTrackerGraph: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.pointer,h=f.renderer,k=f.options.tooltip.snap,l=a.tracker,m=b.cursor,n=m&&{cursor:m},m=a.singlePoints,p,q=function(){if(f.hoverSeries!==a)a.onMouseOver()},t="rgba(192,192,192,"+(ra?1E-4:.002)+ ")";if(e&&!c)for(p=e+1;p--;)"M"===d[p]&&d.splice(p+1,0,d[p+1]-k,d[p+2],"L"),(p&&"M"===d[p]||p===e)&&d.splice(p,0,"L",d[p-2]+k,d[p-1]);for(p=0;pthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&r(d,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){var d=a[b?"chartX":"chartY"],h=c[b?"xAxis":"yAxis"][0],k=c[b?"mouseDownX":"mouseDownY"],l=(h.pointRange|| 0)/2,m=h.getExtremes(),n=h.toValue(k-d,!0)+l,l=h.toValue(k+c[b?"plotWidth":"plotHeight"]-d,!0)-l,k=k>d;h.series.length&&(k||n>L(m.dataMin,m.min))&&(!k||ll.len*l.tickInterval/(l.max-l.min)&&(n=0),p=q>n&&q<180-n?"left":q>180+n&& q<360-n?"right":"center"):p="center",d.attr({align:p})),a.x+=f.x,a.y+=m):a=a.call(this,b,c,d,e,f,g,h,k);return a});ga(Rb,"getMarkPath",function(a,b,c,d,e,f,g){var h=this.axis;h.isRadial?(a=h.getPosition(this.pos,h.center[2]/2+d),b=["M",b,c,"L",a.x,a.y]):b=a.call(this,b,c,d,e,f,g);return b});J.arearange=x(J.area,{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\u25cf {series.name}: {point.low} - {point.high}
'},trackByArea:!0, dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}});B.arearange=N(B.area,{type:"arearange",pointArrayMap:["low","high"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var b=this.chart,c=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=c.x-b.plotLeft;a.plotHigh=c.y-b.plotTop},getSegments:function(){var a=this;r(a.points,function(b){a.options.connectNulls||null!==b.low&& null!==b.high?null===b.low&&null!==b.high&&(b.y=b.high):b.y=null});P.prototype.getSegments.call(this)},translate:function(){var a=this,b=a.yAxis;B.area.prototype.translate.apply(a);r(a.points,function(a){var d=a.low,e=a.high,f=a.plotY;null===e&&null===d?a.y=null:null===d?(a.plotLow=a.plotY=null,a.plotHigh=b.translate(e,0,1,0,1)):null===e?(a.plotLow=f,a.plotHigh=null):(a.plotLow=f,a.plotHigh=b.translate(e,0,1,0,1))});this.chart.polar&&r(this.points,function(b){a.highToXY(b)})},getSegmentPath:function(a){var b, c=[],d=a.length,e=P.prototype.getSegmentPath,f,g;g=this.options;var h=g.step;for(b=HighchartsAdapter.grep(a,function(a){return null!==a.plotLow});d--;)f=a[d],null!==f.plotHigh&&c.push({plotX:f.plotHighX||f.plotX,plotY:f.plotHigh});a=e.call(this,b);h&&(!0===h&&(h="left"),g.step={left:"right",center:"center",right:"left"}[h]);c=e.call(this,c);g.step=h;g=[].concat(a,c);this.chart.polar||(c[0]="L");this.areaPath=this.areaPath.concat(a,c);return g},drawDataLabels:function(){var a=this.data,b=a.length, c,d=[],e=P.prototype,f=this.options.dataLabels,g=f.align,h,k,l=this.chart.inverted;if(f.enabled||this._hasPointLabels){for(c=b;c--;)h=a[c],k=h.plotHigh>h.plotLow,h.y=h.high,h._plotY=h.plotY,h.plotY=h.plotHigh,d[c]=h.dataLabel,h.dataLabel=h.dataLabelUpper,h.below=k,l?(g||(f.align=k?"right":"left"),f.x=f.xHigh):f.y=f.yHigh;e.drawDataLabels&&e.drawDataLabels.apply(this,arguments);for(c=b;c--;)h=a[c],k=h.plotHigh>h.plotLow,h.dataLabelUpper=h.dataLabel,h.dataLabel=d[c],h.y=h.low,h.plotY=h._plotY,h.below= !k,l?(g||(f.align=k?"left":"right"),f.x=f.xLow):f.y=f.yLow;e.drawDataLabels&&e.drawDataLabels.apply(this,arguments)}f.align=g},alignDataLabel:function(){B.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:U,getSymbol:U,drawPoints:U});J.areasplinerange=x(J.arearange);B.areasplinerange=N(B.arearange,{type:"areasplinerange",getPointSpline:B.spline.prototype.getPointSpline});(function(){var a=B.column.prototype;J.columnrange=x(J.column,J.arearange,{lineWidth:1,pointRange:null}); B.columnrange=N(B.arearange,{type:"columnrange",translate:function(){var b=this,c=b.yAxis,d;a.translate.apply(b);r(b.points,function(a){var f=a.shapeArgs,g=b.options.minPointLength,h;a.tooltipPos=null;a.plotHigh=d=c.translate(a.high,0,1,0,1);a.plotLow=a.plotY;h=d;a=a.plotY-d;Math.abs(a)a&&(a*=-1,h-=a);f.height=a;f.y=h})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:U,pointAttrToOptions:a.pointAttrToOptions,drawPoints:a.drawPoints,drawTracker:a.drawTracker, animate:a.animate,getColumnMetrics:a.getColumnMetrics})})();J.gauge=x(J.line,{dataLabels:{enabled:!0,defer:!1,y:15,borderWidth:1,borderColor:"silver",borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1});var uc={type:"gauge",pointClass:N(Ka,{setState:function(a){this.state=a}}),angular:!0,drawGraph:U,fixedBox:!0,forceDL:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,b=this.options,c=a.center;this.generatePoints(); r(this.points,function(d){var e=x(b.dial,d.dial),f=G(t(e.radius,80))*c[2]/200,g=G(t(e.baseLength,70))*f/100,h=G(t(e.rearLength,10))*f/100,k=e.baseWidth||3,l=e.topWidth||1,m=b.overshoot,n=a.startAngleRad+a.translate(d.y,null,null,null,!0);m&&"number"===typeof m?(m=m/180*Math.PI,n=Math.max(a.startAngleRad-m,Math.min(a.endAngleRad+m,n))):!1===b.wrap&&(n=Math.max(a.startAngleRad,Math.min(a.endAngleRad,n)));n=180*n/Math.PI;d.shapeType="path";d.shapeArgs={d:e.path||["M",-h,-k/2,"L",g,-k/2,f,-l/2,f,l/2, g,k/2,-h,k/2,"z"],translateX:c[0],translateY:c[1],rotation:n};d.plotX=c[0];d.plotY=c[1]})},drawPoints:function(){var a=this,b=a.yAxis.center,c=a.pivot,d=a.options,e=d.pivot,f=a.chart.renderer;r(a.points,function(b){var c=b.graphic,e=b.shapeArgs,l=e.d,m=x(d.dial,b.dial);c?(c.animate(e),e.d=l):b.graphic=f[b.shapeType](e).attr({stroke:m.borderColor||"none","stroke-width":m.borderWidth||0,fill:m.backgroundColor||"black",rotation:e.rotation}).add(a.group)});c?c.animate({translateX:b[0],translateY:b[1]}): a.pivot=f.circle(0,0,t(e.radius,5)).attr({"stroke-width":e.borderWidth||0,stroke:e.borderColor||"silver",fill:e.backgroundColor||"black"}).translate(b[0],b[1]).add(a.group)},animate:function(a){var b=this;a||(r(b.points,function(a){var d=a.graphic;d&&(d.attr({rotation:180*b.yAxis.startAngleRad/Math.PI}),d.animate({rotation:a.shapeArgs.rotation},b.options.animation))}),b.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex, this.chart.seriesGroup);P.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,b){P.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();t(b,!0)&&this.chart.redraw()},drawTracker:db&&db.drawTrackerPoint};B.gauge=N(B.line,uc);J.boxplot=x(J.column,{fillColor:"#FFFFFF",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},threshold:null,tooltip:{pointFormat:'\u25cf {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'}, whiskerLength:"50%",whiskerWidth:2});B.boxplot=N(B.column,{type:"boxplot",pointArrayMap:["low","q1","median","q3","high"],toYData:function(a){return[a.low,a.q1,a.median,a.q3,a.high]},pointValKey:"high",pointAttrToOptions:{fill:"fillColor",stroke:"color","stroke-width":"lineWidth"},drawDataLabels:U,translate:function(){var a=this.yAxis,b=this.pointArrayMap;B.column.prototype.translate.apply(this);r(this.points,function(c){r(b,function(b){null!==c[b]&&(c[b+"Plot"]=a.translate(c[b],0,1,0,1))})})},drawPoints:function(){var a= this,b=a.points,c=a.options,d=a.chart.renderer,e,f,g,h,k,l,m,n,p,q,u,w,B,C,y,F,D,x,G,H,I,K,J=!1!==a.doQuartiles,L=parseInt(a.options.whiskerLength,10)/100;r(b,function(b){p=b.graphic;I=b.shapeArgs;u={};C={};F={};K=b.color||a.color;b.plotY!==v&&(e=b.pointAttr[b.selected?"selected":""],D=I.width,x=T(I.x),G=x+D,H=z(D/2),f=T(J?b.q1Plot:b.lowPlot),g=T(J?b.q3Plot:b.lowPlot),h=T(b.highPlot),k=T(b.lowPlot),u.stroke=b.stemColor||c.stemColor||K,u["stroke-width"]=t(b.stemWidth,c.stemWidth,c.lineWidth),u.dashstyle= b.stemDashStyle||c.stemDashStyle,C.stroke=b.whiskerColor||c.whiskerColor||K,C["stroke-width"]=t(b.whiskerWidth,c.whiskerWidth,c.lineWidth),F.stroke=b.medianColor||c.medianColor||K,F["stroke-width"]=t(b.medianWidth,c.medianWidth,c.lineWidth),m=u["stroke-width"]%2/2,n=x+H+m,q=["M",n,g,"L",n,h,"M",n,f,"L",n,k],J&&(m=e["stroke-width"]%2/2,n=T(n)+m,f=T(f)+m,g=T(g)+m,x+=m,G+=m,w=["M",x,g,"L",x,f,"L",G,f,"L",G,g,"L",x,g,"z"]),L&&(m=C["stroke-width"]%2/2,h+=m,k+=m,B=["M",n-H*L,h,"L",n+H*L,h,"M",n-H*L,k,"L", n+H*L,k]),m=F["stroke-width"]%2/2,l=z(b.medianPlot)+m,y=["M",x,l,"L",G,l],p?(b.stem.animate({d:q}),L&&b.whiskers.animate({d:B}),J&&b.box.animate({d:w}),b.medianShape.animate({d:y})):(b.graphic=p=d.g().add(a.group),b.stem=d.path(q).attr(u).add(p),L&&(b.whiskers=d.path(B).attr(C).add(p)),J&&(b.box=d.path(w).attr(e).add(p)),b.medianShape=d.path(y).attr(F).add(p)))})},setStackedPoints:U});J.errorbar=x(J.boxplot,{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\u25cf {series.name}: {point.low} - {point.high}
'}, whiskerWidth:null});B.errorbar=N(B.boxplot,{type:"errorbar",pointArrayMap:["low","high"],toYData:function(a){return[a.low,a.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:B.arearange?B.arearange.prototype.drawDataLabels:U,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||B.column.prototype.getColumnMetrics.call(this)}});J.waterfall=x(J.column,{lineWidth:1,lineColor:"#333",dashStyle:"dot",borderColor:"#333",dataLabels:{inside:!0},states:{hover:{lineWidthPlus:0}}}); B.waterfall=N(B.column,{type:"waterfall",upColorProp:"fill",pointValKey:"y",translate:function(){var a=this.options,b=this.yAxis,c,d,e,f,g,h,k,l,m,n=a.threshold,p=a.stacking;B.column.prototype.translate.apply(this);k=l=n;d=this.points;c=0;for(a=d.length;cf.height&&(f.y+=f.height,f.height*=-1),e.plotY=f.y=z(f.y)-this.borderWidth%2/2,f.height=C(z(f.height),.001),e.yBottom=f.y+f.height,f=e.plotY+(e.negative?f.height:0),this.chart.inverted?e.tooltipPos[0]=b.len-f:e.tooltipPos[1]= f},processData:function(a){var b=this.yData,c=this.options.data,d,e=b.length,f,g,h,k,l,m;g=f=h=k=this.options.threshold||0;for(m=0;ma[g-1].y&&(f[2]+=e.height,f[5]+=e.height),d=d.concat(f);return d},getExtremes:U,drawGraph:P.prototype.drawGraph});J.bubble=x(J.scatter,{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{lineColor:null,lineWidth:1},minSize:8,maxSize:"20%",states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"});var vc=N(Ka,{haloPath:function(){return Ka.prototype.haloPath.call(this, this.shapeArgs.r+this.series.options.states.hover.halo.size)},ttBelow:!1});B.bubble=N(B.scatter,{type:"bubble",pointClass:vc,pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],bubblePadding:!0,zoneAxis:"z",pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor"},applyOpacity:function(a){var b=this.options.marker,c=t(b.fillOpacity,.5);a=a||b.fillColor||this.color;1!==c&&(a=Ba(a).setOpacity(c).get("rgba"));return a},convertAttribs:function(){var a= P.prototype.convertAttribs.apply(this,arguments);a.fill=this.applyOpacity(a.fill);return a},getRadii:function(a,b,c,d){var e,f,g,h=this.zData,k=[],l="width"!==this.options.sizeBy;f=0;for(e=h.length;f=this.minPxSize/2?(c.shapeType="circle",c.shapeArgs={x:c.plotX,y:c.plotY,r:d},c.dlBox={x:c.plotX-d,y:c.plotY-d,width:2*d,height:2*d}):c.shapeArgs=c.plotY=c.dlBox=v},drawLegendSymbol:function(a,b){var c=G(a.itemStyle.fontSize)/2;b.legendSymbol=this.chart.renderer.circle(c,a.baseline-c,c).attr({zIndex:3}).add(b.legendGroup);b.legendSymbol.isMarker=!0},drawPoints:B.column.prototype.drawPoints, alignDataLabel:B.column.prototype.alignDataLabel,buildKDTree:U,applyZones:U});Da.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,d=0,e=b,f=this.isXAxis,g=f?"xData":"yData",h=this.min,k={},l=aa.min(c.plotWidth,c.plotHeight),m=Number.MAX_VALUE,n=-Number.MAX_VALUE,p=this.max-h,q=b/p,u=[];r(this.series,function(b){var d=b.options;!b.bubblePadding||!b.visible&&c.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,u.push(b),f&&(r(["minSize","maxSize"],function(a){var b=d[a],c= /%$/.test(b),b=G(b);k[a]=c?l*b/100:b}),b.minPxSize=k.minSize,b=b.zData,b.length&&(m=t(d.zMin,aa.min(m,aa.max(ua(b),!1===d.displayNegative?d.zThreshold:-Number.MAX_VALUE))),n=t(d.zMax,aa.max(n,na(b))))))});r(u,function(a){var b=a[g],c=b.length,l;f&&a.getRadii(m,n,k.minSize,k.maxSize);if(0c&&(c+=360),a.clientX=c):a.clientX=a.plotX};B.area&&ga(B.area.prototype,"init",a);B.areaspline&&ga(B.areaspline.prototype,"init",a);B.spline&&ga(B.spline.prototype,"getPointSpline",function(a,b,c,d){var e,m,n,p,q,r,t;this.chart.polar?(e=c.plotX,m=c.plotY,a=b[d-1],n=b[d+1],this.connectEnds&& (a||(a=b[b.length-2]),n||(n=b[1])),a&&n&&(p=a.plotX,q=a.plotY,b=n.plotX,r=n.plotY,p=(1.5*e+p)/2.5,q=(1.5*m+q)/2.5,n=(1.5*e+b)/2.5,t=(1.5*m+r)/2.5,b=Math.sqrt(Math.pow(p-e,2)+Math.pow(q-m,2)),r=Math.sqrt(Math.pow(n-e,2)+Math.pow(t-m,2)),p=Math.atan2(q-m,p-e),q=Math.atan2(t-m,n-e),t=Math.PI/2+(p+q)/2,Math.abs(p-t)>Math.PI/2&&(t-=Math.PI),p=e+Math.cos(t)*b,q=m+Math.sin(t)*b,n=e+Math.cos(Math.PI+t)*r,t=m+Math.sin(Math.PI+t)*r,c.rightContX=n,c.rightContY=t),d?(c=["C",a.rightContX||a.plotX,a.rightContY|| a.plotY,p||e,q||m,e,m],a.rightContX=a.rightContY=null):c=["M",e,m]):c=a.call(this,b,c,d);return c});ga(c,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});ga(c,"getSegmentPath",function(a,b){var c=this.points;this.chart.polar&&!1!==this.options.connectEnds&&b[b.length-1]===c[c.length-1]&&null!==c[0].y&&(this.connectEnds=!0,b=[].concat(b,[c[0]]));return a.call(this, b)});ga(c,"animate",b);B.column&&(e=B.column.prototype,ga(e,"animate",b),ga(e,"translate",function(a){var b=this.xAxis,c=this.yAxis.len,d=b.center,e=b.startAngleRad,m=this.chart.renderer,n,p;this.preventPostTranslate=!0;a.call(this);if(b.isRadial)for(b=this.points,p=b.length;p--;)n=b[p],a=n.barX+e,n.shapeType="path",n.shapeArgs={d:m.symbols.arc(d[0],d[1],c-n.plotY,null,{start:a,end:a+n.pointWidth,innerR:c-t(n.yBottom,c)})},this.toXY(n),n.tooltipPos=[n.plotX,n.plotY],n.ttBelow=n.plotY>d[1]}),ga(e, "alignDataLabel",function(a,b,d,e,l,m){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===e.align&&(e.align=20a?"left":200a?"right":"center"),null===e.verticalAlign&&(e.verticalAlign=45>a||315a?"top":"middle"),c.alignDataLabel.call(this,b,d,e,l,m)):a.call(this,b,d,e,l,m)}));ga(d,"getCoordinates",function(a,b){var c=this.chart,d={xAxis:[],yAxis:[]};c.polar?r(c.axes,function(a){var e=a.isXAxis,f=a.center,p=b.chartX-f[0]-c.plotLeft,f=b.chartY-f[1]-c.plotTop;d[e? "xAxis":"yAxis"].push({axis:a,value:a.translate(e?Math.PI-Math.atan2(p,f):Math.sqrt(Math.pow(p,2)+Math.pow(f,2)),!0)})}):d=a.call(this,b);return d})})();D(I,{Color:Ba,Point:Ka,Tick:pa,Renderer:ib,SVGElement:X,SVGRenderer:Ma,arrayMin:ua,arrayMax:na,charts:ja,dateFormat:bb,error:la,format:Xa,pathAnim:Ib,getOptions:function(){return ha},hasBidiBug:gc,isTouchDevice:Yb,setOptions:function(a){ha=x(!0,ha,a);za();return ha},addEvent:Z,removeEvent:ma,createElement:ba,discardElement:Ga,css:H,each:r,map:$a, merge:x,splat:K,extendClass:N,pInt:G,svg:ra,canvas:wa,vml:!ra&&!wa,product:"Highcharts 4.1.6",version:"/Highstock 2.1.6"})})(); (function(x){var G=x.getOptions(),fa=G.plotOptions,ca=x.seriesTypes,Ea=x.merge,sa=function(){},ya=x.each,R=x.pick;fa.funnel=Ea(fa.pie,{animation:!1,center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",reversed:!1,dataLabels:{connectorWidth:1,connectorColor:"#606060"},size:!0,states:{select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}}});ca.funnel=x.extendClass(ca.pie,{type:"funnel",animate:sa,translate:function(){var x=function(u,v){return/%$/.test(u)?v*parseInt(u, 10)/100:parseInt(u,10)},u=0,G=this.chart,K=this.options,H=K.reversed,ba=G.plotWidth,N=G.plotHeight,ca=0,G=K.center,R=x(G[0],ba),fa=x(G[1],N),Ea=x(K.width,ba),ta,Pa,ka=x(K.height,N),ua=x(K.neckWidth,ba),na=x(K.neckHeight,N),Fa=ka-na,x=this.data,Ga,la,oa="left"===K.dataLabels.position?1:0,Ha,za,X,pa,va,Ua,v;this.getWidthAt=Pa=function(u){return u>ka-na||ka===na?ua:ua+(ka-na-u)/(ka-na)*(Ea-ua)};this.getX=function(u,v){return R+(v?-1:1)*(Pa(H?N-u:u)/2+K.dataLabels.distance)};this.center=[R,fa,ka];this.centerX= R;ya(x,function(v){u+=v.y});ya(x,function(x){v=null;la=u?x.y/u:0;za=fa-ka/2+ca*ka;va=za+la*ka;ta=Pa(za);Ha=R-ta/2;X=Ha+ta;ta=Pa(va);pa=R-ta/2;Ua=pa+ta;za>Fa?(Ha=pa=R-ua/2,X=Ua=R+ua/2):va>Fa&&(v=va,ta=Pa(Fa),pa=R-ta/2,Ua=pa+ta,va=Fa);H&&(za=ka-za,va=ka-va,v=v?ka-v:null);Ga=["M",Ha,za,"L",X,za,Ua,va];v&&Ga.push(Ua,v,pa,v);Ga.push(pa,va,"Z");x.shapeType="path";x.shapeArgs={d:Ga};x.percentage=100*la;x.plotX=R;x.plotY=(za+(v||va))/2;x.tooltipPos=[R,x.plotY];x.slice=sa;x.half=oa;ca+=la})},drawPoints:function(){var x= this,u=x.options,G=x.chart.renderer;ya(x.data,function(K){var H=K.options,ba=K.graphic,N=K.shapeArgs;ba?ba.animate(N):K.graphic=G.path(N).attr({fill:K.color,stroke:R(H.borderColor,u.borderColor),"stroke-width":R(H.borderWidth,u.borderWidth)}).add(x.group)})},sortByAngle:function(x){x.sort(function(u,x){return u.plotY-x.plotY})},drawDataLabels:function(){var x=this.data,u=this.options.dataLabels.distance,G,K,H,R=x.length,N,fa;for(this.center[2]-=2*u;R--;)H=x[R],K=(G=H.half)?1:-1,fa=H.plotY,N=this.getX(fa, G),H.labelPos=[0,fa,N+(u-5)*K,fa,N+u*K,fa,G?"right":"left",0];ca.pie.prototype.drawDataLabels.call(this)}});G.plotOptions.pyramid=x.merge(G.plotOptions.funnel,{neckWidth:"0%",neckHeight:"0%",reversed:!0});x.seriesTypes.pyramid=x.extendClass(x.seriesTypes.funnel,{type:"pyramid"})})(Highcharts);