(function(){function r(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n}function s(){var t,n=arguments,r,i={},u=function(n,t){var r,i;typeof n!="object"&&(n={});for(i in t)t.hasOwnProperty(i)&&(r=t[i],n[i]=r&&typeof r=="object"&&Object.prototype.toString.call(r)!=="[object Array]"&&i!=="renderTo"&&typeof r.nodeType!="number"?u(n[i]||{},r):t[i]);return n};for(n[0]===!0&&(i=n[1],n=Array.prototype.slice.call(n,2)),r=n.length,t=0;t3?f.length%3:0;return a+(o?f.substr(0,o)+c:"")+f.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+c)+(e?l+y(u-f).toFixed(e).slice(2):"")}function vr(n,t){return new Array((t||2)+1-String(n).length).join(0)+n}function dr(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments);return n.unshift(r),i.apply(this,n)}}function wo(n,t){var r=nt.lang,i;return/f$/.test(n)?(i=n.match(/\.([0-9])/),i=i?i[1]:-1,t!==null&&(t=ar(t,i,r.decimalPoint,n.indexOf(",")>-1?r.thousandsSep:""))):t=nf(n,t),t}function yr(n,t){for(var c="{",r=!1,o,u,s,f,l,e=[],i,h;(h=n.indexOf(c))!==-1;){if(o=n.slice(0,h),r){for(u=o.split(":"),s=u.shift().split("."),l=s.length,i=t,f=0;fi&&(i=n[t]);return i}function nu(n,t){for(var i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]}function tu(n){gu||(gu=at(hr));n&&gu.appendChild(n);gu.innerHTML=""}function vi(n,t){var i="Highcharts error #"+n+": www.highcharts.com/errors/"+n;if(t)throw i;else d.console&&console.log(i)}function gt(n){return parseFloat(n.toPrecision(14))}function iu(t,i){bi=n(t,i.animation)}function ro(){var r=nt.global.useUTC,t=r?"getUTC":"get",i=r?"setUTC":"set";br=(r&&nt.global.timezoneOffset||0)*6e4;uf=r?Date.UTC:function(t,i,r,u,f,e){return new Date(t,i,n(r,1),n(u,0),n(f,0),n(e,0)).getTime()};wf=t+"Minutes";bf=t+"Hours";kf=t+"Day";au=t+"Date";ff=t+"Month";ef=t+"FullYear";de=i+"Minutes";ge=i+"Hours";df=i+"Date";no=i+"Month";to=i+"FullYear"}function ns(n){return nt=s(!0,nt,n),ro(),nt}function ts(){return nt}function ft(){}function fu(n,t,i,r){this.axis=n;this.pos=t;this.type=i||"";this.isNew=!0;i||r||this.addLabel()}function si(){this.init.apply(this,arguments)}function wu(){this.init.apply(this,arguments)}function oo(t,i,r,u,f){var e=t.chart.inverted;this.axis=t;this.isNegative=r;this.options=i;this.x=u;this.total=null;this.points={};this.stack=f;this.alignOptions={align:i.align||(e?r?"left":"right":"center"),verticalAlign:i.verticalAlign||(e?"middle":r?"bottom":"top"),y:n(i.y,e?4:r?14:-6),x:n(i.x,e?r?-6:6:0)};this.textAlign=i.textAlign||(e?r?"right":"left":"center")}var f,o=document,d=window,st=Math,e=st.round,et=st.floor,sr=st.ceil,u=st.max,l=st.min,y=st.abs,lt=st.cos,bt=st.sin,ni=st.PI,ir=ni/180,pi=navigator.userAgent,ae=d.opera,rr=/msie/i.test(pi)&&!ae,ku=o.documentMode===8,du=/AppleWebKit/.test(pi),wr=/Firefox/.test(pi),ve=/(Mobile|Android|Windows Phone)/.test(pi),wi="http://www.w3.org/2000/svg",yt=!!o.createElementNS&&!!o.createElementNS(wi,"svg").createSVGRect,ao=wr&&parseInt(pi.split("Firefox/")[1],10)<4,kt=!yt&&!rr&&!!o.createElement("canvas").getContext,ou,su,ye={},af=0,gu,nt,nf,bi,vf,c,ci=function(){},ht=[],hu=0,pe="Highcharts",we="4.0.1",hr="div",ki="absolute",yf="relative",ti="hidden",ot="highcharts-",li="visible",a="px",it="none",tt="M",rt="L",vo=/^[0-9]+$/,pt="",ii="hover",di="select",be="millisecond",pf="second",tf="minute",cu="hour",gi="day",rf="week",lu="month",cr="year",ke,yo="stroke-width",uf,br,wf,bf,kf,au,ff,ef,de,ge,df,no,to,b={},ut=d.Highcharts=d.Highcharts?vi(16,!0):{},vu,wt,vt,uu,oi,ue,or,uo,fe,fo,ee,hi,pr,pu,eu,eo,tr,v,so,he,ce,hf,ho,cf,co,le,lo,lf,bu;nf=function(t,u,f){if(!i(u)||isNaN(u))return"Invalid date";t=n(t,"%Y-%m-%d %H:%M:%S");var o=new Date(u-br),s,h=o[bf](),v=o[kf](),y=o[au](),l=o[ff](),p=o[ef](),a=nt.lang,w=a.weekdays,c=r({a:w[v].substr(0,3),A:w[v],d:vr(y),e:y,b:a.shortMonths[l],B:a.months[l],m:vr(l+1),y:p.toString().substr(2,2),Y:p,H:vr(h),I:vr(h%12||12),l:h%12||12,M:vr(o[wf]()),p:h<12?"AM":"PM",P:h<12?"am":"pm",S:vr(o.getSeconds()),L:vr(e(u%1e3),3)},ut.dateFormats);for(s in c)while(t.indexOf("%"+s)!==-1)t=t.replace("%"+s,typeof c[s]=="function"?c[s](u):c[s]);return f?t.substr(0,1).toUpperCase()+t.substr(1):t};io.prototype={wrapColor:function(n){this.color>=n&&(this.color=0)},wrapSymbol:function(n){this.symbol>=n&&(this.symbol=0)}};c=po(be,1,pf,1e3,tf,6e4,cu,36e5,gi,864e5,rf,6048e5,lu,26784e5,cr,31556952e3);vf={init:function(n,t,i){t=t||"";var c=n.shift,s=t.indexOf("C")>-1,f=s?7:3,l,o,e,r=t.split(" "),u=[].concat(i),h,a,v=function(n){for(e=n.length;e--;)n[e]===tt&&n.splice(e+1,0,n[e+1],n[e+2],n[e+1],n[e+2])};if(s&&(v(r),v(u)),n.isArea&&(h=r.splice(r.length-6,6),a=u.splice(u.length-6,6)),c<=u.length/f&&r.length===u.length)while(c--)u=[].concat(u).splice(0,f).concat(u);if(n.shift=0,r.length)for(l=u.length;r.length{point.key}<\/span>
',pointFormat:'●<\/span> {series.name}: {point.y}<\/b>
',shadow:!0,snap:ve?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"}}};vt=nt.plotOptions;uu=vt.line;ro();var is=/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*\)/,rs=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,us=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,nr=function(n){function f(n){n&&n.stops?u=ru(n.stops,function(n){return nr(n[1])}):(r=is.exec(n),r?i=[h(r[1]),h(r[2]),h(r[3]),parseFloat(r[4],10)]:(r=rs.exec(n),r?i=[h(r[1],16),h(r[2],16),h(r[3],16),1]:(r=us.exec(n),r&&(i=[h(r[1]),h(r[2]),h(r[3]),1]))))}function e(r){var f;return u?(f=s(n),f.stops=[].concat(f.stops),t(u,function(n,t){f.stops[t]=[f.stops[t][0],n.get(r)]})):f=i&&!isNaN(i[0])?r==="rgb"?"rgb("+i[0]+","+i[1]+","+i[2]+")":r==="a"?i[3]:"rgba("+i.join(",")+")":n,f}function o(n){if(u)t(u,function(t){t.brighten(n)});else if(ri(n)&&n!==0)for(var r=0;r<3;r++)i[r]+=h(n*255),i[r]<0&&(i[r]=0),i[r]>255&&(i[r]=255);return this}function c(n){return i[3]=n,this}var i=[],r,u;return f(n),{get:e,brighten:o,rgba:i,setOpacity:c}};if(ft.prototype={init:function(n,t){var i=this;i.element=t==="span"?at(t):o.createElementNS(wi,t);i.renderer=n},opacity:1,animate:function(t,i,r){var u=n(i,bi,!0);yu(this);u?(u=s(u,{}),r&&(u.complete=r),sf(this,t,u)):(this.attr(t),r&&r())},colorGradient:function(n,r,u){var l=this.renderer,p,o,f,a,v,y,w,b,e,c,k,h=[];if(n.linearGradient?o="linearGradient":n.radialGradient&&(o="radialGradient"),o){f=n[o];a=l.gradients;y=n.stops;e=u.radialReference;kr(f)&&(n[o]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"});o==="radialGradient"&&e&&!i(f.gradientUnits)&&(f=s(f,{cx:e[0]-e[2]/2+f.cx*e[2],cy:e[1]-e[2]/2+f.cy*e[2],r:f.r*e[2],gradientUnits:"userSpaceOnUse"}));for(c in f)c!=="id"&&h.push(c,f[c]);for(c in y)h.push(y[c]);h=h.join(",");a[h]?k=a[h].attr("id"):(f.id=k=ot+af++,a[h]=v=l.createElement(o).attr(f).add(l.defs),v.stops=[],t(y,function(n){var t;n[1].indexOf("rgba")===0?(p=nr(n[1]),w=p.get("rgb"),b=p.get("a")):(w=n[1],b=1);t=l.createElement("stop").attr({offset:n[0],"stop-color":w,"stop-opacity":b}).add(v);v.stops.push(t)}));u.setAttribute(r,"url("+l.url+"#"+k+")")}},attr:function(n,t){var i,r,e=this.element,o,s=this,u;if(typeof n=="string"&&t!==f&&(i=n,n={},n[i]=t),typeof n=="string")s=(this[n+"Getter"]||this._defaultGetter).call(this,n,e);else{for(i in n)r=n[i],u=!1,this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(i)&&(o||(this.symbolAttr(n),o=!0),u=!0),this.rotation&&(i==="x"||i==="y")&&(this.doTransform=!0),u||(this[i+"Setter"]||this._defaultSetter).call(this,r,i,e),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,r);this.doTransform&&(this.updateTransform(),this.doTransform=!1)}return s},updateShadows:function(n,t){for(var i=this.shadows,r=i.length;r--;)i[r].setAttribute(n,n==="height"?u(t-(i[r].cutHeight||0),0):n==="d"?this.d:t)},addClass:function(n){var t=this.element,i=g(t,"class")||"";return i.indexOf(n)===-1&&g(t,"class",i+" "+n),this},symbolAttr:function(i){var r=this;t(["x","y","r","start","end","width","height","innerR","anchorX","anchorY"],function(t){r[t]=n(i[t],r[t])});r.attr({d:r.renderer.symbols[r.symbolName](r.x,r.y,r.width,r.height,r)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":it)},crisp:function(n){var t=this,i,u={},r,f=n.strokeWidth||t.strokeWidth||t.attr&&t.attr("stroke-width")||0;r=e(f)%2/2;n.x=et(n.x||t.x||0)+r;n.y=et(n.y||t.y||0)+r;n.width=et((n.width||t.width||0)-2*r);n.height=et((n.height||t.height||0)-2*r);n.strokeWidth=f;for(i in n)t[i]!==n[i]&&(t[i]=u[i]=n[i]);return u},css:function(n){var t=this,u=t.styles,e={},o=t.element,f,i,s="",c,l=!u;if(n&&n.color&&(n.fill=n.color),u)for(i in n)n[i]!==u[i]&&(e[i]=n[i],l=!0);if(l){if(f=t.textWidth=n&&n.width&&o.nodeName.toLowerCase()==="text"&&h(n.width),u&&(n=r(u,e)),t.styles=n,f&&(kt||!yt&&t.renderer.forExport)&&delete n.width,rr&&!yt)p(t.element,n);else{c=function(n,t){return"-"+t.toLowerCase()};for(i in n)s+=i.replace(/([A-Z])/g,c)+":"+n[i]+";";g(o,"style",s)}f&&t.added&&t.renderer.buildText(t)}return t},on:function(n,t){var r=this,i=r.element;return su&&n==="click"?(i.ontouchstart=function(n){r.touchEventFired=Date.now();n.preventDefault();t.call(i,n)},i.onclick=function(n){(pi.indexOf("Android")===-1||Date.now()-(r.touchEventFired||0)>1100)&&t.call(i,n)}):i["on"+n]=t,this},setRadialReference:function(n){return this.element.radialReference=n,this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(){var n=this;return n.inverted=!0,n.updateTransform(),n},updateTransform:function(){var t=this,f=t.translateX||0,e=t.translateY||0,o=t.scaleX,s=t.scaleY,h=t.inverted,c=t.rotation,u=t.element,r;h&&(f+=t.attr("width"),e+=t.attr("height"));r=["translate("+f+","+e+")"];h?r.push("rotate(90) scale(-1,1)"):c&&r.push("rotate("+c+" "+(u.getAttribute("x")||0)+" "+(u.getAttribute("y")||0)+")");(i(o)||i(s))&&r.push("scale("+n(o,1)+" "+n(s,1)+")");r.length&&u.setAttribute("transform",r.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(t,i,r){var u,f,s,h,o={},c,l=this.renderer,a=l.alignedObjects;return t?(this.alignOptions=t,this.alignByTranslate=i,(!r||lr(r))&&(this.alignTo=c=r||"renderer",fi(a,this),a.push(this),r=null)):(t=this.alignOptions,i=this.alignByTranslate,c=this.alignTo),r=n(r,l[c],l),u=t.align,f=t.verticalAlign,s=(r.x||0)+(t.x||0),h=(r.y||0)+(t.y||0),(u==="right"||u==="center")&&(s+=(r.width-(t.width||0))/{right:1,center:2}[u]),o[i?"translateX":"x"]=e(s),(f==="bottom"||f==="middle")&&(h+=(r.height-(t.height||0))/({bottom:1,middle:2}[f]||1)),o[i?"translateY":"y"]=e(h),this[this.placed?"animate":"attr"](o),this.placed=!0,this.alignAttr=o,this},getBBox:function(){var t=this,n=t.bBox,o=t.renderer,h,i,l=t.rotation,u=t.element,f=t.styles,s=l*ir,c=t.textStr,e;if((c===""||vo.test(c))&&(e="num."+c.toString().length+(f?"|"+f.fontSize+"|"+f.fontFamily:"")),e&&(n=o.cache[e]),!n){if(u.namespaceURI===wi||o.forExport){try{n=u.getBBox?r({},u.getBBox()):{width:u.offsetWidth,height:u.offsetHeight}}catch(a){}(!n||n.width<0)&&(n={width:0,height:0})}else n=t.htmlGetBBox();o.isSVG&&(h=n.width,i=n.height,rr&&f&&f.fontSize==="11px"&&i.toPrecision(3)==="16.9"&&(n.height=i=14),l&&(n.width=y(i*bt(s))+y(h*lt(s)),n.height=y(i*lt(s))+y(h*bt(s))));t.bBox=n;e&&(o.cache[e]=n)}return n},show:function(n){return n&&this.element.namespaceURI===wi?(this.element.removeAttribute("visibility"),this):this.attr({visibility:n?"inherit":li})},hide:function(){return this.attr({visibility:ti})},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.hide()}})},add:function(n){var f=this.renderer,e=n||f,o=e.element||f.box,s,c=this.element,t=this.zIndex,r,l,u,a;if(n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,this.textStr!==undefined&&f.buildText(this),t&&(e.handleZ=!0,t=h(t)),e.handleZ)for(s=o.childNodes,u=0;ut||!i(t)&&i(l))){o.insertBefore(c,r);a=!0;break}return a||o.appendChild(c),this.added=!0,this.onAdd&&this.onAdd(),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,i=n.element||{},f=n.shadows,r=n.renderer.isSVG&&i.nodeName==="SPAN"&&n.parentGroup,e,o,u;if(i.onclick=i.onmouseout=i.onmouseover=i.onmousemove=i.point=null,yu(n),n.clipPath&&(n.clipPath=n.clipPath.destroy()),n.stops){for(u=0;u/,a=/<.*href="(http[^"]+)".*>/,c&&!i.added&&this.box.appendChild(r),e=w?f.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,'').replace(//g,"<\/span>").split(//g):[f],e[e.length-1]===""&&e.pop(),t(e,function(n,f){var e,h=0;n=n.replace(//g,"<\/span>|||");e=n.split("|||");t(e,function(n){var k,t,d;if((n!==""||e.length===1)&&(k={},t=o.createElementNS(wi,"tspan"),l.test(n)&&(d=n.match(l)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),g(t,"style",d)),a.test(n)&&!y&&(g(t,"onclick",'location.href="'+n.match(a)[1]+'"'),p(t,{cursor:"pointer"})),n=(n.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">"),n!==" "&&(t.appendChild(o.createTextNode(n)),h?k.dx=0:f&&v!==null&&(k.x=v),g(t,k),!h&&f&&(!yt&&y&&p(t,{display:"block"}),g(t,"dy",nt(t),du&&t.offsetHeight)),r.appendChild(t),h++,c)))for(var w=n.replace(/([^\^])-/g,"$1- ").split(" "),ot=w.length>1&&s.whiteSpace!=="nowrap",it,b,rt=i._clipHeight,tt=[],ut=nt(),ft=1,et;ot&&(w.length||tt.length);)delete i.bBox,et=i.getBBox(),b=et.width,!yt&&u.forExport&&(b=u.measureSpanWidth(t.firstChild.data,i.styles)),it=b>c,it&&w.length!==1?(t.removeChild(t.firstChild),tt.unshift(w.pop())):(w=tt,tt=[],w.length&&(ft++,rt&&ft*ut>rt?(w=["..."],i.attr("title",i.textStr)):(t=o.createElementNS(wi,"tspan"),g(t,{dy:ut,x:v}),d&&g(t,"style",d),r.appendChild(t),b>c&&(c=b)))),w.length&&t.appendChild(o.createTextNode(w.join(" ").replace(/- /g,"-")))})});else{r.appendChild(o.createTextNode(f));return}},button:function(n,t,i,u,f,e,o,h,c){var l=this.label(n,t,i,c,null,null,null,null,"button"),a=0,b,d,v,y,p,g,w={x1:0,y1:0,x2:0,y2:1};return f=s({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:w,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},f),v=f.style,delete f.style,e=s(f,{stroke:"#68A",fill:{linearGradient:w,stops:[[0,"#FFF"],[1,"#ACF"]]}},e),y=e.style,delete e.style,o=s(f,{stroke:"#68A",fill:{linearGradient:w,stops:[[0,"#9BD"],[1,"#CDF"]]}},o),p=o.style,delete o.style,h=s(f,{style:{color:"#CCC"}},h),g=h.style,delete h.style,k(l.element,rr?"mouseover":"mouseenter",function(){a!==3&&l.attr(e).css(y)}),k(l.element,rr?"mouseout":"mouseleave",function(){a!==3&&(b=[f,e,o][a],d=[v,y,p][a],l.attr(b).css(d))}),l.setState=function(n){l.state=a=n;n?n===2?l.attr(o).css(p):n===3&&l.attr(h).css(g):l.attr(f).css(v)},l.on("click",function(){a!==3&&u.call(l)}).attr(f).css(r({cursor:"default"},v))},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=e(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=e(n[2])+t%2/2),n},path:function(n){var t={fill:it};return kr(n)?t.d=n:dt(n)&&r(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){var u=dt(n)?n:{x:n,y:t,r:i},r=this.createElement("circle");return r.xSetter=function(n){this.element.setAttribute("cx",n)},r.ySetter=function(n){this.element.setAttribute("cy",n)},r.attr(u)},arc:function(n,t,i,r,u,f){var e;return dt(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),e=this.symbol("arc",n||0,t||0,i||0,i||0,{innerR:r||0,start:u||0,end:f||0}),e.r=i,e},rect:function(n,t,i,r,e,o){e=dt(n)?n.r:e;var h=this.createElement("rect"),s=dt(n)?n:n===f?{}:{x:n,y:t,width:u(i,0),height:u(r,0)};return o!==f&&(s.strokeWidth=o,s=h.crisp(s)),e&&(s.r=e),h.rSetter=function(n){g(this.element,{rx:n,ry:n})},h.attr(s)},setSize:function(t,i,r){var u=this,f=u.alignedObjects,e=f.length;for(u.width=t,u.height=i,u.boxWrapper[n(r,!0)?"animate":"attr"]({width:t,height:i});e--;)f[e].align()},g:function(n){var t=this.createElement("g");return i(n)?t.attr({"class":ot+n}):t},image:function(n,t,i,u,f){var o={preserveAspectRatio:it},e;return arguments.length>1&&r(o,{x:t,y:i,width:u,height:f}),e=this.createElement("image").attr(o),e.element.setAttributeNS?e.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):e.element.setAttribute("hc-svg-href",n),e},symbol:function(n,t,i,u,f,o){var s,a=this.symbols[n],v=a&&a(e(t),e(i),u,f,o),p,y=/^url\((.*?)\)$/,h,c,l;return v?(s=this.path(v),r(s,{symbolName:n,x:t,y:i,width:u,height:f}),o&&r(s,o)):y.test(n)&&(l=function(n,t){n.element&&(n.attr({width:t[0],height:t[1]}),n.alignByTranslate||n.translate(e((u-t[0])/2),e((f-t[1])/2)))},h=n.match(y)[1],c=ye[h],s=this.image(h).attr({x:t,y:i}),s.isImg=!0,c?l(s,c):(s.attr({width:0,height:0}),p=at("img",{onload:function(){l(s,ye[h]=[this.width,this.height])},src:h}))),s},symbols:{circle:function(n,t,i,r){var u=.166*i;return[tt,n+i/2,t,"C",n+i+u,t,n+i+u,t+r,n+i/2,t+r,"C",n-u,t+r,n-u,t,n+i/2,t,"Z"]},square:function(n,t,i,r){return[tt,n,t,rt,n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return[tt,n+i/2,t,rt,n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return[tt,n,t,rt,n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return[tt,n+i/2,t,rt,n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,i,r,u){var o=u.start,f=u.r||i||r,s=u.end-.001,e=u.innerR,h=u.open,c=lt(o),l=bt(o),a=lt(s),v=bt(s),y=u.end-oi&&s>t+c&&st+c&&sr&&o>n+c&&on+c&&oc&&/[ \-]/.test(u.textContent||u.innerText)&&(p(u,{width:c+a,display:"block",whiteSpace:"normal"}),f=c),r.getSpanCorrection(f,o,w,e,s));p(u,{left:d+(r.xCorr||0)+a,top:g+(r.yCorr||0)+a});du&&(o=u.offsetHeight);r.cTT=k}},setSpanRotation:function(n,t,i){var r={},u=rr?"-ms-transform":du?"-webkit-transform":wr?"MozTransform":ae?"-o-transform":"";r[u]=r.transform="rotate("+n+"deg)";r[u+(wr?"Origin":"-origin")]=r.transformOrigin=t*100+"% "+i+"px";p(this.element,r)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}}),r(oi.prototype,{html:function(n,i,u){var f=this.createElement("span"),o=f.element,s=f.renderer;return f.textSetter=function(n){n!==o.innerHTML&&delete this.bBox;o.innerHTML=this.textStr=n},f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(n,t){t==="align"&&(t="textAlign");f[t]=n;f.htmlUpdateTransform()},f.attr({text:n,x:e(i),y:e(u)}).css({position:ki,whiteSpace:"nowrap",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),f.css=f.htmlCss,s.isSVG&&(f.add=function(n){var i,e=s.box.parentNode,u,h=[];if(this.parentGroup=n,n){if(i=n.div,!i){for(u=n;u;)h.push(u),u=u.parentGroup;t(h.reverse(),function(n){var t;i=n.div=n.div||at(hr,{className:g(n.element,"class")},{position:ki,left:(n.translateX||0)+a,top:(n.translateY||0)+a},i||e);t=i.style;r(n,{translateXSetter:function(i,r){t.left=i+a;n[r]=i;n.doTransform=!0},translateYSetter:function(i,r){t.top=i+a;n[r]=i;n.doTransform=!0},visibilitySetter:function(n,i){t[i]=n}})})}}else i=e;return i.appendChild(o),f.added=!0,f.alignOnAdd&&f.htmlUpdateTransform(),f}),f}}),yt||kt||(ut.VMLElement=or={init:function(n,t){var f=this,i=["<",t,' filled="f" stroked="f"'],r=["position: ",ki,";"],u=t===hr;(t==="shape"||u)&&r.push("left:0;top:0;width:1px;height:1px;");r.push("visibility: ",u?ti:li);i.push(' style="',r.join(""),'"/>');t&&(i=u||t==="span"||t==="img"?i.join(""):n.prepVML(i),f.element=at(i));f.renderer=n},add:function(n){var t=this,i=t.renderer,r=t.element,f=i.box,e=n&&n.inverted,u=n?n.element||n:f;return e&&i.invertChild(r,u),u.appendChild(r),t.added=!0,t.alignOnAdd&&!t.deferUpdateTransform&&t.updateTransform(),t.onAdd&&t.onAdd(),t},updateTransform:ft.prototype.htmlUpdateTransform,setSpanRotation:function(){var n=this.rotation,t=lt(n*ir),i=bt(n*ir);p(this.element,{filter:n?["progid:DXImageTransform.Microsoft.Matrix(M11=",t,", M12=",-i,", M21=",i,", M22=",t,", sizingMethod='auto expand')"].join(""):it})},getSpanCorrection:function(t,i,r,u,f){var e=u?lt(u*ir):1,o=u?bt(u*ir):0,h=n(this.elemHeight,this.element.offsetHeight),s,c=f&&f!=="left";this.xCorr=e<0&&-t;this.yCorr=o<0&&-h;s=e*o<0;this.xCorr+=o*i*(s?1-r:r);this.yCorr-=e*i*(u?s?r:1-r:1);c&&(this.xCorr-=t*r*(e<0?-1:1),u&&(this.yCorr-=h*r*(o<0?-1:1)),p(this.element,{textAlign:f}))},pathToVML:function(n){for(var t=n.length,i=[];t--;)ri(n[t])?i[t]=e(n[t]*10)-5:n[t]==="Z"?i[t]="x":(i[t]=n[t],n.isArc&&(n[t]==="wa"||n[t]==="at")&&(i[t+5]===i[t+7]&&(i[t+7]+=n[t+7]>n[t+5]?1:-1),i[t+6]===i[t+8]&&(i[t+8]+=n[t+8]>n[t+6]?1:-1)));return i.join(" ")||"x"},clip:function(n){var t=this,i,r;return n?(i=n.members,fi(i,t),i.push(t),t.destroyClip=function(){fi(i,t)},r=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),r={clip:ku?"inherit":"rect(auto)"}),t.css(r)},css:ft.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&tu(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),ft.prototype.destroy.apply(this)},on:function(n,t){return this.element["on"+n]=function(){var n=d.event;n.target=n.srcElement;t(n)},this},cutOffPath:function(n,t){var i;return n=n.split(/[ ,]/),i=n.length,(i===9||i===11)&&(n[i-4]=n[i-2]=h(n[i-2])-10*t),n.join(" ")},shadow:function(t,i,r){var v=[],f,e=this.element,y=this.renderer,u,p=e.style,s,o=e.path,c,l,a,w;if(o&&typeof o.value!="string"&&(o="x"),l=o,t){for(a=n(t.width,3),w=(t.opacity||.15)/a,f=1;f<=3;f++)c=a*2+1-2*f,r&&(l=this.cutOffPath(o.value,c+.5)),s=[''],u=at(y.prepVML(s),null,{left:h(p.left)+n(t.offsetX,1),top:h(p.top)+n(t.offsetY,1)}),r&&(u.cutOff=c+1),s=[''],at(y.prepVML(s),null,null,u),i?i.element.appendChild(u):e.parentNode.insertBefore(u,e),v.push(u);this.shadows=v}return this},updateShadows:ci,setAttr:function(n,t){ku?this.element[n]=t:this.element.setAttribute(n,t)},classSetter:function(n){this.element.className=n},dashstyleSetter:function(n,t,i){var r=i.getElementsByTagName("stroke")[0]||at(this.renderer.prepVML([""]),null,null,i);r[t]=n||"solid";this[t]=n},dSetter:function(n,t,i){var r,u=this.shadows;if(n=n||[],this.d=n.join(" "),i.path=n=this.pathToVML(n),u)for(r=u.length;r--;)u[r].path=u[r].cutOff?this.cutOffPath(n,u[r].cutOff):n;this.setAttr(t,n)},fillSetter:function(n,t,i){var r=i.nodeName;r==="SPAN"?i.style.color=n:r!=="IMG"&&(i.filled=n!==it,this.setAttr("fillcolor",this.renderer.color(n,i,t,this)))},opacitySetter:ci,rotationSetter:function(n,t,i){var r=i.style;this[t]=r[t]=n;r.left=-e(bt(n*ir)+1)+a;r.top=e(lt(n*ir))+a},strokeSetter:function(n,t,i){this.setAttr("strokecolor",this.renderer.color(n,i,t))},"stroke-widthSetter":function(n,t,i){i.stroked=!!n;this[t]=n;ri(n)&&(n+=a);this.setAttr("strokeweight",n)},titleSetter:function(n,t){this.setAttr(t,n)},visibilitySetter:function(n,i,r){n==="inherit"&&(n=li);this.shadows&&t(this.shadows,function(t){t.style[i]=n});r.nodeName==="DIV"&&(n=n===ti?"-999em":0,ku||(r.style[i]=n?li:ti),i="top");r.style[i]=n},xSetter:function(n,t,i){this[t]=n;t==="x"?t="left":t==="y"&&(t="top");this.updateClipping?(this[t]=n,this.updateClipping()):i.style[t]=n},zIndexSetter:function(n,t,i){i.style[t]=n}},or=ei(ft,or),or.prototype.ySetter=or.prototype.widthSetter=or.prototype.heightSetter=or.prototype.xSetter,uo={Element:or,isIE8:pi.indexOf("MSIE 8.0")>-1,init:function(n,t,i,u){var f=this,e,h,s;if(f.alignedObjects=[],e=f.createElement(hr).css(r(this.getStyle(u),{position:yf})),h=e.element,n.appendChild(e.element),f.isVML=!0,f.box=h,f.boxWrapper=e,f.cache={},f.setSize(t,i,!1),!o.namespaces.hcv){o.namespaces.add("hcv","urn:schemas-microsoft-com:vml");s="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } ";try{o.createStyleSheet().cssText=s}catch(c){o.styleSheets[0].cssText+=s}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(n,i,u,f){var s=this.createElement(),o=dt(n);return r(s,{members:[],left:(o?n.x:n)+1,top:(o?n.y:i)+1,width:(o?n.width:u)-1,height:(o?n.height:f)-1,getCSS:function(n){var h=n.element,c=h.nodeName,v=c==="shape",t=n.inverted,i=this,u=i.top-(v?h.offsetTop:0),f=i.left,o=f+i.width,s=u+i.height,l={clip:"rect("+e(t?f:u)+"px,"+e(t?s:o)+"px,"+e(t?o:s)+"px,"+e(t?u:f)+"px)"};return!t&&ku&&c==="DIV"&&r(l,{width:o+a,height:s+a}),l},updateClipping:function(){t(s.members,function(n){n.element&&n.css(s.getCSS(n))})}})},color:function(n,i,r,u){var dt=this,o,d=/^rgba/,v,c,l=it,p;if(n&&n.linearGradient?c="gradient":n&&n.radialGradient&&(c="pattern"),c){var s,y,f=n.linearGradient||n.radialGradient,g,tt,rt,ut,ft,et,ot,ht,w="",h=n.stops,b,k,ct=[],lt=function(){v=[''];at(dt.prepVML(v),null,null,i)};if(b=h[0],k=h[h.length-1],b[0]>0&&h.unshift([0,b[1]]),k[0]<1&&h.push([1,k[1]]),t(h,function(n,t){d.test(n[1])?(o=nr(n[1]),s=o.get("rgb"),y=o.get("a")):(s=n[1],y=1);ct.push(n[0]*100+"% "+s);t?(et=y,ot=s):(ft=y,ht=s)}),r==="fill")if(c==="gradient")g=f.x1||f[0]||0,tt=f.y1||f[1]||0,rt=f.x2||f[2]||0,ut=f.y2||f[3]||0,w='angle="'+(90-st.atan((ut-tt)/(rt-g))*180/ni)+'"',lt();else{var vt=f.r,yt=vt*2,pt=vt*2,wt=f.cx,bt=f.cy,a=i.radialReference,e,kt=function(){a&&(e=u.getBBox(),wt+=(a[0]-e.x)/e.width-.5,bt+=(a[1]-e.y)/e.height-.5,yt*=a[2]/e.width,pt*=a[2]/e.height);w='src="'+nt.global.VMLRadialGradientURL+'" size="'+yt+","+pt+'" origin="0.5,0.5" position="'+wt+","+bt+'" color2="'+ht+'" ';lt()};u.added?kt():u.onAdd=kt;l=ot}else l=s}else d.test(n)&&i.tagName!=="IMG"?(o=nr(n),v=["<",r,' opacity="',o.get("a"),'"/>'],at(this.prepVML(v),null,null,i),l=o.get("rgb")):(p=i.getElementsByTagName(r),p.length&&(p[0].opacity=1,p[0].type="solid"),l=n);return l},prepVML:function(n){var t="display:inline-block;behavior:url(#default#VML);",i=this.isIE8;return n=n.join(""),i?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=n.indexOf('style="')===-1?n.replace("/>",' style="'+t+'" />'):n.replace('style="','style="'+t)):n=n.replace("<","1&&f.attr({x:t,y:i,width:r,height:u}),f},createElement:function(n){return n==="rect"?this.symbol(n):oi.prototype.createElement.call(this,n)},invertChild:function(n,i){var f=this,u=i.style,r=n.tagName==="IMG"&&n.style;p(n,{flip:"x",left:h(u.width)-(r?h(r.top):1),top:h(u.height)-(r?h(r.left):1),rotation:-90});t(n.childNodes,function(t){f.invertChild(t,n)})},symbols:{arc:function(n,t,i,r,u){var s=u.start,h=u.end,e=u.r||i||r,f=u.innerR,c=lt(s),l=bt(s),a=lt(h),v=bt(h),o;return h-s==0?["x"]:(o=["wa",n-e,t-e,n+e,t+e,n+e*c,t+e*l,n+e*a,t+e*v],u.open&&!f&&o.push("e",tt,n,t),o.push("at",n-f,t-f,n+f,t+f,n+f*a,t+f*v,n+f*c,t+f*l,"x","e"),o.isArc=!0,o)},circle:function(n,t,i,r,u){return u&&(i=r=2*u.r),u&&u.isCircle&&(n-=i/2,t-=r/2),["wa",n,t,n+i,t+r,n+i,t+r/2,n+i,t+r/2,"e"]},rect:function(n,t,r,u,f){return oi.prototype.symbols[!i(f)||!f.r?"square":"callout"].call(0,n,t,r,u,f)}}},ut.VMLRenderer=ue=function(){this.init.apply(this,arguments)},ue.prototype=s(oi.prototype,uo),ou=ue),oi.prototype.measureSpanWidth=function(n,t){var i=o.createElement("span"),r,u=o.createTextNode(n);return i.appendChild(u),p(i,t),this.box.appendChild(i),r=i.offsetWidth,tu(i),r},kt&&(ut.CanVGRenderer=fe=function(){wi="http://www.w3.org/1999/xhtml"},fe.prototype.symbols={},fo=function(){function t(){for(var i=n.length,t=0;ty[l]?y[l]=r+h:g||(e=!1),g){p=i.justifyToPlot;c=p?i.pos:0;a=p?c+i.len:i.chart.chartWidth;do n+=o?1:-1,u=i.ticks[k[n]];while(k[n]&&(!u||u.label.line!==l));v=u&&u.label.xy&&u.label.xy.x+u.getLabelSides()[o?0:1];o&&!b||w&&b?r+sv&&(e=!1)):r+h>a&&(r=a-h,u&&r+s0&&e.height>0?(f=s({align:w&&v&&"center",x:w?!v&&4:10,verticalAlign:!w&&v&&"middle",y:w?v?16:10:v?6:-4,rotation:w&&!v&&90},f),c||(o={align:f.textAlign||f.align,rotation:f.rotation},i(b)&&(o.zIndex=b),h.label=c=ht.text(f.text,0,0,f.useHTML).attr(o).css(f.style).add()),g=[t[1],t[4],n(t[6],t[1])],nt=[t[2],t[5],n(t[7],t[2])],tt=gr(g),it=gr(nt),c.align(f,!1,{x:tt,y:it,width:fr(g)-tt,height:fr(nt)-it}),c.show()):c&&c.hide(),h},destroy:function(){fi(this.axis.plotLinesAndBands,this);delete this.axis;nu(this)}},ke={getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t),r=this.getPlotLinePath(n);return r&&i?r.push(i[4],i[5],i[1],i[2]):r=null,r},addPlotBand:function(n){this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(n,t){var i=new ut.PlotLineOrBand(this,n).render(),r=this.userOptions;return i&&(t&&(r[t]=r[t]||[],r[t].push(n)),this.plotLinesAndBands.push(i)),i},removePlotBandOrLine:function(n){for(var r=this.plotLinesAndBands,u=this.options,f=this.userOptions,i=r.length;i--;)r[i].id===n&&r[i].destroy();t([u.plotLines||[],f.plotLines||[],u.plotBands||[],f.plotBands||[]],function(t){for(i=t.length;i--;)t[i].id===n&&fi(t,t[i])})}},si.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:re,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:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#707070"}},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 ar(this.total,-1)},style:re.style}},defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:20},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-15},title:{rotation:0}},init:function(t,r){var o=r.isX,u=this,h,c;u.horiz=t.inverted?!o:o;u.isXAxis=o;u.coll=o?"xAxis":"yAxis";u.opposite=r.opposite;u.side=r.side||(u.horiz?u.opposite?0:2:u.opposite?1:3);u.setOptions(r);var e=this.options,s=e.type,l=s==="datetime";u.labelFormatter=e.labels.formatter||u.defaultLabelFormatter;u.userOptions=r;u.minPixelPadding=0;u.chart=t;u.reversed=e.reversed;u.zoomEnabled=e.zoomEnabled!==!1;u.categories=e.categories||s==="category";u.names=[];u.isLog=s==="logarithmic";u.isDatetimeAxis=l;u.isLinked=i(e.linkedTo);u.tickmarkOffset=u.categories&&e.tickmarkPlacement==="between"?.5:0;u.ticks={};u.labelEdge=[];u.minorTicks={};u.plotLinesAndBands=[];u.alternateBands={};u.len=0;u.minRange=u.userMinRange=e.minRange||e.maxZoom;u.range=e.range;u.offset=e.offset||0;u.stacks={};u.oldStacks={};u.max=null;u.min=null;u.crosshair=n(e.crosshair,ai(t.options.tooltip.crosshairs)[o?0:1],!1);c=u.options.events;er(u,t.axes)===-1&&(o&&!this.isColorAxis?t.axes.splice(t.xAxis.length,0,u):t.axes.push(u),t[u.coll].push(u));u.series=u.series||[];t.inverted&&o&&u.reversed===f&&(u.reversed=!0);u.removePlotBand=u.removePlotBandOrLine;u.removePlotLine=u.removePlotBandOrLine;for(h in c)k(u,h,c[h]);u.isLog&&(u.val2lin=ur,u.lin2val=ui)},setOptions:function(n){this.options=s(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],s(nt[this.coll],n))},defaultLabelFormatter:function(){var r=this.axis,t=this.value,c=r.categories,o=this.dateTimeLabelFormat,u=nt.lang.numericSymbols,i=u&&u.length,e,n,s=r.options.labels.format,h=r.isLog?t:r.tickInterval;if(s)n=yr(s,this);else if(c)n=t;else if(o)n=nf(o,t);else if(i&&h>=1e3)while(i--&&n===f)e=Math.pow(1e3,i+1),h>=e&&u[i]!==null&&(n=ar(t/e,-1)+u[i]);return n===f&&(n=y(t)>=1e4?ar(t,0):ar(t,-1,f,"")),n},getSeriesExtremes:function(){var r=this,f=r.chart;r.hasVisibleSeries=!1;r.dataMin=r.dataMax=null;r.buildStacks&&r.buildStacks();t(r.series,function(t){if(t.visible||!f.options.chart.ignoreHiddenSeries){var c=t.options,o,e=c.threshold,s,h;r.hasVisibleSeries=!0;r.isLog&&e<=0&&(e=null);r.isXAxis?(o=t.xData,o.length&&(r.dataMin=l(n(r.dataMin,o[0]),gr(o)),r.dataMax=u(n(r.dataMax,o[0]),fr(o)))):(t.getExtremes(),h=t.dataMax,s=t.dataMin,i(s)&&i(h)&&(r.dataMin=l(n(r.dataMin,s),s),r.dataMax=u(n(r.dataMax,h),h)),i(e)&&(r.dataMin>=e?(r.dataMin=e,r.ignoreMinPadding=!0):r.dataMaxa+o.width)&&(l=!0)):(h=a,y=k-o.right,(cv+o.height)&&(l=!0)),l&&!u?null:s.renderer.crispLine([tt,h,c,rt,y,p],i||1)},getLinearTickPositions:function(n,t,i){var r,u,e=gt(et(t/n)*n),o=gt(sr(i/n)*n),f=[];if(t===i&&ri(t))return[t];for(r=e;r<=o;){if(f.push(r),r=gt(r+n),r===u)break;u=r}return f},getMinorTickPositions:function(){var n=this,e=n.options,r=n.tickPositions,u=n.minorTickInterval,t=[],f,i,o;if(n.isLog)for(o=r.length,i=1;i=r.minRange,a,c,p,v,k,s,w,o;r.isXAxis&&r.minRange===f&&!r.isLog&&(i(h.min)||i(h.max)?r.minRange=null:(t(r.series,function(n){for(v=n.xData,k=n.xIncrement?1:v.length-1,c=k;c>0;c--)p=v[c]-v[c-1],(a===f||ph&&(t=0);s=u(s,t);e=u(e,lr(a)?0:t/2);o=u(o,a==="on"?0:t);!n.noSharedTooltip&&i(c)&&(f=i(f)?l(f,c):c)}),a=r.ordinalSlope&&f?r.ordinalSlope/f:1,r.minPointOffset=e=e*a,r.pointRangePadding=o=o*a,r.pointRange=l(s,h),r.closestPointRange=f);n&&(r.oldTransA=v);r.translationSlope=r.transA=v=r.len/(h+o||1);r.transB=r.horiz?r.left:r.bottom;r.minPixelPadding=v*e},setTickPositions:function(r){var f=this,et=f.chart,e=f.options,p=f.isLog,k=f.isDatetimeAxis,ot=f.isXAxis,c=f.isLinked,d=f.options.tickPositioner,g=e.maxPadding,nt=e.minPadding,a,s,h=e.tickInterval,tt=e.minTickInterval,v=e.tickPixelInterval,o,it,w=f.categories;if(c?(f.linkedParent=et[f.coll][e.linkedTo],s=f.linkedParent.getExtremes(),f.min=n(s.min,s.dataMin),f.max=n(s.max,s.dataMax),e.type!==f.linkedParent.options.type&&vi(11,1)):(f.min=n(f.userMin,e.min,f.dataMin),f.max=n(f.userMax,e.max,f.dataMax)),p&&(!r&&l(f.min,n(f.dataMin,f.min))<=0&&vi(10,1),f.min=gt(ur(f.min)),f.max=gt(ur(f.max))),f.range&&i(f.max)&&(f.userMin=f.min=u(f.min,f.max-f.range),f.userMax=f.max,f.range=null),f.beforePadding&&f.beforePadding(),f.adjustForMinRange(),w||f.axisPointRange||f.usePercentage||c||!i(f.min)||!i(f.max)||(a=f.max-f.min,a&&(!i(e.min)&&!i(f.userMin)&&nt&&(f.dataMin<0||!f.ignoreMinPadding)&&(f.min-=a*nt),!i(e.max)&&!i(f.userMax)&&g&&(f.dataMax>0||!f.ignoreMaxPadding)&&(f.max+=a*g))),ri(e.floor)&&(f.min=u(f.min,e.floor)),ri(e.ceiling)&&(f.max=l(f.max,e.ceiling)),f.min===f.max||f.min===undefined||f.max===undefined?f.tickInterval=1:c&&!h&&v===f.linkedParent.options.tickPixelInterval?f.tickInterval=f.linkedParent.tickInterval:(f.tickInterval=n(h,w?1:(f.max-f.min)*v/u(f.len,v)),!i(h)&&f.lenu(2*f.len,200)&&vi(19,!0),o=k?f.getTimeTicks(f.normalizeTimeTickInterval(f.tickInterval,e.units),f.min,f.max,e.startOfWeek,f.ordinalPositions,f.closestPointRange,!0):p?f.getLogTickPositions(f.tickInterval,f.min,f.max):f.getLinearTickPositions(f.tickInterval,f.min,f.max),it&&o.splice(1,o.length-2),f.tickPositions=o),!c){var rt=o[0],ut=o[o.length-1],ft=f.minPointOffset||0,b;e.startOnTick?f.min=rt:f.min-ft>rt&&o.shift();e.endOnTick?f.max=ut:f.max+ft1e13?1:.001,f.min-=b,f.max+=b)}},setMaxTicks:function(){var i=this.chart,n=i.maxTicks||{},t=this.tickPositions,r=this._maxTicksKey=[this.coll,this.pos,this.len].join("-");!this.isLinked&&!this.isDatetimeAxis&&t&&t.length>(n[r]||0)&&this.options.alignTicks!==!1&&(n[r]=t.length);i.maxTicks=n},adjustTickAmount:function(){var n=this,h=n.chart,s=n._maxTicksKey,t=n.tickPositions,u=h.maxTicks,e,o,r;if(u&&u[s]&&!n.isDatetimeAxis&&!n.categories&&!n.isLinked&&n.options.alignTicks!==!1&&this.min!==f){if(e=n.tickAmount,o=t.length,n.tickAmount=r=u[s],o=u(o,n(s.max,o))&&(r=f)),this.displayBtn=t!==f||r!==f,this.setExtremes(t,r,!1,f,{trigger:"zoom"}),!0},setAxisSize:function(){var t=this.chart,i=this.options,s=i.offsetLeft||0,l=i.offsetRight||0,h=this.horiz,e=n(i.width,t.plotWidth-s+l),r=n(i.height,t.plotHeight),f=n(i.top,t.plotTop),o=n(i.left,t.plotLeft+s),c=/%$/;c.test(r)&&(r=parseInt(r,10)/100*t.plotHeight);c.test(f)&&(f=parseInt(f,10)/100*t.plotHeight+t.plotTop);this.left=o;this.top=f;this.width=e;this.height=r;this.bottom=t.chartHeight-r-f;this.right=t.chartWidth-e-o;this.len=u(h?e:r,0);this.pos=h?o:f},getExtremes:function(){var n=this,t=n.isLog;return{min:t?gt(ui(n.min)):n.min,max:t?gt(ui(n.max)):n.max,dataMin:n.dataMin,dataMax:n.dataMax,userMin:n.userMin,userMax:n.userMax}},getThreshold:function(n){var t=this,i=t.isLog,r=i?ui(t.min):t.min,u=i?ui(t.max):t.max;return r>n||n===null?n=r:u15&&i<165?"right":i>195&&i<345?"left":"center"},getOffset:function(){var r=this,w=r.chart,a=w.renderer,h=r.options,v=r.tickPositions,s=r.ticks,g=r.horiz,o=r.side,at=w.inverted?[1,0,3,2][o]:o,nt,tt,vt=0,yt,pt=0,e=h.title,c=h.labels,l=0,it=w.axisOffset,wt=w.clipOffset,rt=[-1,1,1,-1][o],ut,y,p=1,bt=n(c.maxStaggerLines,5),ft,b,st,k,ht,ct,lt,d,kt=o===2?a.fontMetrics(c.style.fontSize).b:0;if(r.hasData=nt=r.hasVisibleSeries||i(r.min)&&i(r.max)&&!!v,r.showAxis=tt=nt||n(h.showEmpty,!0),r.staggerLines=r.horiz&&c.staggerLines,r.axisGroup||(r.gridGroup=a.g("grid").attr({zIndex:h.gridZIndex||1}).add(),r.axisGroup=a.g("axis").attr({zIndex:h.zIndex||2}).add(),r.labelGroup=a.g("axis-labels").attr({zIndex:c.zIndex||7}).addClass(ot+r.coll.toLowerCase()+"-labels").add()),nt||r.isLinked){if(r.labelAlign=n(c.align||r.autoLabelAlign(c.rotation)),t(v,function(n){s[n]?s[n].addLabel():s[n]=new fu(r,n)}),r.horiz&&!r.staggerLines&&bt&&!c.rotation){for(ft=r.reversed?[].concat(v).reverse():v;p1&&(r.staggerLines=p)}t(v,function(n){(o===0||o===2||{1:"left",3:"right"}[o]===r.labelAlign)&&(l=u(s[n].getLabelSize(),l))});r.staggerLines&&(l*=r.staggerLines,r.labelOffset=l)}else for(ut in s)s[ut].destroy(),delete s[ut];e&&e.text&&e.enabled!==!1&&(r.axisTitle||(r.axisTitle=a.text(e.text,0,0,e.useHTML).attr({zIndex:7,rotation:e.rotation||0,align:e.textAlign||{low:"left",middle:"center",high:"right"}[e.align]}).addClass(ot+this.coll.toLowerCase()+"-title").css(e.style).add(r.axisGroup),r.axisTitle.isNew=!0),tt&&(vt=r.axisTitle.getBBox()[g?"height":"width"],pt=n(e.margin,g?5:10),yt=e.offset),r.axisTitle[tt?"show":"hide"]());r.offset=rt*n(h.offset,it[o]);r.axisTitleMargin=n(yt,l+pt+(l&&rt*h.labels[g?"y":"x"]-kt));it[o]=u(it[o],r.axisTitleMargin+vt+rt*r.offset);wt[at]=u(wt[at],et(h.lineWidth/2)*2)},getLinePath:function(n){var t=this.chart,r=this.opposite,u=this.offset,i=this.horiz,f=this.left+(r?this.width:0)+u,e=t.chartHeight-this.bottom-(r?this.height:0)+u;return r&&(n*=-1),t.renderer.crispLine([tt,i?this.left:f,i?e:this.top,rt,i?t.chartWidth-this.right:f,i?e:t.chartHeight-this.bottom],n)},getTitlePosition:function(){var n=this.horiz,f=this.left,e=this.top,i=this.len,t=this.options.title,r=n?f:e,u=this.opposite,o=this.offset,l=h(t.style.fontSize||12),s={low:r+(n?0:i),middle:r+i/2,high:r+(n?i:0)}[t.align],c=(n?e+this.height:f)+(n?1:-1)*(u?-1:1)*this.axisTitleMargin+(this.side===2?l:0);return{x:n?s:c+(u?this.width:0)+o+(t.x||0),y:n?c-(u?this.height:0)+o:s+(t.y||0)}},render:function(){var n=this,l=n.horiz,k=n.reversed,a=n.chart,ot=a.renderer,e=n.options,d=n.isLog,g=n.isLinked,h=n.tickPositions,o,c=n.axisTitle,r=n.ticks,s=n.minorTicks,u=n.alternateBands,nt=e.stackLabels,tt=e.alternateGridColor,v=n.tickmarkOffset,y=e.lineWidth,p,st=a.hasRendered,it=st&&i(n.oldMin)&&!isNaN(n.oldMin),ht=n.hasData,rt=n.showAxis,w,ft=e.labels.overflow,et=n.justifyLabels=l&&ft!==!1,b;n.labelEdge.length=0;n.justifyToPlot=ft==="justify";t([r,s,u],function(n){for(var t in n)n[t].isActive=!1});(ht||g)&&(n.minorTickInterval&&!n.categories&&t(n.getMinorTickPositions(),function(t){s[t]||(s[t]=new fu(n,t,"minor"));it&&s[t].isNew&&s[t].render(null,!0);s[t].render(null,!1,1)}),h.length&&(o=h.slice(),(l&&k||!l&&!k)&&o.reverse(),et&&(o=o.slice(1).concat([o[0]])),t(o,function(t,i){et&&(i=i===o.length-1?0:i+1);(!g||t>=n.min&&t<=n.max)&&(r[t]||(r[t]=new fu(n,t)),it&&r[t].isNew&&r[t].render(i,!0,.1),r[t].render(i,!1,1))}),v&&n.min===0&&(r[-1]||(r[-1]=new fu(n,-1,null,!0)),r[-1].render(-1))),tt&&t(h,function(t,i){i%2==0&&t=c[pf]&&(s.setMilliseconds(0),s.setSeconds(h>=c[tf]?0:l*et(s.getSeconds()/l)));h>=c[tf]&&s[de](h>=c[cu]?0:l*et(s[wf]()/l));h>=c[cu]&&s[ge](h>=c[gi]?0:l*et(s[bf]()/l));h>=c[gi]&&s[df](h>=c[lu]?1:l*et(s[au]()/l));h>=c[lu]&&(s[no](h>=c[cr]?0:l*et(s[ff]()/l)),a=s[ef]());h>=c[cr]&&(a-=a%l,s[to](a));h===c[rf]&&s[df](s[au]()-s[kf]()+n(o,1));p=1;br&&(s=new Date(s.getTime()+br));a=s[ef]();for(var v=s.getTime(),k=s[ff](),d=s[au](),g=b?br:(864e5+s.getTimezoneOffset()*6e4)%864e5;v=.5)t=e(t),o=f.getLinearTickPositions(t,i,r);else if(t>=.08)for(w=et(i),l=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],s=w;si&&(!u||c<=r)&&o.push(c),c>r&&(v=!0),c=a;else{var k=ui(i),d=ui(r),g=y[u?"minorTickInterval":"tickInterval"],nt=g==="auto"?null:g,tt=y.tickPixelInterval/(u?5:1),it=u?p/f.tickPositions.length:p;t=n(nt,f._minorAutoInterval,(d-k)*tt/(it||1));t=ne(t,null,gf(t));o=ru(f.getLinearTickPositions(t,k,d),ur);u||(f._minorAutoInterval=t/5)}return u||(f.tickInterval=t),o},ee=ut.Tooltip=function(){this.init.apply(this,arguments)},ee.prototype={init:function(n,t){var r=t.borderWidth,i=t.style,u=h(i.padding);this.chart=n;this.options=t;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=n.renderer.label("",0,0,t.shape||"callout",null,null,t.useHTML,null,"tooltip").attr({padding:u,fill:t.backgroundColor,"stroke-width":r,r:t.borderRadius,zIndex:8}).css(i).css({padding:0}).add().attr({y:-9999});kt||this.label.shadow(t.shadow);this.shared=t.shared},destroy:function(){this.label&&(this.label=this.label.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(n,t,i,u){var e=this,o=e.now,s=e.options.animation!==!1&&!e.isHidden,h=e.followPointer||e.len>1;r(o,{x:s?(2*o.x+n)/3:n,y:s?(o.y+t)/2:t,anchorX:h?f:s?(2*o.anchorX+i)/3:i,anchorY:h?f:s?(o.anchorY+u)/2:u});e.label.attr(o);s&&(y(n-o.x)>1||y(t-o.y)>1)&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(n,t,i,u)},32))},hide:function(){var r=this,i;clearTimeout(this.hideTimer);this.isHidden||(i=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){r.label.fadeOut();r.isHidden=!0},n(this.options.hideDelay,500)),i&&t(i,function(n){n.setState()}),this.chart.hoverPoints=null)},getAnchor:function(n,i){var u,r=this.chart,o=r.inverted,c=r.plotTop,s=0,h=0,l;return n=ai(n),u=n[0].tooltipPos,this.followPointer&&i&&(i.chartX===f&&(i=r.pointer.normalize(i)),u=[i.chartX-r.plotLeft,i.chartY-c]),u||(t(n,function(n){l=n.series.yAxis;s+=n.plotX;h+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!o&&l?l.top-c:0)}),s/=n.length,h/=n.length,u=[o?r.plotWidth-h:s,this.shared&&!o&&n.length>1&&i?i.chartY-c:o?r.plotHeight-s:h]),ru(u,e)},getPosition:function(n,t,i){var u=this.chart,f=this.distance,r={},e,o=["y",u.chartHeight,t,i.plotY+u.plotTop],s=["x",u.chartWidth,n,i.plotX+u.plotLeft],l=i.ttBelow||u.inverted&&!i.negative||!u.inverted&&i.negative,a=function(n,t,i,u){var e=it-f)return!1;r[n]=ut-i/2?t-i-2:u-i/2},h=function(n){var t=o;o=s;s=t;e=n},c=function(){a.apply(0,o)!==!1?v.apply(0,s)!==!1||e||(h(!0),c()):e?r.x=r.y=0:(h(!0),c())};return(u.inverted||this.len>1)&&h(),c(),r},defaultFormatter:function(n){var u=this.points||ai(this),i=u[0].series,r;return r=[n.tooltipHeaderFormatter(u[0])],t(u,function(n){i=n.series;r.push(i.tooltipFormatter&&i.tooltipFormatter(n)||n.point.tooltipFormatter(i.tooltipOptions.pointFormat))}),r.push(n.options.footerFormat||""),r.join("")},refresh:function(i,r){var u=this,f=u.chart,e=u.label,p=u.options,h,c,l,o={},s,a=[],k=p.formatter||u.defaultFormatter,b=f.hoverPoints,v,d=u.shared,y;clearTimeout(this.hideTimer);u.followPointer=ai(i)[0].series.tooltipOptions.followPointer;l=u.getAnchor(i,r);h=l[0];c=l[1];!d||i.series&&i.series.noSharedTooltip?o=i.getLabelConfig():(f.hoverPoints=i,b&&t(b,function(n){n.setState()}),t(i,function(n){n.setState(ii);a.push(n.getLabelConfig())}),o={x:i[0].category,y:i[0].y},o.points=a,this.len=a.length,i=i[0]);s=k.call(o,u);y=i.series;this.distance=n(y.tooltipOptions.distance,16);s===!1?this.hide():(u.isHidden&&(yu(e),e.attr("opacity",1).show()),e.attr({text:s}),v=p.borderColor||i.color||y.color||"#606060",e.attr({stroke:v}),u.updatePosition({plotX:h,plotY:c,negative:i.negative,ttBelow:i.ttBelow}),this.isHidden=!1);w(f,"tooltipRefresh",{text:s,x:h+f.plotLeft,y:c+f.plotTop,borderColor:v})},updatePosition:function(n){var t=this.chart,i=this.label,r=(this.options.positioner||this.getPosition).call(this,i.width,i.height,n);this.move(e(r.x),e(r.y),n.plotX+t.plotLeft,n.plotY+t.plotTop)},tooltipHeaderFormatter:function(n){var u=n.series,f=u.tooltipOptions,e=f.dateTimeLabelFormats,t=f.xDateFormat,r=u.xAxis,s=r&&r.options.type==="datetime"&&ri(n.key),o=f.headerFormat,h=r&&r.closestPointRange,i;if(s&&!t){if(h){for(i in c)if(c[i]>=h||c[i]<=c[gi]&&n.key%c[i]>0){t=e[i];break}}else t=e.day;t=t||e.year}return s&&t&&(o=o.replace("{point.key}","{point.key:"+t+"}")),yr(o,{point:n,series:u})}},su=o.documentElement.ontouchstart!==f,pr=ut.Pointer=function(n,t){this.init(n,t)},pr.prototype={init:function(n,t){var f=t.chart,e=f.events,o=kt?"":f.zoomType,i=n.inverted,r,u;this.options=t;this.chart=n;this.zoomX=r=/x/.test(o);this.zoomY=u=/y/.test(o);this.zoomHor=r&&!i||u&&i;this.zoomVert=u&&!i||r&&i;this.hasZoom=r||u;this.runChartClick=e&&!!e.click;this.pinchDown=[];this.lastValidTouch={};ut.Tooltip&&t.tooltip.enabled&&(n.tooltip=new ee(n,t.tooltip),this.followTouchMove=t.tooltip.followTouchMove);this.setDOMEvents()},normalize:function(n,t){var o,s,i;return n=n||window.event,n=go(n),n.target||(n.target=n.srcElement),i=n.touches?n.touches.length?n.touches.item(0):n.changedTouches[0]:n,t||(this.chartPosition=t=ko(this.chart.container)),i.pageX===f?(o=u(n.x,n.clientX-t.left),s=n.y):(o=i.pageX-t.left,s=i.pageY-t.top),r(n,{chartX:e(o),chartY:e(s)})},getCoordinates:function(n){var i={xAxis:[],yAxis:[]};return t(this.chart.axes,function(t){i[t.isXAxis?"xAxis":"yAxis"].push({axis:t,value:t.toValue(n[t.horiz?"chartX":"chartY"])})}),i},getIndex:function(n){var t=this.chart;return t.inverted?t.plotHeight+t.plotTop-n.chartY:n.chartX-t.plotLeft},runPointActions:function(i){var e=this,a=e.chart,s=a.series,h=a.tooltip,p,r,u,g=a.hoverPoint,c=a.hoverSeries,v,f,w=a.chartWidth,b=e.getIndex(i),d;if(h&&e.options.tooltip.shared&&!(c&&c.noSharedTooltip)){for(u=[],v=s.length,f=0;fw&&u.splice(v,1);u.length&&u[0].clientX!==e.hoverX&&(h.refresh(u,i),e.hoverX=u[0].clientX)}if(p=c&&c.tooltipOptions.followPointer,c&&c.tracker&&!p){if(r=c.tooltipPoints[b],r&&r!==g)r.onMouseOver(i)}else h&&p&&!h.isHidden&&(d=h.getAnchor([{}],i),h.updatePosition({plotX:d[0],plotY:d[1]}));h&&!e._onDocumentMouseMove&&(e._onDocumentMouseMove=function(n){if(ht[hi])ht[hi].pointer.onDocumentMouseMove(n)},k(o,"mousemove",e._onDocumentMouseMove));t(a.axes,function(t){t.drawCrosshair(i,n(r,g))})},reset:function(n){var u=this,e=u.chart,h=e.hoverSeries,i=e.hoverPoint,r=e.tooltip,s=r&&r.shared?e.hoverPoints:i;n=n&&r&&s;n&&ai(s)[0].plotX===f&&(n=!1);n?(r.refresh(s),i&&i.setState(i.state,!0)):(i&&i.onMouseOut(),h&&h.onMouseOut(),r&&r.hide(),u._onDocumentMouseMove&&(ct(o,"mousemove",u._onDocumentMouseMove),u._onDocumentMouseMove=null),t(e.axes,function(n){n.hideCrosshair()}),u.hoverX=null)},scaleGroups:function(n,i){var r=this.chart,u;t(r.series,function(t){u=n||t.getPlotBox();t.xAxis&&t.xAxis.zoomEnabled&&(t.group.attr(u),t.markerGroup&&(t.markerGroup.attr(u),t.markerGroup.clip(i?r.clipRect:null)),t.dataLabelsGroup&&t.dataLabelsGroup.attr(u))});r.clipRect.attr(i||r.clipBox)},dragStart:function(n){var t=this.chart;t.mouseIsDown=n.type;t.cancelClick=!1;t.mouseDownX=this.mouseDownX=n.chartX;t.mouseDownY=this.mouseDownY=n.chartY},drag:function(n){var t=this.chart,h=t.options.chart,r=n.chartX,u=n.chartY,v=this.zoomHor,p=this.zoomVert,f=t.plotLeft,e=t.plotTop,c=t.plotWidth,l=t.plotHeight,a,i,o=this.mouseDownX,s=this.mouseDownY;rf+c&&(r=f+c);ue+l&&(u=e+l);this.hasDragged=Math.sqrt(Math.pow(o-r,2)+Math.pow(s-u,2));this.hasDragged>10&&(a=t.isInsidePlot(o-f,s-e),t.hasCartesianSeries&&(this.zoomX||this.zoomY)&&a&&(this.selectionMarker||(this.selectionMarker=t.renderer.rect(f,e,v?1:c,p?1:l,0).attr({fill:h.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add())),this.selectionMarker&&v&&(i=r-o,this.selectionMarker.attr({width:y(i),x:(i>0?0:i)+o})),this.selectionMarker&&p&&(i=u-s,this.selectionMarker.attr({height:y(i),y:(i>0?0:i)+s})),a&&!this.selectionMarker&&h.panning&&t.pan(n,h.panning))},drop:function(n){var f=this.chart,e=this.hasPinched;if(this.selectionMarker){var o={xAxis:[],yAxis:[],originalEvent:n.originalEvent||n},i=this.selectionMarker,s=i.attr?i.attr("x"):i.x,h=i.attr?i.attr("y"):i.y,a=i.attr?i.attr("width"):i.width,v=i.attr?i.attr("height"):i.height,c;(this.hasDragged||e)&&(t(f.axes,function(n){if(n.zoomEnabled){var r=n.horiz,t=n.toValue(r?s:h),i=n.toValue(r?s+a:h+v);isNaN(t)||isNaN(i)||(o[n.coll].push({axis:n,min:l(t,i),max:u(t,i)}),c=!0)}}),c&&w(f,"selection",o,function(n){f.zoom(r(n,e?{animation:!1}:null))}));this.selectionMarker=this.selectionMarker.destroy();e&&this.scaleGroups()}f&&(p(f.container,{cursor:f._cursor}),f.cancelClick=this.hasDragged>10,f.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(n){n=this.normalize(n);n.preventDefault&&n.preventDefault();this.dragStart(n)},onDocumentMouseUp:function(n){ht[hi]&&ht[hi].pointer.drop(n)},onDocumentMouseMove:function(n){var t=this.chart,i=this.chartPosition,r=t.hoverSeries;n=this.normalize(n,i);i&&r&&!this.inClass(n.target,"highcharts-tracker")&&!t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)&&this.reset()},onContainerMouseLeave:function(){var n=ht[hi];n&&(n.pointer.reset(),n.pointer.chartPosition=null)},onContainerMouseMove:function(n){var t=this.chart;hi=t.index;n=this.normalize(n);t.mouseIsDown==="mousedown"&&this.drag(n);(this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop))&&!t.openMenu&&this.runPointActions(n)},inClass:function(n,t){for(var i;n;){if(i=g(n,"class"),i){if(i.indexOf(t)!==-1)return!0;if(i.indexOf(ot+"container")!==-1)return!1}n=n.parentNode}},onTrackerMouseOut:function(n){var t=this.chart.hoverSeries,i=n.relatedTarget||n.toElement,r=i&&i.point&&i.point.series;!t||t.options.stickyTracking||this.inClass(i,ot+"tooltip")||r===t||t.onMouseOut()},onContainerClick:function(n){var t=this.chart,i=t.hoverPoint,u=t.plotLeft,f=t.plotTop;n=this.normalize(n);n.cancelBubble=!0;t.cancelClick||(i&&this.inClass(n.target,ot+"tracker")?(w(i.series,"click",r(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(r(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-u,n.chartY-f)&&w(t,"click",n)))},setDOMEvents:function(){var n=this,t=n.chart.container;t.onmousedown=function(t){n.onContainerMouseDown(t)};t.onmousemove=function(t){n.onContainerMouseMove(t)};t.onclick=function(t){n.onContainerClick(t)};k(t,"mouseleave",n.onContainerMouseLeave);hu===1&&k(o,"mouseup",n.onDocumentMouseUp);su&&(t.ontouchstart=function(t){n.onContainerTouchStart(t)},t.ontouchmove=function(t){n.onContainerTouchMove(t)},hu===1&&k(o,"touchend",n.onDocumentTouchEnd))},destroy:function(){var n;ct(this.chart.container,"mouseleave",this.onContainerMouseLeave);hu||(ct(o,"mouseup",this.onDocumentMouseUp),ct(o,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(n in this)this[n]=null}},r(ut.Pointer.prototype,{pinchTranslate:function(n,t,i,r,u,f){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,n,t,i,r,u,f);(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1,n,t,i,r,u,f)},pinchTranslateDirection:function(n,t,i,r,u,f,e,o){var v=this.chart,l=n?"x":"y",g=n?"X":"Y",p="chart"+g,ft=n?"width":"height",nt=v["plot"+(n?"Left":"Top")],a,s,tt,h=o||1,it=v.inverted,w=v.bounds[n?"h":"v"],b=t.length===1,k=t[0][p],c=i[0][p],et=!b&&t[1][p],d=!b&&i[1][p],rt,ut,ot,st=function(){!b&&y(k-et)>20&&(h=o||y(c-d)/y(k-et));tt=(nt-c)/h+k;a=v["plot"+(n?"Width":"Height")]/h};st();s=tt;sw.max&&(s=w.max-a,rt=!0);rt?(c-=.8*(c-e[l][0]),b||(d-=.8*(d-e[l][1])),st()):e[l]=[c,d];it||(f[l]=tt-nt,f[ft]=a);ot=it?n?"scaleY":"scaleX":"scale"+g;ut=it?1/h:h;u[ft]=a;u[l]=s;r[ot]=h;r["translate"+g]=ut*nt+(c-ut*k)},pinch:function(n){var i=this,e=i.chart,f=i.pinchDown,a=i.followTouchMove,o=n.touches,v=o.length,s=i.lastValidTouch,h=i.hasZoom,c=i.selectionMarker,y={},w=v===1&&(i.inClass(n.target,ot+"tracker")&&e.runTrackerClick||e.runChartClick),p={};(h||a)&&!w&&n.preventDefault();ru(o,function(n){return i.normalize(n)});n.type==="touchstart"?(t(o,function(n,t){f[t]={chartX:n.chartX,chartY:n.chartY}}),s.x=[f[0].chartX,f[1]&&f[1].chartX],s.y=[f[0].chartY,f[1]&&f[1].chartY],t(e.axes,function(n){if(n.zoomEnabled){var t=e.bounds[n.horiz?"h":"v"],i=n.minPixelPadding,r=n.toPixels(n.dataMin),f=n.toPixels(n.dataMax),o=l(r,f),s=u(r,f);t.min=l(n.pos,o-i);t.max=u(n.pos+n.len,s+i)}})):f.length&&(c||(i.selectionMarker=c=r({destroy:ci},e.plotBox)),i.pinchTranslate(f,o,y,c,p,s),i.hasPinched=h,i.scaleGroups(y,p),!h&&a&&v===1&&this.runPointActions(i.normalize(n)))},onContainerTouchStart:function(n){var t=this.chart;hi=t.index;n.touches.length===1?(n=this.normalize(n),t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)?(this.runPointActions(n),this.pinch(n)):this.reset()):n.touches.length===2&&this.pinch(n)},onContainerTouchMove:function(n){(n.touches.length===1||n.touches.length===2)&&this.pinch(n)},onDocumentTouchEnd:function(n){ht[hi]&&ht[hi].pointer.drop(n)}}),d.PointerEvent||d.MSPointerEvent){var yi={},oe=!!d.PointerEvent,fs=function(){var n,t=[];t.item=function(n){return this[n]};for(n in yi)yi.hasOwnProperty(n)&&t.push({pageX:yi[n].pageX,pageY:yi[n].pageY,target:yi[n].target});return t},se=function(n,t,i,r){var u;n=n.originalEvent||n;(n.pointerType==="touch"||n.pointerType===n.MSPOINTER_TYPE_TOUCH)&&ht[hi]&&(r(n),u=ht[hi].pointer,u[t]({type:i,target:n.currentTarget,preventDefault:ci,touches:fs()}))};r(pr.prototype,{onContainerPointerDown:function(n){se(n,"onContainerTouchStart","touchstart",function(n){yi[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},onContainerPointerMove:function(n){se(n,"onContainerTouchMove","touchmove",function(n){yi[n.pointerId]={pageX:n.pageX,pageY:n.pageY};yi[n.pointerId].target||(yi[n.pointerId].target=n.currentTarget)})},onDocumentPointerUp:function(n){se(n,"onContainerTouchEnd","touchend",function(n){delete yi[n.pointerId]})},batchMSEvents:function(n){n(this.chart.container,oe?"pointerdown":"MSPointerDown",this.onContainerPointerDown);n(this.chart.container,oe?"pointermove":"MSPointerMove",this.onContainerPointerMove);n(o,oe?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});dr(pr.prototype,"init",function(n,t,i){n.call(this,t,i);(this.hasZoom||this.followTouchMove)&&p(t.container,{"-ms-touch-action":it,"touch-action":it})});dr(pr.prototype,"setDOMEvents",function(n){n.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(k)});dr(pr.prototype,"destroy",function(n){this.batchMSEvents(ct);n.call(this)})}pu=ut.Legend=function(n,t){this.init(n,t)};pu.prototype={init:function(t,i){var r=this,u=i.itemStyle,f=n(i.padding,8),e=i.itemMarginTop||0;(this.options=i,i.enabled)&&(r.baseline=h(u.fontSize)+3+e,r.itemStyle=u,r.itemHiddenStyle=s(u,i.itemHiddenStyle),r.itemMarginTop=e,r.padding=f,r.initialItemX=f,r.initialItemY=f-5,r.maxItemWidth=0,r.chart=t,r.itemHeight=0,r.lastLineHeight=0,r.symbolWidth=n(i.symbolWidth,16),r.pages=[],r.render(),k(r.chart,"endResize",function(){r.positionCheckboxes()}))},colorizeItem:function(n,t){var h=this,y=h.options,c=n.legendItem,l=n.legendLine,r=n.legendSymbol,a=h.itemHiddenStyle.color,v=t?y.itemStyle.color:a,u=t?n.legendColor||n.color||"#CCC":a,i=n.options&&n.options.marker,e={fill:u},o,s;if(c&&c.css({fill:v,color:v}),l&&l.attr({stroke:u}),r){if(i&&r.isMarker){e.stroke=u;i=n.convertAttribs(i);for(o in i)s=i[o],s!==f&&(e[o]=s)}r.attr(e)}},positionItem:function(n){var r=this,u=r.options,o=u.symbolPadding,s=!u.rtl,f=n._legendItemPos,t=f[0],e=f[1],i=n.checkbox;n.legendGroup&&n.legendGroup.translate(s?t:r.legendWidth-t-2*o-4,e);i&&(i.x=t,i.y=e)},destroyItem:function(n){var i=n.checkbox;t(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&(n[t]=n[t].destroy())});i&&tu(n.checkbox)},destroy:function(){var n=this,t=n.group,i=n.box;i&&(n.box=i.destroy());t&&(n.group=t.destroy())},positionCheckboxes:function(n){var r=this.group.alignAttr,i,u=this.clipHeight||this.legendHeight;r&&(i=r.translateY,t(this.allItems,function(t){var f=t.checkbox,e;f&&(e=i+f.y+(n||0)+3,p(f,{left:r.translateX+t.checkboxOffset+f.x-20+a,top:e+a,display:e>i-6&&e(rt||w.chartWidth-2*nt-c-r.x)&&(i.itemX=c,i.itemY+=y+i.lastLineHeight+v,i.lastLineHeight=0);i.maxItemWidth=u(i.maxItemWidth,f);i.lastItemY=y+i.itemY+v;i.lastLineHeight=u(h,i.lastLineHeight);t._legendItemPos=[i.itemX,i.itemY];o?i.itemX+=f:(i.itemY+=y+h+v,i.lastLineHeight=h);i.offsetWidth=rt||u((o?i.itemX-c-tt:f)+nt,i.offsetWidth)},getAllItems:function(){var r=[];return t(this.chart.series,function(t){var u=t.options;n(u.showInLegend,i(u.linkedTo)?!1:f,!0)&&(r=r.concat(t.legendItems||(u.legendType==="point"?t.data:t)))}),r},render:function(){var n=this,a=n.chart,h=a.renderer,s=n.group,e,c,o,i,u=n.box,f=n.options,v=n.padding,l=f.borderWidth,y=f.backgroundColor;n.itemX=n.initialItemX;n.itemY=n.initialItemY;n.offsetWidth=0;n.lastItemY=0;s||(n.group=s=h.g("legend").attr({zIndex:7}).add(),n.contentGroup=h.g().attr({zIndex:1}).add(s),n.scrollGroup=h.g().add(n.contentGroup));n.renderTitle();e=n.getAllItems();te(e,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});f.reversed&&e.reverse();n.allItems=e;n.display=c=!!e.length;t(e,function(t){n.renderItem(t)});o=f.width||n.offsetWidth;i=n.lastItemY+n.lastLineHeight+n.titleHeight;i=n.handleOverflow(i);(l||y)&&(o+=v,i+=v,u?o>0&&i>0&&(u[u.isNew?"attr":"animate"](u.crisp({width:o,height:i})),u.isNew=!1):(n.box=u=h.rect(0,0,o,i,f.borderRadius,l||0).attr({stroke:f.borderColor,"stroke-width":l||0,fill:y||it}).add(s).shadow(f.shadow),u.isNew=!0),u[c?"show":"hide"]());n.legendWidth=o;n.legendHeight=i;t(e,function(t){n.positionItem(t)});c&&s.align(r({width:o,height:i},f),!0,"spacingBox");a.isResizing||this.positionCheckboxes()},handleOverflow:function(i){var s=this,p=this.chart,h=p.renderer,f=this.options,b=f.y,nt=f.verticalAlign==="top",o=p.spacingBox.height+(nt?-b:b)-this.padding,k=f.maxHeight,a,c=this.clipRect,w=f.navigation,d=n(w.animation,!0),v=w.arrowSize||12,r=this.nav,u=this.pages,y,g=this.allItems;return f.layout==="horizontal"&&(o/=2),k&&(o=l(o,k)),u.length=0,i>o&&!f.useHTML?(this.clipHeight=a=o-20-this.titleHeight-this.padding,this.currentPage=n(this.currentPage,1),this.fullHeight=i,t(g,function(n,t){var i=n._legendItemPos[1],f=e(n.legendItem.getBBox().height),r=u.length;(!r||i-u[r-1]>a&&(y||i)!==u[r-1])&&(u.push(y||i),r++);t===g.length-1&&i+f-u[r-1]>a&&u.push(i);i!==y&&(y=i)}),c||(c=s.clipRect=h.clipRect(0,this.padding,9999,0),s.contentGroup.clip(c)),c.attr({height:a}),r||(this.nav=r=h.g().attr({zIndex:1}).add(this.group),this.up=h.symbol("triangle",0,0,v,v).on("click",function(){s.scroll(-1,d)}).add(r),this.pager=h.text("",15,10).css(w.style).add(r),this.down=h.symbol("triangle-down",0,0,v,v).on("click",function(){s.scroll(1,d)}).add(r)),s.scroll(0),i=o):r&&(c.attr({height:p.chartHeight}),r.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),i},scroll:function(n,t){var e=this.pages,r=e.length,i=this.currentPage+n,c=this.clipHeight,o=this.options.navigation,s=o.activeColor,h=o.inactiveColor,l=this.pager,a=this.padding,u;i>r&&(i=r);i>0&&(t!==f&&iu(t,this.chart),this.nav.attr({translateX:a,translateY:c+this.padding+7+this.titleHeight,visibility:li}),this.up.attr({fill:i===1?h:s}).css({cursor:i===1?"default":"pointer"}),l.attr({text:i+"/"+r}),this.down.attr({x:18+this.pager.getBBox().width,fill:i===r?h:s}).css({cursor:i===r?"default":"pointer"}),u=-e[i-1]+this.initialItemY,this.scrollGroup.animate({translateY:u}),this.currentPage=i,this.positionCheckboxes(u))}};eu=ut.LegendSymbolMixin={drawRectangle:function(n,t){var i=n.options.symbolHeight||12;t.legendSymbol=this.chart.renderer.rect(0,n.baseline-5-i/2,n.symbolWidth,i,n.options.symbolRadius||0).attr({zIndex:3}).add(t.legendGroup)},drawLineMarker:function(n){var t=this.options,r=t.marker,i,l=n.options,s,h=n.symbolWidth,u=this.chart.renderer,c=this.legendGroup,f=n.baseline-e(u.fontMetrics(l.itemStyle.fontSize).b*.3),o;t.lineWidth&&(o={"stroke-width":t.lineWidth},t.dashStyle&&(o.dashstyle=t.dashStyle),this.legendLine=u.path([tt,0,f,rt,h,f]).attr(o).add(c));r&&r.enabled!==!1&&(i=r.radius,this.legendSymbol=s=u.symbol(this.symbol,h/2-i,f-i,2*i,2*i).add(c),s.isMarker=!0)}};(/Trident\/7\.0/.test(pi)||wr)&&dr(pu.prototype,"positionItem",function(n,t){var r=this,i=function(){t._legendItemPos&&n.call(r,t)};i();setTimeout(i)});wu.prototype={init:function(t,i){var f,h=t.series,u,e,r,o;if(t.series=null,f=s(nt,t),f.series=t.series=h,this.userOptions=t,u=f.chart,this.margin=this.splashArray("margin",u),this.spacing=this.splashArray("spacing",u),e=u.events,this.bounds={h:{},v:{}},this.callback=i,this.isResizing=0,this.options=f,this.axes=[],this.series=[],this.hasCartesianSeries=u.showAxes,r=this,r.index=ht.length,ht.push(r),hu++,u.reflow!==!1&&k(r,"load",function(){r.initReflow()}),e)for(o in e)k(r,o,e[o]);r.xAxis=[];r.yAxis=[];r.animation=kt?!1:n(u.animation,!0);r.pointCount=0;r.counters=new io;r.firstRender()},initSeries:function(n){var u=this,i=u.options.chart,f=n.type||i.type||i.defaultSeriesType,t,r=b[f];return r||vi(17,!0),t=new r,t.init(this,n),t},isInsidePlot:function(n,t,i){var r=i?t:n,u=i?n:t;return r>=0&&r<=this.plotWidth&&u>=0&&u<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&t(this.axes,function(n){n.adjustTickAmount()});this.maxTicks=null},redraw:function(n){var i=this,o=i.axes,f=i.series,c=i.pointer,l=i.legend,a=i.isDirtyLegend,s,v,h=i.isDirtyBox,y=f.length,e=y,u,p=i.renderer,b=p.isHidden(),k=[];for(iu(n,i),b&&i.cloneRenderTo(),i.layOutTitles();e--;)if(u=f[e],u.options.stacking&&(s=!0,u.isDirty)){v=!0;break}if(v)for(e=y;e--;)u=f[e],u.options.stacking&&(u.isDirty=!0);t(f,function(n){n.isDirty&&n.options.legendType==="point"&&(a=!0)});a&&l.options.enabled&&(l.render(),i.isDirtyLegend=!1);s&&i.getStacks();i.hasCartesianSeries&&(i.isResizing||(i.maxTicks=null,t(o,function(n){n.setScale()})),i.adjustTickAmounts(),i.getMargins(),t(o,function(n){n.isDirty&&(h=!0)}),t(o,function(n){n.isDirtyExtremes&&(n.isDirtyExtremes=!1,k.push(function(){w(n,"afterSetExtremes",r(n.eventArgs,n.getExtremes()));delete n.eventArgs}));(h||s)&&n.redraw()}));h&&i.drawChartBox();t(f,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()});c&&c.reset(!0);p.draw();w(i,"redraw");b&&i.cloneRenderTo(!0);t(k,function(n){n.call()})},get:function(n){for(var e=this,f=e.axes,i=e.series,r,u,t=0;t19?t.containerHeight:400))},cloneRenderTo:function(n){var t=this.renderToClone,i=this.container;n?t&&(this.renderTo.appendChild(i),tu(t),delete this.renderToClone):(i&&i.parentNode===this.renderTo&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),p(t,{position:ki,top:"-9999px",display:"block"}),t.style.setProperty&&t.style.setProperty("display","block","important"),o.body.appendChild(t),i&&t.appendChild(i))},getContainer:function(){var n=this,u,i=n.options.chart,f,e,t,c="data-highcharts-chart",s,l;n.renderTo=t=i.renderTo;l=ot+af++;lr(t)&&(n.renderTo=t=o.getElementById(t));t||vi(13,!0);s=h(g(t,c));!isNaN(s)&&ht[s]&&ht[s].hasRendered&&ht[s].destroy();g(t,c,n.index);t.innerHTML="";i.skipClone||t.offsetWidth||n.cloneRenderTo();n.getChartSize();f=n.chartWidth;e=n.chartHeight;n.container=u=at(hr,{className:ot+"container"+(i.className?" "+i.className:""),id:l},r({position:yf,overflow:ti,width:f+a,height:e+a,textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},i.style),n.renderToClone||t);n._cursor=u.style.cursor;n.renderer=i.forExport?new oi(u,f,e,i.style,!0):new ou(u,f,e,i.style);kt&&n.renderer.create(n,u,f,e)},getMargins:function(){var r=this,o=r.spacing,s,h=r.legend,f=r.margin,e=r.options.legend,c=n(e.margin,20),l=e.x,a=e.y,v=e.align,y=e.verticalAlign,p=r.titleOffset;r.resetMargins();s=r.axisOffset;p&&!i(f[0])&&(r.plotTop=u(r.plotTop,p+r.options.title.margin+o[0]));h.display&&!e.floating&&(v==="right"?i(f[1])||(r.marginRight=u(r.marginRight,h.legendWidth-l+c+o[1])):v==="left"?i(f[3])||(r.plotLeft=u(r.plotLeft,h.legendWidth+l+c+o[3])):y==="top"?i(f[0])||(r.plotTop=u(r.plotTop,h.legendHeight+a+c+o[0])):y==="bottom"&&(i(f[2])||(r.marginBottom=u(r.marginBottom,h.legendHeight-a+c+o[2]))));r.extraBottomMargin&&(r.marginBottom+=r.extraBottomMargin);r.extraTopMargin&&(r.plotTop+=r.extraTopMargin);r.hasCartesianSeries&&t(r.axes,function(n){n.getOffset()});i(f[3])||(r.plotLeft+=s[3]);i(f[0])||(r.plotTop+=s[0]);i(f[2])||(r.marginBottom+=s[2]);i(f[1])||(r.marginRight+=s[1]);r.setChartSize()},reflow:function(n){var t=this,u=t.options.chart,f=t.renderTo,i=u.width||of(f,"width"),r=u.height||of(f,"height"),e=n?n.target:d,s=function(){t.container&&(t.setSize(i,r,!1),t.hasUserSize=null)};!t.hasUserSize&&i&&r&&(e===d||e===o)&&((i!==t.containerWidth||r!==t.containerHeight)&&(clearTimeout(t.reflowTimeout),n?t.reflowTimeout=setTimeout(s,100):s()),t.containerWidth=i,t.containerHeight=r)},initReflow:function(){var n=this,t=function(t){n.reflow(t)};k(d,"resize",t);k(n,"destroy",function(){ct(d,"resize",t)})},setSize:function(n,r,f){var o=this,s,h,c;o.isResizing+=1;c=function(){o&&w(o,"endResize",null,function(){o.isResizing-=1})};iu(f,o);o.oldChartHeight=o.chartHeight;o.oldChartWidth=o.chartWidth;i(n)&&(o.chartWidth=s=u(0,e(n)),o.hasUserSize=!!s);i(r)&&(o.chartHeight=h=u(0,e(r)));(bi?sf:p)(o.container,{width:s+a,height:h+a},bi);o.setChartSize(!0);o.renderer.setSize(s,h,f);o.maxTicks=null;t(o.axes,function(n){n.isDirty=!0;n.setScale()});t(o.series,function(n){n.isDirty=!0});o.isDirtyLegend=!0;o.isDirtyBox=!0;o.layOutTitles();o.getMargins();o.redraw(f);o.oldChartHeight=null;w(o,"resize");bi===!1?c():setTimeout(c,bi&&bi.duration||500)},setChartSize:function(n){var i=this,y=i.inverted,p=i.renderer,w=i.chartWidth,b=i.chartHeight,k=i.options.chart,r=i.spacing,o=i.clipOffset,c,l,a,v,s,h,f;i.plotLeft=a=e(i.plotLeft);i.plotTop=v=e(i.plotTop);i.plotWidth=s=u(0,e(w-a-i.marginRight));i.plotHeight=h=u(0,e(b-v-i.marginBottom));i.plotSizeX=y?h:s;i.plotSizeY=y?s:h;i.plotBorderWidth=k.plotBorderWidth||0;i.spacingBox=p.spacingBox={x:r[3],y:r[0],width:w-r[3]-r[1],height:b-r[0]-r[2]};i.plotBox=p.plotBox={x:a,y:v,width:s,height:h};f=2*et(i.plotBorderWidth/2);c=sr(u(f,o[3])/2);l=sr(u(f,o[0])/2);i.clipBox={x:c,y:l,width:et(i.plotSizeX-u(f,o[1])/2-c),height:et(i.plotSizeY-u(f,o[2])/2-l)};n||t(i.axes,function(n){n.setAxisSize();n.setAxisTranslation()})},resetMargins:function(){var t=this,i=t.spacing,r=t.margin;t.plotTop=n(r[0],i[0]);t.marginRight=n(r[1],i[1]);t.marginBottom=n(r[2],i[2]);t.plotLeft=n(r[3],i[3]);t.axisOffset=[0,0,0,0];t.clipOffset=[0,0,0,0]},drawChartBox:function(){var n=this,t=n.options.chart,r=n.renderer,y=n.chartWidth,p=n.chartHeight,c=n.chartBackground,w=n.plotBackground,l=n.plotBorder,b=n.plotBGImage,u=t.borderWidth||0,k=t.backgroundColor,d=t.plotBackgroundColor,g=t.plotBackgroundImage,a=t.plotBorderWidth||0,i,f,e=n.plotLeft,o=n.plotTop,s=n.plotWidth,h=n.plotHeight,nt=n.plotBox,tt=n.clipRect,v=n.clipBox;i=u+(t.shadow?8:0);(u||k)&&(c?c.animate(c.crisp({width:y-i,height:p-i})):(f={fill:k||it},u&&(f.stroke=t.borderColor,f["stroke-width"]=u),n.chartBackground=r.rect(i/2,i/2,y-i,p-i,t.borderRadius,u).attr(f).addClass(ot+"background").add().shadow(t.shadow)));d&&(w?w.animate(nt):n.plotBackground=r.rect(e,o,s,h,0).attr({fill:d}).add().shadow(t.plotShadow));g&&(b?b.animate(nt):n.plotBGImage=r.image(g,e,o,s,h).add());tt?tt.animate({width:v.width,height:v.height}):n.clipRect=r.clipRect(v);a&&(l?l.animate(l.crisp({x:e,y:o,width:s,height:h})):n.plotBorder=r.rect(e,o,s,h,0,-a).attr({stroke:t.plotBorderColor,"stroke-width":a,fill:it,zIndex:1}).add());n.isDirtyBox=!1},propFromSeries:function(){var i=this,u=i.options.chart,n,f=i.options.series,e,r;t(["inverted","angular","polar"],function(t){for(n=b[u.type||u.defaultSeriesType],r=i[t]||u[t]||n&&n.prototype[t],e=f&&f.length;!r&&e--;)n=b[f[e].type],n&&n.prototype[t]&&(r=!0);i[t]=r})},linkSeries:function(){var n=this,i=n.series;t(i,function(n){n.linkedSeries.length=0});t(i,function(t){var i=t.options.linkedTo;lr(i)&&(i=i===":previous"?n.series[t.index-1]:n.get(i),i&&(i.linkedSeries.push(t),t.linkedParent=i))})},renderSeries:function(){t(this.series,function(n){n.translate();n.setTooltipPoints&&n.setTooltipPoints();n.render()})},render:function(){var n=this,u=n.axes,f=n.renderer,e=n.options,o=e.labels,i=e.credits,s;n.setTitle();n.legend=new pu(n,e.legend);n.getStacks();t(u,function(n){n.setScale()});n.getMargins();n.maxTicks=null;t(u,function(n){n.setTickPositions(!0);n.setMaxTicks()});n.adjustTickAmounts();n.getMargins();n.drawChartBox();n.hasCartesianSeries&&t(u,function(n){n.render()});n.seriesGroup||(n.seriesGroup=f.g("series-group").attr({zIndex:3}).add());n.renderSeries();o.items&&t(o.items,function(t){var i=r(o.style,t.style),u=h(i.left)+n.plotLeft,e=h(i.top)+n.plotTop+12;delete i.left;delete i.top;f.text(t.html,u,e).attr({zIndex:2}).css(i).add()});i.enabled&&!n.credits&&(s=i.href,n.credits=f.text(i.text,0,0).on("click",function(){s&&(location.href=s)}).attr({align:i.position.align,zIndex:8}).css(i.style).add().align(i.position));n.hasRendered=!0},destroy:function(){var n=this,u=n.axes,e=n.series,r=n.container,i,o=r&&r.parentNode;for(w(n,"destroy"),ht[n.index]=f,hu--,n.renderTo.removeAttribute("data-highcharts-chart"),ct(n),i=u.length;i--;)u[i]=u[i].destroy();for(i=e.length;i--;)e[i]=e[i].destroy();t(["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","scroller","rangeSelector","legend","resetZoomButton","tooltip","renderer"],function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())});r&&(r.innerHTML="",ct(r),o&&tu(r));for(i in n)delete n[i]},isReadyToRender:function(){var n=this;return!yt&&d==d.top&&o.readyState!=="complete"||kt&&!d.canvg?(kt?fo.push(function(){n.firstRender()},n.options.global.canvasToolsURL):o.attachEvent("onreadystatechange",function(){o.detachEvent("onreadystatechange",n.firstRender);o.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var n=this,i=n.options,r=n.callback;n.isReadyToRender()&&(n.getContainer(),w(n,"init"),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(i.series||[],function(t){n.initSeries(t)}),n.linkSeries(),w(n,"beforeRender"),ut.Pointer&&(n.pointer=new pr(n,i)),n.render(),n.renderer.draw(),r&&r.apply(n,[n]),t(n.callbacks,function(t){t.apply(n,[n])}),n.cloneRenderTo(!0),w(n,"load"))},splashArray:function(t,i){var r=i[t],u=dt(r)?r:[r,r,r,r];return[n(i[t+"Top"],u[0]),n(i[t+"Right"],u[1]),n(i[t+"Bottom"],u[2]),n(i[t+"Left"],u[3])]}};wu.prototype.callbacks=[];eo=ut.CenteredSeriesMixin={getCenter:function(){var t=this.options,u=this.chart,i=2*(t.slicedOffset||0),f,e=u.plotWidth-2*i,o=u.plotHeight-2*i,s=t.center,a=[n(s[0],"50%"),n(s[1],"50%"),t.size||"100%",t.innerSize||0],c=l(e,o),r;return ru(a,function(n,t){return r=/%$/.test(n),f=t<2||t===2&&r,(r?[e,o,c,c][t]*h(n)/100:n)+(f?i:0)})}};tr=function(){};tr.prototype={init:function(n,t,i){var r=this,u;return r.series=n,r.applyOptions(t,i),r.pointAttr={},n.options.colorByPoint&&(u=n.options.colors||n.chart.options.colors,r.color=r.color||u[n.colorCounter++],n.colorCounter===u.length&&(n.colorCounter=0)),n.chart.pointCount++,r},applyOptions:function(n,t){var i=this,u=i.series,e=u.pointValKey;return n=tr.prototype.optionsToObject.call(this,n),r(i,n),i.options=i.options?r(i.options,n):n,e&&(i.y=i[e]),i.x===f&&u&&(i.x=t===f?u.autoIncrement():t),i},optionsToObject:function(n){var t={},i=this.series,r=i.pointArrayMap||["y"],f=r.length,u,e=0,o=0;if(typeof n=="number"||n===null)t[r[0]]=n;else if(kr(n))for(n.length>f&&(u=typeof n[0],u==="string"?t.name=n[0]:u==="number"&&(t.x=n[0]),e++);oi+1&&r.push(n.slice(i+1,u)),i=u):u===e-1&&r.push(n.slice(i+1,u+1))});f.segments=r},setOptions:function(n){var r=this.chart,o=r.options,u=o.plotOptions,f=r.userOptions||{},t=f.plotOptions||{},e=u[this.type],i;return this.userOptions=n,i=s(e,u.series,n),this.tooltipOptions=s(nt.tooltip,nt.plotOptions[this.type].tooltip,f.tooltip,t.series&&t.series.tooltip,t[this.type]&&t[this.type].tooltip,n.tooltip),e.marker===null&&delete i.marker,i},getColor:function(){var f=this.options,t=this.userOptions,e=this.chart.options.colors,r=this.chart.counters,n,u;n=f.color||vt[this.type].color;n||f.colorByPoint||(i(t._colorIndex)?u=t._colorIndex:(t._colorIndex=r.color,u=r.color++),n=e[u]);this.color=n;r.wrapColor(e.length)},getSymbol:function(){var n=this,t=n.userOptions,f=n.options.marker,e=n.chart,o=e.options.symbols,r=e.counters,u;n.symbol=f.symbol;n.symbol||(i(t._symbolIndex)?u=t._symbolIndex:(t._symbolIndex=r.symbol,u=r.symbol++),n.symbol=o[u]);/^url/.test(n.symbol)&&(f.radius=0);r.wrapSymbol(o.length)},drawLegendSymbol:eu.drawLineMarker,setData:function(i,r,u,e){var s=this,l=s.points,k=l&&l.length||0,c,v=s.options,d=s.chart,y=null,a=s.xAxis,g=a&&!!a.categories,nt=s.tooltipPoints,o,tt=v.turboThreshold,h,b=this.xData,p=this.yData,it=s.pointArrayMap,rt=it&&it.length,w,ut;if(i=i||[],c=i.length,r=n(r,!0),e===!1||!c||k!==c||s.cropped||s.hasGroupedData){if(s.xIncrement=null,s.pointRange=g?1:v.pointRange,s.colorCounter=0,t(this.parallelArrays,function(n){s[n+"Data"].length=0}),tt&&c>tt){for(o=0;y===null&&ob||t.forceCrop)&&(o=v.min,s=v.max,i[l-1]s?(i=[],c=[]):(i[0]s)&&(h=this.cropData(t.xData,t.yData,o,s),i=h.xData,c=h.yData,p=h.start,a=!0,y=i.length)),r=i.length-1;r>=0;r--)u=i[r]-i[r-1],!a&&i[r]>o&&i[r]0&&(e===f||u=r){o=u(0,e-c);break}for(;ef){s=e+c;break}return{xData:t.slice(o,s),yData:i.slice(o,s),start:o,end:s}},generatePoints:function(){var t=this,p=t.options,e=p.data,i=t.data,a,o=t.processedXData,w=t.processedYData,v=t.pointClass,s=o.length,y=t.cropStart||0,r,u=t.hasGroupedData,h,c=[],n,l;for(i||u||(l=[],l.length=e.length,i=t.data=l),n=0;n0),v=this.getExtremesFromAll||this.cropped||(o[r+1]||s)>=w&&(o[r-1]||s)<=b,a&&v)if(u=i.length,u)while(u--)i[u]!==null&&(e[c++]=i[u]);else e[c++]=i;this.dataMin=n(k,gr(e));this.dataMax=n(d,fr(e))},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var r=this,l=r.options,k=l.stacking,a=r.xAxis,v=a.categories,o=r.yAxis,d=r.points,g=d.length,nt=!!r.modifyValue,y=l.pointPlacement,tt=y==="between"||ri(y),p=l.threshold,h=0;h0||k)&&(t.graphic=o=a.renderer.symbol(y,h-i,s-i,2*i,2*i).attr(l).add(tt))):o&&(t.graphic=o.destroy())},convertAttribs:function(t,i,r,u){var e=this.pointAttrToOptions,f,o,s={};t=t||{};i=i||{};r=r||{};u=u||{};for(f in e)o=e[f],s[f]=n(t[o],i[f],r[f],u[f]);return s},getAttribs:function(){var f=this,h=f.options,n=vt[f.type].marker?h.marker:h,c=n.states,e=c[ii],l,p=f.color,nt={stroke:p,fill:p},w=f.points||[],a,u,o=[],s,b=f.pointAttrToOptions,v=f.hasPointSpecificOptions,k=h.negativeColor,tt=n.lineColor,it=n.fillColor,d=h.turboThreshold,y,g;if(h.marker?(e.radius=e.radius||n.radius+2,e.lineWidth=e.lineWidth||n.lineWidth+1):e.color=e.color||nr(e.color||p).brighten(e.brightness).get(),o[pt]=f.convertAttribs(n,nt),t([ii,di],function(n){o[n]=f.convertAttribs(c[n],o[pt])}),f.pointAttr=o,a=w.length,!d||a1?i=i.concat(r):u.push(t[0])}),n.singlePoints=u,n.graphPath=i,i},drawGraph:function(){var i=this,n=this.options,u=[["graph",n.lineColor||this.color]],f=n.lineWidth,e=n.dashStyle,s=n.linecap!=="square",r=this.getGraphPath(),o=n.negativeColor;o&&u.push(["graphNeg",o]);t(u,function(t,u){var c=t[0],h=i[c],o;h?(yu(h),h.animate({d:r})):f&&r.length&&(o={stroke:t[1],"stroke-width":f,fill:it,zIndex:1},e?o.dashstyle=e:s&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),i[c]=i.chart.renderer.path(r).attr(o).add(i.group).shadow(!u&&n.shadow))})},clipNeg:function(){var a=this.options,n=this.chart,v=n.renderer,k=a.negativeColor||a.negativeFillColor,t,o,s,y=this.graph,p=this.area,i=this.posClip,h=this.negClip,c=n.chartWidth,w=n.chartHeight,l=u(c,w),b=this.yAxis,r,f;k&&(y||p)&&(t=e(b.toPixels(a.threshold||0,!0)),t<0&&(l-=t),r={x:0,y:0,width:l,height:t},f={x:0,y:t,width:l,height:l},n.inverted&&(r.height=f.y=n.plotWidth-t,v.isVML&&(r={x:n.plotWidth-t-n.plotLeft,y:0,width:c,height:w},f={x:t+n.plotLeft-c,y:0,width:n.plotLeft+t,height:c})),b.reversed?(o=f,s=r):(o=r,s=f),i?(i.animate(o),h.animate(s)):(this.posClip=i=v.clipRect(o),this.negClip=h=v.clipRect(s),y&&this.graphNeg&&(y.clip(i),this.graphNeg.clip(h)),p&&(p.clip(i),this.areaNeg.clip(h))))},invertGroups:function(){function i(){var i={width:n.yAxis.len,height:n.xAxis.len};t(["group","markerGroup"],function(t){n[t]&&n[t].attr(i).invert()})}var n=this,r=n.chart;n.xAxis&&(k(r,"resize",i),k(n,"destroy",function(){ct(r,"resize",i)}),i(),n.invertGroups=i)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return e&&(this[n]=f=this.chart.renderer.g(t).attr({visibility:i,zIndex:r||.1}).add(u)),f[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){var t=this.chart,i=this.xAxis,n=this.yAxis;return t.inverted&&(i=n,n=this.xAxis),{translateX:i?i.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},render:function(){var t=this,i=t.chart,u,f=t.options,e=f.animation,r=e&&!!t.animate&&i.renderer.isSVG&&n(e.duration,500)||0,o=t.visible?li:ti,s=f.zIndex,h=t.hasRendered,c=i.seriesGroup;u=t.plotGroup("group","series",o,s,c);t.markerGroup=t.plotGroup("markerGroup","markers",o,s,c);r&&t.animate(!0);t.getAttribs();u.inverted=t.isCartesian?i.inverted:!1;t.drawGraph&&(t.drawGraph(),t.clipNeg());t.drawDataLabels&&t.drawDataLabels();t.visible&&t.drawPoints();t.drawTracker&&t.options.enableMouseTracking!==!1&&t.drawTracker();i.inverted&&t.invertGroups();f.clip===!1||t.sharedClipKey||h||u.clip(i.clipRect);r&&t.animate();h||(r?t.animationTimeout=setTimeout(function(){t.afterAnimate()},r):t.afterAnimate());t.isDirty=t.isDirtyData=!1;t.hasRendered=!0},redraw:function(){var t=this,i=t.chart,e=t.isDirtyData,r=t.group,u=t.xAxis,f=t.yAxis;r&&(i.inverted&&r.attr({width:i.plotWidth,height:i.plotHeight}),r.animate({translateX:n(u&&u.left,i.plotLeft),translateY:n(f&&f.top,i.plotTop)}));t.translate();t.setTooltipPoints&&t.setTooltipPoints(!0);t.render();e&&w(t,"updatedData")}};oo.prototype={destroy:function(){nu(this,this.axis)},render:function(n){var t=this.options,i=t.format,r=i?yr(i,this):t.formatter.call(this);this.label?this.label.attr({text:r,visibility:ti}):this.label=this.axis.chart.renderer.text(r,null,null,t.useHTML).css(t.style).attr({align:this.textAlign,rotation:t.rotation,visibility:ti}).add(n)},setOffset:function(n,t){var a=this,r=a.axis,u=r.chart,f=u.inverted,c=this.isNegative,i=r.translate(r.usePercentage?100:this.total,0,0,0,1),v=r.translate(0),e=y(i-v),l=u.xAxis[0].translate(this.x)+n,s=u.plotHeight,p={x:f?c?i:i-e:l,y:f?s-l-t:c?s-i-e:s-i,width:f?e:t,height:f?t:e},o=this.label,h;o&&(o.align(this.alignOptions,null,p),h=o.alignAttr,o[this.options.crop===!1||u.isInsidePlot(h.x,h.y)?"show":"hide"](!0))}};si.prototype.buildStacks=function(){var i=this.series,r=n(this.options.reversedStacks,!0),t=i.length;if(!this.isXAxis){for(this.usePercentage=!1;t--;)i[r?t:i.length-t-1].setStackedPoints();if(this.usePercentage)for(t=0;tc;)o--;e.updateParallelArrays(s,"splice",o,0,0);e.updateParallelArrays(s,o);w&&(w[c]=s.name);b.splice(o,0,i);k&&(e.data.splice(o,0,null),e.processData());y.legendType==="point"&&e.generatePoints();u&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),e.updateParallelArrays(s,"shift"),b.shift()));e.isDirty=!0;e.isDirtyData=!0;r&&(e.getAttribs(),p.redraw())},remove:function(t,i){var r=this,u=r.chart;t=n(t,!0);r.isRemoving||(r.isRemoving=!0,w(r,"remove",null,function(){r.destroy();u.isDirtyLegend=u.isDirtyBox=!0;u.linkSeries();t&&u.redraw(i)}));r.isRemoving=!1},update:function(t,i){var e=this.chart,c=this.userOptions,o=this.type,h=b[o].prototype,u;t=s(c,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},t);this.remove(!1);for(u in h)h.hasOwnProperty(u)&&(this[u]=f);r(this,b[t.type||o].prototype);this.init(e,t);n(i,!0)&&e.redraw(!1)}});r(si.prototype,{update:function(t,i){var u=this.chart;t=u.options[this.coll][this.options.index]=s(this.userOptions,t);this.destroy(!0);this._addedPlotLB=f;this.init(u,r(t,{events:f}));u.isDirtyBox=!0;n(i,!0)&&u.redraw()},remove:function(i){for(var r=this.chart,u=this.coll,f=this.series,e=f.length;e--;)f[e]&&f[e].remove(!1);fi(r.axes,this);fi(r[u],this);r.options[u].splice(this.options.index,1);t(r[u],function(n,t){n.options.index=t});this.destroy();r.isDirtyBox=!0;n(i,!0)&&r.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}});so=ei(v);b.line=so;vt.area=s(uu,{threshold:0});he=ei(v,{type:"area",getSegments:function(){var f=[],u=[],e=[],y=this.xAxis,l=this.yAxis,n=l.stacks[this.stackKey],i={},o,s,h=this.points,p=this.options.connectNulls,a,r,c;if(this.options.stacking&&!this.cropped){for(r=0;r=0;i--)e=n(t[i].yBottom,o),ic&&e>r?(e=u(c,r),f=2*r-e):ea&&f>r?(f=u(a,r),e=2*r-f):f.5*i.xAxis.len?0:1),f=i.yAxis,k=h.threshold,o=i.translatedThreshold=f.getThreshold(k),r=n(h.minPointLength,5),p=i.getColumnMetrics(),w=p.width,d=i.barW=sr(u(w,1+2*c)),g=i.pointXOffset=p.offset,b=-(c%2?.5:0),a=c%2?.5:1;s.renderer.isVML&&s.inverted&&(a+=1);v.prototype.translate.apply(i);t(i.points,function(t){var k=n(t.yBottom,o),nt=l(u(-999-k,t.plotY),f.len+999+k),h=t.plotX+g,v=d,c=l(nt,k),tt,it,rt,ut,p=u(nt,k)-c;y(p)r?k-r:o-(f.translate(t.y,0,1,0,1)<=o?r:0)));t.barX=h;t.pointWidth=w;t.tooltipPos=s.inverted?[f.len-nt,i.xAxis.len-h-v/2]:[h+v/2,nt];ut=y(h)<.5;tt=e(h+v)+b;h=e(h)+b;v=tt-h;rt=y(c)<.5;it=e(c+p)+a;c=e(c)+a;p=it-c;ut&&(h+=1,v-=1);rt&&(c-=1,p+=1);t.shapeType="rect";t.shapeArgs={x:h,y:c,width:v,height:p}})},getSymbol:ci,drawLegendSymbol:eu.drawRectangle,drawGraph:ci,drawPoints:function(){var n=this,o=this.chart,r=n.options,c=o.renderer,l=r.animationLimit||250,u,h,e;t(n.points,function(t){var v=t.plotY,a=t.graphic;v===f||isNaN(v)||t.y===null?a&&(t.graphic=a.destroy()):(u=t.shapeArgs,e=i(n.borderWidth)?{"stroke-width":n.borderWidth}:{},h=t.pointAttr[t.selected?di:pt]||n.pointAttr[pt],a?(yu(a),a.attr(e)[o.pointCount●<\/span> {series.name}<\/span>
',pointFormat:"x: {point.x}<\/b>
y: {point.y}<\/b>
"},stickyTracking:!1});le=ei(v,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],takeOrdinalPosition:!1,singularTooltips:!0,drawGraph:function(){this.options.lineWidth&&v.prototype.drawGraph.call(this)}});b.scatter=le;vt.pie=s(uu,{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}});lo=ei(tr,{init:function(){tr.prototype.init.apply(this,arguments);var t=this,i;return t.y<0&&(t.y=null),r(t,{visible:t.visible!==!1,name:n(t.name,"Slice")}),i=function(n){t.slice(n.type==="select")},k(t,"select",i),k(t,"unselect",i),t},setVisible:function(n){var i=this,r=i.series,u=r.chart;i.visible=i.options.visible=n=n===f?!i.visible:n;r.options.data[er(i,r.data)]=i.options;t(["graphic","dataLabel","connector","shadowGroup"],function(t){i[t]&&i[t][n?"show":"hide"](!0)});i.legendItem&&u.legend.colorizeItem(i,n);!r.isDirty&&r.options.ignoreHiddenPoint&&(r.isDirty=!0,u.redraw())},slice:function(t,r,u){var f=this,e=f.series,s=e.chart,o;iu(u,s);r=n(r,!0);f.sliced=f.options.sliced=t=i(t)?t:!f.sliced;e.options.data[er(f,e.data)]=f.options;o=t?f.slicedTranslation:{translateX:0,translateY:0};f.graphic.animate(o);f.shadowGroup&&f.shadowGroup.animate(o)},haloPath:function(n){var t=this.shapeArgs,i=this.series.chart;return this.series.chart.renderer.symbols.arc(i.plotLeft+t.x,i.plotTop+t.y,t.r+n,t.r+n,{innerR:this.shapeArgs.r,start:t.start,end:t.end})}});lf={type:"pie",isCartesian:!1,pointClass:lo,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},singularTooltips:!0,getColor:ci,animate:function(n){var i=this,u=i.points,r=i.startAngleRad;n||(t(u,function(n){var t=n.graphic,u=n.shapeArgs;t&&(t.attr({r:i.center[3]/2,start:r,end:r}),t.animate({r:u.r,start:u.start,end:u.end},i.options.animation))}),i.animate=null)},setData:function(t,i,r,u){v.prototype.setData.call(this,t,!1,r,u);this.processData();this.generatePoints();n(i,!0)&&this.chart.redraw(r)},generatePoints:function(){var n,i=0,r,u,t,f=this.options.ignoreHiddenPoint;for(v.prototype.generatePoints.call(this),r=this.points,u=r.length,n=0;n0?t.y/i*100:0,t.total=i},translate:function(t){this.generatePoints();var u=this,y=0,c=1e3,f=u.options,p=f.slicedOffset,a=p+f.borderWidth,w,b,i,d=f.startAngle||0,k=u.startAngleRad=ni/180*(d-90),tt=u.endAngleRad=ni/180*(n(f.endAngle,d+360)-90),g=tt-k,nt=u.points,s,h,o=f.dataLabels.distance,it=f.ignoreHiddenPoint,v,rt=nt.length,r;for(t||(u.center=t=u.getCenter()),u.getX=function(n,r){return i=st.asin(l((n-t[1])/(t[2]/2+o),1)),t[0]+(r?-1:1)*lt(i)*(t[2]/2+o)},v=0;v1.5*ni?i-=2*ni:i<-ni/2&&(i+=2*ni),r.slicedTranslation={translateX:e(lt(i)*p),translateY:e(bt(i)*p)},s=lt(i)*t[2]/2,h=bt(i)*t[2]/2,r.tooltipPos=[t[0]+s*.7,t[1]+h*.7],r.half=i<-ni/2||i>ni/2?1:0,r.angle=i,a=l(a,o/2),r.labelPos=[t[0]+s+lt(i)*o,t[1]+h+bt(i)*o,t[0]+s+lt(i)*a,t[1]+h+bt(i)*a,t[0]+s,t[1]+h,o<0?"center":r.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var n=this,h=n.chart,e=h.renderer,u,f,o=n.options.shadow,i,s;o&&!n.shadowGroup&&(n.shadowGroup=e.g("shadow").add(n.group));t(n.points,function(t){f=t.graphic;s=t.shapeArgs;i=t.shadowGroup;o&&!i&&(i=t.shadowGroup=e.g("shadow").add(n.shadowGroup));u=t.sliced?t.slicedTranslation:{translateX:0,translateY:0};i&&i.attr(u);f?f.animate(r(s,u)):t.graphic=f=e[t.shapeType](s).setRadialReference(n.center).attr(t.pointAttr[t.selected?di:pt]).attr({"stroke-linejoin":"round"}).attr(u).add(n.group).shadow(o,i);t.visible!==undefined&&t.setVisible(t.visible)})},sortByAngle:function(n,t){n.sort(function(n,i){return n.angle!==undefined&&(i.angle-n.angle)*t})},drawLegendSymbol:eu.drawRectangle,getCenter:eo.getCenter,getSymbol:ci};lf=ei(v,lf);b.pie=lf;v.prototype.drawDataLabels=function(){var e=this,c=e.options,v=c.cursor,u=c.dataLabels,y=e.points,h,l,o,a;(u.enabled||e._hasPointLabels)&&(e.dlProcessOptions&&e.dlProcessOptions(u),a=e.plotGroup("dataLabelsGroup","data-labels",ti,u.zIndex||6),!e.hasRendered&&n(u.defer,!0)&&(a.attr({opacity:0}),k(e,"afterAnimate",function(){e.dataLabelsGroup.show()[c.animation?"animate":"attr"]({opacity:1},{duration:200})})),l=u,t(y,function(t){var p,c=t.dataLabel,w,y,b,k,d=t.connector,g=!0;if(h=t.options&&t.options.dataLabels,p=n(h&&h.enabled,l.enabled),c&&!p)t.dataLabel=c.destroy();else if(p){if(u=s(l,h),k=u.rotation,w=t.getLabelConfig(),o=u.format?yr(u.format,w):u.formatter.call(w,u),u.style.color=n(u.color,u.style.color,e.color,"black"),c)i(o)?(c.attr({text:o}),g=!1):(t.dataLabel=c=c.destroy(),d&&(t.connector=d.destroy()));else if(i(o)){y={fill:u.backgroundColor,stroke:u.borderColor,"stroke-width":u.borderWidth,r:u.borderRadius||0,rotation:k,padding:u.padding,zIndex:1};for(b in y)y[b]===f&&delete y[b];c=t.dataLabel=e.chart.renderer[k?"text":"label"](o,0,-999,null,null,null,u.useHTML).attr(y).css(r(u.style,v&&{cursor:v})).add(a).shadow(u.shadow)}c&&e.alignDataLabel(t,c,u,null,g)}}))};v.prototype.alignDataLabel=function(t,i,u,f,o){var h=this.chart,c=h.inverted,a=n(t.plotX,-999),v=n(t.plotY,-999),l=i.getBBox(),y=this.visible&&(t.series.forceDL||h.isInsidePlot(a,e(v),c)||f&&h.isInsidePlot(a,c?f.x+1:f.y+f.height-1,c)),s;y&&(f=r({x:c?h.plotWidth-v:a,y:e(c?h.plotHeight-a:v),width:0,height:0},f),r(u,{width:l.width,height:l.height}),u.rotation?(s={align:u.align,x:f.x+u.x+f.width/2,y:f.y+u.y+f.height/2},i[o?"attr":"animate"](s)):(i.align(u,null,f),s=i.alignAttr,n(u.overflow,"justify")==="justify"?this.justifyDataLabel(i,u,s,l,f,o):n(u.crop,!0)&&(y=h.isInsidePlot(s.x,s.y)&&h.isInsidePlot(s.x+l.width,s.y+l.height))));y||(i.attr({y:-999}),i.placed=!1)};v.prototype.justifyDataLabel=function(n,t,i,r,u,f){var s=this.chart,h=t.align,c=t.verticalAlign,e,o;e=i.x;e<0&&(h==="right"?t.align="left":t.x=-e,o=!0);e=i.x+r.width;e>s.plotWidth&&(h==="left"?t.align="right":t.x=s.plotWidth-e,o=!0);e=i.y;e<0&&(c==="bottom"?t.verticalAlign="top":t.y=-e,o=!0);e=i.y+r.height;e>s.plotHeight&&(c==="top"?t.verticalAlign="bottom":t.y=s.plotHeight-e,o=!0);o&&(n.placed=!f,n.align(t,null,u))};b.pie&&(b.pie.prototype.drawDataLabels=function(){var l=this,ot=l.data,nt,gt=l.chart,w=l.options.dataLabels,it=n(w.connectorPadding,10),ni=n(w.connectorWidth,1),ii=gt.plotWidth,ri=gt.plotHeight,d,at,oi=n(w.softConnector,!0),ut=w.distance,vt=l.center,yt=vt[2]/2,ui=vt[1],si=ut>0,s,st,r,g,fi=[[],[]],a,o,ht,pt,h,i,p=[0,0,0,0],ei=function(n,t){return t.y-n.y},bt,kt,ct,dt,et;if(l.visible&&(w.enabled||l._hasPointLabels)){for(v.prototype.drawDataLabels.apply(l),t(ot,function(n){n.dataLabel&&n.visible&&fi[n.half].push(n)}),h=0;!g&&ot[h];)g=ot[h]&&ot[h].dataLabel&&(ot[h].dataLabel.getBBox().height||21),h++;for(h=2;h--;){var c=[],ft,wt=[],b=fi[h],lt,k=b.length,f;if(l.sortByAngle(b,h-.5),ut>0){for(lt=ui-yt-ut;lt<=ui+yt+ut;lt+=g)c.push(lt);if(ft=c.length,k>ft){for(pt=[].concat(b),pt.sort(ei),i=k;i--;)pt[i].rank=i;for(i=k;i--;)b[i].rank>=ft&&b.splice(i,1);k=b.length}for(i=0;i0?(dt=wt.pop(),f=dt.i,o=dt.y,(et>o&&c[f+1]!==null||etii-it&&(p[1]=u(e(a+st-ii+it),p[1])),o-g/2<0?p[0]=u(e(-o+g/2),p[0]):o+g/2>ri&&(p[2]=u(e(o+g/2-ri),p[2])))}(fr(p)===0||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),si&&ni&&t(this.points,function(n){d=n.connector;r=n.labelPos;s=n.dataLabel;s&&s._pos?(ht=s._attr.visibility,a=s.connX,o=s.connY,at=oi?[tt,a+(r[6]==="left"?5:-5),o,"C",a,o,2*r[2]-r[4],2*r[3]-r[5],r[2],r[3],rt,r[4],r[5]]:[tt,a+(r[6]==="left"?5:-5),o,rt,r[2],r[3],rt,r[4],r[5]],d?(d.animate({d:at}),d.attr("visibility",ht)):n.connector=d=l.chart.renderer.path(at).attr({"stroke-width":ni,stroke:w.connectorColor||n.color||"#606060",visibility:ht}).add(l.dataLabelsGroup)):d&&(n.connector=d.destroy())}))}},b.pie.prototype.placeDataLabels=function(){t(this.points,function(n){var t=n.dataLabel,i;t&&(i=t._pos,i?(t.attr(t._attr),t[t.moved?"animate":"attr"](i),t.moved=!0):t&&t.attr({y:-999}))})},b.pie.prototype.alignDataLabel=ci,b.pie.prototype.verifyDataLabelOverflow=function(n){var i=this.center,e=this.options,o=e.center,f=e.minSize||80,r=f,s;return o[0]!==null?r=u(i[2]-u(n[1],n[3]),f):(r=u(i[2]-n[1]-n[3],f),i[0]+=(n[3]-n[1])/2),o[1]!==null?r=u(l(r,i[2]-u(n[0],n[2])),f):(r=u(l(r,i[2]-n[0]-n[2]),f),i[1]+=(n[0]-n[2])/2),rn(this.translatedThreshold,e.plotSizeY),c=n(r.inside,!!this.options.stacking);l&&(u=s(l),o&&(u={x:e.plotWidth-u.y-u.height,y:e.plotHeight-u.x-u.width,width:u.height,height:u.width}),c||(o?(u.x+=h?0:u.width,u.width=0):(u.y+=h?u.height:0,u.height=0)));r.align=n(r.align,!o||c?"center":h?"right":"left");r.verticalAlign=n(r.verticalAlign,o||c?"middle":h?"top":"bottom");v.prototype.alignDataLabel.call(this,t,i,r,u,f)});bu=ut.TrackerMixin={drawTrackerPoint:function(){var n=this,i=n.chart,e=i.pointer,r=n.options.cursor,o=r&&{cursor:r},u=function(t){var u=t.target,r;for(i.hoverSeries!==n&&n.onMouseOver();u&&!r;)r=u.point,u=u.parentNode;if(r!==f&&r!==i.hoverPoint)r.onMouseOver(t)};t(n.points,function(n){n.graphic&&(n.graphic.element.point=n);n.dataLabel&&(n.dataLabel.element.point=n)});n._hasTracking||(t(n.trackerGroups,function(t){if(n[t]&&(n[t].addClass(ot+"tracker").on("mouseover",u).on("mouseout",function(n){e.onTrackerMouseOut(n)}).css(o),su))n[t].on("touchstart",u)}),n._hasTracking=!0)},drawTrackerGraph:function(){var i=this,s=i.options,e=s.trackByArea,r=[].concat(e?i.areaPath:i.graphPath),h=r.length,o=i.chart,p=o.pointer,w=o.renderer,u=o.options.tooltip.snap,c=i.tracker,l=s.cursor,b=l&&{cursor:l},a=i.singlePoints,f,n,v=function(){o.hoverSeries!==i&&i.onMouseOver()},y="rgba(192,192,192,"+(yt?.0001:.002)+")";if(h&&!e)for(n=h+1;n--;)r[n]===tt&&r.splice(n+1,0,r[n+1]-u,r[n+2],rt),(n&&r[n]===tt||n===h)&&r.splice(n,0,rt,r[n-2]+u,r[n-1]);for(n=0;nl(f.dataMin,f.min)&&a=w.min&&y<=w.max)for(a=r[o+1],s=h===f?0:h+1,h=r[o+1]?l(u(0,et((c.clientX+(a?a.wrappedClientX||a.clientX:v))/2)),v):v;s>=0&&s<=h;)b[s++]=c;i.tooltipPoints=b}},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){var t=this;t.selected=n=n===f?!t.selected:n;t.checkbox&&(t.checkbox.checked=n);w(t,n?"select":"unselect")},drawTracker:bu.drawTrackerGraph});r(ut,{Axis:si,Chart:wu,Color:nr,Point:tr,Tick:fu,Renderer:ou,Series:v,SVGElement:ft,SVGRenderer:oi,arrayMin:gr,arrayMax:fr,charts:ht,dateFormat:nf,format:yr,pathAnim:vf,getOptions:ts,hasBidiBug:ao,isTouchDevice:ve,numberFormat:ar,seriesTypes:b,setOptions:ns,addEvent:k,removeEvent:ct,createElement:at,discardElement:tu,css:p,each:t,extend:r,map:ru,merge:s,pick:n,splat:ai,extendClass:ei,pInt:h,wrap:dr,svg:yt,canvas:kt,vml:!yt&&!kt,product:pe,version:we})})(); /* //# sourceMappingURL=Highcharts.min.js.map */