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