/* Highcharts JS v5.0.2 (2016-10-26) (c) 2009-2016 Torstein Honsi License: www.highcharts.com/license */ (function(L,a){"object"===typeof module&&module.exports?module.exports=L.document?a(L):a:L.Highcharts=a(L)})("undefined"!==typeof window?window:this,function(L){L=function(){var a=window,C=a.document,B=a.navigator&&a.navigator.userAgent||"",E=C&&C.createElementNS&&!!C.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(B)&&!window.opera,l=!E,d=/Firefox/.test(B),h=d&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts", version:"5.0.2",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:h,hasTouch:C&&void 0!==C.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(B),isFirefox:d,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",idCounter:0,chartCount:0,seriesTypes:{},symbolSizes:{},svg:E,vml:l,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var C=[],B=a.charts,E=a.doc,H=a.win;a.error=function(a,d){a="Highcharts error #"+ a+": www.highcharts.com/errors/"+a;if(d)throw Error(a);H.console&&console.log(a)};a.Fx=function(a,d,h){this.options=d;this.elem=a;this.prop=h};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],h=[],g=this.now,t=a.length,m;if(1===g)h=this.toD;else if(t===d.length&&1>g)for(;t--;)m=parseFloat(a[t]),h[t]=isNaN(m)?a[t]:g*parseFloat(d[t]-m)+m;else h=d;this.elem.attr("d",h)},update:function(){var a=this.elem,d=this.prop,h=this.now,g=this.options.step;if(this[d+"Setter"])this[d+"Setter"](); else a.attr?a.element&&a.attr(d,h):a.style[d]=h+this.unit;g&&g.call(a,h,this)},run:function(a,d,h){var g=this,l=function(a){return l.stopped?!1:g.step(a)},m;this.startTime=+new Date;this.start=a;this.end=d;this.unit=h;this.now=this.start;this.pos=0;l.elem=this.elem;l()&&1===C.push(l)&&(l.timerId=setInterval(function(){for(m=0;m=m+this.startTime){this.now=this.end;this.pos=1;this.update();a=c[this.prop]=!0;for(e in c)!0!==c[e]&&(a=!1);a&&t&&t.call(l);l=!1}else this.pos=g.easing((d-this.startTime)/m),this.now=this.start+(this.end-this.start)*this.pos,this.update(),l=!0;return l},initPath:function(l,d,h){function g(a){for(q=a.length;q--;)"M"!==a[q]&&"L"!==a[q]||a.splice(q+1,0,a[q+1],a[q+2],a[q+1],a[q+2])}function t(a,f){for(;a.lengthc?"AM":"PM",P:12>c?"am":"pm",S:w(t.getSeconds()),L:w(Math.round(d%1E3),3)},a.dateFormats);for(m in g)for(;-1!==l.indexOf("%"+m);)l=l.replace("%"+m,"function"===typeof g[m]?g[m](d):g[m]);return h?l.substr(0,1).toUpperCase()+l.substr(1): l};a.formatSingle=function(l,d){var h=/\.([0-9])/,g=a.defaultOptions.lang;/f$/.test(l)?(h=(h=l.match(h))?h[1]:-1,null!==d&&(d=a.numberFormat(d,h,g.decimalPoint,-1=h&&(d=[1/h])));for(g=0;g=l||!t&&m<=(d[g]+(d[g+1]||d[g]))/2);g++);return c*h};a.stableSort=function(a,d){var h=a.length,g,t;for(t=0;th&&(h=a[d]);return h};a.destroyObjectProperties=function(a,d){for(var h in a)a[h]&&a[h]!==d&&a[h].destroy&&a[h].destroy(),delete a[h]};a.discardElement=function(l){var d=a.garbageBin;d||(d=a.createElement("div"));l&&d.appendChild(l);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation= function(l,d){d.renderer.globalAnimation=a.pick(l,d.options.chart.animation,!0)};a.animObject=function(l){return a.isObject(l)?a.merge(l):{duration:l?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(l,d,h,g){l=+l||0;d=+d;var t=a.defaultOptions.lang,m=(l.toString().split(".")[1]||"").length,c,e,p=Math.abs(l);-1===d?d=Math.min(m,20):a.isNumber(d)||(d=2);c=String(a.pInt(p.toFixed(d)));e=3l?"-":"")+(e?c.substr(0,e)+g:"");l+=c.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+g);d&&(g=Math.abs(p-c+Math.pow(10,-Math.max(d,m)-1)),l+=h+g.toFixed(d).slice(2));return l};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(l,d){return"width"===d?Math.min(l.offsetWidth,l.scrollWidth)-a.getStyle(l,"padding-left")-a.getStyle(l,"padding-right"):"height"===d?Math.min(l.offsetHeight,l.scrollHeight)-a.getStyle(l, "padding-top")-a.getStyle(l,"padding-bottom"):(l=H.getComputedStyle(l,void 0))&&a.pInt(l.getPropertyValue(d))};a.inArray=function(a,d){return d.indexOf?d.indexOf(a):[].indexOf.call(d,a)};a.grep=function(a,d){return[].filter.call(a,d)};a.map=function(a,d){for(var h=[],g=0,t=a.length;gd;d++)g[d]+=l(255*a),0>g[d]&&(g[d]=0),255u.width)u={width:0,height:0}}else u=this.htmlGetBBox();k.isSVG&&(a=u.width,k=u.height,n&&e&&"11px"===e.fontSize&&"16.9"===k.toPrecision(3)&&(u.height=k=14),b&&(u.width=Math.abs(k*Math.sin(v))+Math.abs(a*Math.cos(v)),u.height=Math.abs(k*Math.cos(v))+Math.abs(a*Math.sin(v))));if(M&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&& (delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,k){"string"===typeof a?k.setAttribute(b,a):a&&this.colorGradient(a,b,k)},visibilitySetter:function(a,b,k){"inherit"===a?k.removeAttribute(b):k.setAttribute(b,a)},zIndexSetter:function(a,b){var k=this.renderer,u=this.parentGroup,v=(u||k).element||k.box,f,c=this.element,e;f=this.added;var r;m(a)&&(c.zIndex=a,a=+a,this[b]===a&&(f=!1),this[b]=a);if(f){(a=this.zIndex)&&u&&(u.handleZ=!0);b=v.childNodes; for(r=0;ra||!m(a)&&m(f)||0>a&&!m(f)&&v!==k.box)&&(v.insertBefore(c,u),e=!0);e||v.appendChild(c)}return e},_defaultSetter:function(a,b,k){k.setAttribute(b,a)}};C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};B=a.SVGRenderer=function(){this.init.apply(this, arguments)};B.prototype={Element:C,SVG_NS:R,init:function(a,b,k,v,f,c){var u;v=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});u=v.element;a.appendChild(u);-1===a.innerHTML.indexOf("xmlns")&&l(u,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=u;this.boxWrapper=v;this.alignedObjects=[];this.url=(G||y)&&p.getElementsByTagName("base").length?M.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(p.createTextNode("Created with Highcharts 5.0.2")); this.defs=this.createElement("defs").add();this.allowHTML=c;this.forExport=f;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,k,!1);var e;G&&a.getBoundingClientRect&&(this.subPixelFix=b=function(){g(a,{left:0,top:0});e=a.getBoundingClientRect();g(a,{left:Math.ceil(e.left)-e.left+"px",top:Math.ceil(e.top)-e.top+"px"})},b(),E(M,"resize",b))},definition:function(a){function b(a,v){var f;x(k(a),function(a){var k=u.createElement(a.tagName),c,e={};for(c in a)"tagName"!== c&&"children"!==c&&"textContent"!==c&&(e[c]=a[c]);k.attr(e);k.add(v||u.defs);a.textContent&&k.element.appendChild(p.createTextNode(a.textContent));b(a.children||[],k);f=k});return f}var u=this;return b(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.subPixelFix&&N(M,"resize",this.subPixelFix);return this.alignedObjects= null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:r,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},buildText:function(a){for(var b=a.element,k=this,v=k.forExport,u=z(a.textStr,"").toString(),c=-1!==u.indexOf("\x3c"),e=b.childNodes,r,q,d,n,w=l(b,"x"),M=a.styles,m=a.textWidth,y=M&&M.lineHeight,t=M&&M.textShadow,h=M&&"ellipsis"===M.textOverflow,A=e.length,D=m&&!a.added&&this.box,G=function(a){return y?F(y):k.fontMetrics(void 0, a).h};A--;)b.removeChild(e[A]);c||t||h||m||-1!==u.indexOf(" ")?(r=/<.*class="([^"]+)".*>/,q=/<.*style="([^"]+)".*>/,d=/<.*href="(http[^"]+)".*>/,D&&D.appendChild(b),u=c?u.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[u],u=f(u,function(a){return""!==a}),x(u,function(u,f){var c,e=0;u=u.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");c=u.split("|||");x(c,function(u){if(""!==u||1===c.length){var z={},J=p.createElementNS(k.SVG_NS,"tspan"),x,y;r.test(u)&&(x=u.match(r)[1],l(J,"class",x));q.test(u)&&(y=u.match(q)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),l(J,"style",y));d.test(u)&&!v&&(l(J,"onclick",'location.href\x3d"'+u.match(d)[1]+'"'),g(J,{cursor:"pointer"}));u=(u.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==u){J.appendChild(p.createTextNode(u)); e?z.dx=0:f&&null!==w&&(z.x=w);l(J,z);b.appendChild(J);!e&&f&&(!Q&&v&&g(J,{display:"block"}),l(J,"dy",G(J)));if(m){z=u.replace(/([^\^])-/g,"$1- ").split(" ");x="nowrap"===M.whiteSpace;for(var t=1m,void 0===n&&(n=O),h&&n?(I/=2,""===N||!O&&.5>I?z=[]:(N=u.substring(0,N.length+(O?-1:1)*Math.ceil(I)), z=[N+(3m&&(m=F)),z.length&&J.appendChild(p.createTextNode(z.join(" ").replace(/- /g,"-")));a.rotation=K}e++}}})}),n&&a.attr("title",a.textStr),D&&D.removeChild(b),t&&a.applyTextShadow&&a.applyTextShadow(t)):b.appendChild(p.createTextNode(u.replace(/</g,"\x3c").replace(/>/g, "\x3e")))},getContrast:function(a){a=h(a).rgba;return 510k&&f>b+e&&fu&&f>b+e&&fv&&u>a+e&&uf&&u>a+e&&ua?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,k){var v=a;b&&k&&(v=Math.max(v*Math.cos(b*c),4));return{x:-a/3*Math.sin(b*c),y:v}},label:function(a,b,k,v,f,c,e,r,q){var u=this,d=u.g("button"!==q&&"label"),n=d.text=u.text("",0,0,e).attr({zIndex:1}),z,g,p=0,w=3,M=0,y,t,h,F,D,G={},R,K=/^url\((.*?)\)$/.test(v),Q=K,J,l,O,P;q&&d.addClass("highcharts-"+ q);Q=!0;J=function(){return z.strokeWidth()%2/2};l=function(){var a=n.element.style,b={};g=(void 0===y||void 0===t||D)&&m(n.textStr)&&n.getBBox();d.width=(y||g.width||0)+2*w+M;d.height=(t||g.height||0)+2*w;R=w+u.fontMetrics(a&&a.fontSize,n).b;Q&&(z||(d.box=z=u.symbols[v]||K?u.symbol(v):u.rect(),z.addClass(("button"===q?"":"highcharts-label-box")+(q?" highcharts-"+q+"-box":"")),z.add(d),a=J(),b.x=a,b.y=(r?-R:0)+a),b.width=Math.round(d.width),b.height=Math.round(d.height),z.attr(A(b,G)),G={})};O=function(){var a= M+w,b;b=r?0:R;m(y)&&g&&("center"===D||"right"===D)&&(a+={center:.5,right:1}[D]*(y-g.width));if(a!==n.x||b!==n.y)n.attr("x",a),void 0!==b&&n.attr("y",b);n.x=a;n.y=b};P=function(a,b){z?z.attr(a,b):G[a]=b};d.onAdd=function(){n.add(d);d.attr({text:a||0===a?a:"",x:b,y:k});z&&m(f)&&d.attr({anchorX:f,anchorY:c})};d.widthSetter=function(a){y=a};d.heightSetter=function(a){t=a};d["text-alignSetter"]=function(a){D=a};d.paddingSetter=function(a){m(a)&&a!==w&&(w=d.padding=a,O())};d.paddingLeftSetter=function(a){m(a)&& a!==M&&(M=a,O())};d.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==p&&(p=a,g&&d.attr({x:h}))};d.textSetter=function(a){void 0!==a&&n.textSetter(a);l();O()};d["stroke-widthSetter"]=function(a,b){a&&(Q=!0);this["stroke-width"]=a;P(b,a)};d.rSetter=function(a,b){P(b,a)};d.anchorXSetter=function(a,b){f=a;P(b,Math.round(a)-J()-h)};d.anchorYSetter=function(a,b){c=a;P(b,a-F)};d.xSetter=function(a){d.x=a;p&&(a-=p*((y||g.width)+2*w));h=Math.round(a);d.attr("translateX",h)};d.ySetter=function(a){F= d.y=Math.round(a);d.attr("translateY",F)};var T=d.css;return A(d,{css:function(a){if(a){var b={};a=I(a);x(d.textProps,function(k){void 0!==a[k]&&(b[k]=a[k],delete a[k])});n.css(b)}return T.call(d,a)},getBBox:function(){return{width:g.width+2*w,height:g.height+2*w,x:g.x-w,y:g.y-w}},destroy:function(){N(d.element,"mouseenter");N(d.element,"mouseleave");n&&(n=n.destroy());z&&(z=z.destroy());C.prototype.destroy.call(d);d=u=l=O=P=null}})}};a.Renderer=B})(L);(function(a){var C=a.attr,B=a.createElement, E=a.css,H=a.defined,l=a.each,d=a.extend,h=a.isFirefox,g=a.isMS,t=a.isWebKit,m=a.pInt,c=a.SVGRenderer,e=a.win,p=a.wrap;d(a.SVGElement.prototype,{htmlCss:function(a){var c=this.element;if(c=a&&"SPAN"===c.tagName&&a.width)delete a.width,this.textWidth=c,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=d(this.styles,a);E(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute"); return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,c=this.element,b=this.x||0,f=this.y||0,e=this.textAlign||"left",d={left:0,center:.5,right:1}[e],g=this.styles;E(c,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&l(c.childNodes,function(b){a.invertChild(b,c)});if("SPAN"===c.tagName){var n=this.rotation,p=m(this.textWidth),h=g&&g.whiteSpace,y=[n,e,c.innerHTML,this.textWidth,this.textAlign].join(); y!==this.cTT&&(g=a.fontMetrics(c.style.fontSize).b,H(n)&&this.setSpanRotation(n,d,g),E(c,{width:"",whiteSpace:h||"nowrap"}),c.offsetWidth>p&&/[ \-]/.test(c.textContent||c.innerText)&&E(c,{width:p+"px",display:"block",whiteSpace:h||"normal"}),this.getSpanCorrection(c.offsetWidth,g,d,n,e));E(c,{left:b+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});t&&(g=c.offsetHeight);this.cTT=y}}else this.alignOnAdd=!0},setSpanRotation:function(a,c,b){var f={},d=g?"-ms-transform":t?"-webkit-transform":h?"MozTransform": e.opera?"-o-transform":"";f[d]=f.transform="rotate("+a+"deg)";f[d+(h?"Origin":"-origin")]=f.transformOrigin=100*c+"% "+b+"px";E(this.element,f)},getSpanCorrection:function(a,c,b){this.xCorr=-a*b;this.yCorr=-c}});d(c.prototype,{html:function(a,c,b){var f=this.createElement("span"),e=f.element,g=f.renderer,m=g.isSVG,n=function(a,b){l(["opacity","visibility"],function(f){p(a,f+"Setter",function(a,f,c,e){a.call(this,f,c,e);b[c]=f})})};f.textSetter=function(a){a!==e.innerHTML&&delete this.bBox;e.innerHTML= this.textStr=a;f.htmlUpdateTransform()};m&&n(f,f.element.style);f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(a,b){"align"===b&&(b="textAlign");f[b]=a;f.htmlUpdateTransform()};f.attr({text:a,x:Math.round(c),y:Math.round(b)}).css({position:"absolute"});e.style.whiteSpace="nowrap";f.css=f.htmlCss;m&&(f.add=function(a){var b,c=g.box.parentNode,q=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)q.push(a),a=a.parentGroup;l(q.reverse(),function(a){var f,e=C(a.element,"class");e&&(e={className:e}); b=a.div=a.div||B("div",e,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||c);f=b.style;d(a,{translateXSetter:function(b,k){f.left=b+"px";a[k]=b;a.doTransform=!0},translateYSetter:function(b,k){f.top=b+"px";a[k]=b;a.doTransform=!0}});n(a,f)})}}else b=c;b.appendChild(e);f.added=!0;f.alignOnAdd&&f.htmlUpdateTransform();return f});return f}})})(L);(function(a){function C(){var h=a.defaultOptions.global, g,t=h.useUTC,m=t?"getUTC":"get",c=t?"setUTC":"set";a.Date=g=h.Date||d.Date;g.hcTimezoneOffset=t&&h.timezoneOffset;g.hcGetTimezoneOffset=t&&h.getTimezoneOffset;g.hcMakeTime=function(a,c,d,m,b,f){var e;t?(e=g.UTC.apply(0,arguments),e+=E(e)):e=(new g(a,c,l(d,1),l(m,0),l(b,0),l(f,0))).getTime();return e};B("Minutes Hours Day Date Month FullYear".split(" "),function(a){g["hcGet"+a]=m+a});B("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){g["hcSet"+a]=c+a})}var B=a.each,E= a.getTZOffset,H=a.merge,l=a.pick,d=a.win;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1", thousandsSep:" "},global:{useUTC:!0},chart:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null},defs:{dropShadow:{tagName:"filter",id:"drop-shadow",opacity:.5,children:[{tagName:"feGaussianBlur",in:"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge", children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",in:"SourceGraphic"}]}]},style:{tagName:"style",textContent:".highcharts-tooltip{filter:url(#drop-shadow)}"}},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{}, itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e', pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e'},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(d){a.defaultOptions=H(!0,a.defaultOptions,d);C();return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;C()})(L);(function(a){var C= a.arrayMax,B=a.arrayMin,E=a.defined,H=a.destroyObjectProperties,l=a.each,d=a.erase,h=a.merge,g=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&&(this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,d=a.axis,c=d.horiz,e=a.options,p=e.label,x=a.label,A=e.to,b=e.from,f=e.value,q=E(b)&&E(A),w=E(f),G=a.svgElem,n=!G,D=[],K,y=g(e.zIndex,0),l=e.events,D={"class":"highcharts-plot-"+(q?"band ":"line ")+(e.className||"")},r={},z=d.chart.renderer,F=q?"bands":"lines",N;N= d.log2lin;d.isLog&&(b=N(b),A=N(A),f=N(f));r.zIndex=y;F+="-"+y;(N=d[F])||(d[F]=N=z.g("plot-"+F).attr(r).add());n&&(a.svgElem=G=z.path().attr(D).add(N));if(w)D=d.getPlotLinePath(f,G.strokeWidth());else if(q)D=d.getPlotBandPath(b,A,e);else return;if(n&&D&&D.length){if(G.attr({d:D}),l)for(K in e=function(b){G.on(b,function(k){l[b].apply(a,[k])})},l)e(K)}else G&&(D?(G.show(),G.animate({d:D})):(G.hide(),x&&(a.label=x=x.destroy())));p&&E(p.text)&&D&&D.length&&0A&&g-b*fe&&(n=Math.round((c-g)/Math.cos(A*h)));else if(c=g+(1-b)*f,g-b*fe&&(w=e-a.x+w*b,G=-1),w=Math.min(q,w),ww||d.autoRotation&&(x.styles||{}).width)n=w;n&&(D.width=n,(d.options.labels.style||{}).textOverflow||(D.textOverflow="ellipsis"), x.css(D))},getPosition:function(a,d,h,c){var e=this.axis,g=e.chart,x=c&&g.oldChartHeight||g.chartHeight;return{x:a?e.translate(d+h,null,null,c)+e.transB:e.left+e.offset+(e.opposite?(c&&g.oldChartWidth||g.chartWidth)-e.right-e.left:0),y:a?x-e.bottom+e.offset-(e.opposite?e.height:0):x-e.translate(d+h,null,null,c)-e.transB}},getLabelPosition:function(a,d,m,c,e,p,x,A){var b=this.axis,f=b.transA,q=b.reversed,g=b.staggerLines,G=b.tickRotCorr||{x:0,y:0},n=e.y;B(n)||(n=0===b.side?m.rotation?-8:-m.getBBox().height: 2===b.side?G.y+8:Math.cos(m.rotation*h)*(G.y-m.getBBox(!1,0).height/2));a=a+e.x+G.x-(p&&c?p*f*(q?-1:1):0);d=d+n-(p&&!c?p*f*(q?1:-1):0);g&&(m=x/(A||1)%g,b.opposite&&(m=g-m-1),d+=b.labelOffset/g*m);return{x:a,y:Math.round(d)}},getMarkPath:function(a,d,h,c,e,p){return p.crispLine(["M",a,d,"L",a+(e?0:-h),d+(e?h:0)],c)},render:function(a,h,m){var c=this.axis,e=c.options,g=c.chart.renderer,x=c.horiz,A=this.type,b=this.label,f=this.pos,q=e.labels,w=this.gridLine,G=c.tickSize(A?A+"Tick":"tick"),n=this.mark, D=!n,K=q.step,y={},t=!0,r=c.tickmarkOffset,z=this.getPosition(x,f,r,h),F=z.x,z=z.y,N=x&&F===c.pos+c.len||!x&&z===c.pos?-1:1;m=l(m,1);this.isActive=!0;w||(A||(y.zIndex=1),h&&(y.opacity=0),this.gridLine=w=g.path().attr(y).addClass("highcharts-"+(A?A+"-":"")+"grid-line").add(c.gridGroup));if(!h&&w&&(f=c.getPlotLinePath(f+r,w.strokeWidth()*N,h,!0)))w[this.isNew?"attr":"animate"]({d:f,opacity:m});G&&(c.opposite&&(G[0]=-G[0]),D&&(this.mark=n=g.path().addClass("highcharts-"+(A?A+"-":"")+"tick").add(c.axisGroup)), n[D?"attr":"animate"]({d:this.getMarkPath(F,z,G[0],n.strokeWidth()*N,x,g),opacity:m}));b&&H(F)&&(b.xy=z=this.getLabelPosition(F,z,b,x,q,r,a,K),this.isFirst&&!this.isLast&&!l(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!l(e.showLastLabel,1)?t=!1:!x||c.isRadial||q.step||q.rotation||h||0===m||this.handleOverflow(z),K&&a%K&&(t=!1),t&&H(z.y)?(z.opacity=m,b[this.isNew?"attr":"animate"](z)):(d(b),b.attr("y",-9999)),this.isNew=!1)},destroy:function(){E(this,this.axis)}}})(L);(function(a){var C=a.addEvent, B=a.animObject,E=a.arrayMax,H=a.arrayMin,l=a.AxisPlotLineOrBandExtension,d=a.correctFloat,h=a.defaultOptions,g=a.defined,t=a.deg2rad,m=a.destroyObjectProperties,c=a.each,e=a.error,p=a.extend,x=a.fireEvent,A=a.format,b=a.getMagnitude,f=a.grep,q=a.inArray,w=a.isArray,G=a.isNumber,n=a.isString,D=a.merge,K=a.normalizeTickInterval,y=a.pick,I=a.PlotLineOrBand,r=a.removeEvent,z=a.splat,F=a.syncTimeout,N=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.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,labels:{enabled:!0,x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle"},type:"linear"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270, text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)}}},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,b){var k=b.isX;this.chart=a;this.horiz=a.inverted?!k:k;this.isXAxis=k;this.coll=this.coll||(k?"xAxis":"yAxis"); this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var v=this.options,f=v.type;this.labelFormatter=v.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=v.reversed;this.visible=!1!==v.visible;this.zoomEnabled=!1!==v.zoomEnabled;this.hasNames="category"===f||!0===v.categories;this.categories=v.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===f;this.isDatetimeAxis= "datetime"===f;this.isLinked=g(v.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=v.minRange||v.maxZoom;this.range=v.range;this.offset=v.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=y(v.crosshair,z(a.options.tooltip.crosshairs)[k?0:1],!1);var c;b=this.options.events;-1===q(this,a.axes)&&(k?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this), a[this.coll].push(this));this.series=this.series||[];a.inverted&&k&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(c in b)C(this,c,b[c]);this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=D(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side], D(h[this.coll],a))},defaultLabelFormatter:function(){var b=this.axis,v=this.value,f=b.categories,c=this.dateTimeLabelFormat,d=h.lang.numericSymbols,e=d&&d.length,u,r=b.options.labels.format,b=b.isLog?v:b.tickInterval;if(r)u=A(r,this);else if(f)u=v;else if(c)u=a.dateFormat(c,v);else if(e&&1E3<=b)for(;e--&&void 0===u;)f=Math.pow(1E3,e+1),b>=f&&0===10*v%f&&null!==d[e]&&0!==v&&(u=a.numberFormat(v/f,-1)+d[e]);void 0===u&&(u=1E4<=Math.abs(v)?a.numberFormat(v,-1):a.numberFormat(v,-1,void 0,""));return u}, getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();c(a.series,function(k){if(k.visible||!b.options.chart.ignoreHiddenSeries){var v=k.options,c=v.threshold,d;a.hasVisibleSeries=!0;a.isLog&&0>=c&&(c=null);if(a.isXAxis)v=k.xData,v.length&&(k=H(v),G(k)||k instanceof Date||(v=f(v,function(a){return G(a)}),k=H(v)),a.dataMin=Math.min(y(a.dataMin,v[0]),k),a.dataMax=Math.max(y(a.dataMax,v[0]), E(v)));else if(k.getExtremes(),d=k.dataMax,k=k.dataMin,g(k)&&g(d)&&(a.dataMin=Math.min(y(a.dataMin,k),k),a.dataMax=Math.max(y(a.dataMax,d),d)),g(c)&&(a.threshold=c),!v.softThreshold||a.isLog)a.softThreshold=!1}})},translate:function(a,b,f,c,d,e){var k=this.linkedParent||this,v=1,r=0,q=c?k.oldTransA:k.transA;c=c?k.oldMin:k.min;var n=k.minPixelPadding;d=(k.isOrdinal||k.isBroken||k.isLog&&d)&&k.lin2val;q||(q=k.transA);f&&(v*=-1,r=k.len);k.reversed&&(v*=-1,r-=v*(k.sector||k.len));b?(a=(a*v+r-n)/q+c,d&& (a=k.lin2val(a))):(d&&(a=k.val2lin(a)),"between"===e&&(e=.5),a=v*(a-c)*q+r+v*n+(G(e)?q*e*k.pointRange:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,f,c,d){var k=this.chart,v=this.left,e=this.top,r,q,n=f&&k.oldChartHeight||k.chartHeight,g=f&&k.oldChartWidth||k.chartWidth,z;r=this.transB;var w=function(a,b,k){if(ak)c?a=Math.min(Math.max(b, a),k):z=!0;return a};d=y(d,this.translate(a,null,null,f));a=f=Math.round(d+r);r=q=Math.round(n-d-r);G(d)?this.horiz?(r=e,q=n-this.bottom,a=f=w(a,v,v+this.width)):(a=v,f=g-this.right,r=q=w(r,e,e+this.height)):z=!0;return z&&!c?null:k.renderer.crispLine(["M",a,r,"L",f,q],b||1)},getLinearTickPositions:function(a,b,f){var k,v=d(Math.floor(b/a)*a),c=d(Math.ceil(f/a)*a),e=[];if(b===f&&G(b))return[b];for(b=v;b<=c;){e.push(b);b=d(b+a);if(b===k)break;k=b}return e},getMinorTickPositions:function(){var a=this.options, b=this.tickPositions,f=this.minorTickInterval,c=[],d,e=this.pointRangePadding||0;d=this.min-e;var e=this.max+e,r=e-d;if(r&&r/f=this.minRange,r,u,q,n,z,w;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(g(a.min)||g(a.max)?this.minRange=null:(c(this.series,function(a){n=a.xData;for(u=z=a.xIncrement?1:n.length-1;0=A?(l=A,h=0):k.dataMax<=A&&(t=A,p=0)),k.min=y(I,l,k.dataMin),k.max=y(C,t,k.dataMax));q&&(!a&&0>=Math.min(k.min,y(k.dataMin,k.min))&&e(10,1),k.min=d(n(k.min),15),k.max=d(n(k.max),15));k.range&&g(k.max)&&(k.userMin=k.min=I=Math.max(k.min,k.minFromRange()),k.userMax=C=k.max,k.range=null);x(k,"foundExtremes");k.beforePadding&&k.beforePadding();k.adjustForMinRange();!(m||k.axisPointRange||k.usePercentage||w)&&g(k.min)&&g(k.max)&& (n=k.max-k.min)&&(!g(I)&&h&&(k.min-=n*h),!g(C)&&p&&(k.max+=n*p));G(r.floor)?k.min=Math.max(k.min,r.floor):G(r.softMin)&&(k.min=Math.min(k.min,r.softMin));G(r.ceiling)?k.max=Math.min(k.max,r.ceiling):G(r.softMax)&&(k.max=Math.max(k.max,r.softMax));N&&g(k.dataMin)&&(A=A||0,!g(I)&&k.min=A?k.min=A:!g(C)&&k.max>A&&k.dataMax<=A&&(k.max=A));k.tickInterval=k.min===k.max||void 0===k.min||void 0===k.max?1:w&&!F&&D===k.linkedParent.options.tickPixelInterval?F=k.linkedParent.tickInterval:y(F,this.tickAmount? (k.max-k.min)/Math.max(this.tickAmount-1,1):void 0,m?1:(k.max-k.min)*D/Math.max(k.len,D));z&&!a&&c(k.series,function(a){a.processData(k.min!==k.oldMin||k.max!==k.oldMax)});k.setAxisTranslation(!0);k.beforeSetTickPositions&&k.beforeSetTickPositions();k.postProcessTickInterval&&(k.tickInterval=k.postProcessTickInterval(k.tickInterval));k.pointRange&&!F&&(k.tickInterval=Math.max(k.pointRange,k.tickInterval));a=y(r.minTickInterval,k.isDatetimeAxis&&k.closestPointRange);!F&&k.tickIntervalk.tickInterval&&1E3k.max)),!!this.tickAmount));this.tickAmount||(k.tickInterval=k.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,f=a.tickPositions,c=a.tickPositioner,d=a.startOnTick,e=a.endOnTick,r;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&& this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=f&&f.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,c&&(c=c.apply(this,[this.min, this.max])))&&(this.tickPositions=b=c);this.isLinked||(this.trimTicks(b,d,e),this.min===this.max&&g(this.min)&&!this.tickAmount&&(r=!0,this.min-=.5,this.max+=.5),this.single=r,f||c||this.adjustTickAmount())},trimTicks:function(a,b,f){var k=a[0],c=a[a.length-1],d=this.minPointOffset||0;if(b)this.min=k;else for(;this.min-d>a[0];)a.shift();if(f)this.max=c;else for(;this.max+db&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval, b=this.tickPositions,f=this.tickAmount,c=this.finalTickAmt,e=b&&b.length;if(ef&&(this.tickInterval*=2,this.setTickPositions());if(g(c)){for(a=f=b.length;a--;)(3===c&&1===a%2||2>=c&&0=c&&(b=c)),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a= this.chart,b=this.options,f=b.offsetLeft||0,c=this.horiz,d=y(b.width,a.plotWidth-f+(b.offsetRight||0)),e=y(b.height,a.plotHeight),r=y(b.top,a.plotTop),b=y(b.left,a.plotLeft+f),f=/%$/;f.test(e)&&(e=Math.round(parseFloat(e)/100*a.plotHeight));f.test(r)&&(r=Math.round(parseFloat(r)/100*a.plotHeight+a.plotTop));this.left=b;this.top=r;this.width=d;this.height=e;this.bottom=a.chartHeight-e-r;this.right=a.chartWidth-d-b;this.len=Math.max(c?d:e,0);this.pos=c?b:r},getExtremes:function(){var a=this.isLog,b= this.lin2log;return{min:a?d(b(this.min)):this.min,max:a?d(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,k=this.lin2log,f=b?k(this.min):this.min,b=b?k(this.max):this.max;null===a?a=f:f>a?a=f:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,k=b[a+ "Length"],f=y(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(f&&k)return"inside"===b[a+"Position"]&&(k=-k),[k,f]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,f=this.tickInterval,d=f,e=this.len/(((this.categories?1:0)+this.max-this.min)/f),r,q=a.rotation,n=this.labelMetrics(),z,w=Number.MAX_VALUE,p,h=function(a){a/=e||1;a=1< a?Math.ceil(a):1;return a*f};b?(p=!a.staggerLines&&!a.step&&(g(q)?[q]:e=a)z=h(Math.abs(n.h/Math.sin(t*a))),b=z+Math.abs(a/360),b(f.step||0)&&!f.rotation&& (this.staggerLines||1)*a.plotWidth/c||!b&&(d&&d-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,f=this.tickPositions,d=this.ticks,e=this.options.labels,r=this.horiz,q=this.getSlotWidth(),z=Math.max(1,Math.round(q-2*(e.padding||5))),g={},w=this.labelMetrics(),p=e.style&&e.style.textOverflow,h,y=0,x,F;n(e.rotation)||(g.rotation=e.rotation||0);c(f,function(a){(a=d[a])&&a.labelLength>y&&(y=a.labelLength)});this.maxLabelLength=y;if(this.autoRotation)y>z&&y>w.h? g.rotation=this.labelRotation:this.labelRotation=0;else if(q&&(h={width:z+"px"},!p))for(h.textOverflow="clip",x=f.length;!r&&x--;)if(F=f[x],z=d[F].label)z.styles&&"ellipsis"===z.styles.textOverflow?z.css({textOverflow:"clip"}):d[F].labelLength>q&&z.css({width:q+"px"}),z.getBBox().height>this.len/f.length-(w.h-w.f)&&(z.specCss={textOverflow:"ellipsis"});g.rotation&&(h={width:(y>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},p||(h.textOverflow="ellipsis"));if(this.labelAlign=e.align||this.autoLabelAlign(this.labelRotation))g.align= this.labelAlign;c(f,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(g),h&&b.css(D(h,b.specCss)),delete b.specCss,a.rotation=g.rotation)});this.tickRotCorr=b.rotCorr(w.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||g(this.min)&&g(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,f=b.renderer,d=a.options,e=a.tickPositions,r=a.ticks,q=a.horiz,n=a.side,z=b.inverted?[1,0,3,2][n]:n,w,p,h=0,x,F=0,D=d.title,A=d.labels,G=0,m=a.opposite,K=b.axisOffset, b=b.clipOffset,l=[-1,1,1,-1][n],t,I=d.className,C=a.axisParent,B=this.tickSize("tick");w=a.hasData();a.showAxis=p=w||y(d.showEmpty,!0);a.staggerLines=a.horiz&&A.staggerLines;a.axisGroup||(a.gridGroup=f.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(I||"")).add(C),a.axisGroup=f.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(I||"")).add(C),a.labelGroup=f.g("axis-labels").attr({zIndex:A.zIndex||7}).addClass("highcharts-"+ a.coll.toLowerCase()+"-labels "+(I||"")).add(C));if(w||a.isLinked)c(e,function(b){r[b]?r[b].addLabel():r[b]=new N(a,b)}),a.renderUnsquish(),!1===A.reserveSpace||0!==n&&2!==n&&{1:"left",3:"right"}[n]!==a.labelAlign&&"center"!==a.labelAlign||c(e,function(a){G=Math.max(r[a].getLabelSize(),G)}),a.staggerLines&&(G*=a.staggerLines,a.labelOffset=G*(a.opposite?-1:1));else for(t in r)r[t].destroy(),delete r[t];D&&D.text&&!1!==D.enabled&&(a.axisTitle||((t=D.textAlign)||(t=(q?{low:"left",middle:"center",high:"right"}: {low:m?"right":"left",middle:"center",high:m?"left":"right"})[D.align]),a.axisTitle=f.text(D.text,0,0,D.useHTML).attr({zIndex:7,rotation:D.rotation||0,align:t}).addClass("highcharts-axis-title").add(a.axisGroup),a.axisTitle.isNew=!0),p&&(h=a.axisTitle.getBBox()[q?"height":"width"],x=D.offset,F=g(x)?0:y(D.margin,q?5:10)),a.axisTitle[p?"show":"hide"](!0));a.renderLine();a.offset=l*y(d.offset,K[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};f=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;F=Math.abs(G)+ F;G&&(F=F-f+l*(q?y(A.y,a.tickRotCorr.y+8*l):A.x));a.axisTitleMargin=y(x,F);K[n]=Math.max(K[n],a.axisTitleMargin+h+l*a.offset,F,w&&e.length&&B?B[0]:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[z]=Math.max(b[z],d)},getLinePath:function(a){var b=this.chart,f=this.opposite,k=this.offset,c=this.horiz,d=this.left+(f?this.width:0)+k,k=b.chartHeight-this.bottom-(f?this.height:0)+k;f&&(a*=-1);return b.renderer.crispLine(["M",c?this.left:d,c?k:this.top,"L",c?b.chartWidth-this.right:d,c?k:b.chartHeight- this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup))},getTitlePosition:function(){var a=this.horiz,b=this.left,f=this.top,c=this.len,d=this.options.title,e=a?b:f,r=this.opposite,q=this.offset,n=d.x||0,z=d.y||0,g=this.chart.renderer.fontMetrics(d.style&&d.style.fontSize,this.axisTitle).f,c={low:e+(a?0:c),middle:e+c/2,high:e+(a?c:0)}[d.align],b=(a?f+this.height:b)+(a?1:-1)*(r?-1:1)*this.axisTitleMargin+ (2===this.side?g:0);return{x:a?c+n:b+(r?this.width:0)+q+n,y:a?b+z-(r?this.height:0)+q:c+z}},render:function(){var a=this,b=a.chart,f=b.renderer,d=a.options,e=a.isLog,r=a.lin2log,q=a.isLinked,n=a.tickPositions,z=a.axisTitle,g=a.ticks,w=a.minorTicks,p=a.alternateBands,h=d.stackLabels,y=d.alternateGridColor,x=a.tickmarkOffset,D=a.axisLine,A=b.hasRendered&&G(a.oldMin),m=a.showAxis,K=B(f.globalAnimation),l,t;a.labelEdge.length=0;a.overlap=!1;c([g,w,p],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()|| q)a.minorTickInterval&&!a.categories&&c(a.getMinorTickPositions(),function(b){w[b]||(w[b]=new N(a,b,"minor"));A&&w[b].isNew&&w[b].render(null,!0);w[b].render(null,!1,1)}),n.length&&(c(n,function(b,f){if(!q||b>=a.min&&b<=a.max)g[b]||(g[b]=new N(a,b)),A&&g[b].isNew&&g[b].render(f,!0,.1),g[b].render(f)}),x&&(0===a.min||a.single)&&(g[-1]||(g[-1]=new N(a,-1,null,!0)),g[-1].render(-1))),y&&c(n,function(f,c){t=void 0!==n[c+1]?n[c+1]+x:a.max-x;0===c%2&&f=e.second?0:I*Math.floor(n.getMilliseconds()/I));if(y>=e.second)n[B.hcSetSeconds](y>=e.minute?0:I*Math.floor(n.getSeconds()/I));if(y>=e.minute)n[B.hcSetMinutes](y>= e.hour?0:I*Math.floor(n[B.hcGetMinutes]()/I));y>=e.hour&&(n[B.hcSetHours](y>=e.day?0:I*Math.floor(n[B.hcGetHours]()/I)),x=n[B.hcGetHours]());if(y>=e.day)n[B.hcSetDate](y>=e.month?1:I*Math.floor(n[B.hcGetDate]()/I));y>=e.month&&(n[B.hcSetMonth](y>=e.year?0:I*Math.floor(n[B.hcGetMonth]()/I)),p=n[B.hcGetFullYear]());if(y>=e.year)n[B.hcSetFullYear](p-p%I);if(y===e.week)n[B.hcSetDate](n[B.hcGetDate]()-n[B.hcGetDay]()+c(b,1));b=1;if(B.hcTimezoneOffset||B.hcGetTimezoneOffset)r=(!w||!!B.hcGetTimezoneOffset)&& (A-g>4*e.month||t(g)!==t(A)),n=n.getTime(),n=new B(n+t(n));p=n[B.hcGetFullYear]();g=n.getTime();w=n[B.hcGetMonth]();for(n=n[B.hcGetDate]();gh&&(!t||q<=g)&&void 0!==q&&x.push(q),q>g&&(w=!0),q=f;else h=e(h),g=e(g),a=d[t?"minorTickInterval":"tickInterval"],a=l("auto"=== a?null:a,this._minorAutoInterval,d.tickPixelInterval/(t?5:1)*(g-h)/((t?c/this.tickPositions.length:c)||1)),a=H(a,null,B(a)),x=E(this.getLinearTickPositions(a,h,g),p),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return x};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,a)}})(L);(function(a){var C=a.dateFormat,B=a.each,E=a.extend,H=a.format,l=a.isNumber,d=a.map,h=a.merge,g=a.pick,t=a.splat,m=a.stop,c=a.syncTimeout,e=a.timeUnits; a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,c){this.chart=a;this.options=c;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=c.split&&!a.inverted;this.shared=c.shared||this.split},cleanSplit:function(a){B(this.chart.series,function(c){var d=c&&c.tt;d&&(!d.isActive||a?c.tt=d.destroy():d.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,c=this.options;this.label||(this.label=this.split?a.g("tooltip"):a.label("",0,0,c.shape|| "callout",null,null,c.useHTML,null,"tooltip").attr({padding:c.padding,r:c.borderRadius}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,h(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,c,d,b){var f=this,e=f.now,g=!1!==f.options.animation&&!f.isHidden&& (1q-w?q:q-w);else if(g)e[a]=Math.max(r,d+w+c>b?d:d+w);else return!1},x=function(a,b,c,d){var k;db-f?k=!1: e[a]=db-c/2?b-c-2:d-c/2;return k},r=function(a){var b=n;n=h;h=b;p=a},z=function(){!1!==y.apply(0,n)?!1!==x.apply(0,h)||p||(r(!0),z()):p?e.x=e.y=0:(r(!0),z())};(b.inverted||1z&&(w=!1);a=(c.series&&c.series.yAxis&&c.series.yAxis.pos)+(c.plotY||0);a-=f.plotTop;b.push({target:c.isHeader?f.plotHeight+n:a,rank:c.isHeader?1:0,size:y.tt.getBBox().height+1,point:c,x:z,tt:r})});this.cleanSplit();a.distribute(b,f.plotHeight+n);B(b,function(a){var b=a.point,c=a.tt,d;d={visibility:void 0===a.pos?"hidden":"inherit",x:w||b.isHeader?a.x:b.plotX+f.plotLeft+g(h.distance,16),y:a.pos+f.plotTop};b.isHeader&&(d.anchorX=b.plotX+f.plotLeft,d.anchorY=d.y-100);c.attr(d); b.isHeader||c.connector.attr({d:["M",b.plotX+f.plotLeft-d.x,b.plotY+b.series.yAxis.pos-d.y,"L",(w?-1:1)*g(h.distance,16)+b.plotX+f.plotLeft-d.x,a.pos+f.plotTop+c.getBBox().height/2-d.y]})})},updatePosition:function(a){var c=this.chart,d=this.getLabel(),d=(this.options.positioner||this.getPosition).call(this,d.width,d.height,a);this.move(Math.round(d.x),Math.round(d.y||0),a.plotX+c.plotLeft,a.plotY+c.plotTop)},getXDateFormat:function(a,c,d){var b;c=c.dateTimeLabelFormats;var f=d&&d.closestPointRange, g,w={millisecond:15,second:12,minute:9,hour:6,day:3},h,n="millisecond";if(f){h=C("%m-%d %H:%M:%S.%L",a.x);for(g in e){if(f===e.week&&+C("%w",a.x)===d.options.startOfWeek&&"00:00:00.000"===h.substr(6)){g="week";break}if(e[g]>f){g=n;break}if(w[g]&&h.substr(w[g])!=="01-01 00:00:00.000".substr(w[g]))break;"week"!==g&&(n=g)}g&&(b=c[g])}else b=c.day;return b||c.year},tooltipFooterHeaderFormatter:function(a,c){var d=c?"footer":"header";c=a.series;var b=c.tooltipOptions,f=b.xDateFormat,e=c.xAxis,g=e&&"datetime"=== e.options.type&&l(a.key),d=b[d+"Format"];g&&!f&&(f=this.getXDateFormat(a,b,e));g&&f&&(d=d.replace("{point.key}","{point.key:"+f+"}"));return H(d,{point:a,series:c})},bodyFormatter:function(a){return d(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}}})(L);(function(a){var C=a.addEvent,B=a.attr,E=a.charts,H=a.css,l=a.defined,d=a.doc,h=a.each,g=a.extend,t=a.fireEvent,m=a.offset,c=a.pick,e=a.removeEvent,p=a.splat,x=a.Tooltip, A=a.win;a.Pointer=function(a,c){this.init(a,c)};a.Pointer.prototype={init:function(a,f){this.options=f;this.chart=a;this.runChartClick=f.chart.events&&!!f.chart.events.click;this.pinchDown=[];this.lastValidTouch={};x&&f.tooltip.enabled&&(a.tooltip=new x(a,f.tooltip),this.followTouchMove=c(f.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(){var a=this.chart,c=a.options.chart.zoomType,d=/x/.test(c),c=/y/.test(c),a=a.inverted;this.zoomX=d;this.zoomY=c;this.zoomHor=d&&!a||c&&a;this.zoomVert= c&&!a||d&&a;this.hasZoom=d||c},normalize:function(a,c){var b,f;a=a||A.event;a.target||(a.target=a.srcElement);f=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;c||(this.chartPosition=c=m(this.chart.container));void 0===f.pageX?(b=Math.max(a.x,a.clientX-c.left),c=a.y):(b=f.pageX-c.left,c=f.pageY-c.top);return g(a,{chartX:Math.round(b),chartY:Math.round(c)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};h(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c, value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},runPointActions:function(b){var f=this.chart,e=f.series,g=f.tooltip,p=g?g.shared:!1,n=!0,D=f.hoverPoint,m=f.hoverSeries,y,l,r,z=[],F;if(!p&&!m)for(y=0;yb.series.group.zIndex?-1:1}));if(p)for(y=z.length;y--;)(z[y].x!==z[0].x||z[y].series.noSharedTooltip)&&z.splice(y,1);if(z[0]&&(z[0]!==this.prevKDPoint||g&&g.isHidden)){if(p&&!z[0].series.noSharedTooltip){for(y=0;yp+l&&(d=p+l),em+r&&(e=m+r),this.hasDragged=Math.sqrt(Math.pow(t-d,2)+Math.pow(k-e,2)),10I.max&&(d=I.max-n,v=!0);v?(F-=.8*(F-p[b][0]),r||(k-=.8*(k-p[b][1])),l()):p[b]=[F,k];y||(e[b]=D-t,e[w]=n);e=y?1/K:K;c[w]=n;c[b]=d;m[y?a?"scaleY":"scaleX":"scale"+f]=K;m["translate"+f]=e*t+(F-e*z)},pinch:function(a){var g=this,h=g.chart,m=g.pinchDown,c=a.touches,e=c.length,p=g.lastValidTouch,x=g.hasZoom, A=g.selectionMarker,b={},f=1===e&&(g.inClass(a.target,"highcharts-tracker")&&h.runTrackerClick||g.runChartClick),q={};1c-6&&n(r||b.chartWidth-2*p-x-e.x)&&(this.itemX=x,this.itemY+=F+this.lastLineHeight+ z,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,n);this.lastItemY=F+this.itemY+z;this.lastLineHeight=Math.max(h,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];g?this.itemX+=n:(this.itemY+=F+h+z,this.lastLineHeight=h);this.offsetWidth=r||Math.max((g?this.itemX-x-m:n)+p,this.offsetWidth)},getAllItems:function(){var a=[];d(this.chart.series,function(b){var d=b&&b.options;b&&c(d.showInLegend,l(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===d.legendType? b.data:b)))});return a},adjustMargins:function(a,e){var b=this.chart,f=this.options,g=f.align.charAt(0)+f.verticalAlign.charAt(0)+f.layout.charAt(0);f.floating||d([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(d,h){d.test(g)&&!l(a[h])&&(b[t[h]]=Math.max(b[t[h]],b.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*f[h%2?"x":"y"]+c(f.margin,12)+e[h]))})},render:function(){var a=this,c=a.chart,e=c.renderer,g=a.group,m,n,l,x,y=a.box,t=a.options,r=a.padding;a.itemX=a.initialItemX; a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;g||(a.group=g=e.g("legend").attr({zIndex:7}).add(),a.contentGroup=e.g().attr({zIndex:1}).add(g),a.scrollGroup=e.g().add(a.contentGroup));a.renderTitle();m=a.getAllItems();p(m,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});t.reversed&&m.reverse();a.allItems=m;a.display=n=!!m.length;a.lastLineHeight=0;d(m,function(b){a.renderItem(b)});l=(t.width||a.offsetWidth)+r;x=a.lastItemY+a.lastLineHeight+a.titleHeight; x=a.handleOverflow(x);x+=r;y||(a.box=y=e.rect().addClass("highcharts-legend-box").attr({r:t.borderRadius}).add(g),y.isNew=!0);0n&&!1!==x.enabled?(this.clipHeight=m=Math.max(n-20-this.titleHeight-k, 0),this.currentPage=c(this.currentPage,1),this.fullHeight=a,d(A,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=t.length;if(!d||c-t[d-1]>m&&(v||c)!==t[d-1])t.push(v||c),d++;b===A.length-1&&c+a-t[d-1]>m&&t.push(c);c!==v&&(v=c)}),l||(l=b.clipRect=g.clipRect(0,k,9999,0),b.contentGroup.clip(l)),R(m),F||(this.nav=F=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol("triangle",0,0,z,z).on("click",function(){b.scroll(-1,r)}).add(F),this.pager=g.text("",15,10).addClass("highcharts-legend-navigation").add(F), this.down=g.symbol("triangle-down",0,0,z,z).on("click",function(){b.scroll(1,r)}).add(F)),b.scroll(0),a=n):F&&(R(e.chartHeight),F.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var b=this.pages,d=b.length;a=this.currentPage+a;var f=this.clipHeight,g=this.pager,h=this.padding;a>d&&(a=d);0b&&(d=typeof a[0],"string"===d?c.name=a[0]:"number"===d&&(c.x=a[0]),f++);q=h.value;)h=d[++g];h&&h.color&&!this.options.color&&(this.color= h.color);return h},destroy:function(){var a=this.series.chart,d=a.hoverPoints,g;a.pointCount--;d&&(this.setState(),H(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)m(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,g=6;g--;)d=a[g],this[d]&&(this[d]=this[d].destroy())},getLabelConfig:function(){return{x:this.category, y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var c=this.series,g=c.tooltipOptions,h=t(g.valueDecimals,""),m=g.valuePrefix||"",b=g.valueSuffix||"";B(c.pointArrayMap||["y"],function(c){c="{point."+c;if(m||b)a=a.replace(c+"}",m+c+"}"+b);a=a.replace(c+"}",c+":,."+h+"f}")});return d(a,{point:this,series:this.series})},firePointEvent:function(a,d,g){var c=this,e=this.series.options; (e.point.events[a]||c.options&&c.options.events&&c.options.events[a])&&this.importEvents();"click"===a&&e.allowPointSelect&&(g=function(a){c.select&&c.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});l(this,a,d,g)},visible:!0}})(L);(function(a){var C=a.addEvent,B=a.animObject,E=a.arrayMax,H=a.arrayMin,l=a.correctFloat,d=a.Date,h=a.defaultOptions,g=a.defined,t=a.each,m=a.erase,c=a.error,e=a.extend,p=a.fireEvent,x=a.grep,A=a.isArray,b=a.isNumber,f=a.isString,q=a.merge,w=a.pick,G=a.removeEvent,n=a.splat, D=a.stableSort,K=a.SVGElement,y=a.syncTimeout,I=a.win;a.Series=a.seriesType("line",null,{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1,marker:{},halo:{size:10}}, select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,f,g=a.series,r=function(a,b){return w(a.options.index,a._i)-w(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();e(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});f=b.events;for(d in f)C(c, d,f[d]);if(f&&f.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();t(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);g.push(c);c._i=g.length-1;D(g,r);this.yAxis&&D(this.yAxis.series,r);t(g,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,d=a.chart,e;t(a.axisTypes||[],function(f){t(d[f],function(c){e=c.options;if(b[f]=== e.index||void 0!==b[f]&&b[f]===e.id||void 0===b[f]&&0===e.index)c.series.push(a),a[f]=c,c.isDirty=!0});a[f]||a.optionalAxis===f||c(18,!0)})},updateParallelArrays:function(a,c){var d=a.series,e=arguments,f=b(c)?function(b){var e="y"===b&&d.toYData?d.toYData(a):a[b];d[b+"Data"][c]=e}:function(a){Array.prototype[c].apply(d[a+"Data"],Array.prototype.slice.call(e,2))};t(d.parallelArrays,f)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,e=a.pointIntervalUnit,b=w(b,a.pointStart,0);this.pointInterval= c=w(this.pointInterval,a.pointInterval,1);e&&(a=new d(b),"day"===e?a=+a[d.hcSetDate](a[d.hcGetDate]()+c):"month"===e?a=+a[d.hcSetMonth](a[d.hcGetMonth]()+c):"year"===e&&(a=+a[d.hcSetFullYear](a[d.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=q(e,c.series,a);this.tooltipOptions=q(h.tooltip,h.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip, d[this.type]&&d[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"});a.length&&g(a[a.length-1].value)&&a.push({});return c},getCyclic:function(a,b,c){var d,e=this.userOptions,f=a+"Index",r=a+"Counter",n=c?c.length:w(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(d=w(e[f],e["_"+ f]),g(d)||(e["_"+f]=d=this.chart[r]%n,this.chart[r]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.getCyclic("color")},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(a,d,e,g){var k=this,r=k.points,n=r&&r.length||0,h,z=k.options,m=k.chart,p=null,l=k.xAxis,q=z.turboThreshold,y=this.xData,D=this.yData,x=(h=k.pointArrayMap)&&h.length;a=a||[];h=a.length; d=w(d,!0);if(!1!==g&&h&&n===h&&!k.cropped&&!k.hasGroupedData&&k.visible)t(a,function(a,b){r[b].update&&a!==z.data[b]&&r[b].update(a,!1,null,!1)});else{k.xIncrement=null;k.colorCounter=0;t(this.parallelArrays,function(a){k[a+"Data"].length=0});if(q&&h>q){for(e=0;null===p&&eh||this.forceCrop))if(b[e-1]w)b=[],d=[];else if(b[0]w)f=this.cropData(this.xData,this.yData,y,w),b=f.xData,d=f.yData,f=f.start,g=!0;for(h=b.length||1;--h;)e=q?m(b[h])-m(b[h-1]):b[h]-b[h-1],0e&&this.requireSorting&&c(15); this.cropped=g;this.cropStart=f;this.processedXData=b;this.processedYData=d;this.closestPointRange=r},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,r=w(this.cropShoulder,1),n;for(n=0;n=c){f=Math.max(0,n-r);break}for(c=n;cd){g=c+r;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,h=this.cropStart||0,m,p=this.hasGroupedData, l,y=[],q;b||p||(b=[],b.length=a.length,b=this.data=b);for(q=0;q=r&&(d[l-1]||m)<=n,h&&m)if(h=p.length)for(;h--;)null!==p[h]&&(f[g++]=p[h]);else f[g++]=p;this.dataMin=H(f);this.dataMax=E(f)},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var a=this.options,c=a.stacking,d=this.xAxis,e=d.categories, f=this.yAxis,n=this.points,h=n.length,m=!!this.modifyValue,p=a.pointPlacement,q="between"===p||b(p),y=a.threshold,t=a.startFromThreshold?y:0,D,x,A,I,K=Number.MAX_VALUE,a=0;a=B&&(G.isNull=!0);G.plotX=D=l(Math.min(Math.max(-1E5,d.translate(C,0,0,0,1,p,"flags"===this.type)),1E5));c&&this.visible&&!G.isNull&&E&&E[C]&&(I=this.getStackIndicator(I,C,this.index),H=E[C],B=H.points[I.key], x=B[0],B=B[1],x===t&&I.key===E[C].base&&(x=w(y,f.min)),f.isLog&&0>=x&&(x=null),G.total=G.stackTotal=H.total,G.percentage=H.total&&G.y/H.total*100,G.stackY=B,H.setOffset(this.pointXOffset||0,this.barW||0));G.yBottom=g(x)?f.translate(x,0,1,0,1):null;m&&(B=this.modifyValue(B,G));G.plotY=x="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,f.translate(B,0,1,0,1)),1E5):void 0;G.isInside=void 0!==x&&0<=x&&x<=f.len&&0<=D&&D<=d.len;G.clientX=q?l(d.translate(C,0,0,0,1,p)):D;G.negative=G.y<(y||0);G.category= e&&void 0!==e[G.x]?e[G.x]:G.x;G.isNull||(void 0!==A&&(K=Math.min(K,Math.abs(D-A))),A=D)}this.closestPointRangePx=K},getValidPoints:function(a,b){var c=this.chart;return x(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),r=b[n],h=b[n+"m"];r||(a&& (g.width=0,b[n+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[n]=r=d.clipRect(g),r.count={length:0});a&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?r:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=n);a||(r.count[this.index]&&(delete r.count[this.index],--r.count.length),0===r.count.length&&n&&b[n]&&(f||(b[n]=b[n].destroy()),b[n+"m"]&&(b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart, c=B(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();p(this,"afterAnimate")},drawPoints:function(){var a=this.points,c=this.chart,d,e,f,g,n=this.options.marker,h,m,p,l,q=this.markerGroup,y=w(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(e=a.length;e--;)f= a[e],d=f.plotY,g=f.graphic,h=f.marker||{},m=!!f.marker,p=y&&void 0===h.enabled||h.enabled,l=f.isInside,p&&b(d)&&null!==f.y?(d=w(h.symbol,this.symbol),f.hasImage=0===d.indexOf("url"),p=this.markerAttribs(f,f.selected&&"select"),g?g[l?"show":"hide"](!0).animate(p):l&&(0q.max}),this.clips=g)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};t(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d=c.chart;c.xAxis&&(C(d,"resize",b),C(c,"destroy",function(){G(d,"resize",b)}),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d|| .1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&B(d.animation).duration, f=a.visible?"inherit":"hidden",g=d.zIndex,n=a.hasRendered,h=b.seriesGroup,m=b.inverted;c=a.plotGroup("group","series",f,g,h);a.markerGroup=a.plotGroup("markerGroup","markers",f,g,h);e&&a.animate(!0);c.inverted=a.isCartesian?m:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(m);!1===d.clip||a.sharedClipKey||n||c.clip(b.clipRect);e&&a.animate();n||(a.animationTimeout= y(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:w(d&&d.left,a.plotLeft),translateY:w(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted; return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}var b=this,c=b.kdDimensions;delete b.kdTree;y(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a, b,k,h){var m=b.point,p=d.kdAxisArray[k%h],l,r,q=m;r=g(a[e])&&g(m[e])?Math.pow(a[e]-m[e],2):null;l=g(a[f])&&g(m[f])?Math.pow(a[f]-m[f],2):null;l=(r||0)+(l||0);m.dist=g(l)?Math.sqrt(l):Number.MAX_VALUE;m.distX=g(r)?Math.sqrt(r):Number.MAX_VALUE;p=a[p]-m[p];l=0>p?"left":"right";r=0>p?"right":"left";b[l]&&(l=c(a,b[l],k+1,h),q=l[n]q;)m--;this.updateParallelArrays(l,"splice",m,0,0);this.updateParallelArrays(l,m);h&&l.name&&(h[q]=l.name);n.splice(m,0,a);k&&(this.data.splice(m,0,null),this.processData());"point"===e.legendType&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(l,"shift"),n.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(d)}, removePoint:function(a,b,c){var d=this,e=d.data,f=e[a],g=d.points,h=d.chart,n=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(f||{series:d},"splice",a,1);f&&f.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&h.redraw()};q(c,h);b=x(b,!0);f?f.firePointEvent("remove",null,n):n()},remove:function(a,b,c){function d(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();x(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==c?t(e,"remove",null,d): d()},update:function(a,b){var c=this,e=this.chart,h=this.userOptions,n=this.type,l=a.type||h.type||e.options.chart.type,m=f[n].prototype,q=["group","markerGroup","dataLabelsGroup"],w;if(l&&l!==n||void 0!==a.zIndex)q.length=0;d(q,function(a){q[a]=c[a];delete c[a]});a=p(h,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(w in m)this[w]=void 0;g(this,f[l||n].prototype);d(q,function(a){c[a]=q[a]});this.init(e,a);e.linkSeries();x(b,!0)&&e.redraw(!1)}}); g(B.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=p(this.userOptions,a);this.destroy(!0);this.init(c,g(a,{events:void 0}));c.isDirtyBox=!0;x(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,e=this.series,f=e.length;f--;)e[f]&&e[f].remove(!1);h(b.axes,this);h(b[c],this);b.options[c].splice(this.options.index,1);d(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;x(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, b)},setCategories:function(a,b){this.update({categories:a},b)}})})(L);(function(a){var C=a.each,B=a.map,E=a.pick,H=a.Series,l=a.seriesType;l("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],h=[],g=this.xAxis,l=this.yAxis,m=l.stacks[this.stackKey],c={},e=this.points,p=this.index,x=l.series,A=x.length,b,f=E(l.options.reversedStacks,!0)?1:-1,q,w;if(this.options.stacking){for(q=0;qa&&p>l?(p=Math.max(a,l),A=2*l-p):pg&&A>l?(A=Math.max(g,l),p=2*l-A):A=Math.abs(d)&&.5a.closestPointRange*a.xAxis.transA,l=a.borderWidth=d(g.borderWidth,l?0:1),m=a.yAxis,b=a.translatedThreshold=m.getThreshold(g.threshold),f=d(g.minPointLength,5),q=a.getColumnMetrics(),w=q.width,t=a.barW=Math.max(w,1+2*l),n=a.pointXOffset=q.offset;e.inverted&&(b-=.5);g.pointPadding&&(t=Math.ceil(t));h.prototype.translate.apply(a);B(a.points,function(c){var g=d(c.yBottom,b),h=999+Math.abs(g),h=Math.min(Math.max(-h,c.plotY),m.len+h),l= c.plotX+n,p=t,q=Math.min(h,g),x,D=Math.max(h,g)-q;Math.abs(D)f?g-f:b-(x?f:0));c.barX=l;c.pointWidth=w;c.tooltipPos=e.inverted?[m.len+m.pos-e.plotLeft-h,a.xAxis.len-l-p/2,D]:[l+p/2,h+m.pos-e.plotTop,D];c.shapeType="rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[c.plotX,m.len/2,0,0]:[l,q,p,D])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}, drawPoints:function(){var a=this,d=this.chart,g=d.renderer,h=a.options.animationLimit||250,m;B(a.points,function(b){var c=b.graphic;H(b.plotY)&&null!==b.y?(m=b.shapeArgs,c?(t(c),c[d.pointCountt;++t)m=h[t],a=2>t||2===t&&/%$/.test(m),h[t]=B(m,[d,H,g,h[2]][t])+(a?l:0);h[3]>h[2]&&(h[3]=h[2]);return h}}})(L);(function(a){var C=a.addEvent,B=a.defined,E=a.each,H=a.extend,l=a.inArray,d=a.noop,h=a.pick,g=a.Point,t= a.Series,m=a.seriesType,c=a.setAnimation;m("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs, animate:function(a){var c=this,d=c.points,e=c.startAngleRad;a||(E(d,function(a){var b=a.graphic,d=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:e,end:e}),b.animate({r:d.r,start:d.start,end:d.end},c.options.animation))}),c.animate=null)},updateTotals:function(){var a,c=0,d=this.points,g=d.length,b,f=this.options.ignoreHiddenPoint;for(a=0;ab.y&&(b.y=null),c+=f&&!b.visible?0:b.y;this.total=c;for(a=0;a1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI);r.slicedTranslation={translateX:Math.round(Math.cos(l)*e),translateY:Math.round(Math.sin(l)*e)};f=Math.cos(l)*a[2]/2;g=Math.sin(l)*a[2]/2;r.tooltipPos=[a[0]+.7*f,a[1]+.7*g];r.half=l<-Math.PI/2||l>Math.PI/2?1:0;r.angle=l;b=Math.min(b,K/5);r.labelPos=[a[0]+f+Math.cos(l)* K,a[1]+g+Math.sin(l)*K,a[0]+f+Math.cos(l)*b,a[1]+g+Math.sin(l)*b,a[0]+f,a[1]+g,0>K?"center":r.half?"right":"left",l]}},drawGraph:null,drawPoints:function(){var a=this,c=a.chart.renderer,d,g,b;E(a.points,function(e){null!==e.y&&(g=e.graphic,b=e.shapeArgs,d=e.sliced?e.slicedTranslation:{},g?g.setRadialReference(a.center).animate(H(b,d)):(e.graphic=g=c[e.shapeType](b).addClass(e.getClassName()).setRadialReference(a.center).attr(d).add(a.group),e.visible||g.attr({visibility:"hidden"})))})},searchPoint:d, sortByAngle:function(a,c){a.sort(function(a,d){return void 0!==a.angle&&(d.angle-a.angle)*c})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:d},{init:function(){g.prototype.init.apply(this,arguments);var a=this,c;a.name=h(a.name,"Slice");c=function(c){a.slice("select"===c.type)};C(a,"select",c);C(a,"unselect",c);return a},setVisible:function(a,c){var d=this,e=d.series,b=e.chart,f=e.options.ignoreHiddenPoint;c=h(c,f);a!==d.visible&&(d.visible= d.options.visible=a=void 0===a?!d.visible:a,e.options.data[l(d,e.data)]=d.options,E(["graphic","dataLabel","connector","shadowGroup"],function(b){if(d[b])d[b][a?"show":"hide"](!0)}),d.legendItem&&b.legend.colorizeItem(d,a),a||"hover"!==d.state||d.setState(""),f&&(e.isDirty=!0),c&&b.redraw())},slice:function(a,d,g){var e=this.series;c(g,e.chart);h(d,!0);this.sliced=this.options.sliced=a=B(a)?a:!this.sliced;e.options.data[l(this,e.data)]=this.options;this.graphic.animate(a?this.slicedTranslation:{translateX:0, translateY:0})},haloPath:function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:this.shapeArgs.r,start:c.start,end:c.end})}})})(L);(function(a){var C=a.addEvent,B=a.arrayMax,E=a.defined,H=a.each,l=a.extend,d=a.format,h=a.map,g=a.merge,t=a.noop,m=a.pick,c=a.relativeLength,e=a.Series,p=a.seriesTypes,x=a.stableSort,A=a.stop;a.distribute=function(a,c){function b(a,b){return a.target-b.target}var d,e=!0,f=a,g=[],l;l=0;for(d= a.length;d--;)l+=a[d].size;if(l>c){x(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(l=d=0;l<=c;)l+=a[d].size,d++;g=a.splice(d-1,a.length)}x(a,b);for(a=h(a,function(a){return{size:a.size,targets:[a.target]}});e;){for(d=a.length;d--;)e=a[d],l=(Math.min.apply(0,e.targets)+Math.max.apply(0,e.targets))/2,e.pos=Math.min(Math.max(0,l-e.size/2),c-e.size);d=a.length;for(e=!1;d--;)0a[d].pos&&(a[d-1].size+=a[d].size,a[d-1].targets=a[d-1].targets.concat(a[d].targets),a[d-1].pos+ a[d-1].size>c&&(a[d-1].pos=c-a[d-1].size),a.splice(d,1),e=!0)}d=0;H(a,function(a){var b=0;H(a.targets,function(){f[d].pos=a.pos+b;b+=f[d].size;d++})});f.push.apply(f,g);x(f,b)};e.prototype.drawDataLabels=function(){var a=this,c=a.options,e=c.dataLabels,h=a.points,l,n,p=a.hasRendered||0,t,y,x=m(e.defer,!0),r=a.chart.renderer;if(e.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(e),y=a.plotGroup("dataLabelsGroup","data-labels",x&&!p?"hidden":"visible",e.zIndex||6),x&&(y.attr({opacity:+p}), p||C(a,"afterAnimate",function(){a.visible&&y.show(!0);y[c.animation?"animate":"attr"]({opacity:1},{duration:200})})),n=e,H(h,function(b){var c,f=b.dataLabel,h,p,q=b.connector,w=!0;l=b.dlOptions||b.options&&b.options.dataLabels;c=m(l&&l.enabled,n.enabled)&&null!==b.y;if(f&&!c)b.dataLabel=f.destroy();else if(c){e=g(n,l);c=e.rotation;h=b.getLabelConfig();t=e.format?d(e.format,h):e.formatter.call(h,e);if(f)E(t)?(f.attr({text:t}),w=!1):(b.dataLabel=f=f.destroy(),q&&(b.connector=q.destroy()));else if(E(t)){f= {r:e.borderRadius||0,rotation:c,padding:e.padding,zIndex:1};for(p in f)void 0===f[p]&&delete f[p];f=b.dataLabel=r[c?"text":"label"](t,0,-9999,e.shape,null,null,e.useHTML,null,"data-label").attr(f);f.addClass("highcharts-data-label-color-"+b.colorIndex+" "+(e.className||""));f.add(y)}f&&a.alignDataLabel(b,f,e,null,w)}})};e.prototype.alignDataLabel=function(a,c,d,e,g){var b=this.chart,f=b.inverted,h=m(a.plotX,-9999),p=m(a.plotY,-9999),q=c.getBBox(),r,t=d.rotation,w=d.align,x=this.visible&&(a.series.forceDL|| b.isInsidePlot(h,Math.round(p),f)||e&&b.isInsidePlot(h,f?e.x+1:e.y+e.height-1,f)),k="justify"===m(d.overflow,"justify");x&&(r=b.renderer.fontMetrics(void 0,c).b,e=l({x:f?b.plotWidth-p:h,y:Math.round(f?b.plotHeight-h:p),width:0,height:0},e),l(d,{width:q.width,height:q.height}),t?(k=!1,f=b.renderer.rotCorr(r,t),f={x:e.x+d.x+e.width/2+f.x,y:e.y+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*e.height},c[g?"attr":"animate"](f).attr({align:w}),h=(t+720)%360,h=180h,"left"===w?f.y-=h?q.height:0: "center"===w?(f.x-=q.width/2,f.y-=q.height/2):"right"===w&&(f.x-=q.width,f.y-=h?0:q.height)):(c.align(d,null,e),f=c.alignAttr),k?this.justifyDataLabel(c,d,f,q,e,g):m(d.crop,!0)&&(x=b.isInsidePlot(f.x,f.y)&&b.isInsidePlot(f.x+q.width,f.y+q.height)),d.shape&&!t&&c.attr({anchorX:a.plotX,anchorY:a.plotY}));x||(A(c),c.attr({y:-9999}),c.placed=!1)};e.prototype.justifyDataLabel=function(a,c,d,e,g,h){var b=this.chart,f=c.align,n=c.verticalAlign,l,m,p=a.box?0:a.padding||0;l=d.x+p;0>l&&("right"===f?c.align= "left":c.x=-l,m=!0);l=d.x+e.width-p;l>b.plotWidth&&("left"===f?c.align="right":c.x=b.plotWidth-l,m=!0);l=d.y+p;0>l&&("bottom"===n?c.verticalAlign="top":c.y=-l,m=!0);l=d.y+e.height-p;l>b.plotHeight&&("top"===n?c.verticalAlign="bottom":c.y=b.plotHeight-l,m=!0);m&&(a.placed=!h,a.align(c,null,g))};p.pie&&(p.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,d,g=b.chart,l=b.options.dataLabels,n=m(l.connectorPadding,10),p=m(l.connectorWidth,1),t=g.plotWidth,y=g.plotHeight,x,r=l.distance,z=b.center, A=z[2]/2,C=z[1],k=0k-2?q:J,e),v._attr={visibility:O,align:L[6]},v._pos={x:u+l.x+({left:n,right:-n}[L[6]]||0),y:J+l.y-10},L.x=u,L.y=J,null===b.options.size&&(E=v.width,u-Et-n&&(S[1]=Math.max(Math.round(u+E-t+n),S[1])),0>J-P/2?S[0]=Math.max(Math.round(-J+P/2),S[0]):J+P/2>y&&(S[2]= Math.max(Math.round(J+P/2-y),S[2])))}),0===B(S)||this.verifyDataLabelOverflow(S))&&(this.placeDataLabels(),k&&p&&H(this.points,function(a){var c;x=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){O=v._attr.visibility;if(c=!x)a.connector=x=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(b.dataLabelsGroup);x[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});x.attr("visibility",O)}else x&&(a.connector=x.destroy())}))},p.pie.prototype.connectorPath= function(a){var b=a.x,c=a.y;return m(this.options.softConnector,!0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},p.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))})},p.pie.prototype.alignDataLabel=t,p.pie.prototype.verifyDataLabelOverflow=function(a){var b= this.center,d=this.options,e=d.center,g=d.minSize||80,h,l;null!==e[0]?h=Math.max(b[2]-Math.max(a[1],a[3]),g):(h=Math.max(b[2]-a[1]-a[3],g),b[0]+=(a[3]-a[1])/2);null!==e[1]?h=Math.max(Math.min(h,b[2]-Math.max(a[0],a[2])),g):(h=Math.max(Math.min(h,b[2]-a[0]-a[2]),g),b[1]+=(a[0]-a[2])/2);hm(this.translatedThreshold,f.yAxis.len)),q=m(d.inside,!!this.options.stacking);p&&(h=g(p),0>h.y&&(h.height+=h.y,h.y=0),p=h.y+h.height-f.yAxis.len,0a+c||e+hb+d||g+lthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&h(d,function(a){a.setState()});h("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],h=(b.pointRange||0)/2,l=b.getExtremes(),n=b.toValue(g-f,!0)+h,h=b.toValue(g+b.len-f,!0)-h,g=g>f;b.series.length&&(g||n>Math.min(l.dataMin,l.min))&&(!g||h=l(m.minWidth,0)&&this.chartHeight>=l(m.minHeight,0)};void 0===d._id&&(d._id=a.idCounter++);c=c.call(this); !h[d._id]&&c?d.chartOptions&&(h[d._id]=this.currentOptions(d.chartOptions),this.update(d.chartOptions,g)):h[d._id]&&!c&&(this.update(h[d._id],g),delete h[d._id])};C.prototype.currentOptions=function(a){function g(a,c,e){var h,l;for(h in a)if(-1