(function(){function g(a,c){var b;a||(a={});for(b in c)a[b]=c[b];return a}function h(){for(var d=arguments.length,b={},c=function(d,e){var a,b;typeof d!=="object"&&(d={});for(b in e)e.hasOwnProperty(b)&&(a=e[b],d[b]=a&&typeof a==="object"&&Object.prototype.toString.call(a)!=="[object Array]"&&typeof a.nodeType!=="number"?c(d[b]||{},a):e[b]);return d},a=0;a3?a.length%3:0;return e+(g?a.substr(0,g)+d:"")+a.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?c+p(b-a).toFixed(f).slice(2):"")}function gb(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function Qb(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)}}function hb(e,j){for(var f="{",h=!1,a,b,g,c,d,i=[];(f=e.indexOf(f))!==-1;){a=e.slice(0,f);if(h){b=a.split(":");g=b.shift().split(".");d=g.length;a=j;for(c=0;c-1?c.thousandsSep:"")):(a=Mb(b,a))}i.push(a);e=e.slice(f+1);f=(h=!h)?"}":"{"}i.push(e);return i.join("")}function Rb(a){return x.pow(10,v(x.log(a)/x.LN10))}function Sb(e,b,d,c){var f,d=a(d,1);f=e/d;b||(b=[1,2,2.5,5,10],c&&c.allowDecimals===!1&&(d===1?(b=[1,2,5,10]):d<=.1&&(b=[1/d])));for(c=0;c=m[Tb]&&(c.setMilliseconds(0),c.setSeconds(e>=m[Nb]?0:f*v(c.getSeconds()/f)));e>=m[Nb]&&c[hc](e>=m[tb]?0:f*v(c[Ub]()/f));e>=m[tb]&&c[ic](e>=m[Y]?0:f*v(c[Vb]()/f));e>=m[Y]&&c[Wb](e>=m[ub]?1:f*v(c[vb]()/f));e>=m[ub]&&(c[jc](e>=m[ib]?0:f*v(c[Bb]()/f)),i=c[Cb]());e>=m[ib]&&(i-=i%f,c[kc](i));e===m[Ab]&&c[Wb](c[vb]()-c[Xb]()+a(h,1));j=1;i=c[Cb]();for(var h=c.getTime(),p=c[Bb](),r=c[vb](),s=o?0:(8.64e7+c.getTimezoneOffset()*6e4)%8.64e7;hc&&(c=a[b]);return c}function ob(a,c){for(var b in a)a[b]&&a[b]!==c&&a[b].destroy&&a[b].destroy(),delete a[b]}function wb(a){Eb||(Eb=A(jb));a&&Eb.appendChild(a);Eb.innerHTML=""}function P(a,c){var b="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(c)throw b;else t.console&&console.log(b)}function N(a){return parseFloat(a.toPrecision(14))}function pb(b,c){kb=a(b,c.animation)}function nc(){var d=u.global.useUTC,b=d?"getUTC":"get",c=d?"setUTC":"set";Db=d?Date.UTC:function(b,c,d,e,f,g){return(new Date(b,c,a(d,1),a(e,0),a(f,0),a(g,0))).getTime()};Ub=b+"Minutes";Vb=b+"Hours";Xb=b+"Day";vb=b+"Date";Bb=b+"Month";Cb=b+"FullYear";hc=c+"Minutes";ic=c+"Hours";Wb=c+"Date";jc=c+"Month";kc=c+"FullYear"}function ab(){}function qb(b,c,a,d){this.axis=b;this.pos=c;this.type=a||"";this.isNew=!0;!a&&!d&&this.addLabel()}function Zb(b,a){this.axis=b;if(a)this.options=a,this.id=a.id}function oc(e,b,c,f,g,h){var d=e.chart.inverted;this.axis=e;this.isNegative=c;this.options=b;this.x=f;this.total=null;this.points={};this.stack=g;this.percent=h==="percent";this.alignOptions={align:b.align||(d?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(d?"middle":c?"bottom":"top"),y:a(b.y,d?4:c?14:-6),x:a(b.x,d?c?-6:6:0)};this.textAlign=b.textAlign||(d?c?"right":"left":"center")}function Fb(){this.init.apply(this,arguments)}function ac(){this.init.apply(this,arguments)}function bc(a,b){this.init(a,b)}function Gb(a,b){this.init(a,b)}function cc(){this.init.apply(this,arguments)}var f,k=document,t=window,x=Math,e=x.round,v=x.floor,bb=x.ceil,c=x.max,n=x.min,p=x.abs,B=x.cos,H=x.sin,cb=x.PI,xb=cb*2/360,S=navigator.userAgent,pc=t.opera,X=/msie/i.test(S)&&!pc,Hb=k.documentMode===8,Ib=/AppleWebKit/.test(S),Jb=/Firefox/.test(S),qc=/(Mobile|Android|Windows Phone)/.test(S),db="http://www.w3.org/2000/svg",C=!!k.createElementNS&&!!k.createElementNS(db,"svg").createSVGRect,wc=Jb&&parseInt(S.split("Firefox/")[1],10)<4,I=!C&&!X&&!!k.createElement("canvas").getContext,yb,Kb=k.documentElement.ontouchstart!==f,rc={},dc=0,Eb,u,Mb,kb,Ob,m,T=function(){},lb=[],jb="div",y="none",sc="rgba(192,192,192,"+(C?1e-4:.002)+")",fc="millisecond",Tb="second",Nb="minute",tb="hour",Y="day",Ab="week",ub="month",ib="year",tc="stroke-width",Db,Ub,Vb,Xb,vb,Bb,Cb,hc,ic,Wb,jc,kc,D={};t.Highcharts=t.Highcharts?P(16,!0):{};Mb=function(c,h,p){if(!d(h)||isNaN(h))return"Invalid date";var c=a(c,"%Y-%m-%d %H:%M:%S"),b=new Date(h),f,i=b[Vb](),l=b[Xb](),m=b[vb](),j=b[Bb](),n=b[Cb](),k=u.lang,o=k.weekdays,b=g({a:o[l].substr(0,3),A:o[l],d:gb(m),e:m,b:k.shortMonths[j],B:k.months[j],m:gb(j+1),y:n.toString().substr(2,2),Y:n,H:gb(i),I:gb(i%12||12),l:i%12||12,M:gb(b[Ub]()),p:i<12?"AM":"PM",P:i<12?"am":"pm",S:gb(b.getSeconds()),L:gb(e(h%1e3),3)},Highcharts.dateFormats);for(f in b)for(;c.indexOf("%"+f)!==-1;)c=c.replace("%"+f,typeof b[f]==="function"?b[f](h):b[f]);return p?c.substr(0,1).toUpperCase()+c.substr(1):c};lc.prototype={wrapColor:function(a){if(this.color>=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};m=function(){for(var a=0,b=arguments,d=b.length,c={};a-1,d=g?7:3,e,a=a.split(" "),b=[].concat(b),h,i,j=function(a){for(e=a.length;e--;)a[e]==="M"&&a.splice(e+1,0,a[e+1],a[e+2],a[e+1],a[e+2])};g&&(j(a),j(b));f.isArea&&(h=a.splice(a.length-6,6),i=b.splice(b.length-6,6));if(c<=b.length/d&&a.length===b.length)for(;c--;)b=[].concat(b).splice(0,d).concat(b);f.shift=0;if(a.length)for(f=b.length;a.length{point.key}
',pointFormat:'{series.name}: {point.y}
',shadow:!0,snap:qc?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 E=u.plotOptions,G=E.line;nc();var Ac=/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*\)/,Bc=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,vc=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,V=function(e){var a=[],c,d;(function(b){b&&b.stops?(d=rb(b.stops,function(a){return V(a[1])})):(c=Ac.exec(b))?(a=[j(c[1]),j(c[2]),j(c[3]),parseFloat(c[4],10)]):(c=Bc.exec(b))?(a=[j(c[1],16),j(c[2],16),j(c[3],16),1]):(c=vc.exec(b))&&(a=[j(c[1]),j(c[2]),j(c[3]),1])})(e);return{"get":function(f){var c;d?(c=h(e),c.stops=[].concat(c.stops),b(d,function(b,a){c.stops[a]=[c.stops[a][0],b.get(f)]})):(c=a&&!isNaN(a[0])?f==="rgb"?"rgb("+a[0]+","+a[1]+","+a[2]+")":f==="a"?a[3]:"rgba("+a.join(",")+")":e);return c},brighten:function(e){if(d)b(d,function(a){a.brighten(e)});else if(W(e)&&e!==0)for(var c=0;c<3;c++)a[c]+=j(e*255),a[c]<0&&(a[c]=0),a[c]>255&&(a[c]=255);return this},rgba:a,setOpacity:function(b){a[3]=b;return this}}};ab.prototype={init:function(b,a){this.element=a==="span"?A(a):k.createElementNS(db,a);this.renderer=b;this.attrSetters={}},opacity:1,animate:function(d,b,c){b=a(b,kb,!0);zb(this);if(b){b=h(b);if(c)b.complete=c;Pb(this,d,b)}else this.attr(d),c&&c()},attr:function(l,t){var b,e,g,q,h=this.element,n=h.nodeName.toLowerCase(),r=this.renderer,m,u=this.attrSetters,o=this.shadows,v,s,p=this;J(l)&&d(t)&&(b=l,l={},l[b]=t);if(J(l))b=l,n==="circle"?(b=({x:"cx",y:"cy"})[b]||b):b==="strokeWidth"&&(b="stroke-width"),p=i(h,b)||this[b]||0,b!=="d"&&b!=="visibility"&&b!=="fill"&&(p=parseFloat(p));else{for(b in l)if(m=!1,e=l[b],g=u[b]&&u[b].call(this,e,b),g!==!1){g!==f&&(e=g);if(b==="d")e&&e.join&&(e=e.join(" ")),/(NaN| {2}|^$)/.test(e)&&(e="M 0 0");else if(b==="x"&&n==="text")for(g=0;g1100)&&b.call(a,d)}):(a["on"+d]=b);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&&b.tagName==="SPAN"&&a.width)delete a.width,this.textWidth=b,this.updateTransform();this.styles=g(this.styles,a);o(this.element,a);return this},htmlGetBBox:function(){var a=this.element,b=this.bBox;if(!b){if(a.nodeName==="text")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 s=this.renderer,c=this.element,t=this.translateX||0,u=this.translateY||0,v=this.x||0,w=this.y||0,m=this.textAlign||"left",h=({left:0,center:.5,right:1})[m],x=m&&m!=="left",f=this.shadows;o(c,{marginLeft:t,marginTop:u});f&&b(f,function(a){o(a,{marginLeft:t+1,marginTop:u+1})});this.inverted&&b(c.childNodes,function(a){s.invertChild(a,c)});if(c.tagName==="SPAN"){var e,p,f=this.rotation,g;e=0;var i=1,k=0,q;g=j(this.textWidth);var l=this.xCorr||0,n=this.yCorr||0,r=[f,m,c.innerHTML,this.textWidth].join(",");if(r!==this.cTT){d(f)&&(e=f*xb,i=B(e),k=H(e),this.setSpanRotation(f,k,i));e=a(this.elemWidth,c.offsetWidth);p=a(this.elemHeight,c.offsetHeight);if(e>g&&/[ \-]/.test(c.textContent||c.innerText))o(c,{width:g+"px",display:"block",whiteSpace:"normal"}),e=g;g=s.fontMetrics(c.style.fontSize).b;l=i<0&&-e;n=k<0&&-p;q=i*k<0;l+=k*g*(q?1-h:h);n-=i*g*(f?q?h:1-h:1);x&&(l-=e*h*(i<0?-1:1),f&&(n-=p*h*(k<0?-1:1)),o(c,{textAlign:m}));this.xCorr=l;this.yCorr=n}o(c,{left:v+l+"px",top:w+n+"px"});if(Ib)p=c.offsetHeight;this.cTT=r}}else this.alignOnAdd=!0},setSpanRotation:function(b){var a={};a[X?"-ms-transform":Ib?"-webkit-transform":Jb?"MozTransform":pc?"-o-transform":""]=a.transform="rotate("+b+"deg)";o(this.element,a)},updateTransform:function(){var b=this.translateX||0,c=this.translateY||0,e=this.scaleX,f=this.scaleY,g=this.inverted,h=this.rotation;g&&(b+=this.attr("width"),c+=this.attr("height"));b=["translate("+b+","+c+")"];g?b.push("rotate(90) scale(-1,1)"):h&&b.push("rotate("+h+" "+(this.x||0)+" "+(this.y||0)+")");(d(e)||d(f))&&b.push("scale("+a(e,1)+" "+a(f,1)+")");b.length&&i(this.element,"transform",b.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(c,h,b){var f,d,g,j,i={};d=this.renderer;g=d.alignedObjects;if(c){if(this.alignOptions=c,this.alignByTranslate=h,!b||J(b))this.alignTo=f=b||"renderer",L(g,this),g.push(this),b=null}else c=this.alignOptions,h=this.alignByTranslate,f=this.alignTo;b=a(b,d[f],d);f=c.align;d=c.verticalAlign;g=(b.x||0)+(c.x||0);j=(b.y||0)+(c.y||0);if(f==="right"||f==="center")g+=(b.width-(c.width||0))/({right:1,center:2})[f];i[h?"translateX":"x"]=e(g);if(d==="bottom"||d==="middle")j+=(b.height-(c.height||0))/(({bottom:1,middle:2})[d]||1);i[h?"translateY":"y"]=e(j);this[this.placed?"animate":"attr"](i);this.placed=!0;this.alignAttr=i;return this},getBBox:function(){var a=this.bBox,c=this.renderer,b,e=this.rotation;b=this.element;var f=this.styles,d=e*xb;if(!a){if(b.namespaceURI===db||c.forExport){try{a=b.getBBox?g({},b.getBBox()):{width:b.offsetWidth,height:b.offsetHeight}}catch(h){}if(!a||a.width<0)a={width:0,height:0}}else a=this.htmlGetBBox();if(c.isSVG){c=a.width;b=a.height;if(X&&f&&f.fontSize==="11px"&&b.toPrecision(3)==="22.7")a.height=b=14;if(e)a.width=p(b*H(d))+p(c*B(d)),a.height=p(b*B(d))+p(c*H(d))}this.bBox=a}return a},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(b){var a=this;a.animate({opacity:0},{duration:b||150,complete:function(){a.hide()}})},add:function(a){var c=this.renderer,b=a||c,g=b.element||c.box,h=g.childNodes,f=this.element,e=i(f,"zIndex"),k;if(a)this.parentGroup=a;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&c.buildText(this);if(e)b.handleZ=!0,e=j(e);if(b.handleZ)for(b=0;be||!d(e)&&d(c))){g.insertBefore(f,a);k=!0;break}k||g.appendChild(f);this.added=!0;l(this,"add");return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,c=a.element||{},f=a.shadows,d=a.renderer.isSVG&&c.nodeName==="SPAN"&&a.parentGroup,g,e;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=c.point=null;zb(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(e=0;e/g,'').replace(/<(i|em)>/g,'').replace(//g,"").split(//g),m=d.childNodes,n=/style="([^"]+)"/,p=/href="(http[^"]+)"/,q=i(d,"x"),h=c.styles,e=c.textWidth,r=h&&h.lineHeight,s=m.length;s--;)d.removeChild(m[s]);e&&!c.added&&this.box.appendChild(d);g[g.length-1]===""&&g.pop();b(g,function(m,s){var a,g=0,m=m.replace(//g,"|||");a=m.split("|||");b(a,function(m){if(m!==""||a.length===1){var t={},b=k.createElementNS(db,"tspan"),w;n.test(m)&&(w=m.match(n)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),i(b,"style",w));p.test(m)&&!l&&(i(b,"onclick",'location.href="'+m.match(p)[1]+'"'),o(b,{cursor:"pointer"}));m=(m.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">");if(m!==" "&&(b.appendChild(k.createTextNode(m)),g?(t.dx=0):(t.x=q),i(b,t),!g&&s&&(!C&&l&&o(b,{display:"block"}),i(b,"dy",r||f.fontMetrics(/px$/.test(b.style.fontSize)?b.style.fontSize:h.fontSize).h,Ib&&b.offsetHeight)),d.appendChild(b),g++,e))for(var m=m.replace(/([^\^])-/g,"$1- ").split(" "),x,u,t=c._clipHeight,v=[],z=j(r||16),y=1;m.length||v.length;)delete c.bBox,x=c.getBBox(),u=x.width,!C&&f.forExport&&(u=f.measureSpanWidth(b.firstChild.data,c.styles)),x=u>e,!x||m.length===1?(m=v,v=[],m.length&&(y++,t&&y*z>t?(m=["..."],c.attr("title",c.textStr)):(b=k.createElementNS(db,"tspan"),i(b,{dy:z,x:q}),w&&i(b,"style",w),d.appendChild(b),u>e&&(e=u)))):(b.removeChild(b.firstChild),v.unshift(m.pop())),m.length&&b.appendChild(k.createTextNode(m.join(" ").replace(/- /g,"-")))}})})},button:function(i,p,q,r,b,c,d,f,t){var a=this.label(i,p,q,t,null,null,null,null,"button"),e=0,m,n,j,l,k,o,i={x1:0,y1:0,x2:0,y2:1},b=h({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:i,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},b);j=b.style;delete b.style;c=h(b,{stroke:"#68A",fill:{linearGradient:i,stops:[[0,"#FFF"],[1,"#ACF"]]}},c);l=c.style;delete c.style;d=h(b,{stroke:"#68A",fill:{linearGradient:i,stops:[[0,"#9BD"],[1,"#CDF"]]}},d);k=d.style;delete d.style;f=h(b,{style:{color:"#CCC"}},f);o=f.style;delete f.style;s(a.element,X?"mouseover":"mouseenter",function(){e!==3&&a.attr(c).css(l)});s(a.element,X?"mouseout":"mouseleave",function(){e!==3&&(m=([b,c,d])[e],n=([j,l,k])[e],a.attr(m).css(n))});a.setState=function(c){(a.state=e=c)?c===2?a.attr(d).css(k):c===3&&a.attr(f).css(o):a.attr(b).css(j)};return a.on("click",function(){e!==3&&r.call(a)}).attr(b).css(g({cursor:"default"},j))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=e(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=e(a[2])+b%2/2);return a},path:function(a){var b={fill:y};mb(a)?(b.d=a):z(a)&&g(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=z(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)},arc:function(a,c,b,d,e,f){if(z(a))c=a.y,b=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;a=this.symbol("arc",a||0,c||0,b||0,b||0,{innerR:d||0,start:e||0,end:f||0});a.r=b;return a},rect:function(b,d,e,f,a,g){a=z(b)?b.r:a;a=this.createElement("rect").attr({rx:a,ry:a,fill:y});return a.attr(z(b)?b:a.crisp(g,b,d,c(e,0),c(f,0)))},setSize:function(b,c,f){var d=this.alignedObjects,e=d.length;this.width=b;this.height=c;for(this.boxWrapper[a(f,!0)?"animate":"attr"]({width:b,height:c});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return d(a)?b.attr({"class":"highcharts-"+a}):b},image:function(b,c,d,e,f){var a={preserveAspectRatio:y};arguments.length>1&&g(a,{x:c,y:d,width:e,height:f});a=this.createElement("image").attr(a);a.element.setAttributeNS?a.element.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.element.setAttribute("hc-svg-href",b);return a},symbol:function(b,f,h,i,j,k){var a,d=this.symbols[b],d=d&&d(e(f),e(h),i,j,k),m=/^url\((.*?)\)$/,c,l;if(d)a=this.path(d),g(a,{symbolName:b,x:f,y:h,width:i,height:j}),k&&g(a,k);else if(m.test(b))l=function(a,b){a.element&&(a.attr({width:b[0],height:b[1]}),a.alignByTranslate||a.translate(e((i-b[0])/2),e((j-b[1])/2)))},c=b.match(m)[1],b=rc[c],a=this.image(c).attr({x:f,y:h}),a.isImg=!0,b?l(a,b):(a.attr({width:0,height:0}),A("img",{onload:function(){l(a,rc[c]=[this.width,this.height])},src:c}));return a},symbols:{circle:function(a,b,c,e){var d=.166*c;return["M",a+c/2,b,"C",a+c+d,b,a+c+d,b+e,a+c/2,b+e,"C",a-d,b+e,a-d,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(d,e,b,c,a){var g=a.start,b=a.r||b||c,f=a.end-.001,c=a.innerR,h=a.open,i=B(g),j=H(g),k=B(f),f=H(f),a=a.end-g');if(a)b=d||a==="span"||a==="img"?b.join(""):e.prepVML(b),this.element=A(b);this.renderer=e;this.attrSetters={}},add:function(a){var c=this.renderer,d=this.element,b=c.box,b=a?a.element||a:b;a&&a.inverted&&c.invertChild(d,b);b.appendChild(d);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();l(this,"add");return this},updateTransform:ab.prototype.htmlUpdateTransform,setSpanRotation:function(c,a,b){o(this.element,{filter:c?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-a,", M21=",a,", M22=",b,", sizingMethod='auto expand')"].join(""):y})},pathToVML:function(c){for(var a=c.length,b=[],d;a--;)if(W(c[a]))b[a]=e(c[a]*10)-5;else if(c[a]==="Z")b[a]="x";else if(b[a]=c[a],c.isArc&&(c[a]==="wa"||c[a]==="at"))d=c[a]==="wa"?1:-1,b[a+5]===b[a+7]&&(b[a+7]-=d),b[a+6]===b[a+8]&&(b[a+8]-=d);return b.join(" ")||"x"},attr:function(k,p){var a,b,h,g=this.element||{},m=g.style,n=g.nodeName,o=this.renderer,t=this.symbolName,q,l=this.shadows,j,r=this.attrSetters,s=this;J(k)&&d(p)&&(a=k,k={},k[a]=p);if(J(k))a=k,s=a==="strokeWidth"||a==="stroke-width"?this.strokeweight:this[a];else for(a in k)if(b=k[a],j=!1,h=r[a]&&r[a].call(this,b,a),h!==!1&&b!==null){h!==f&&(b=h);if(t&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(a))q||(this.symbolAttr(k),q=!0),j=!0;else if(a==="d"){b=b||[];this.d=b.join(" ");g.path=b=this.pathToVML(b);if(l)for(h=l.length;h--;)l[h].path=l[h].cutOff?this.cutOffPath(b,l[h].cutOff):b;j=!0}else if(a==="visibility"){if(l)for(h=l.length;h--;)l[h].style[a]=b;n==="DIV"&&(b=b==="hidden"?"-999em":0,Hb||(m[a]=b?"visible":"hidden"),a="top");m[a]=b;j=!0}else if(a==="zIndex")b&&(m[a]=b),j=!0;else if(U(a,["x","y","width","height"])!==-1)this[a]=b,a==="x"||a==="y"?(a=({x:"left",y:"top"})[a]):(b=c(0,b)),this.updateClipping?(this[a]=b,this.updateClipping()):(m[a]=b),j=!0;else if(a==="class"&&n==="DIV")g.className=b;else if(a==="stroke")b=o.color(b,g,a),a="strokecolor";else if(a==="stroke-width"||a==="strokeWidth")g.stroked=b?!0:!1,a="strokeweight",this[a]=b,W(b)&&(b+="px");else if(a==="dashstyle")(g.getElementsByTagName("stroke")[0]||A(o.prepVML([""]),null,null,g))[a]=b||"solid",this.dashstyle=b,j=!0;else if(a==="fill"){if(n==="SPAN")m.color=b;else if(n!=="IMG")g.filled=b!==y?!0:!1,b=o.color(b,g,a,this),a="fillcolor"}else if(a==="opacity")j=!0;else if(n==="shape"&&a==="rotation")this[a]=g.style[a]=b,g.style.left=-e(H(b*xb)+1)+"px",g.style.top=e(B(b*xb))+"px";else if(a==="translateX"||a==="translateY"||a==="rotation")this[a]=b,this.updateTransform(),j=!0;else if(a==="text")this.bBox=null,g.innerHTML=b,j=!0;j||(Hb?(g[a]=b):i(g,a,b))}return s},clip:function(b){var a=this,c;b?(c=b.members,L(c,a),c.push(a),a.destroyClip=function(){L(c,a)},b=b.getCSS(a)):(a.destroyClip&&a.destroyClip(),b={clip:Hb?"inherit":"rect(auto)"});return a.css(b)},css:ab.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&wb(a)},destroy:function(){this.destroyClip&&this.destroyClip();return ab.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=t.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,c){var b,a=a.split(/[ ,]/);b=a.length;if(b===9||b===11)a[b-4]=a[b-2]=j(a[b-2])-10*c;return a.join(" ")},shadow:function(b,l,m){var n=[],d,e=this.element,o=this.renderer,c,p=e.style,g,f=e.path,h,i,k,q;f&&typeof f.value!=="string"&&(f="x");i=f;if(b){k=a(b.width,3);q=(b.opacity||.15)/k;for(d=1;d<=3;d++){h=k*2+1-2*d;m&&(i=this.cutOffPath(f.value,h+.5));g=[''];c=A(o.prepVML(g),null,{left:j(p.left)+a(b.offsetX,1),top:j(p.top)+a(b.offsetY,1)});if(m)c.cutOff=h+1;g=[''];A(o.prepVML(g),null,null,c);l?l.element.appendChild(c):e.parentNode.insertBefore(c,e);n.push(c)}this.shadows=n}return this}};r=M(ab,r);var Q={Element:r,isIE8:S.indexOf("MSIE 8.0")>-1,init:function(c,d,e){var a,b;this.alignedObjects=[];a=this.createElement(jb);b=a.element;b.style.position="relative";c.appendChild(a.element);this.isVML=!0;this.box=b;this.boxWrapper=a;this.setSize(d,e,!1);if(!k.namespaces.hcv){k.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{k.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(f){k.styleSheets[0].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,f,h,i){var d=this.createElement(),c=z(a);return g(d,{members:[],left:(c?a.x:a)+1,top:(c?a.y:f)+1,width:(c?a.width:h)-1,height:(c?a.height:i)-1,getCSS:function(a){var b=a.element,h=b.nodeName,a=a.inverted,c=this.top-(h==="shape"?b.offsetTop:0),d=this.left,b=d+this.width,f=c+this.height,c={clip:"rect("+e(a?d:c)+"px,"+e(a?f:b)+"px,"+e(a?b:f)+"px,"+e(a?c:d)+"px)"};!a&&Hb&&h==="DIV"&&g(c,{width:b+"px",height:f+"px"});return c},updateClipping:function(){b(d.members,function(a){a.css(d.getCSS(a))})}})},color:function(a,h,i,o){var H=this,f,w=/^rgba/,m,j,c=y;a&&a.linearGradient?(j="gradient"):a&&a.radialGradient&&(j="pattern");if(j){var g,n,d=a.linearGradient||a.radialGradient,k,D,B,r,C,p="",a=a.stops,q,F=[],G=function(){m=[''];A(H.prepVML(m),null,null,h)};k=a[0];q=a[a.length-1];k[0]>0&&a.unshift([0,k[1]]);q[0]<1&&a.push([1,q[1]]);b(a,function(a,b){w.test(a[1])?(f=V(a[1]),g=f.get("rgb"),n=f.get("a")):(g=a[1],n=1);F.push(a[0]*100+"% "+g);b?(B=n,r=g):(D=n,C=g)});if(i==="fill")if(j==="gradient")i=d.x1||d[0]||0,a=d.y1||d[1]||0,k=d.x2||d[2]||0,d=d.y2||d[3]||0,p='angle="'+(90-x.atan((d-a)/(k-i))*180/cb)+'"',G();else{var c=d.r,E=c*2,v=c*2,z=d.cx,t=d.cy,l=h.radialReference,e,c=function(){l&&(e=o.getBBox(),z+=(l[0]-e.x)/e.width-.5,t+=(l[1]-e.y)/e.height-.5,E*=l[2]/e.width,v*=l[2]/e.height);p='src="'+u.global.VMLRadialGradientURL+'" size="'+E+","+v+'" origin="0.5,0.5" position="'+z+","+t+'" color2="'+C+'" ';G()};o.added?c():s(o,"add",c);c=r}else c=g}else if(w.test(a)&&h.tagName!=="IMG")f=V(a),m=["<",i,' opacity="',f.get("a"),'"/>'],A(this.prepVML(m),null,null,h),c=f.get("rgb");else{c=h.getElementsByTagName(i);if(c.length)c[0].opacity=1,c[0].type="solid";c=a}return c},prepVML:function(a){var b=this.isIE8,a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):(a=a.replace("<","1&&a.attr({x:c,y:d,width:e,height:f});return a},rect:function(a,d,e,f,g,h){var b=this.symbol("rect");b.r=z(a)?a.r:g;return b.attr(z(a)?a:b.crisp(h,a,d,c(e,0),c(f,0)))},invertChild:function(b,c){var a=c.style;o(b,{flip:"x",left:j(a.width)-1,top:j(a.height)-1,rotation:-90})},symbols:{arc:function(b,c,a,g,f){var d=f.start,h=f.end,e=f.r||a||g,a=f.innerR,g=B(d),i=H(d),j=B(h),k=H(h);if(h-d===0)return["x"];d=["wa",b-e,c-e,b+e,c+e,b+e*g,c+e*i,b+e*j,c+e*k];f.open&&!a&&d.push("e","M",b,c);d.push("at",b-a,c-a,b+a,c+a,b+a*j,c+a*k,b+a*g,c+a*i,"x","e");d.isArc=!0;return d},circle:function(a,b,c,d,e){e&&(c=d=2*e.r);e&&e.isCircle&&(a-=c/2,b-=d/2);return["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(c,e,h,i,g){var b=c+h,f=e+i,a;!d(g)||!g.r?(b=eb.prototype.symbols.square.apply(0,arguments)):(a=n(g.r,h,i),b=["M",c+a,e,"L",b-a,e,"wa",b-2*a,e,b,e+2*a,b-a,e,b,e+a,"L",b,f-a,"wa",b-2*a,f-2*a,b,f,b,f-a,b-a,f,"L",c+a,f,"wa",c,f-2*a,c+2*a,f,c+a,f,c,f-a,"L",c,e+a,"wa",c,e,c+2*a,e+2*a,c,e+a,c+a,e,"x","e"]);return b}}};Highcharts.VMLRenderer=r=function(){this.init.apply(this,arguments)};r.prototype=h(eb.prototype,Q);yb=r}eb.prototype.measureSpanWidth=function(b,c){var a=k.createElement("span"),d=k.createTextNode(b);a.appendChild(d);o(a,c);this.box.appendChild(a);return a.offsetWidth};var uc;if(I)Highcharts.CanVGRenderer=r=function(){db="http://www.w3.org/1999/xhtml"},r.prototype.symbols={},uc=function(){function b(){for(var c=a.length,b=0;bg&&(f=!1)):b+c>l&&(b=l-c,a&&b+h0&&f.height>0){g=h({align:m&&i&&"center",x:m?!i&&4:10,verticalAlign:!m&&i&&"middle",y:m?i?16:10:i?6:-4,rotation:m&&!i&&90},g);if(!l)j.label=l=y.text(g.text,0,0,g.useHTML).attr({align:g.textAlign||g.align,rotation:g.rotation,zIndex:t}).css(g.style).add();f=[b[1],b[4],a(b[6],b[1])];b=[b[2],b[5],a(b[7],b[2])];m=nb(f);i=nb(b);l.align(g,!1,{x:m,y:i,width:Z(f)-m,height:Z(b)-i});l.show()}else l&&l.hide();return j},destroy:function(){L(this.axis.plotLinesAndBands,this);delete this.axis;ob(this)}};oc.prototype={destroy:function(){ob(this,this.axis)},render:function(c){var a=this.options,b=a.format,b=b?hb(b,this):a.formatter.call(this);this.label?this.label.attr({text:b,visibility:"hidden"}):(this.label=this.axis.chart.renderer.text(b,0,0,a.useHTML).css(a.style).attr({align:this.textAlign,rotation:a.rotation,visibility:"hidden"}).add(c))},setOffset:function(i,f){var a=this.axis,e=a.chart,b=e.inverted,c=this.isNegative,d=a.translate(this.percent?100:this.total,0,0,0,1),a=a.translate(0),a=p(d-a),h=e.xAxis[0].translate(this.x)+i,g=e.plotHeight,c={x:b?c?d:d-a:h,y:b?g-h-f:c?g-d-a:g-d,width:b?a:f,height:b?f:a};if(b=this.label)b.align(this.alignOptions,null,c),c=b.alignAttr,b.attr({visibility:this.options.crop===!1||e.isInsidePlot(c.x,c.y)?C?"inherit":"visible":"hidden"})}};Fb.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:q,lineColor:"#C0D0E0",lineWidth:1,minPadding:.01,maxPadding:.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:"#4d759e",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return fb(this.total,-1)},style:q.style}},defaultLeftAxisOptions:{labels:{x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-5},title:{rotation:0}},init:function(b,e){var c=e.isX;this.horiz=b.inverted?!c:c;this.xOrY=(this.isXAxis=c)?"x":"y";this.opposite=e.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(e);var a=this.options,g=a.type;this.labelFormatter=a.labels.formatter||this.defaultLabelFormatter;this.userOptions=e;this.minPixelPadding=0;this.chart=b;this.reversed=a.reversed;this.zoomEnabled=a.zoomEnabled!==!1;this.categories=a.categories||g==="category";this.names=[];this.isLog=g==="logarithmic";this.isDatetimeAxis=g==="datetime";this.isLinked=d(a.linkedTo);this.tickmarkOffset=this.categories&&a.tickmarkPlacement==="between"?.5:0;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=a.minRange||a.maxZoom;this.range=a.range;this.offset=a.offset||0;this.stacks={};this.oldStacks={};this.stackExtremes={};this.min=this.max=null;var h,a=this.options.events;U(this,b.axes)===-1&&(b.axes.push(this),b[c?"xAxis":"yAxis"].push(this));this.series=this.series||[];if(b.inverted&&c&&this.reversed===f)this.reversed=!0;this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(h in a)s(this,h,a[h]);if(this.isLog)this.val2lin=R,this.lin2val=K},setOptions:function(a){this.options=h(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,([this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions])[this.side],h(u[this.isXAxis?"xAxis":"yAxis"],a))},update:function(c,d){var b=this.chart,c=b.options[this.xOrY+"Axis"][this.options.index]=h(this.userOptions,c);this.destroy(!0);this._addedPlotLB=this.userMin=this.userMax=f;this.init(b,g(c,{events:f}));b.isDirtyBox=!0;a(d,!0)&&b.redraw()},remove:function(e){var c=this.chart,d=this.xOrY+"Axis";b(this.series,function(a){a.remove(!1)});L(c.axes,this);L(c[d],this);c.options[d].splice(this.options.index,1);b(c[d],function(a,b){a.options.index=b});this.destroy();c.isDirtyBox=!0;a(e,!0)&&c.redraw()},defaultLabelFormatter:function(){var c=this.axis,b=this.value,e=c.categories,h=this.dateTimeLabelFormat,g=u.lang.numericSymbols,d=g&&g.length,a,i=c.options.labels.format,c=c.isLog?b:c.tickInterval;if(i)a=hb(i,this);else if(e)a=b;else if(h)a=Mb(h,b);else if(d&&c>=1e3)for(;d--&&a===f;)e=Math.pow(1e3,d+1),c>=e&&g[d]!==null&&(a=fb(b/e,-1)+g[d]);a===f&&(a=b>=1e3?fb(b,0):fb(b,-1));return a},getSeriesExtremes:function(){var e=this,f=e.chart;e.hasVisibleSeries=!1;e.dataMin=e.dataMax=null;e.stackExtremes={};e.buildStacks();b(e.series,function(g){if(g.visible||!f.options.chart.ignoreHiddenSeries){var b;b=g.options.threshold;var h;e.hasVisibleSeries=!0;e.isLog&&b<=0&&(b=null);if(e.isXAxis){if(b=g.xData,b.length)e.dataMin=n(a(e.dataMin,b[0]),nb(b)),e.dataMax=c(a(e.dataMax,b[0]),Z(b))}else{g.getExtremes();h=g.dataMax;g=g.dataMin;if(d(g)&&d(h))e.dataMin=n(a(e.dataMin,g),g),e.dataMax=c(a(e.dataMax,h),h);if(d(b))if(e.dataMin>=b)e.dataMin=b,e.ignoreMinPadding=!0;else if(e.dataMaxg+this.width)f=!0}else if(a=g,i=n-this.right,bh+this.height)f=!0;return f&&!m?null:c.renderer.crispLine(["M",a,b,"L",i,j],l||0)},getPlotBandPath:function(c,d){var a=this.getPlotLinePath(d),b=this.getPlotLinePath(c);b&&a?b.push(a[4],a[5],a[1],a[2]):(b=null);return b},getLinearTickPositions:function(b,a,c){for(var d,a=N(v(a/b)*b),c=N(bb(c/b)*b),e=[];a<=c;){e.push(a);a=N(a+b);if(a===d)break;d=a}return e},getLogTickPositions:function(b,d,c,f){var h=this.options,g=this.len,i=[];if(!f)this._minorAutoInterval=null;if(b>=.5)b=e(b),i=this.getLinearTickPositions(b,d,c);else if(b>=.08)for(var g=v(d),j,n,l,k,m,h=b>.3?[1,2,4]:b>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];gd&&(!f||k<=c)&&i.push(k),k>c&&(m=!0),k=l}else if(d=K(d),c=K(c),b=h[f?"minorTickInterval":"tickInterval"],b=a(b==="auto"?null:b,this._minorAutoInterval,(c-d)*(h.tickPixelInterval/(f?5:1))/((f?g/this.tickPositions.length:g)||1)),b=Sb(b,null,Rb(b)),i=rb(this.getLinearTickPositions(b,d,c),R),!f)this._minorAutoInterval=b/5;if(!f)this.tickInterval=b;return i},getMinorTickPositions:function(){var c=this.options,a=this.tickPositions,d=this.minorTickInterval,b=[],e;if(this.isLog){e=a.length;for(c=1;c=this.minRange,k,j,m,l,p;if(this.isXAxis&&this.minRange===f&&!this.isLog)d(i.min)||d(i.max)?(this.minRange=null):(b(this.series,function(a){l=a.xData;for(j=p=a.xIncrement?1:l.length-1;j>0;j--)if(m=l[j]-l[j-1],k===f||mh&&(b=0);i=c(i,b);f=c(f,J(k)?0:b/2);g=c(g,k==="on"?0:b);!e.noSharedTooltip&&d(j)&&(a=d(a)?n(a,j):j)}),e=this.ordinalSlope&&a?this.ordinalSlope/a:1,this.minPointOffset=f*=e,this.pointRangePadding=g*=e,this.pointRange=n(i,h),this.closestPointRange=a;if(k)this.oldTransA=j;this.translationSlope=this.transA=j=this.len/(h+g||1);this.transB=this.horiz?this.left:this.bottom;this.minPixelPadding=j*f},setTickPositions:function(g){var e=this,h=e.chart,f=e.options,j=e.isLog,k=e.isDatetimeAxis,p=e.isXAxis,i=e.isLinked,q=e.options.tickPositioner,r=f.maxPadding,s=f.minPadding,l=f.tickInterval,t=f.minTickInterval,m=f.tickPixelInterval,u,o=e.categories;i?(e.linkedParent=h[p?"xAxis":"yAxis"][f.linkedTo],h=e.linkedParent.getExtremes(),e.min=a(h.min,h.dataMin),e.max=a(h.max,h.dataMax),f.type!==e.linkedParent.options.type&&P(11,1)):(e.min=a(e.userMin,f.min,e.dataMin),e.max=a(e.userMax,f.max,e.dataMax));if(j)!g&&n(e.min,a(e.dataMin,e.min))<=0&&P(10,1),e.min=N(R(e.min)),e.max=N(R(e.max));if(e.range&&(e.userMin=e.min=c(e.min,e.max-e.range),e.userMax=e.max,g))e.range=null;e.beforePadding&&e.beforePadding();e.adjustForMinRange();if(!o&&!e.usePercentage&&!i&&d(e.min)&&d(e.max)&&(h=e.max-e.min)){if(!d(f.min)&&!d(e.userMin)&&s&&(e.dataMin<0||!e.ignoreMinPadding))e.min-=h*s;if(!d(f.max)&&!d(e.userMax)&&r&&(e.dataMax>0||!e.ignoreMaxPadding))e.max+=h*r}e.min===e.max||e.min===void 0||e.max===void 0?(e.tickInterval=1):i&&!l&&m===e.linkedParent.options.tickPixelInterval?(e.tickInterval=e.linkedParent.tickInterval):(e.tickInterval=a(l,o?1:(e.max-e.min)*m/c(e.len,m)),!d(l)&&e.lenc(2*e.len,200)&&P(19,!0),g=k?(e.getNonLinearTimeTicks||gc)(ec(e.tickInterval,f.units),e.min,e.max,f.startOfWeek,e.ordinalPositions,e.closestPointRange,!0):j?e.getLogTickPositions(e.tickInterval,e.min,e.max):e.getLinearTickPositions(e.tickInterval,e.min,e.max),u&&g.splice(1,g.length-2),e.tickPositions=g;if(!i)j=g[0],k=g[g.length-1],i=e.minPointOffset||0,f.startOnTick?(e.min=j):e.min-i>j&&g.shift(),f.endOnTick?(e.max=k):e.max+i(a[d]||0)&&this.options.alignTicks!==!1)a[d]=b.length;c.maxTicks=a},adjustTickAmount:function(){var a=this._maxTicksKey,b=this.tickPositions,c=this.chart.maxTicks;if(c&&c[a]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1){var e=this.tickAmount,f=b.length;this.tickAmount=a=c[a];if(f=this.dataMax&&(b=f));this.displayBtn=a!==f||b!==f;this.setExtremes(a,b,!1,f,{trigger:"zoom"});return!0},setAxisSize:function(){var d=this.chart,b=this.options,e=b.offsetLeft||0,i=b.offsetRight||0,h=this.horiz,f,g;this.left=g=a(b.left,d.plotLeft+e);this.top=f=a(b.top,d.plotTop);this.width=e=a(b.width,d.plotWidth-e+i);this.height=b=a(b.height,d.plotHeight);this.bottom=d.chartHeight-b-f;this.right=d.chartWidth-e-g;this.len=c(h?e:b,0);this.pos=h?g:f},getExtremes:function(){var a=this.isLog;return{min:a?N(K(this.min)):this.min,max:a?N(K(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?K(this.min):this.min,b=b?K(this.max):this.max;c>a||a===null?(a=c):b15&&b<165?"right":b>195&&b<345?"left":"center"},getOffset:function(){var e=this,l=e.chart,t=l.renderer,k=e.options,q=e.tickPositions,j=e.ticks,y=e.horiz,i=e.side,A=l.inverted?([1,0,3,2])[i]:i,n,B=0,C,D=0,g=k.title,h=k.labels,o=0,x=l.axisOffset,E=l.clipOffset,z=([-1,1,1,-1])[i],p,s=1,F=a(h.maxStaggerLines,5),w,m,r,u;e.hasData=n=e.hasVisibleSeries||d(e.min)&&d(e.max)&&!!q;e.showAxis=l=n||a(k.showEmpty,!0);e.staggerLines=e.horiz&&h.staggerLines;if(!e.axisGroup)e.gridGroup=t.g("grid").attr({zIndex:k.gridZIndex||1}).add(),e.axisGroup=t.g("axis").attr({zIndex:k.zIndex||2}).add(),e.labelGroup=t.g("axis-labels").attr({zIndex:h.zIndex||7}).add();if(n||e.isLinked){e.labelAlign=a(h.align||e.autoLabelAlign(h.rotation));b(q,function(a){j[a]?j[a].addLabel():(j[a]=new qb(e,a))});if(e.horiz&&!e.staggerLines&&F&&!h.rotation){for(p=e.reversed?[].concat(q).reverse():q;s1)e.staggerLines=s}b(q,function(a){if(i===0||i===2||({1:"left",3:"right"})[i]===e.labelAlign)o=c(j[a].getLabelSize(),o)});if(e.staggerLines)o*=e.staggerLines,e.labelOffset=o}else for(p in j)j[p].destroy(),delete j[p];if(g&&g.text&&g.enabled!==!1){if(!e.axisTitle)e.axisTitle=t.text(g.text,0,0,g.useHTML).attr({zIndex:7,rotation:g.rotation||0,align:g.textAlign||({low:"left",middle:"center",high:"right"})[g.align]}).css(g.style).add(e.axisGroup),e.axisTitle.isNew=!0;if(l)B=e.axisTitle.getBBox()[y?"height":"width"],D=a(g.margin,y?5:10),C=g.offset;e.axisTitle[l?"show":"hide"]()}e.offset=z*a(k.offset,x[i]);e.axisTitleMargin=a(C,o+D+(i!==2&&o&&z*k.labels[y?"y":"x"]));x[i]=c(x[i],e.axisTitleMargin+B+z*e.offset);E[A]=c(E[A],v(k.lineWidth/2)*2)},getLinePath:function(e){var a=this.chart,d=this.opposite,b=this.offset,c=this.horiz,f=this.left+(d?this.width:0)+b,b=a.chartHeight-this.bottom-(d?this.height:0)+b;d&&(e*=-1);return a.renderer.crispLine(["M",c?this.left:f,c?b:this.top,"L",c?a.chartWidth-this.right:f,c?b:a.chartHeight-this.bottom],e)},getTitlePosition:function(){var a=this.horiz,c=this.left,g=this.top,b=this.len,d=this.options.title,e=a?c:g,f=this.opposite,h=this.offset,i=j(d.style.fontSize||12),b=({low:e+(a?0:b),middle:e+b/2,high:e+(a?b:0)})[d.align],c=(a?g+this.height:c)+(a?1:-1)*(f?-1:1)*this.axisTitleMargin+(this.side===2?i:0);return{x:a?b:c+(f?this.width:0)+h+(d.x||0),y:a?c-(f?this.height:0)+h:b+(d.y||0)}},render:function(){var a=this,j=a.chart,l=j.renderer,c=a.options,r=a.isLog,s=a.isLinked,h=a.tickPositions,m=a.axisTitle,t=a.stacks,e=a.ticks,i=a.minorTicks,g=a.alternateBands,u=c.stackLabels,v=c.alternateGridColor,o=a.tickmarkOffset,n=c.lineWidth,k,w=j.hasRendered&&d(a.oldMin)&&!isNaN(a.oldMin);k=a.hasData;var x=a.showAxis,p,q;b([e,i,g],function(a){for(var b in a)a[b].isActive=!1});if(k||s)if(a.minorTickInterval&&!a.categories&&b(a.getMinorTickPositions(),function(b){i[b]||(i[b]=new qb(a,b,"minor"));w&&i[b].isNew&&i[b].render(null,!0);i[b].render(null,!1,1)}),h.length&&(b(h.slice(1).concat([h[0]]),function(b,c){c=c===h.length-1?0:c+1;if(!s||b>=a.min&&b<=a.max)e[b]||(e[b]=new qb(a,b)),w&&e[b].isNew&&e[b].render(c,!0),e[b].render(c,!1,1)}),o&&a.min===0&&(e[-1]||(e[-1]=new qb(a,-1,null,!0)),e[-1].render(-1))),v&&b(h,function(b,c){if(c%2===0&&b1||p(e-a.y)>1))clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(d,e,f,h)},32)},hide:function(){var d=this,c;clearTimeout(this.hideTimer);if(!this.isHidden)c=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){d.label.fadeOut();d.isHidden=!0},a(this.options.hideDelay,500)),c&&b(c,function(a){a.setState()}),this.chart.hoverPoints=null},hideCrosshairs:function(){b(this.crosshairs,function(a){a&&a.hide()})},getAnchor:function(c,a){var g,d=this.chart,h=d.inverted,k=d.plotTop,i=0,j=0,l,c=O(c);g=c[0].tooltipPos;this.followPointer&&a&&(a.chartX===f&&(a=d.pointer.normalize(a)),g=[a.chartX-d.plotLeft,a.chartY-k]);g||(b(c,function(a){l=a.series.yAxis;i+=a.plotX;j+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!h&&l?l.top-k:0)}),i/=c.length,j/=c.length,g=[h?d.plotWidth-j:i,this.shared&&!h&&c.length>1&&a?a.chartY-k:h?d.plotHeight-i:j]);return rb(g,e)},getPosition:function(j,h,f){var b=this.chart,i=b.plotLeft,e=b.plotTop,k=b.plotWidth,l=b.plotHeight,g=a(this.options.distance,12),m=f.plotX,f=f.plotY,b=m+i+(b.inverted?g:-j-g),d=f-h+e+15,n;b<7&&(b=i+c(m,0)+g);b+j>i+k&&(b-=b+j-(i+k),d=f-h+e-g,n=!0);d=d&&f<=d+h&&(d=f+e+g));d+h>e+l&&(d=c(e,e+l-h-g));return{x:b,y:d}},defaultFormatter:function(e){var d=this.points||O(this),a=d[0].series,c;c=[a.tooltipHeaderFormatter(d[0])];b(d,function(b){a=b.series;c.push(a.tooltipFormatter&&a.tooltipFormatter(b)||b.point.tooltipFormatter(a.tooltipOptions.pointFormat))});c.push(e.options.footerFormat||"");return c.join("")},refresh:function(d,p){var h=this.chart,c=this.label,f=this.options,m,i,e={},j,o=[];j=f.formatter||this.defaultFormatter;var e=h.hoverPoints,n,g=f.crosshairs,k=this.shared;clearTimeout(this.hideTimer);this.followPointer=O(d)[0].series.tooltipOptions.followPointer;i=this.getAnchor(d,p);m=i[0];i=i[1];k&&(!d.series||!d.series.noSharedTooltip)?(h.hoverPoints=d,e&&b(e,function(a){a.setState()}),b(d,function(a){a.setState("hover");o.push(a.getLabelConfig())}),e={x:d[0].category,y:d[0].y},e.points=o,d=d[0]):(e=d.getLabelConfig());j=j.call(e,this);e=d.series;j===!1?this.hide():(this.isHidden&&(zb(c),c.attr("opacity",1).show()),c.attr({text:j}),n=f.borderColor||d.color||e.color||"#606060",c.attr({stroke:n}),this.updatePosition({plotX:m,plotY:i}),this.isHidden=!1);if(g){g=O(g);for(c=g.length;c--;)if(k=d.series,f=k[c?"yAxis":"xAxis"],g[c]&&f)if(e=c?a(d.stackY,d.y):d.x,f.isLog&&(e=R(e)),c===1&&k.modifyValue&&(e=k.modifyValue(e)),f=f.getPlotLinePath(e,1),this.crosshairs[c])this.crosshairs[c].attr({d:f,visibility:"visible"});else{e={"stroke-width":g[c].width||1,stroke:g[c].color||"#C0C0C0",zIndex:g[c].zIndex||2};if(g[c].dashStyle)e.dashstyle=g[c].dashStyle;this.crosshairs[c]=h.renderer.path(f).attr(e).add()}}l(h,"tooltipRefresh",{text:j,x:m+h.plotLeft,y:i+h.plotTop,borderColor:n})},updatePosition:function(b){var c=this.chart,a=this.label,a=(this.options.positioner||this.getPosition).call(this,a.width,a.height,b);this.move(e(a.x),e(a.y),b.plotX+c.plotLeft,b.plotY+c.plotTop)}};bc.prototype={init:function(c,d){var a=d.chart,f=a.events,b=I?"":a.zoomType,a=c.inverted,e;this.options=d;this.chart=c;this.zoomX=e=/x/.test(b);this.zoomY=b=/y/.test(b);this.zoomHor=e&&!a||b&&a;this.zoomVert=b&&!a||e&&a;this.runChartClick=f&&!!f.click;this.pinchDown=[];this.lastValidTouch={};if(d.tooltip.enabled)c.tooltip=new ac(c,d.tooltip);this.setDOMEvents()},normalize:function(a,d){var h,b,a=a||t.event;if(!a.target)a.target=a.srcElement;a=zc(a);b=a.touches?a.touches.item(0):a;if(!d)this.chartPosition=d=yc(this.chart.container);b.pageX===f?(h=c(a.x,a.clientX-d.left),b=a.y):(h=b.pageX-d.left,b=b.pageY-d.top);return g(a,{chartX:e(h),chartY:e(b)})},getCoordinates:function(c){var a={xAxis:[],yAxis:[]};b(this.chart.axes,function(b){a[b.isXAxis?"xAxis":"yAxis"].push({axis:b,value:b.toValue(c[b.horiz?"chartX":"chartY"])})});return a},getIndex:function(b){var a=this.chart;return a.inverted?a.plotHeight+a.plotTop-b.chartY:b.chartX-a.plotLeft},runPointActions:function(d){var a=this.chart,f=a.series,e=a.tooltip,b,k=a.hoverPoint,h=a.hoverSeries,g,c,i=a.chartWidth,j=this.getIndex(d);if(e&&this.options.tooltip.shared&&(!h||!h.noSharedTooltip)){b=[];g=f.length;for(c=0;ci&&b.splice(g,1);if(b.length&&b[0].clientX!==this.hoverX)e.refresh(b,d),this.hoverX=b[0].clientX}if(h&&h.tracker){if((a=h.tooltipPoints[j])&&a!==k)a.onMouseOver(d)}else e&&e.followPointer&&!e.isHidden&&(d=e.getAnchor([{}],d),e.updatePosition({plotX:d[0],plotY:d[1]}))},reset:function(c){var a=this.chart,e=a.hoverSeries,d=a.hoverPoint,b=a.tooltip,a=b&&b.shared?a.hoverPoints:d;(c=c&&b&&a)&&O(a)[0].plotX===f&&(c=!1);if(c)b.refresh(a);else{d&&d.onMouseOut();e&&e.onMouseOut();b&&(b.hide(),b.hideCrosshairs());this.hoverX=null}},scaleGroups:function(e,d){var a=this.chart,c;b(a.series,function(b){c=e||b.getPlotBox();b.xAxis&&b.xAxis.zoomEnabled&&(b.group.attr(c),b.markerGroup&&(b.markerGroup.attr(c),b.markerGroup.clip(d?a.clipRect:null)),b.dataLabelsGroup&&b.dataLabelsGroup.attr(c))});a.clipRect.attr(d||a.clipBox)},pinchTranslate:function(g,h,a,b,c,d,e,f){g&&this.pinchTranslateDirection(!0,a,b,c,d,e,f);h&&this.pinchTranslateDirection(!1,a,b,c,d,e,f)},pinchTranslateDirection:function(b,a,h,v,w,e,o,x){var i=this.chart,f=b?"x":"y",q=b?"X":"Y",j="chart"+q,y=b?"width":"height",s=i["plot"+(b?"Left":"Top")],g,r,c=x||1,t=i.inverted,l=i.bounds[b?"h":"v"],m=a.length===1,k=a[0][j],d=h[0][j],z=!m&&a[1][j],n=!m&&h[1][j],u,h=function(){!m&&p(k-z)>20&&(c=x||p(d-n)/p(k-z));r=(s-d)/c+k;g=i["plot"+(b?"Width":"Height")]/c};h();a=r;al.max&&(a=l.max-g,u=!0);u?(d-=.8*(d-o[f][0]),m||(n-=.8*(n-o[f][1])),h()):(o[f]=[d,n]);t||(e[f]=r-s,e[y]=g);e=t?1/c:c;w[y]=g;w[f]=a;v[t?b?"scaleY":"scaleX":"scale"+q]=c;v["translate"+q]=e*s+(d-e*k)},pinch:function(f){var a=this,e=a.chart,d=a.pinchDown,l=e.tooltip&&e.tooltip.options.followTouchMove,h=f.touches,m=h.length,i=a.lastValidTouch,o=a.zoomHor||a.pinchHor,p=a.zoomVert||a.pinchVert,j=o||p,k=a.selectionMarker,q={},s=m===1&&(a.inClass(f.target,"highcharts-tracker")&&e.runTrackerClick||e.runChartClick),r={};(j||l)&&!s&&f.preventDefault();rb(h,function(b){return a.normalize(b)});if(f.type==="touchstart")b(h,function(a,b){d[b]={chartX:a.chartX,chartY:a.chartY}}),i.x=[d[0].chartX,d[1]&&d[1].chartX],i.y=[d[0].chartY,d[1]&&d[1].chartY],b(e.axes,function(a){if(a.zoomEnabled){var d=e.bounds[a.horiz?"h":"v"],f=a.minPixelPadding,b=a.toPixels(a.dataMin),g=a.toPixels(a.dataMax),h=n(b,g),b=c(b,g);d.min=n(a.pos,h-f);d.max=c(a.pos+a.len,b+f)}});else if(d.length){if(!k)a.selectionMarker=k=g({destroy:T},e.plotBox);a.pinchTranslate(o,p,d,h,q,k,r,i);a.hasPinched=j;a.scaleGroups(q,r);!j&&l&&m===1&&this.runPointActions(a.normalize(f))}},dragStart:function(b){var a=this.chart;a.mouseIsDown=b.type;a.cancelClick=!1;a.mouseDownX=this.mouseDownX=b.chartX;a.mouseDownY=this.mouseDownY=b.chartY},drag:function(h){var b=this.chart,i=b.options.chart,a=h.chartX,c=h.chartY,m=this.zoomHor,n=this.zoomVert,d=b.plotLeft,e=b.plotTop,j=b.plotWidth,k=b.plotHeight,l,f=this.mouseDownX,g=this.mouseDownY;ad+j&&(a=d+j);ce+k&&(c=e+k);this.hasDragged=Math.sqrt(Math.pow(f-a,2)+Math.pow(g-c,2));if(this.hasDragged>10){l=b.isInsidePlot(f-d,g-e);if(b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!this.selectionMarker)this.selectionMarker=b.renderer.rect(d,e,m?1:j,n?1:k,0).attr({fill:i.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();this.selectionMarker&&m&&(a-=f,this.selectionMarker.attr({width:p(a),x:(a>0?0:a)+f}));this.selectionMarker&&n&&(a=c-g,this.selectionMarker.attr({height:p(a),y:(a>0?0:a)+g}));l&&!this.selectionMarker&&i.panning&&b.pan(h,i.panning)}},drop:function(f){var a=this.chart,e=this.hasPinched;if(this.selectionMarker){var h={xAxis:[],yAxis:[],originalEvent:f.originalEvent||f},d=this.selectionMarker,i=d.x,j=d.y,k;if(this.hasDragged||e)b(a.axes,function(a){if(a.zoomEnabled){var b=a.horiz,e=a.toValue(b?i:j),b=a.toValue(b?i+d.width:j+d.height);!isNaN(e)&&!isNaN(b)&&(h[a.xOrY+"Axis"].push({axis:a,min:n(e,b),max:c(e,b)}),k=!0)}}),k&&l(a,"selection",h,function(b){a.zoom(g(b,e?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();e&&this.scaleGroups()}if(a)o(a.container,{cursor:a._cursor}),a.cancelClick=this.hasDragged>10,a.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]},onContainerMouseDown:function(a){a=this.normalize(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(a){this.drop(a)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition,d=b.hoverSeries,a=this.normalize(a,c);c&&d&&!this.inClass(a.target,"highcharts-tracker")&&!b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&this.reset()},onContainerMouseLeave:function(){this.reset();this.chartPosition=null},onContainerMouseMove:function(a){var b=this.chart,a=this.normalize(a);a.returnValue=!1;b.mouseIsDown==="mousedown"&&this.drag(a);(this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop))&&!b.openMenu&&this.runPointActions(a)},inClass:function(a,c){for(var b;a;){if(b=i(a,"class"))if(b.indexOf(c)!==-1)return!0;else if(b.indexOf("highcharts-container")!==-1)return!1;a=a.parentNode}},onTrackerMouseOut:function(b){var a=this.chart.hoverSeries;a&&!a.options.stickyTracking&&!this.inClass(b.toElement||b.relatedTarget,"highcharts-tooltip")&&a.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,h=b.plotLeft,i=b.plotTop,j=b.inverted,d,e,f,a=this.normalize(a);a.cancelBubble=!0;if(!b.cancelClick)c&&this.inClass(a.target,"highcharts-tracker")?(d=this.chartPosition,e=c.plotX,f=c.plotY,g(c,{pageX:d.left+h+(j?b.plotWidth-f:e),pageY:d.top+i+(j?b.plotHeight-e:f)}),l(c.series,"click",g(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(g(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-h,a.chartY-i)&&l(b,"click",a))},onContainerTouchStart:function(a){var b=this.chart;a.touches.length===1?(a=this.normalize(a),b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)?(this.runPointActions(a),this.pinch(a)):this.reset()):a.touches.length===2&&this.pinch(a)},onContainerTouchMove:function(a){(a.touches.length===1||a.touches.length===2)&&this.pinch(a)},onDocumentTouchEnd:function(a){this.drop(a)},setDOMEvents:function(){var c=this,a=c.chart.container,d;this._events=d=[[a,"onmousedown","onContainerMouseDown"],[a,"onmousemove","onContainerMouseMove"],[a,"onclick","onContainerClick"],[a,"mouseleave","onContainerMouseLeave"],[k,"mousemove","onDocumentMouseMove"],[k,"mouseup","onDocumentMouseUp"]];Kb&&d.push([a,"ontouchstart","onContainerTouchStart"],[a,"ontouchmove","onContainerTouchMove"],[k,"touchend","onDocumentTouchEnd"]);b(d,function(a){c["_"+a[2]]=function(b){c[a[2]](b)};a[1].indexOf("on")===0?(a[0][a[1]]=c["_"+a[2]]):s(a[0],a[1],c["_"+a[2]])})},destroy:function(){var a=this;b(a._events,function(b){b[1].indexOf("on")===0?(b[0][b[1]]=null):F(b[0],b[1],a["_"+b[2]])});delete a._events;clearInterval(a.tooltipTimeout)}};Gb.prototype={init:function(g,c){var b=this,d=c.itemStyle,e=a(c.padding,8),f=c.itemMarginTop||0;this.options=c;if(c.enabled)b.baseline=j(d.fontSize)+3+f,b.itemStyle=d,b.itemHiddenStyle=h(d,c.itemHiddenStyle),b.itemMarginTop=f,b.padding=e,b.initialItemX=e,b.initialItemY=e-5,b.maxItemWidth=0,b.chart=g,b.itemHeight=0,b.lastLineHeight=0,b.render(),s(b.chart,"endResize",function(){b.positionCheckboxes()})},colorizeItem:function(a,i){var d=this.options,c=a.legendItem,j=a.legendLine,e=a.legendSymbol,b=this.itemHiddenStyle.color,d=i?d.itemStyle.color:b,g=i?a.color:b,b=a.options&&a.options.marker,k={stroke:g,fill:g},h;c&&c.css({fill:d,color:d});j&&j.attr({stroke:g});if(e){if(b&&e.isMarker)for(h in b=a.convertAttribs(b),b)c=b[h],c!==f&&(k[h]=c);e.attr(k)}},positionItem:function(a){var c=this.options,f=c.symbolPadding,c=!c.rtl,b=a._legendItemPos,d=b[0],b=b[1],e=a.checkbox;a.legendGroup&&a.legendGroup.translate(c?d:this.legendWidth-d-2*f-4,b);if(e)e.x=d,e.y=b},destroyItem:function(a){var c=a.checkbox;b(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});c&&wb(a.checkbox)},destroy:function(){var a=this.group,b=this.box;if(b)this.box=b.destroy();if(a)this.group=a.destroy()},positionCheckboxes:function(d){var c=this.group.alignAttr,a,e=this.clipHeight||this.legendHeight;if(c)a=c.translateY,b(this.allItems,function(g){var b=g.checkbox,f;b&&(f=a+b.y+(d||0)+3,o(b,{left:c.translateX+g.legendItemWidth+b.x-20+"px",top:f+"px",display:f>a-6&&f(x||m.chartWidth-2*u-j))b.itemX=j,b.itemY+=o+b.lastLineHeight+p,b.lastLineHeight=0;b.maxItemWidth=c(b.maxItemWidth,e);b.lastItemY=o+b.itemY+p;b.lastLineHeight=c(f,b.lastLineHeight);d._legendItemPos=[b.itemX,b.itemY];k?(b.itemX+=e):(b.itemY+=o+f+p,b.lastLineHeight=f);b.offsetWidth=x||c((k?b.itemX-j-v:e)+u,b.offsetWidth)},render:function(){var c=this,m=c.chart,l=m.renderer,k=c.group,d,n,j,e,h=c.box,i=c.options,p=c.padding,o=i.borderWidth,q=i.backgroundColor;c.itemX=c.initialItemX;c.itemY=c.initialItemY;c.offsetWidth=0;c.lastItemY=0;if(!k)c.group=k=l.g("legend").attr({zIndex:7}).add(),c.contentGroup=l.g().attr({zIndex:1}).add(k),c.scrollGroup=l.g().add(c.contentGroup);c.renderTitle();d=[];b(m.series,function(b){var c=b.options;if(a(c.showInLegend,c.linkedTo===f?f:!1,!0))d=d.concat(b.legendItems||(c.legendType==="point"?b.data:b))});mc(d,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});i.reversed&&d.reverse();c.allItems=d;c.display=n=!!d.length;b(d,function(a){c.renderItem(a)});j=i.width||c.offsetWidth;e=c.lastItemY+c.lastLineHeight+c.titleHeight;e=c.handleOverflow(e);if(o||q){j+=p;e+=p;if(h){if(j>0&&e>0)h[h.isNew?"attr":"animate"](h.crisp(null,null,null,j,e)),h.isNew=!1}else c.box=h=l.rect(0,0,j,e,i.borderRadius,o||0).attr({stroke:i.borderColor,"stroke-width":o||0,fill:q||y}).add(k).shadow(i.shadow),h.isNew=!0;h[n?"show":"hide"]()}c.legendWidth=j;c.legendHeight=e;b(d,function(a){c.positionItem(a)});n&&k.align(g({width:j,height:e},i),!0,"spacingBox");m.isResizing||this.positionCheckboxes()},handleOverflow:function(f){var g=this,d=this.chart,h=d.renderer,e=this.options,b=e.y,b=d.spacingBox.height+(e.verticalAlign==="top"?-b:b)-this.padding,l=e.maxHeight,i=this.clipRect,k=e.navigation,m=a(k.animation,!0),j=k.arrowSize||12,c=this.nav;e.layout==="horizontal"&&(b/=2);l&&(b=n(b,l));if(f>b&&!e.useHTML){this.clipHeight=d=b-20-this.titleHeight;this.pageCount=bb(f/d);this.currentPage=a(this.currentPage,1);this.fullHeight=f;if(!i)i=g.clipRect=h.clipRect(0,0,9999,0),g.contentGroup.clip(i);i.attr({height:d});if(!c)this.nav=c=h.g().attr({zIndex:1}).add(this.group),this.up=h.symbol("triangle",0,0,j,j).on("click",function(){g.scroll(-1,m)}).add(c),this.pager=h.text("",15,10).css(k.style).add(c),this.down=h.symbol("triangle-down",0,0,j,j).on("click",function(){g.scroll(1,m)}).add(c);g.scroll(0);f=b}else if(c)i.attr({height:d.chartHeight}),c.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0;return f},scroll:function(j,e){var c=this.pageCount,a=this.currentPage+j,b=this.clipHeight,d=this.options.navigation,g=d.activeColor,h=d.inactiveColor,d=this.pager,i=this.padding;a>c&&(a=c);if(a>0)e!==f&&pb(e,this.chart),this.nav.attr({translateX:i,translateY:b+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:a===1?h:g}).css({cursor:a===1?"default":"pointer"}),d.attr({text:a+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:a===c?h:g}).css({cursor:a===c?"default":"pointer"}),b=-n(b*(a-1),this.fullHeight-b+i)+1,this.scrollGroup.animate({translateY:b}),d.attr({text:a+"/"+c}),this.currentPage=a,this.positionCheckboxes(b)}};/Trident\/7\.0/.test(S)&&Qb(Gb.prototype,"positionItem",function(c,d){var a=this,b=function(){c.call(a,d)};a.chart.renderer.forExport?b():setTimeout(b)});cc.prototype={init:function(d,i){var e,c=d.series;d.series=null;e=h(u,d);e.series=d.series=c;c=e.chart;this.margin=this.splashArray("margin",c);this.spacing=this.splashArray("spacing",c);var f=c.events;this.bounds={h:{},v:{}};this.callback=i;this.isResizing=0;this.options=e;this.axes=[];this.series=[];this.hasCartesianSeries=c.showAxes;var b=this,g;b.index=lb.length;lb.push(b);c.reflow!==!1&&s(b,"load",function(){b.initReflow()});if(f)for(g in f)s(b,g,f[g]);b.xAxis=[];b.yAxis=[];b.animation=I?!1:a(c.animation,!0);b.pointCount=0;b.counters=new lc;b.firstRender()},initSeries:function(b){var a=this.options.chart;(a=D[b.type||a.type||a.defaultSeriesType])||P(17,!0);a=new a;a.init(this,b);return a},addSeries:function(c,d,f){var e,b=this;c&&(d=a(d,!0),l(b,"addSeries",{options:c},function(){e=b.initSeries(c);b.isDirtyLegend=!0;b.linkSeries();d&&b.redraw(f)}));return e},addAxis:function(d,e,f,g){var b=e?"xAxis":"yAxis",c=this.options;new Fb(this,h(d,{index:this[b].length,isX:e}));c[b]=O(c[b]||{});c[b].push(d);a(f,!0)&&this.redraw(g)},isInsidePlot:function(a,b,c){var d=c?b:a,a=c?a:b;return d>=0&&d<=this.plotWidth&&a>=0&&a<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&b(this.axes,function(a){a.adjustTickAmount()});this.maxTicks=null},redraw:function(a){var e=this.axes,c=this.series,f=this.pointer,j=this.legend,k=this.isDirtyLegend,h,m,i=this.isDirtyBox,n=c.length,d=n,o=this.renderer,p=o.isHidden(),q=[];pb(a,this);p&&this.cloneRenderTo();for(this.layOutTitles();d--;)if(a=c[d],a.options.stacking&&(h=!0,a.isDirty)){m=!0;break}if(m)for(d=n;d--;)if(a=c[d],a.options.stacking)a.isDirty=!0;b(c,function(a){a.isDirty&&a.options.legendType==="point"&&(k=!0)});if(k&&j.options.enabled)j.render(),this.isDirtyLegend=!1;h&&this.getStacks();if(this.hasCartesianSeries){if(!this.isResizing)this.maxTicks=null,b(e,function(a){a.setScale()});this.adjustTickAmounts();this.getMargins();b(e,function(a){a.isDirty&&(i=!0)});b(e,function(a){if(a.isDirtyExtremes)a.isDirtyExtremes=!1,q.push(function(){l(a,"afterSetExtremes",g(a.eventArgs,a.getExtremes()));delete a.eventArgs});(i||h)&&a.redraw()})}i&&this.drawChartBox();b(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});f&&f.reset&&f.reset(!0);o.draw();l(this,"redraw");p&&this.cloneRenderTo(!0);b(q,function(a){a.call()})},showLoading:function(d){var c=this.options,a=this.loadingDiv,b=c.loading;if(!a)this.loadingDiv=a=A(jb,{className:"highcharts-loading"},g(b.style,{zIndex:10,display:y}),this.container),this.loadingSpan=A("span",null,b.labelStyle,a);this.loadingSpan.innerHTML=d||c.lang.loading;if(!this.loadingShown)o(a,{opacity:0,display:"",left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px"}),Pb(a,{opacity:b.style.opacity},{duration:b.showDuration||0}),this.loadingShown=!0},hideLoading:function(){var b=this.options,a=this.loadingDiv;a&&Pb(a,{opacity:0},{duration:b.loading.hideDuration||100,complete:function(){o(a,{display:y})}});this.loadingShown=!1},"get":function(e){for(var b=this.axes,c=this.series,d,a=0;an(h.dataMin,h.min)&&g=18&&a<=25&&(a=15);e&&(e.css({width:(b.width||f)+"px"}).align(g({y:a+c.margin},b),!1,"spacingBox"),!b.floating&&!b.verticalAlign&&(a=bb(a+e.getBBox().height)));this.titleOffset=a},getChartSize:function(){var b=this.options.chart,d=this.renderToClone||this.renderTo;this.containerWidth=Lb(d,"width");this.containerHeight=Lb(d,"height");this.chartWidth=c(0,b.width||this.containerWidth||600);this.chartHeight=c(0,a(b.height,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(c){var a=this.renderToClone,b=this.container;c?a&&(this.renderTo.appendChild(b),wb(a),delete this.renderToClone):(b&&b.parentNode===this.renderTo&&this.renderTo.removeChild(b),this.renderToClone=a=this.renderTo.cloneNode(0),o(a,{position:"absolute",top:"-9999px",display:"block"}),k.body.appendChild(a),b&&a.appendChild(b))},getContainer:function(){var a,c=this.options.chart,b,d,e;this.renderTo=a=c.renderTo;e="highcharts-"+dc++;if(J(a))this.renderTo=a=k.getElementById(a);a||P(13,!0);b=j(i(a,"data-highcharts-chart"));!isNaN(b)&&lb[b]&&lb[b].destroy();i(a,"data-highcharts-chart",this.index);a.innerHTML="";a.offsetWidth||this.cloneRenderTo();this.getChartSize();b=this.chartWidth;d=this.chartHeight;this.container=a=A(jb,{className:"highcharts-container"+(c.className?" "+c.className:""),id:e},g({position:"relative",overflow:"hidden",width:b+"px",height:d+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},c.style),this.renderToClone||a);this._cursor=a.style.cursor;this.renderer=c.forExport?new eb(a,b,d,!0):new yb(a,b,d);I&&this.renderer.create(this,a,b,d)},getMargins:function(){var g=this.spacing,h,i=this.legend,e=this.margin,f=this.options.legend,j=a(f.margin,10),k=f.x,l=f.y,m=f.align,n=f.verticalAlign,o=this.titleOffset;this.resetMargins();h=this.axisOffset;if(o&&!d(e[0]))this.plotTop=c(this.plotTop,o+this.options.title.margin+g[0]);if(i.display&&!f.floating)if(m==="right"){if(!d(e[1]))this.marginRight=c(this.marginRight,i.legendWidth-k+j+g[1])}else if(m==="left"){if(!d(e[3]))this.plotLeft=c(this.plotLeft,i.legendWidth+k+j+g[3])}else if(n==="top"){if(!d(e[0]))this.plotTop=c(this.plotTop,i.legendHeight+l+j+g[0])}else if(n==="bottom"&&!d(e[2]))this.marginBottom=c(this.marginBottom,i.legendHeight-l+j+g[2]);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&b(this.axes,function(a){a.getOffset()});d(e[3])||(this.plotLeft+=h[3]);d(e[0])||(this.plotTop+=h[0]);d(e[2])||(this.marginBottom+=h[2]);d(e[1])||(this.marginRight+=h[1]);this.setChartSize()},initReflow:function(){function b(b){var f=c.width||Lb(d,"width"),g=c.height||Lb(d,"height"),b=b?b.target:t;if(!a.hasUserSize&&f&&g&&(b===t||b===k)){if(f!==a.containerWidth||g!==a.containerHeight)clearTimeout(e),a.reflowTimeout=e=setTimeout(function(){if(a.container)a.setSize(f,g,!1),a.hasUserSize=null},100);a.containerWidth=f;a.containerHeight=g}}var a=this,c=a.options.chart,d=a.renderTo,e;a.reflow=b;s(t,"resize",b);s(a,"destroy",function(){F(t,"resize",b)})},setSize:function(j,k,g){var a=this,f,h,i;a.isResizing+=1;i=function(){a&&l(a,"endResize",null,function(){a.isResizing-=1})};pb(g,a);a.oldChartHeight=a.chartHeight;a.oldChartWidth=a.chartWidth;if(d(j))a.chartWidth=f=c(0,e(j)),a.hasUserSize=!!f;if(d(k))a.chartHeight=h=c(0,e(k));o(a.container,{width:f+"px",height:h+"px"});a.setChartSize(!0);a.renderer.setSize(f,h,g);a.maxTicks=null;b(a.axes,function(a){a.isDirty=!0;a.setScale()});b(a.series,function(a){a.isDirty=!0});a.isDirtyLegend=!0;a.isDirtyBox=!0;a.getMargins();a.redraw(g);a.oldChartHeight=null;l(a,"resize");kb===!1?i():setTimeout(i,kb&&kb.duration||500)},setChartSize:function(n){var f=this.inverted,g=this.renderer,a=this.chartWidth,m=this.chartHeight,o=this.options.chart,d=this.spacing,h=this.clipOffset,k,l,i,j;this.plotLeft=k=e(this.plotLeft);this.plotTop=l=e(this.plotTop);this.plotWidth=i=c(0,e(a-k-this.marginRight));this.plotHeight=j=c(0,e(m-l-this.marginBottom));this.plotSizeX=f?j:i;this.plotSizeY=f?i:j;this.plotBorderWidth=o.plotBorderWidth||0;this.spacingBox=g.spacingBox={x:d[3],y:d[0],width:a-d[3]-d[1],height:m-d[0]-d[2]};this.plotBox=g.plotBox={x:k,y:l,width:i,height:j};a=2*v(this.plotBorderWidth/2);f=bb(c(a,h[3])/2);g=bb(c(a,h[0])/2);this.clipBox={x:f,y:g,width:v(this.plotSizeX-c(a,h[1])/2-f),height:v(this.plotSizeY-c(a,h[2])/2-g)};n||b(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var b=this.spacing,c=this.margin;this.plotTop=a(c[0],b[0]);this.marginRight=a(c[1],b[1]);this.marginBottom=a(c[2],b[2]);this.plotLeft=a(c[3],b[3]);this.axisOffset=[0,0,0,0];this.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,d=this.renderer,m=this.chartWidth,n=this.chartHeight,b=this.chartBackground,o=this.plotBackground,j=this.plotBorder,p=this.plotBGImage,e=a.borderWidth||0,q=a.backgroundColor,r=a.plotBackgroundColor,s=a.plotBackgroundImage,k=a.plotBorderWidth||0,c,h=this.plotLeft,g=this.plotTop,f=this.plotWidth,i=this.plotHeight,t=this.plotBox,u=this.clipRect,l=this.clipBox;c=e+(a.shadow?8:0);if(e||q)if(b)b.animate(b.crisp(null,null,null,m-c,n-c));else{b={fill:q||y};if(e)b.stroke=a.borderColor,b["stroke-width"]=e;this.chartBackground=d.rect(c/2,c/2,m-c,n-c,a.borderRadius,e).attr(b).add().shadow(a.shadow)}if(r)o?o.animate(t):(this.plotBackground=d.rect(h,g,f,i,0).attr({fill:r}).add().shadow(a.plotShadow));if(s)p?p.animate(t):(this.plotBGImage=d.image(s,h,g,f,i).add());u?u.animate({width:l.width,height:l.height}):(this.clipRect=d.clipRect(l));if(k)j?j.animate(j.crisp(null,h,g,f,i)):(this.plotBorder=d.rect(h,g,f,i,0,-k).attr({stroke:a.plotBorderColor,"stroke-width":k,zIndex:1}).add());this.isDirtyBox=!1},propFromSeries:function(){var c=this,e=c.options.chart,a,f=c.options.series,g,d;b(["inverted","angular","polar"],function(b){a=D[e.type||e.defaultSeriesType];d=c[b]||e[b]||a&&a.prototype[b];for(g=f&&f.length;!d&&g--;)(a=D[f[g].type])&&a.prototype[b]&&(d=!0);c[b]=d})},linkSeries:function(){var a=this,c=a.series;b(c,function(a){a.linkedSeries.length=0});b(c,function(c){var b=c.options.linkedTo;if(J(b)&&(b=b===":previous"?a.series[c.index-1]:a.get(b)))b.linkedSeries.push(c),c.linkedParent=b})},render:function(){var a=this,d=a.axes,e=a.renderer,f=a.options,h=f.labels,c=f.credits,i;a.setTitle();a.legend=new Gb(a,f.legend);a.getStacks();b(d,function(a){a.setScale()});a.getMargins();a.maxTicks=null;b(d,function(a){a.setTickPositions(!0);a.setMaxTicks()});a.adjustTickAmounts();a.getMargins();a.drawChartBox();a.hasCartesianSeries&&b(d,function(a){a.render()});if(!a.seriesGroup)a.seriesGroup=e.g("series-group").attr({zIndex:3}).add();b(a.series,function(a){a.translate();a.setTooltipPoints();a.render()});h.items&&b(h.items,function(c){var b=g(h.style,c.style),d=j(b.left)+a.plotLeft,f=j(b.top)+a.plotTop+12;delete b.left;delete b.top;e.text(c.html,d,f).attr({zIndex:2}).css(b).add()});if(c.enabled&&!a.credits)i=c.href,a.credits=e.text(c.text,0,0).on("click",function(){if(i)location.href=i}).attr({align:c.position.align,zIndex:8}).css(c.style).add().align(c.position);a.hasRendered=!0},destroy:function(){var a=this,e=a.axes,g=a.series,d=a.container,c,h=d&&d.parentNode;l(a,"destroy");lb[a.index]=f;a.renderTo.removeAttribute("data-highcharts-chart");F(a);for(c=e.length;c--;)e[c]=e[c].destroy();for(c=g.length;c--;)g[c]=g[c].destroy();b("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(c){var b=a[c];b&&b.destroy&&(a[c]=b.destroy())});if(d)d.innerHTML="",F(d),h&&wb(d);for(c in a)delete a[c]},isReadyToRender:function(){var a=this;return!C&&t==t.top&&k.readyState!=="complete"||I&&!t.canvg?(I?uc.push(function(){a.firstRender()},a.options.global.canvasToolsURL):k.attachEvent("onreadystatechange",function(){k.detachEvent("onreadystatechange",a.firstRender);k.readyState==="complete"&&a.firstRender()}),!1):!0},firstRender:function(){var a=this,c=a.options,d=a.callback;if(a.isReadyToRender())a.getContainer(),l(a,"init"),a.resetMargins(),a.setChartSize(),a.propFromSeries(),a.getAxes(),b(c.series||[],function(b){a.initSeries(b)}),a.linkSeries(),l(a,"beforeRender"),a.pointer=new bc(a,c),a.render(),a.renderer.draw(),d&&d.apply(a,[a]),b(a.callbacks,function(b){b.apply(a,[a])}),a.cloneRenderTo(!0),l(a,"load")},splashArray:function(c,d){var b=d[c],b=z(b)?b:[b,b,b,b];return[a(d[c+"Top"],b[0]),a(d[c+"Right"],b[1]),a(d[c+"Bottom"],b[2]),a(d[c+"Left"],b[3])]}};cc.prototype.callbacks=[];var sb=function(){};sb.prototype={init:function(a,b,c){this.series=a;this.applyOptions(b,c);this.pointAttr={};if(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,c){var b=this.series,d=b.pointValKey,a=sb.prototype.optionsToObject.call(this,a);g(this,a);this.options=this.options?g(this.options,a):a;if(d)this.y=this[d];if(this.x===f&&b)this.x=c===f?b.autoIncrement():c;return this},optionsToObject:function(a){var b={},c=this.series,d=c.pointArrayMap||["y"],e=d.length,f=0,g=0;if(typeof a==="number"||a===null)b[d[0]]=a;else if(mb(a)){if(a.length>e){c=typeof a[0];if(c==="string")b.name=a[0];else if(c==="number")b.x=a[0];f++}for(;gc+1&&d.push(a.slice(c+1,b)),c=b):b===f-1&&d.push(a.slice(c+1,b+1))});this.segments=d},setOptions:function(a){var b=this.chart.options,c=b.plotOptions,d=c[this.type];this.userOptions=a;a=h(d,c.series,a);this.tooltipOptions=h(b.tooltip,a.tooltip);d.marker===null&&delete a.marker;return a},getColor:function(){var a=this.options,c=this.userOptions,f=this.chart.options.colors,e=this.chart.counters,b;b=a.color||E[this.type].color;if(!b&&!a.colorByPoint)d(c._colorIndex)?(a=c._colorIndex):(c._colorIndex=e.color,a=e.color++),b=f[a];this.color=b;e.wrapColor(f.length)},getSymbol:function(){var a=this.userOptions,c=this.options.marker,b=this.chart,e=b.options.symbols,b=b.counters;this.symbol=c.symbol;if(!this.symbol)d(a._symbolIndex)?(a=a._symbolIndex):(a._symbolIndex=b.symbol,a=b.symbol++),this.symbol=e[a];if(/^url/.test(this.symbol))c.radius=0;b.wrapSymbol(e.length)},drawLegendSymbol:function(b){var a=this.options,f=a.marker,c=b.options,d;d=c.symbolWidth;var g=this.chart.renderer,h=this.legendGroup,b=b.baseline-e(g.fontMetrics(c.itemStyle.fontSize).b*.3);if(a.lineWidth){c={"stroke-width":a.lineWidth};if(a.dashStyle)c.dashstyle=a.dashStyle;this.legendLine=g.path(["M",0,b,"L",d,b]).attr(c).add(h)}if(f&&f.enabled)a=f.radius,this.legendSymbol=d=g.symbol(this.symbol,d/2-a,b-a,2*a,2*a).add(h),d.isMarker=!0},addPoint:function(i,h,j,d){var k=this.options,g=this.data,e=this.graph,c=this.area,l=this.chart,f=this.xData,m=this.yData,n=this.zData,o=this.xAxis&&this.xAxis.names,r=e&&e.shift||0,p=k.data,q;pb(d,l);j&&b([e,c,this.graphNeg,this.areaNeg],function(a){if(a)a.shift=r+1});if(c)c.isArea=!0;h=a(h,!0);d={series:this};this.pointClass.prototype.applyOptions.apply(d,[i]);e=d.x;c=f.length;if(this.requireSorting&&ee;)c--;f.splice(c,0,e);m.splice(c,0,this.toYData?this.toYData(d):d.y);n.splice(c,0,d.z);if(o)o[e]=d.name;p.splice(c,0,i);q&&(this.data.splice(c,0,null),this.processData());k.legendType==="point"&&this.generatePoints();j&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),f.shift(),m.shift(),n.shift(),p.shift()));this.isDirtyData=this.isDirty=!0;h&&(this.getAttribs(),l.redraw())},setData:function(d,p){var j=this.points,c=this.options,n=this.chart,l=null,e=this.xAxis,g=e&&e.names,b;this.xIncrement=null;this.pointRange=e&&e.categories?1:c.pointRange;this.colorCounter=0;var k=[],h=[],o=[],i=d?d.length:[];b=a(c.turboThreshold,1e3);var m=this.pointArrayMap,m=m&&m.length,q=!!this.toYData;if(b&&i>b){for(b=0;l===null&&bk||this.forceCrop))if(e=a.min,a=a.max,b[c-1]a)b=[],h=[];else if(b[0]a)d=this.cropData(this.xData,this.yData,e,a),b=d.xData,h=d.yData,d=d.start,i=!0;for(a=b.length-1;a>=0;a--)c=b[a]-b[a-1],c>0&&(g===f||c=j){e=c(0,b-h);break}for(;bk){f=b+h;break}return{xData:d.slice(e,f),yData:i.slice(e,f),start:e,end:f}},generatePoints:function(){var e=this.options.data,b=this.data,k,g=this.processedXData,n=this.processedYData,l=this.pointClass,h=g.length,m=this.cropStart||0,c,d=this.hasGroupedData,i,j=[],a;if(!b&&!d)b=[],b.length=e.length,b=this.data=b;for(a=0;a0),e=this.getExtremesFromAll||this.cropped||(h[d+1]||e)>=n&&(h[d-1]||e)<=i,c&&e)if(c=b.length)for(;c--;)b[c]!==null&&(g[k++]=b[c]);else g[k++]=b;this.dataMin=a(void 0,nb(g));this.dataMax=a(void 0,Z(g))},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var h=this.options,o=h.stacking,k=this.xAxis,l=k.categories,i=this.yAxis,p=this.points,q=p.length,r=!!this.modifyValue,m=h.pointPlacement,s=m==="between"||W(m),n=h.threshold,h=0;h=l.min&&e<=l.max){i=d[g+1];e=h===f?0:h+1;for(h=d[g+1]?n(c(0,v((a.clientX+(i?i.wrappedClientX||i.clientX:k))/2)),k):k;e>=0&&e<=h;)m[e++]=a}this.tooltipPoints=m}},tooltipHeaderFormatter:function(e){var a=this.tooltipOptions,c=a.xDateFormat,f=a.dateTimeLabelFormats,b=this.xAxis,g=b&&b.options.type==="datetime",a=a.headerFormat,b=b&&b.closestPointRange,d;if(g&&!c)if(b){for(d in m)if(m[d]>=b){c=f[d];break}}else c=f.day;g&&c&&W(e.key)&&(a=a.replace("{point.key}","{point.key:"+c+"}"));return hb(a,{point:e,series:this})},onMouseOver:function(){var b=this.chart,a=b.hoverSeries;a&&a!==this&&a.onMouseOut();this.options.events.mouseOver&&l(this,"mouseOver");this.setState("hover");b.hoverSeries=this},onMouseOut:function(){var c=this.options,a=this.chart,b=a.tooltip,d=a.hoverPoint;d&&d.onMouseOut();this&&c.events.mouseOut&&l(this,"mouseOut");b&&!c.stickyTracking&&(!b.shared||this.noSharedTooltip)&&b.hide();this.setState();a.hoverSeries=null},animate:function(e){var c=this,a=c.chart,f=a.renderer,b;b=c.options.animation;var i=a.clipBox,h=a.inverted,d;if(b&&!z(b))b=E[c.type].animation;d="_sharedClip"+b.duration+b.easing;if(e)e=a[d],b=a[d+"m"],e||(a[d]=e=f.clipRect(g(i,{width:0})),a[d+"m"]=b=f.clipRect(-99,h?-a.plotLeft:-a.plotTop,99,h?a.chartWidth:a.chartHeight)),c.group.clip(e),c.markerGroup.clip(b),c.sharedClipKey=d;else{if(e=a[d])e.animate({width:a.plotSizeX},b),a[d+"m"].animate({width:a.plotSizeX+99},b);c.animate=null;c.animationTimeout=setTimeout(function(){c.afterAnimate()},b.duration)}},afterAnimate:function(){var a=this.chart,b=this.sharedClipKey,c=this.group;c&&this.options.clip!==!1&&(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 j,o=this.points,l=this.chart,k,h,m,b,c,d,p,i,q=this.options.marker,n,r=this.markerGroup;if(q.enabled||this._hasPointMarkers)for(m=o.length;m--;)if(b=o[m],k=v(b.plotX),h=b.plotY,i=b.graphic,d=b.marker||{},j=q.enabled&&d.enabled===f||d.enabled,n=l.isInsidePlot(e(k),h,l.inverted),j&&h!==f&&!isNaN(h)&&b.y!==null){if(j=b.pointAttr[b.selected?"select":""],c=j.r,d=a(d.symbol,this.symbol),p=d.indexOf("url")===0,i)i.attr({visibility:n?C?"inherit":"visible":"hidden"}).animate(g({x:k-c,y:h-c},i.symbolName?{width:2*c,height:2*c}:{}));else if(n&&(c>0||p))b.graphic=l.renderer.symbol(d,k-c,h-c,2*c,2*c).attr(j).add(r)}else if(i)b.graphic=i.destroy()},convertAttribs:function(c,d,e,f){var g=this.pointAttrToOptions,b,h,i={},c=c||{},d=d||{},e=e||{},f=f||{};for(b in g)h=g[b],i[b]=a(c[h],d[b],e[b],f[b]);return i},getAttribs:function(){var e=this,m=e.options,c=E[e.type].marker?m.marker:m,k=c.states,h=k.hover,l,n=e.color,a={stroke:n,fill:n},o=e.points||[],i=[],j,p=e.pointAttrToOptions,q=m.negativeColor,s=c.lineColor,r;m.marker?(h.radius=h.radius||c.radius+2,h.lineWidth=h.lineWidth||c.lineWidth+1):(h.color=h.color||V(h.color||n).brighten(h.brightness).get());i[""]=e.convertAttribs(c,a);b(["hover","select"],function(a){i[a]=e.convertAttribs(k[a],i[""])});e.pointAttr=i;for(n=o.length;n--;){a=o[n];if((c=a.options&&a.options.marker||a.options)&&c.enabled===!1)c.radius=0;if(a.negative&&q)a.color=a.fillColor=q;l=m.colorByPoint||a.color;if(a.options)for(r in p)d(c[p[r]])&&(l=!0);if(l){c=c||{};j=[];k=c.states||{};l=k.hover=k.hover||{};if(!m.marker)l.color=V(l.color||a.color).brighten(l.brightness||h.brightness).get();j[""]=e.convertAttribs(g({color:a.color,fillColor:a.color,lineColor:s===null?a.color:f},c),i[""]);j.hover=e.convertAttribs(k.hover,i.hover,j[""]);j.select=e.convertAttribs(k.select,i.select,j[""])}else j=i;a.pointAttr=j}},update:function(b,j){var d=this.chart,e=this.type,i=D[e].prototype,c,b=h(this.userOptions,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},b);this.remove(!1);for(c in i)i.hasOwnProperty(c)&&(this[c]=f);g(this,D[b.type||e].prototype);this.init(d,b);a(j,!0)&&d.redraw(!1)},destroy:function(){var a=this,d=a.chart,j=/AppleWebKit\/533/.test(S),g,e,h=a.data||[],f,i,c;l(a,"destroy");F(a);b(["xAxis","yAxis"],function(b){if(c=a[b])L(c.series,a),c.isDirty=c.forceRedraw=!0,c.stacks={}});a.legendItem&&a.chart.legend.destroyItem(a);for(e=h.length;e--;)(f=h[e])&&f.destroy&&f.destroy();a.points=null;clearTimeout(a.animationTimeout);b("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(b){a[b]&&(g=j&&b==="group"?"hide":"destroy",a[b][g]())});if(d.hoverSeries===a)d.hoverSeries=null;L(d.series,a);for(i in a)delete a[i]},drawDataLabels:function(){var e=this,k=e.options,m=k.cursor,c=k.dataLabels,k=e.points,j,l,i,n;if(c.enabled||e._hasPointLabels)e.dlProcessOptions&&e.dlProcessOptions(c),n=e.plotGroup("dataLabelsGroup","data-labels",e.visible?"visible":"hidden",c.zIndex||6),l=c,b(k,function(k){var o,b=k.dataLabel,p,q,r=k.connector,s=!0;j=k.options&&k.options.dataLabels;o=a(j&&j.enabled,l.enabled);if(b&&!o)k.dataLabel=b.destroy();else if(o){c=h(l,j);o=c.rotation;p=k.getLabelConfig();i=c.format?hb(c.format,p):c.formatter.call(p,c);c.style.color=a(c.color,c.style.color,e.color,"black");if(b){if(d(i))b.attr({text:i}),s=!1;else if(k.dataLabel=b=b.destroy(),r)k.connector=r.destroy()}else if(d(i)){b={fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:o,padding:c.padding,zIndex:1};for(q in b)b[q]===f&&delete b[q];b=k.dataLabel=e.chart.renderer[o?"text":"label"](i,0,-999,null,null,null,c.useHTML).attr(b).css(g(c.style,m&&{cursor:m})).add(n).shadow(c.shadow)}b&&e.alignDataLabel(k,b,c,null,s)}})},alignDataLabel:function(f,h,c,d,k){var i=this.chart,b=i.inverted,l=a(f.plotX,-999),m=a(f.plotY,-999),j=h.getBBox();if(f=this.visible&&i.isInsidePlot(f.plotX,f.plotY,b))d=g({x:b?i.plotWidth-m:l,y:e(b?i.plotHeight-l:m),width:0,height:0},d),g(c,{width:j.width,height:j.height}),c.rotation?(b={align:c.align,x:d.x+c.x+d.width/2,y:d.y+c.y+d.height/2},h[k?"attr":"animate"](b)):(h.align(c,null,d),b=h.alignAttr,a(c.overflow,"justify")==="justify"?this.justifyDataLabel(h,c,b,j,d,k):a(c.crop,!0)&&(f=i.isInsidePlot(b.x,b.y)&&i.isInsidePlot(b.x+j.width,b.y+j.height)));f||h.attr({y:-999})},justifyDataLabel:function(f,b,d,g,j,k){var e=this.chart,h=b.align,i=b.verticalAlign,a,c;a=d.x;if(a<0)h==="right"?(b.align="left"):(b.x=-a),c=!0;a=d.x+g.width;if(a>e.plotWidth)h==="left"?(b.align="right"):(b.x=e.plotWidth-a),c=!0;a=d.y;if(a<0)i==="bottom"?(b.verticalAlign="top"):(b.y=-a),c=!0;a=d.y+g.height;if(a>e.plotHeight)i==="top"?(b.verticalAlign="bottom"):(b.y=e.plotHeight-a),c=!0;if(c)f.placed=!k,f.align(b,null,j)},getSegmentPath:function(c){var d=this,a=[],e=d.options.step;b(c,function(f,g){var h=f.plotX,i=f.plotY,b;d.getPointSpline?a.push.apply(a,d.getPointSpline(c,f,g)):(a.push(g?"L":"M"),e&&g&&(b=c[g-1],e==="right"?a.push(b.plotX,i):e==="center"?a.push((b.plotX+h)/2,b.plotY,(b.plotX+h)/2,i):a.push(h,b.plotY)),a.push(f.plotX,f.plotY))});return a},getGraphPath:function(){var a=this,c=[],d,e=[];b(a.segments,function(b){d=a.getSegmentPath(b);b.length>1?(c=c.concat(d)):e.push(b[0])});a.singlePoints=e;return a.graphPath=c},drawGraph:function(){var c=this,a=this.options,e=[["graph",a.lineColor||this.color]],f=a.lineWidth,g=a.dashStyle,i=a.linecap!=="square",d=this.getGraphPath(),h=a.negativeColor;h&&e.push(["graphNeg",h]);b(e,function(e,j){var h=e[0],b=c[h];if(b)zb(b),b.animate({d:d});else if(f&&d.length)b={stroke:e[1],"stroke-width":f,zIndex:1},g?(b.dashstyle=g):i&&(b["stroke-linecap"]=b["stroke-linejoin"]="round"),c[h]=c.chart.renderer.path(d).attr(b).add(c.group).shadow(!j&&a.shadow)})},clipNeg:function(){var d=this.options,a=this.chart,j=a.renderer,f=d.negativeColor||d.negativeFillColor,b,k=this.graph,l=this.area,h=this.posClip,i=this.negClip;b=a.chartWidth;var m=a.chartHeight,g=c(b,m),n=this.yAxis;if(f&&(k||l)){f=e(n.toPixels(d.threshold||0,!0));d={x:0,y:0,width:g,height:f};g={x:0,y:f,width:g,height:g};if(a.inverted)d.height=g.y=a.plotWidth-f,j.isVML&&(d={x:a.plotWidth-f-a.plotLeft,y:0,width:b,height:m},g={x:f+a.plotLeft-b,y:0,width:a.plotLeft+f,height:b});n.reversed?(a=g,b=d):(a=d,b=g);h?(h.animate(a),i.animate(b)):(this.posClip=h=j.clipRect(a),this.negClip=i=j.clipRect(b),k&&this.graphNeg&&(k.clip(h),this.graphNeg.clip(i)),l&&(l.clip(h),this.areaNeg.clip(i)))}},invertGroups:function(){function c(){var c={width:a.yAxis.len,height:a.xAxis.len};b(["group","markerGroup"],function(b){a[b]&&a[b].attr(c).invert()})}var a=this,d=a.chart;if(a.xAxis)s(d,"resize",c),s(a,"destroy",function(){F(d,"resize",c)}),c(),a.invertGroups=c},plotGroup:function(b,d,e,f,g){var a=this[b],c=!a;c&&(this[b]=a=this.chart.renderer.g(d).attr({visibility:e,zIndex:f||.1}).add(g));a[c?"attr":"animate"](this.getPlotBox());return a},getPlotBox:function(){return{translateX:this.xAxis?this.xAxis.left:this.chart.plotLeft,translateY:this.yAxis?this.yAxis.top:this.chart.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this.chart,b,c=this.options,d=c.animation&&!!this.animate&&a.renderer.isSVG,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);d&&this.animate(!0);this.getAttribs();b.inverted=this.isCartesian?a.inverted:!1;this.drawGraph&&(this.drawGraph(),this.clipNeg());this.drawDataLabels();this.drawPoints();this.options.enableMouseTracking!==!1&&this.drawTracker();a.inverted&&this.invertGroups();c.clip!==!1&&!this.sharedClipKey&&!g&&b.clip(a.clipRect);d?this.animate():g||this.afterAnimate();this.isDirty=this.isDirtyData=!1;this.hasRendered=!0},redraw:function(){var b=this.chart,f=this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(b.inverted&&c.attr({width:b.plotWidth,height:b.plotHeight}),c.animate({translateX:a(d&&d.left,b.plotLeft),translateY:a(e&&e.top,b.plotTop)}));this.translate();this.setTooltipPoints(!0);this.render();f&&l(this,"updatedData")},setState:function(a){var b=this.options,c=this.graph,e=this.graphNeg,d=b.states,b=b.lineWidth,a=a||"";if(this.state!==a)this.state=a,d[a]&&d[a].enabled===!1||(a&&(b=d[a].lineWidth||b+1),c&&!c.dashstyle&&(a={"stroke-width":b},c.attr(a),e&&e.attr(a)))},setVisible:function(d,g){var a=this,c=a.chart,h=a.legendItem,e,i=c.options.chart.ignoreHiddenSeries,j=a.visible;e=(a.visible=d=a.userOptions.visible=d===f?!j:d)?"show":"hide";b(["group","dataLabelsGroup","markerGroup","tracker"],function(b){a[b]&&a[b][e]()});c.hoverSeries===a&&a.onMouseOut();h&&c.legend.colorizeItem(a,d);a.isDirty=!0;a.options.stacking&&b(c.series,function(a){if(a.options.stacking&&a.visible)a.isDirty=!0});b(a.linkedSeries,function(a){a.setVisible(d,!1)});if(i)c.isDirtyBox=!0;g!==!1&&c.redraw();l(a,e)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===f?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;l(this,a?"select":"unselect")},drawTracker:function(){var c=this,j=c.options,g=j.trackByArea,d=[].concat(g?c.areaPath:c.graphPath),e=d.length,h=c.chart,m=h.pointer,n=h.renderer,f=h.options.tooltip.snap,k=c.tracker,i=j.cursor,o=i&&{cursor:i},i=c.singlePoints,a,l=function(){h.hoverSeries!==c&&c.onMouseOver()};if(e&&!g)for(a=e+1;a--;)d[a]==="M"&&d.splice(a+1,0,d[a+1]-f,d[a+2],"L"),(a&&d[a]==="M"||a===e)&&d.splice(a,0,"L",d[a-2]+f,d[a-1]);for(a=0;a=0;b--)g=a(c[b].yBottom,h),bf&&d>a?(d=c(f,a),b=2*a-d):dg&&b>a?(b=c(g,a),d=2*a-b):bd?r-d:g-(i.translate(h.y,0,1,0,1)<=g?d:0)));h.barX=k;h.pointWidth=l;r=p(k)<.5;s=e(k+s)+m;k=e(k)+m;s-=k;t=p(b)<.5;f=e(b+f)+j;b=e(b)+j;f-=b;r&&(k+=1,s-=1);t&&(b-=1,f+=1);h.shapeType="rect";h.shapeArgs={x:k,y:b,width:s,height:f}})},getSymbol:T,drawLegendSymbol:q.prototype.drawLegendSymbol,drawGraph:T,drawPoints:function(){var a=this,c=a.options,e=a.chart.renderer,d;b(a.points,function(b){var i=b.plotY,g=b.graphic;if(i!==f&&!isNaN(i)&&b.y!==null)d=b.shapeArgs,g?(zb(g),g.animate(h(d))):(b.graphic=e[b.shapeType](d).attr(b.pointAttr[b.selected?"select":""]).add(a.group).shadow(c.shadow,null,c.stacking&&!c.borderRadius));else if(g)b.graphic=g.destroy()})},drawTracker:function(){var a=this,c=a.chart,g=c.pointer,d=a.options.cursor,h=d&&{cursor:d},e=function(e){var d=e.target,b;c.hoverSeries!==a&&a.onMouseOver();for(;d&&!b;)b=d.point,d=d.parentNode;if(b!==f&&b!==c.hoverPoint)b.onMouseOver(e)};b(a.points,function(a){if(a.graphic)a.graphic.element.point=a;if(a.dataLabel)a.dataLabel.element.point=a});if(!a._hasTracking)b(a.trackerGroups,function(b){if(a[b]&&(a[b].addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(a){g.onTrackerMouseOut(a)}).css(h),Kb))a[b].on("touchstart",e)}),a._hasTracking=!0},alignDataLabel:function(d,k,c,b,l){var e=this.chart,f=e.inverted,j=d.dlBox||d.shapeArgs,g=d.below||d.plotY>a(this.translatedThreshold,e.plotSizeY),i=a(c.inside,!!this.options.stacking);if(j&&(b=h(j),f&&(b={x:e.plotWidth-b.y-b.height,y:e.plotHeight-b.x-b.width,width:b.height,height:b.width}),!i))f?(b.x+=g?0:b.width,b.width=0):(b.y+=g?b.height:0,b.height=0);c.align=a(c.align,!f||i?"center":g?"right":"left");c.verticalAlign=a(c.verticalAlign,f||i?"middle":g?"top":"bottom");w.prototype.alignDataLabel.call(this,d,k,c,b,l)},animate:function(d){var b=this.yAxis,f=this.options,e=this.chart.inverted,a={};if(C)d?(a.scaleY=.001,d=n(b.pos+b.len,c(b.pos,b.toPixels(f.threshold))),e?(a.translateX=d-b.len):(a.translateY=d),this.group.attr(a)):(a.scaleY=1,a[e?"translateX":"translateY"]=b.pos,this.group.animate(a,this.options.animation),this.animate=null)},remove:function(){var a=this,c=a.chart;c.hasRendered&&b(c.series,function(b){if(b.type===a.type)b.isDirty=!0});w.prototype.remove.apply(a,arguments)}});D.column=r;E.bar=h(E.column);Q=M(r,{type:"bar",inverted:!0});D.bar=Q;E.scatter=h(G,{lineWidth:0,tooltip:{headerFormat:'{series.name}
',pointFormat:"x: {point.x}
y: {point.y}
",followPointer:!0},stickyTracking:!1});Q=M(w,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],takeOrdinalPosition:!1,drawTracker:r.prototype.drawTracker,setTooltipPoints:T});D.scatter=Q;E.pie=h(G,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});G={type:"pie",isCartesian:!1,pointClass:M(sb,{init:function(){sb.prototype.init.apply(this,arguments);var b=this,c;if(b.y<0)b.y=null;g(b,{visible:b.visible!==!1,name:a(b.name,"Slice")});c=function(a){b.slice(a.type==="select")};s(b,"select",c);s(b,"unselect",c);return b},setVisible:function(d){var a=this,c=a.series,e=c.chart,g;a.visible=a.options.visible=d=d===f?!a.visible:d;c.options.data[U(a,c.data)]=a.options;g=d?"show":"hide";b(["graphic","dataLabel","connector","shadowGroup"],function(b){a[b]&&a[b][g]()});a.legendItem&&e.legend.colorizeItem(a,d);if(!c.isDirty&&c.options.ignoreHiddenPoint)c.isDirty=!0,e.redraw()},slice:function(b,e,f){var c=this.series;pb(f,c.chart);a(e,!0);this.sliced=this.options.sliced=b=d(b)?b:!this.sliced;c.options.data[U(this,c.data)]=this.options;b=b?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(b);this.shadowGroup&&this.shadowGroup.animate(b)}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:T,animate:function(d){var a=this,e=a.points,c=a.startAngleRad;if(!d)b(e,function(b){var d=b.graphic,b=b.shapeArgs;d&&(d.attr({r:a.center[3]/2,start:c,end:c}),d.animate({r:b.r,start:b.start,end:b.end},a.options.animation))}),a.animate=null},setData:function(b,c){w.prototype.setData.call(this,b,!1);this.processData();this.generatePoints();a(c,!0)&&this.chart.redraw()},generatePoints:function(){var a,c=0,d,e,b,f=this.options.ignoreHiddenPoint;w.prototype.generatePoints.call(this);d=this.points;e=d.length;for(a=0;a0?b.y/c*100:0,b.total=c},getCenter:function(){var b=this.options,c=this.chart,d=2*(b.slicedOffset||0),f,g=c.plotWidth-2*d,h=c.plotHeight-2*d,c=b.center,b=[a(c[0],"50%"),a(c[1],"50%"),b.size||"100%",b.innerSize||0],i=n(g,h),e;return rb(b,function(a,b){e=/%$/.test(a);f=b<2||b===2&&e;return(e?([g,h,i,i])[b]*j(a)/100:a)+(f?d:0)})},translate:function(a){this.generatePoints();var l=0,g=this.options,m=g.slicedOffset,j=m+g.borderWidth,d,f,b,i=g.startAngle||0,o=this.startAngleRad=cb/180*(i-90),i=(this.endAngleRad=cb/180*((g.endAngle||i+360)-90))-o,p=this.points,h=g.dataLabels.distance,g=g.ignoreHiddenPoint,k,q=p.length,c;if(!a)this.center=a=this.getCenter();this.getX=function(c,d){b=x.asin((c-a[1])/(a[2]/2+h));return a[0]+(d?-1:1)*B(b)*(a[2]/2+h)};for(k=0;k.75*i&&(b-=2*cb);c.slicedTranslation={translateX:e(B(b)*m),translateY:e(H(b)*m)};d=B(b)*a[2]/2;f=H(b)*a[2]/2;c.tooltipPos=[a[0]+d*.7,a[1]+f*.7];c.half=b<-cb/2||b>cb/2?1:0;c.angle=b;j=n(j,h/2);c.labelPos=[a[0]+d+B(b)*h,a[1]+f+H(b)*h,a[0]+d+B(b)*j,a[1]+f+H(b)*j,a[0]+d,a[1]+f,h<0?"center":c.half?"right":"left",b]}},setTooltipPoints:T,drawGraph:null,drawPoints:function(){var a=this,f=a.chart.renderer,d,e,h=a.options.shadow,c,i;if(h&&!a.shadowGroup)a.shadowGroup=f.g("shadow").add(a.group);b(a.points,function(b){e=b.graphic;i=b.shapeArgs;c=b.shadowGroup;if(h&&!c)c=b.shadowGroup=f.g("shadow").add(a.shadowGroup);d=b.sliced?b.slicedTranslation:{translateX:0,translateY:0};c&&c.attr(d);e?e.animate(g(i,d)):(b.graphic=e=f.arc(i).setRadialReference(a.center).attr(b.pointAttr[b.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(d).add(a.group).shadow(h,c));b.visible===!1&&b.setVisible(!1)})},sortByAngle:function(a,b){a.sort(function(a,c){return a.angle!==void 0&&(c.angle-a.angle)*b})},drawDataLabels:function(){var m=this,i=m.data,g,A=m.chart,r=m.options.dataLabels,x=a(r.connectorPadding,10),H=a(r.connectorWidth,1),I=A.plotWidth,A=A.plotHeight,u,D,M=a(r.softConnector,!0),y=r.distance,E=m.center,G=E[2]/2,K=E[1],N=y>0,n,k,f,v,L=[[],[]],o,h,z,l,d,q=[0,0,0,0],J=function(a,b){return b.y-a.y};if(m.visible&&(r.enabled||m._hasPointLabels)){w.prototype.drawDataLabels.apply(m);b(i,function(a){a.dataLabel&&L[a.half].push(a)});for(l=0;!v&&i[l];)v=i[l]&&i[l].dataLabel&&(i[l].dataLabel.getBBox().height||21),l++;for(l=2;l--;){var i=[],C=[],s=L[l],t=s.length,j;m.sortByAngle(s,l-.5);if(y>0){for(d=K-G-y;d<=K+G+y;d+=v)i.push(d);k=i.length;if(t>k){g=[].concat(s);g.sort(J);for(d=t;d--;)g[d].rank=d;for(d=t;d--;)s[d].rank>=k&&s.splice(d,1);t=s.length}for(d=0;d0){if(k=C.pop(),j=k.i,h=k.y,g>h&&i[j+1]!==null||gI-x&&(q[1]=c(e(o+k-I+x),q[1])),h-v/2<0?(q[0]=c(e(-h+v/2),q[0])):h+v/2>A&&(q[2]=c(e(h+v/2-A),q[2]))}}if(Z(q)===0||this.verifyDataLabelOverflow(q))this.placeDataLabels(),N&&H&&b(this.points,function(a){u=a.connector;f=a.labelPos;if((n=a.dataLabel)&&n._pos)z=n._attr.visibility,o=n.connX,h=n.connY,D=M?["M",o+(f[6]==="left"?5:-5),h,"C",o,h,2*f[2]-f[4],2*f[3]-f[5],f[2],f[3],"L",f[4],f[5]]:["M",o+(f[6]==="left"?5:-5),h,"L",f[2],f[3],"L",f[4],f[5]],u?(u.animate({d:D}),u.attr("visibility",z)):(a.connector=u=m.chart.renderer.path(D).attr({"stroke-width":H,stroke:r.connectorColor||a.color||"#606060",visibility:z}).add(m.group));else if(u)a.connector=u.destroy()})}},verifyDataLabelOverflow:function(a){var d=this.center,f=this.options,g=f.center,e=f=f.minSize||80,h;g[0]!==null?(e=c(d[2]-c(a[1],a[3]),f)):(e=c(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);g[1]!==null?(e=c(n(e,d[2]-c(a[0],a[2])),f)):(e=c(n(e,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);e