Files
Gary Sharp 9baca7f633 Javascript bundling updated
Using VS extension: 'Bundler & Minifier'
2016-09-29 18:34:06 +10:00

8 lines
147 KiB
JavaScript

/**
* @license Highcharts JS v4.0.1 (2014-04-24)
*
* (c) 2009-2014 Torstein Honsi
*
* License: www.highcharts.com/license
*/
(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;t<r;t++)i=u(i,n[t]);return i}function po(){for(var n=0,t=arguments,r=t.length,i={};n<r;n++)i[t[n++]]=t[n];return i}function h(n,t){return parseInt(n,t||10)}function lr(n){return typeof n=="string"}function dt(n){return typeof n=="object"}function kr(n){return Object.prototype.toString.call(n)==="[object Array]"}function ri(n){return typeof n=="number"}function ur(n){return st.log(n)/st.LN10}function ui(n){return st.pow(10,n)}function fi(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}}function i(n){return n!==f&&n!==null}function g(n,t,r){var u,f;if(lr(t))i(r)?n.setAttribute(t,r):n&&n.getAttribute&&(f=n.getAttribute(t));else if(i(t)&&dt(t))for(u in t)n.setAttribute(u,t[u]);return f}function ai(n){return kr(n)?n:[n]}function n(){for(var i=arguments,t,r=i.length,n=0;n<r;n++)if(t=i[n],typeof t!="undefined"&&t!==null)return t}function p(n,t){rr&&!yt&&t&&t.opacity!==f&&(t.filter="alpha(opacity="+t.opacity*100+")");r(n.style,t)}function at(n,t,i,u,f){var e=o.createElement(n);return t&&r(e,t),f&&p(e,{padding:0,border:it,margin:0}),i&&p(e,i),u&&u.appendChild(e),e}function ei(n,t){var i=function(){};return i.prototype=new n,r(i.prototype,t),i}function ar(n,t,i,r){var s=nt.lang,u=+n||0,e=t===-1?(u.toString().split(".")[1]||"").length:isNaN(t=y(t))?2:t,l=i===undefined?s.decimalPoint:i,c=r===undefined?s.thousandsSep:r,a=u<0?"-":"",f=String(h(u=y(u).toFixed(e))),o=f.length>3?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;f<l;f++)i=i[s[f]];u.length&&(i=wo(u.join(":"),i));e.push(i)}else e.push(o);n=n.slice(h+1);r=!r;c=r?"}":"{"}return e.push(n),e.join("")}function gf(n){return st.pow(10,et(st.log(n)/st.LN10))}function ne(t,i,r,u){var e,f;for(r=n(r,1),e=t/r,i||(i=[1,2,2.5,5,10],u&&u.allowDecimals===!1&&(r===1?i=[1,2,5,10]:r<=.1&&(i=[1/r]))),f=0;f<i.length;f++)if(t=i[f],e<=(i[f]+(i[f+1]||i[f]))/2)break;return t*r}function io(){this.color=0;this.symbol=0}function te(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].ss_i=i;for(n.sort(function(n,i){return r=t(n,i),r===0?n.ss_i-i.ss_i:r}),i=0;i<u;i++)delete n[i].ss_i}function gr(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i}function fr(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(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<l;)o=[].concat(r).splice(r.length-f,f),s&&(o[f-6]=o[f-2],o[f-5]=o[f-1]),r=r.concat(o);return h&&(r=r.concat(h),u=u.concat(a)),[r,u]},step:function(n,t,i,r){var f=[],u=n.length,e;if(i===1)f=r;else if(u===t.length&&i<1)while(u--)e=parseFloat(n[u]),f[u]=isNaN(e)?n[u]:i*parseFloat(t[u]-e)+e;else f=t;return f}},function(n){d.HighchartsAdapter=d.HighchartsAdapter||n&&{init:function(t){var u=n.fx,e=u.step,r,i=n.Tween,o=i&&i.propHooks,s=n.cssHooks.opacity;n.extend(n.easing,{easeOutQuad:function(n,t,i,r,u){return-r*(t/=u)*(t-2)+i}});n.each(["cur","_default","width","height","opacity"],function(n,t){var r=e,s;t==="cur"?r=u.prototype:t==="_default"&&i&&(r=o[t],t="set");s=r[t];s&&(r[t]=function(i){var r;if(i=n?i:this,i.prop!=="align")return r=i.elem,r.attr?r.attr(i.prop,t==="cur"?f:i.now):s.apply(this,arguments)})});dr(s,"get",function(n,t,i){return t.attr?t.opacity||0:n.call(this,t,i)});r=function(n){var i=n.elem,r;n.started||(r=t.init(i,i.d,i.toD),n.start=r[0],n.end=r[1],n.started=!0);i.attr("d",t.step(n.start,n.end,n.pos,i.toD))};i?o.d={set:r}:e.d=r;this.each=Array.prototype.forEach?function(n,t){return Array.prototype.forEach.call(n,t)}:function(n,t){for(var i=0,r=n.length;i<r;i++)if(t.call(n[i],n[i],i,n)===!1)return i};n.fn.highcharts=function(){var r="Chart",t=arguments,n,i,u;return this[0]&&(lr(t[0])&&(r=t[0],t=Array.prototype.slice.call(t,1)),n=t[0],n!==f&&(n.chart=n.chart||{},n.chart.renderTo=this[0],u=new ut[r](n,t[1]),i=this),n===f&&(i=ht[g(this[0],"data-highcharts-chart")])),i}},getScript:n.getScript,inArray:n.inArray,adapterRun:function(t,i){return n(t)[i]()},grep:n.grep,map:function(n,t){for(var r=[],i=0,u=n.length;i<u;i++)r[i]=t.call(n[i],n[i],i,n);return r},offset:function(t){return n(t).offset()},addEvent:function(t,i,r){n(t).bind(i,r)},removeEvent:function(t,i,r){var u=o.removeEventListener?"removeEventListener":"detachEvent";o[u]&&t&&!t[u]&&(t[u]=function(){});n(t).unbind(i,r)},fireEvent:function(t,i,u,f){var e=n.Event(i),o="detached"+i,s;!rr&&u&&(delete u.layerX,delete u.layerY,delete u.returnValue);r(e,u);t[i]&&(t[o]=t[i],t[i]=null);n.each(["preventDefault","stopPropagation"],function(n,t){var i=e[t];e[t]=function(){try{i.call(e)}catch(n){t==="preventDefault"&&(s=!0)}}});n(t).trigger(e);t[o]&&(t[i]=t[o],t[o]=null);!f||e.isDefaultPrevented()||s||f(e)},washMouseEvent:function(n){var t=n.originalEvent||n;return t.pageX===f&&(t.pageX=n.pageX,t.pageY=n.pageY),t},animate:function(t,i,r){var u=n(t);t.style||(t.style={});i.d&&(t.toD=i.d,i.d=1);u.stop();i.opacity!==f&&t.attr&&(i.opacity+="px");u.animate(i,r)},stop:function(t){n(t).stop()}}}(d.jQuery);vu=d.HighchartsAdapter;wt=vu||{};vu&&vu.init.call(vu,vf);var of=wt.adapterRun,bo=wt.getScript,er=wt.inArray,t=wt.each,ie=wt.grep,ko=wt.offset,ru=wt.map,k=wt.addEvent,ct=wt.removeEvent,w=wt.fireEvent,go=wt.washMouseEvent,sf=wt.animate,yu=wt.stop,re={enabled:!0,x:0,y:15,style:{color:"#606060",cursor:"default",fontSize:"11px"}};nt={colors:["#7cb5ec","#434348","#90ed7d","#f7a35c","#8085e9","#f15c80","#e4d354","#8085e8","#8d4653","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/4.0.1/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/4.0.1/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",margin:15,style:{color:"#333333",fontSize:"18px"}},subtitle:{text:"",align:"center",style:{color:"#555555"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,marker:{lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:s(re,{align:"center",enabled:!1,formatter:function(){return this.y===null?"":ar(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,states:{hover:{marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1e3}},labels:{style:{position:ki,color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#909090",borderRadius:0,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:ki,width:"13px",height:"13px"},symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:yf,top:"1em"},style:{position:ki,backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:yt,backgroundColor:"rgba(249, 249, 249, .85)",borderWidth:1,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}<\/span><br/>',pointFormat:'<span style="color:{series.color}">●<\/span> {series.name}: <b>{point.y}<\/b><br/>',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;u<s.length;u++)if(r=s[u],l=g(r,"zIndex"),r!==c&&(h(l)>t||!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<n.stops.length;u++)n.stops[u]=n.stops[u].destroy();n.stops=null}for(n.safeRemoveChild(i),f&&t(f,function(t){n.safeRemoveChild(t)});r&&r.div.childNodes.length===0;)e=r.parentGroup,n.safeRemoveChild(r.div),delete r.div,r=e;n.alignTo&&fi(n.renderer.alignedObjects,n);for(o in n)delete n[o];return null},shadow:function(t,i,r){var c=[],e,f,h=this.element,o,s,l,a;if(t){for(s=n(t.width,3),l=(t.opacity||.15)/s,a=this.parentInverted?"(-1,-1)":"("+n(t.offsetX,1)+", "+n(t.offsetY,1)+")",e=1;e<=s;e++)f=h.cloneNode(0),o=s*2+1-2*e,g(f,{isShadow:"true",stroke:t.color||"black","stroke-opacity":l*e,"stroke-width":o,transform:"translate"+a,fill:it}),r&&(g(f,"height",u(g(f,"height")-o,0)),f.cutHeight=o),i?i.element.appendChild(f):h.parentNode.insertBefore(f,h),c.push(f);this.shadows=c}return this},xGetter:function(n){return this.element.nodeName==="circle"&&(n={x:"cx",y:"cy"}[n]||n),this._defaultGetter(n)},_defaultGetter:function(t){var i=n(this[t],this.element?this.element.getAttribute(t):null,0);return/^[0-9\.]+$/.test(i)&&(i=parseFloat(i)),i},dSetter:function(n,t,i){n&&n.join&&(n=n.join(" "));/(NaN| {2}|^$)/.test(n)&&(n="M 0 0");i.setAttribute(t,n);this[t]=n},dashstyleSetter:function(n){var t;if(n=n&&n.toLowerCase(),n){for(n=n.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(","),t=n.length;t--;)n[t]=h(n[t])*this.element.getAttribute("stroke-width");n=n.join(",");this.element.setAttribute("stroke-dasharray",n)}},alignSetter:function(n){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[n])},opacitySetter:function(n,t,i){this[t]=n;i.setAttribute(t,n)},"stroke-widthSetter":function(n,t,i){n===0&&(n=1e-5);this.strokeWidth=n;i.setAttribute(t,n)},titleSetter:function(n){var t=this.element.getElementsByTagName("title")[0];t||(t=o.createElementNS(wi,"title"),this.element.appendChild(t));t.textContent=n},textSetter:function(n){n!==this.textStr&&(delete this.bBox,this.textStr=n,this.added&&this.renderer.buildText(this))},fillSetter:function(n,t,i){typeof n=="string"?i.setAttribute(t,n):n&&this.colorGradient(n,t,i)},zIndexSetter:function(n,t,i){i.setAttribute(t,n);this[t]=n},_defaultSetter:function(n,t,i){i.setAttribute(t,n)}},ft.prototype.yGetter=ft.prototype.xGetter,ft.prototype.translateXSetter=ft.prototype.translateYSetter=ft.prototype.rotationSetter=ft.prototype.verticalAlignSetter=ft.prototype.scaleXSetter=ft.prototype.scaleYSetter=function(n,t){this[t]=n;this.doTransform=!0},ft.prototype.strokeSetter=ft.prototype.fillSetter,oi=function(){this.init.apply(this,arguments)},oi.prototype={Element:ft,init:function(n,t,i,r,u){var f=this,v=location,h,s,l,c,e;h=f.createElement("svg").attr({version:"1.1"}).css(this.getStyle(r));s=h.element;n.appendChild(s);n.innerHTML.indexOf("xmlns")===-1&&g(s,"xmlns",wi);f.isSVG=!0;f.box=s;f.boxWrapper=h;f.alignedObjects=[];f.url=(wr||du)&&o.getElementsByTagName("base").length?v.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";l=this.createElement("desc").add();l.element.appendChild(o.createTextNode("Created with "+pe+" "+we));f.defs=this.createElement("defs").add();f.forExport=u;f.gradients={};f.cache={};f.setSize(t,i,!1);wr&&n.getBoundingClientRect&&(f.subPixelFix=c=function(){p(n,{left:0,top:0});e=n.getBoundingClientRect();p(n,{left:sr(e.left)-e.left+a,top:sr(e.top)-e.top+a})},c(),k(d,"resize",c))},getStyle:function(n){return this.style=r({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var n=this,t=n.defs;return n.box=null,n.boxWrapper=n.boxWrapper.destroy(),nu(n.gradients||{}),n.gradients=null,t&&(n.defs=t.destroy()),n.subPixelFix&&ct(d,"resize",n.subPixelFix),n.alignedObjects=null,null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:function(){},buildText:function(i){for(var r=i.element,u=this,y=u.forExport,f=n(i.textStr,"").toString(),w=f.indexOf("<")!==-1,e,b=r.childNodes,l,a,v=g(r,"x"),s=i.styles,c=i.textWidth,k=s&&s.lineHeight,d=b.length,nt=function(n){return k?h(k):u.fontMetrics(/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:s&&s.fontSize||u.style.fontSize||12).h};d--;)r.removeChild(b[d]);if(w||f.indexOf(" ")!==-1)l=/<.*style="([^"]+)".*>/,a=/<.*href="(http[^"]+)".*>/,c&&!i.added&&this.box.appendChild(r),e=w?f.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"<\/span>").split(/<br.*?>/g):[f],e[e.length-1]===""&&e.pop(),t(e,function(n,f){var e,h=0;n=n.replace(/<span/g,"|||<span").replace(/<\/span>/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(/&lt;/g,"<").replace(/&gt;/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-o<ni?0:1;return[tt,n+f*c,t+f*l,"A",f,f,0,y,1,n+f*a,t+f*v,h?tt:rt,n+e*a,t+e*v,"A",e,e,0,y,0,n+e*c,t+e*l,h?"":"Z"]},callout:function(n,t,i,r,u){var v=6,h=6,f=l(u&&u.r||0,i,r),c=f+h,o=u&&u.anchorX,s=u&&u.anchorY,a,y=e(u.strokeWidth||0)%2/2;return n+=y,t+=y,a=["M",n+f,t,"L",n+i-f,t,"C",n+i,t,n+i,t,n+i,t+f,"L",n+i,t+r-f,"C",n+i,t+r,n+i,t+r,n+i-f,t+r,"L",n+f,t+r,"C",n,t+r,n,t+r,n,t+r-f,"L",n,t+f,"C",n,t,n,t,n+f,t],o&&o>i&&s>t+c&&s<t+r-c?a.splice(13,3,"L",n+i,s-h,n+i+v,s,n+i,s+h,n+i,t+r-f):o&&o<0&&s>t+c&&s<t+r-c?a.splice(33,3,"L",n,s+h,n-v,s,n,s-h,n,t+f):s&&s>r&&o>n+c&&o<n+i-c?a.splice(23,3,"L",o+h,t+r,o,t+r+v,o-h,t+r,n+f,t+r):s&&s<0&&o>n+c&&o<n+i-c&&a.splice(3,3,"L",o-h,t,o,t-v,o+h,t,i-f,t),a}},clipRect:function(n,t,i,r){var u,f=ot+af++,e=this.createElement("clipPath").attr({id:f}).add(this.defs);return u=this.rect(n,t,i,r,0).add(e),u.id=f,u.clipPath=e,u},text:function(n,t,i,r){var u=this,o=kt||!yt&&u.forExport,f,e={};return r&&!u.forExport?u.html(n,t,i):(e.x=Math.round(t||0),i&&(e.y=Math.round(i)),(n||n===0)&&(e.text=n),f=u.createElement("text").attr(e),o&&f.css({position:ki}),r||(f.xSetter=function(n,t,i){for(var f=i.childNodes,u,r=1;r<f.length;r++)u=f[r],u.getAttribute("x")===i.getAttribute("x")&&u.setAttribute("x",n);i.setAttribute(t,n)}),f)},fontMetrics:function(n){n=n||this.style.fontSize;n=/px/.test(n)?h(n):/em/.test(n)?parseFloat(n)*12:12;var t=n<24?n+4:e(n*1.2),i=e(t*.8);return{h:t,b:i}},label:function(n,u,o,h,c,l,a,v,y){function pt(){var n,t,i=w.element.style;d=(nt===undefined||st===undefined||p.styles.textAlign)&&w.textStr&&w.getBBox();p.width=(nt||d.width||0)+2*k+et;p.height=(st||d.height||0)+2*k;at=k+g.fontMetrics(i&&i.fontSize).b;vt&&(b||(n=e(-tt*k),t=v?-at:0,p.box=b=h?g.symbol(h,n,t,p.width,p.height,rt):g.rect(n,t,p.width,p.height,0,rt[yo]),b.attr("fill",it).add(p)),b.isImg||b.attr(r({width:e(p.width),height:e(p.height)},rt)),rt=null)}function ot(){var u=p.styles,r=u&&u.textAlign,t=et+k*(1-tt),n;n=v?0:at;i(nt)&&d&&(r==="center"||r==="right")&&(t+={center:.5,right:1}[r]*(nt-d.width));(t!==w.x||n!==w.y)&&(w.attr("x",t),n!==f&&w.attr("y",n));w.x=t;w.y=n}function ut(n,t){b?b.attr(n,t):rt[n]=t}var g=this,p=g.g(y),w=g.text("",0,0,a).attr({zIndex:1}),b,d,tt=0,k=3,et=0,nt,st,ht,lt,yt=0,rt={},at,vt,wt;return p.onAdd=function(){w.add(p);p.attr({text:n||"",x:u,y:o});b&&i(c)&&p.attr({anchorX:c,anchorY:l})},p.widthSetter=function(n){nt=n},p.heightSetter=function(n){st=n},p.paddingSetter=function(n){i(n)&&n!==k&&(k=n,ot())},p.paddingLeftSetter=function(n){i(n)&&n!==et&&(et=n,ot())},p.alignSetter=function(n){tt={left:0,center:.5,right:1}[n]},p.textSetter=function(n){n!==f&&w.textSetter(n);pt();ot()},p["stroke-widthSetter"]=function(n,t){n&&(vt=!0);yt=n%2/2;ut(t,n)},p.strokeSetter=p.fillSetter=p.rSetter=function(n,t){t==="fill"&&n&&(vt=!0);ut(t,n)},p.anchorXSetter=function(n,t){c=n;ut(t,n+yt-ht)},p.anchorYSetter=function(n,t){l=n;ut(t,n-lt)},p.xSetter=function(n){p.x=n;tt&&(n-=tt*((nt||d.width)+k));ht=e(n);p.attr("translateX",ht)},p.ySetter=function(n){lt=p.y=e(n);p.attr("translateY",lt)},wt=p.css,r(p,{css:function(n){if(n){var i={};n=s(n);t(["fontSize","fontWeight","fontFamily","color","lineHeight","width","textDecoration","textShadow"],function(t){n[t]!==f&&(i[t]=n[t],delete n[t])});w.css(i)}return wt.call(p,n)},getBBox:function(){return{width:d.width+2*k,height:d.height+2*k,x:d.x-k,y:d.y-k}},shadow:function(n){return b&&b.shadow(n),p},destroy:function(){ct(p.element,"mouseenter");ct(p.element,"mouseleave");w&&(w=w.destroy());b&&(b=b.destroy());ft.prototype.destroy.call(p);p=g=pt=ot=ut=null}})}},ou=oi,r(ft.prototype,{htmlCss:function(n){var t=this,u=t.element,i=n&&u.tagName==="SPAN"&&n.width;return i&&(delete n.width,t.textWidth=i,t.updateTransform()),t.styles=r(t.styles,n),p(t.element,n),t},htmlGetBBox:function(){var t=this,n=t.element,i=t.bBox;return i||(n.nodeName==="text"&&(n.style.position=ki),i=t.bBox={x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}),i},htmlUpdateTransform:function(){if(!this.added){this.alignOnAdd=!0;return}var r=this,l=r.renderer,u=r.element,v=r.translateX||0,y=r.translateY||0,d=r.x||0,g=r.y||0,s=r.textAlign||"left",w={left:0,center:.5,right:1}[s],b=r.shadows;if(p(u,{marginLeft:v,marginTop:y}),b&&t(b,function(n){p(n,{marginLeft:v+1,marginTop:y+1})}),r.inverted&&t(u.childNodes,function(n){l.invertChild(n,u)}),u.tagName==="SPAN"){var f,e=r.rotation,o,c=h(r.textWidth),k=[e,s,u.innerHTML,r.textWidth].join(",");k!==r.cTT&&(o=l.fontMetrics(u.style.fontSize).b,i(e)&&r.setSpanRotation(e,w,o),f=n(r.elemWidth,u.offsetWidth),f>c&&/[ \-]/.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=['<shape isShadow="true" strokeweight="',c,'" filled="false" path="',l,'" coordsize="10 10" style="',e.style.cssText,'" />'],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=['<stroke color="',t.color||"black",'" opacity="',w*f,'"/>'],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(["<stroke/>"]),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=['<fill colors="'+ct.join(",")+'" opacity="',et,'" o:opacity2="',ft,'" type="',c,'" ',w,'focus="100%" method="any" />'];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("<","<hcv:"),n},text:oi.prototype.html,path:function(n){var t={coordsize:"10 10"};return kr(n)?t.d=n:dt(n)&&r(t,n),this.createElement("shape").attr(t)},circle:function(n,t,i){var r=this.symbol("circle");return dt(n)&&(i=n.r,t=n.y,n=n.x),r.isCircle=!0,r.r=i,r.attr({x:n,y:t})},g:function(n){var t;return n&&(t={className:ot+n,"class":ot+n}),this.createElement(hr).attr(t)},image:function(n,t,i,r,u){var f=this.createElement("img").attr({src:n});return arguments.length>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;t<i;t++)n[t]();n=[]}var n=[];return{push:function(i,r){n.length===0&&bo(r,t);n.push(i)}}}(),ou=fe),fu.prototype={addLabel:function(){var s=this,t=s.axis,d=t.options,c=t.chart,g=t.horiz,p=t.categories,ut=t.names,o=s.pos,f=d.labels,v,h=t.tickPositions,w=g&&p&&!f.step&&!f.staggerLines&&!f.rotation&&c.plotWidth/h.length||!g&&(c.margin[3]||c.chartWidth*.33),nt=o===h[0],tt=o===h[h.length-1],l,y,it=p?n(p[o],ut[o],o):o,b=s.label,k=h.info,rt;t.isDatetimeAxis&&k&&(rt=d.dateTimeLabelFormats[k.higherRanks[o]||k.unitName]);s.isFirst=nt;s.isLast=tt;v=t.labelFormatter.call({axis:t,chart:c,isFirst:nt,isLast:tt,dateTimeLabelFormat:rt,value:t.isLog?gt(ui(it)):it});l=w&&{width:u(1,e(w-2*(f.padding||10)))+a};l=r(l,f.style);i(b)?b&&b.attr({text:v}).css(l):(y={align:t.labelAlign},ri(f.rotation)&&(y.rotation=f.rotation),w&&f.ellipsis&&(y._clipHeight=t.len/h.length),s.label=i(v)&&f.enabled?c.renderer.text(v,0,0,f.useHTML).attr(y).css(l).add(t.labelGroup):null)},getLabelSize:function(){var n=this.label,t=this.axis;return n?n.getBBox()[t.horiz?"height":"width"]:0},getLabelSides:function(){var r=this.label.getBBox(),n=this.axis,t=n.horiz,f=n.options,e=f.labels,i=t?r.width:r.height,u=t?e.x-i*{left:0,center:.5,right:1}[n.labelAlign]:0,o=t?i+u:i;return[u,o]},handleOverflow:function(n,t){var e=!0,i=this.axis,o=this.isFirst,w=this.isLast,nt=i.horiz,r=nt?t.x:t.y,b=i.reversed,k=i.tickPositions,d=this.getLabelSides(),s=d[0],h=d[1],c,a,u,v,l=this.label.line||0,y=i.labelEdge,g=i.justifyLabels&&(o||w),p;if(y[l]===f||r+s>y[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+s<c&&(r=c-s,u&&r+h>v&&(e=!1)):r+h>a&&(r=a-h,u&&r+s<v&&(e=!1));t.x=r}return e},getPosition:function(n,t,i,r){var u=this.axis,f=u.chart,e=r&&f.oldChartHeight||f.chartHeight;return{x:n?u.translate(t+i,null,null,r)+u.transB:u.left+u.offset+(u.opposite?(r&&f.oldChartWidth||f.chartWidth)-u.right-u.left:0),y:n?e-u.bottom+u.offset-(u.opposite?u.height:0):e-u.translate(t+i,null,null,r)-u.transB}},getLabelPosition:function(n,t,r,u,f,e,o,s){var h=this.axis,v=h.transA,y=h.reversed,c=h.staggerLines,l=h.chart.renderer.fontMetrics(f.style.fontSize).b,a=f.rotation;return n=n+f.x-(e&&u?e*v*(y?-1:1):0),t=t+f.y-(e&&!u?e*v*(y?1:-1):0),a&&h.side===2&&(t-=l-l*lt(a*ir)),i(f.y)||a||(t+=l-r.getBBox().height/2),c&&(r.line=o/(s||1)%c,t+=r.line*(h.labelOffset/c)),{x:n,y:t}},getMarkPath:function(n,t,i,r,u,f){return f.crispLine([tt,n,t,rt,n+(u?0:-i),t+(u?i:0)],r)},render:function(t,i,r){var u=this,e=u.axis,o=e.options,lt=e.chart,nt=lt.renderer,c=e.horiz,l=u.type,a=u.label,ot=u.pos,y=o.labels,p=u.gridLine,tt=l?l+"Grid":"grid",w=l?l+"Tick":"tick",b=o[tt+"LineWidth"],at=o[tt+"LineColor"],st=o[tt+"LineDashStyle"],h=o[w+"Length"],it=o[w+"Width"]||0,vt=o[w+"Color"],yt=o[w+"Position"],k,ht=u.mark,rt,ut=y.step,v,d=!0,ft=e.tickmarkOffset,s=u.getPosition(c,ot,ft,i),g=s.x,et=s.y,ct=c&&g===e.pos+e.len||!c&&et===e.pos?-1:1;this.isActive=!0;b&&(k=e.getPlotLinePath(ot+ft,b*ct,i,!0),p===f&&(v={stroke:at,"stroke-width":b},st&&(v.dashstyle=st),l||(v.zIndex=1),i&&(v.opacity=0),u.gridLine=p=b?nt.path(k).attr(v).add(e.gridGroup):null),!i&&p&&k&&p[u.isNew?"attr":"animate"]({d:k,opacity:r}));it&&h&&(yt==="inside"&&(h=-h),e.opposite&&(h=-h),rt=u.getMarkPath(g,et,h,it*ct,c,nt),ht?ht.animate({d:rt,opacity:r}):u.mark=nt.path(rt).attr({stroke:vt,"stroke-width":it,opacity:r}).add(e.axisGroup));a&&!isNaN(g)&&(a.xy=s=u.getLabelPosition(g,et,a,c,y,ft,t,ut),(!u.isFirst||u.isLast||n(o.showFirstLabel,1))&&(!u.isLast||u.isFirst||n(o.showLastLabel,1))?e.isRadial||y.step||y.rotation||i||r===0||(d=u.handleOverflow(t,s)):d=!1,ut&&t%ut&&(d=!1),d&&!isNaN(s.y)?(s.opacity=r,a[u.isNew?"attr":"animate"](s),u.isNew=!1):a.attr("y",-9999))},destroy:function(){nu(this,this.axis)}},ut.PlotLineOrBand=function(n,t){this.axis=n;t&&(this.options=t,this.id=t.id)},ut.PlotLineOrBand.prototype={render:function(){var h=this,e=h.axis,w=e.horiz,ft=(e.pointRange||0)/2,r=h.options,f=r.label,c=h.label,k=r.width,y=r.to,p=r.from,v=i(p)&&i(y),d=r.value,et=r.dashStyle,a=h.svgElem,t=[],ot,st,g,nt,tt,it,rt=r.color,b=r.zIndex,ut=r.events,o={},ht=e.chart.renderer;if(e.isLog&&(p=ur(p),y=ur(y),d=ur(d)),k)t=e.getPlotLinePath(d,k),o={stroke:rt,"stroke-width":k},et&&(o.dashstyle=et);else if(v)p=u(p,e.min-ft),y=l(y,e.max+ft),t=e.getPlotBandPath(p,y,r),rt&&(o.fill=rt),r.borderWidth&&(o.stroke=r.borderColor,o["stroke-width"]=r.borderWidth);else return;if(i(b)&&(o.zIndex=b),a)t?a.animate({d:t},null,a.onGetPath):(a.hide(),a.onGetPath=function(){a.show()},c&&(h.label=c=c.destroy()));else if(t&&t.length&&(h.svgElem=a=ht.path(t).attr(o).add(),ut)){ot=function(n){a.on(n,function(t){ut[n].apply(h,[t])})};for(st in ut)ot(st)}return f&&i(f.text)&&t&&t.length&&e.width>0&&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.dataMax<e&&(r.dataMax=e,r.ignoreMaxPadding=!0)))}})},translate:function(n,t,i,r,u,f){var e=this,o=1,c=0,s=r?e.oldTransA:e.transA,l=r?e.oldMin:e.min,h,a=e.minPixelPadding,v=(e.options.ordinal||e.isLog&&u)&&e.lin2val;return s||(s=e.transA),i&&(o*=-1,c=e.len),e.reversed&&(o*=-1,c-=o*(e.sector||e.len)),t?(n=n*o+c,n-=a,h=n/s+l,v&&(h=e.lin2val(h))):(v&&(n=e.val2lin(n)),f==="between"&&(f=.5),h=o*(n-l)*s+c+o*a+(ri(f)?s*f*e.pointRange:0)),h},toPixels:function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},toValue:function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(t,i,r,u,f){var o=this,s=o.chart,a=o.left,v=o.top,h,c,y,p,w=r&&s.oldChartHeight||s.chartHeight,k=r&&s.oldChartWidth||s.chartWidth,l,b=o.transB;return f=n(f,o.translate(t,null,null,r)),h=y=e(f+b),c=p=e(w-f-b),isNaN(f)?l=!0:o.horiz?(c=v,p=w-o.bottom,(h<a||h>a+o.width)&&(l=!0)):(h=a,y=k-o.right,(c<v||c>v+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<o;i++)t=t.concat(n.getLogTickPositions(u,r[i-1],r[i],!0));else if(n.isDatetimeAxis&&e.minorTickInterval==="auto")t=t.concat(n.getTimeTicks(n.normalizeTimeTickInterval(u),n.min,n.max,e.startOfWeek)),t[0]<n.min&&t.shift();else for(f=n.min+(r[0]-n.min)%u;f<=n.max;f+=u)t.push(f);return t},adjustForMinRange:function(){var r=this,h=r.options,u=r.min,e=r.max,y,b=r.dataMax-r.dataMin>=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||p<a)&&(a=p)}),r.minRange=l(a*5,r.dataMax-r.dataMin)));e-u<r.minRange&&(o=r.minRange,y=(o-e+u)/2,s=[u-y,n(h.min,u-y)],b&&(s[2]=r.dataMin),u=fr(s),w=[u+o,n(h.max,u+o)],b&&(w[2]=r.dataMax),e=gr(w),e-u<o&&(s[0]=e-o,s[1]=n(h.min,e-o),u=fr(s)));r.min=u;r.max=e},setAxisTranslation:function(n){var r=this,h=r.max-r.min,s=r.axisPointRange||0,f,e=0,o=0,c=r.linkedParent,a,y=!!r.categories,v=r.transA;(r.isXAxis||y||s)&&(c?(e=c.minPointOffset,o=c.pointRangePadding):t(r.series,function(n){var t=y?1:r.isXAxis?n.pointRange:r.axisPointRange||0,a=n.options.pointPlacement,c=n.closestPointRange;t>h&&(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.len<v&&!this.isRadial&&!this.isLog&&!w&&e.startOnTick&&e.endOnTick&&(it=!0,f.tickInterval/=4)),ot&&!r&&t(f.series,function(n){n.processData(f.min!==f.oldMin||f.max!==f.oldMax)}),f.setAxisTranslation(!0),f.beforeSetTickPositions&&f.beforeSetTickPositions(),f.postProcessTickInterval&&(f.tickInterval=f.postProcessTickInterval(f.tickInterval)),f.pointRange&&(f.tickInterval=u(f.pointRange,f.tickInterval)),!h&&f.tickInterval<tt&&(f.tickInterval=tt),k||p||h||(f.tickInterval=ne(f.tickInterval,null,gf(f.tickInterval),e)),f.minorTickInterval=e.minorTickInterval==="auto"&&f.tickInterval?f.tickInterval/5:e.minorTickInterval,f.tickPositions=o=e.tickPositions?[].concat(e.tickPositions):d&&d.apply(f,[f.min,f.max]),o||(!f.ordinalPositions&&(f.max-f.min)/f.tickInterval>u(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+ft<ut&&o.pop();o.length===1&&(b=y(f.max)>1e13?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<r){while(t.length<r)t.push(gt(t[t.length-1]+n.tickInterval));n.transA*=(o-1)/(r-1);n.max=t[t.length-1]}i(e)&&r!==e&&(n.isDirty=!0)}},setScale:function(){var n=this,i=n.stacks,r,u,e,f;if(n.oldMin=n.min,n.oldMax=n.max,n.oldAxisLength=n.len,n.setAxisSize(),f=n.len!==n.oldAxisLength,t(n.series,function(n){(n.isDirtyData||n.isDirty||n.xAxis.isDirty)&&(e=!0)}),f||e||n.isLinked||n.forceRedraw||n.userMin!==n.oldUserMin||n.userMax!==n.oldUserMax){if(!n.isXAxis)for(r in i)for(u in i[r])i[r][u].total=null,i[r][u].cum=0;n.forceRedraw=!1;n.getSeriesExtremes();n.setTickPositions();n.oldUserMin=n.userMin;n.oldUserMax=n.userMax;n.isDirty||(n.isDirty=f||n.min!==n.oldMin||n.max!==n.oldMax)}else if(!n.isXAxis){n.oldStacks&&(i=n.stacks=n.oldStacks);for(r in i)for(u in i[r])i[r][u].cum=i[r][u].total}n.setMaxTicks()},setExtremes:function(t,i,u,f,e){var o=this,s=o.chart;u=n(u,!0);e=r(e,{min:t,max:i});w(o,"setExtremes",e,function(){o.userMin=t;o.userMax=i;o.eventArgs=e;o.isDirtyExtremes=!0;u&&s.redraw(f)})},zoom:function(t,r){var e=this.dataMin,o=this.dataMax,s=this.options;return this.allowZoomOutside||(i(e)&&t<=l(e,n(s.min,e))&&(t=f),i(o)&&r>=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:u<n&&(n=u),t.translate(n,0,1,0,1)},autoLabelAlign:function(t){var i=(n(t,0)-this.side*90+720)%360;return i>15&&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;p<bt;){for(b=[],st=!1,y=0;y<ft.length;y++)k=ft[y],ht=s[k].label&&s[k].label.getBBox(),lt=ht?ht.width:0,d=y%p,lt&&(ct=r.translate(k),b[d]!==f&&ct<b[d]&&(st=!0),b[d]=ct+lt);if(st)p++;else break}p>1&&(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<n.max&&(u[t]||(u[t]=new ut.PlotLineOrBand(n)),w=t+v,b=h[i+1]!==f?h[i+1]+v:n.max,u[t].options={from:d?ui(w):w,to:d?ui(b):b,color:tt},u[t].render(),u[t].isActive=!0)}),n._addedPlotLB||(t((e.plotLines||[]).concat(e.plotBands||[]),function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0));t([r,s,u],function(n){var t,i,r=[],f=bi?bi.duration||500:0,e=function(){for(i=r.length;i--;)n[r[i]]&&!n[r[i]].isActive&&(n[r[i]].destroy(),delete n[r[i]])};for(t in n)n[t].isActive||(n[t].render(t,!1,0),n[t].isActive=!1,r.push(t));n!==u&&a.hasRendered&&f?f&&setTimeout(e,f):e()});y&&(p=n.getLinePath(y),n.axisLine?n.axisLine.animate({d:p}):n.axisLine=ot.path(p).attr({stroke:e.lineColor,"stroke-width":y,zIndex:7}).add(n.axisGroup),n.axisLine[rt?"show":"hide"]());c&&rt&&(c[c.isNew?"attr":"animate"](n.getTitlePosition()),c.isNew=!1);nt&&nt.enabled&&n.renderStackTotals();n.isDirty=!1},redraw:function(){var n=this,r=n.chart,i=r.pointer;i&&i.reset(!0);n.render();t(n.plotLinesAndBands,function(n){n.render()});t(n.series,function(n){n.isDirty=!0})},destroy:function(n){var i=this,r=i.stacks,u,e=i.plotLinesAndBands,f;n||ct(i);for(u in r)nu(r[u]),r[u]=null;for(t([i.ticks,i.minorTicks,i.alternateBands],function(n){nu(n)}),f=e.length;f--;)e[f].destroy();t(["stackTotalGroup","axisLine","axisTitle","axisGroup","cross","gridGroup","labelGroup"],function(n){i[n]&&(i[n]=i[n].destroy())});this.cross&&this.cross.destroy()},drawCrosshair:function(t,r){var f,u,e,o,s;if(this.crosshair){if((i(r)||!n(this.crosshair.snap,!0))===!1){this.hideCrosshair();return}if(u=this.crosshair,e=u.animation,n(u.snap,!0)?i(r)&&(o=this.chart.inverted!=this.horiz?r.plotX:this.len-r.plotY):o=this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos,f=this.isRadial?this.getPlotLinePath(this.isXAxis?r.x:n(r.stackY,r.y)):this.getPlotLinePath(null,null,null,null,o),f===null){this.hideCrosshair();return}this.cross?this.cross.attr({visibility:li})[e?"animate":"attr"]({d:f},e):(s={"stroke-width":u.width||1,stroke:u.color||"#C0C0C0",zIndex:u.zIndex||2},u.dashStyle&&(s.dashstyle=u.dashStyle),this.cross=this.chart.renderer.path(f).attr(s).add())}},hideCrosshair:function(){this.cross&&this.cross.hide()}},r(si.prototype,ke),si.prototype.getTimeTicks=function(u,f,e,o){var y=[],p,w={},b=nt.global.useUTC,a,s=new Date(f-br),h=u.unitRange,l=u.count;if(i(f)){h>=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<e;)y.push(v),h===c[cr]?v=uf(a+p*l,0):h===c[lu]?v=uf(a,k+p*l):b||h!==c[gi]&&h!==c[rf]?v+=h*l:v=uf(a,k,d+p*l*(h===c[gi]?1:7)),p++;y.push(v);t(ie(y,function(n){return h<=c[cu]&&n%c[gi]===g}),function(n){w[n]=gi})}return y.info=r(u,{higherRanks:w,totalRange:h*l}),y},si.prototype.normalizeTimeTickInterval=function(n,t){for(var f=t||[[be,[1,2,5,10,20,25,50,100,200,500]],[pf,[1,2,5,10,15,30]],[tf,[1,2,5,10,15,30]],[cu,[1,2,3,4,6,8,12]],[gi,[1,2]],[rf,[1,2]],[lu,[1,2,3,4,6]],[cr,null]],i=f[f.length-1],r=c[i[0]],o=i[1],s,h,e=0;e<f.length;e++)if(i=f[e],r=c[i[0]],o=i[1],f[e+1]&&(h=(r*o[o.length-1]+c[f[e+1][0]])/2,n<=h))break;return r===c[cr]&&n<5*r&&(o=[1,2,5]),s=ne(n/r,o,i[0]===cr?u(gf(n/r),1):1),{unitRange:r,count:s,unitName:i[0]}},si.prototype.getLogTickPositions=function(t,i,r,u){var f=this,y=f.options,p=f.len,o=[],w,l,s,h,b,a,c,v;if(u||(f._minorAutoInterval=null),t>=.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;s<r+1&&!v;s++)for(b=l.length,h=0;h<b&&!v;h++)a=ur(ui(s)*l[h]),a>i&&(!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=i<u-f,o=u+f+i<t,s=u-f-i,h=u+f;if(l&&o)r[n]=h;else if(!l&&e)r[n]=s;else if(e)r[n]=s;else if(o)r[n]=h;else return!1},v=function(n,t,i,u){if(u<f||u>t-f)return!1;r[n]=u<i/2?1:u>t-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;f<v;f++)s[f].visible&&s[f].options.enableMouseTracking!==!1&&!s[f].noSharedTooltip&&s[f].singularTooltips!==!0&&s[f].tooltipPoints.length&&(r=s[f].tooltipPoints[b],r&&r.series&&(r._dist=y(b-r.clientX),w=l(w,r._dist),u.push(r)));for(v=u.length;v--;)u[v]._dist>w&&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;r<f?r=f:r>f+c&&(r=f+c);u<e?u=e:u>e+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;s<w.min?(s=w.min,rt=!0):s+a>w.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<i+u-6?"":it}))}))},renderTitle:function(){var u=this.options,r=this.padding,n=u.title,t=0,i;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,r-3,r-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(n.style).add(this.group)),i=this.title.getBBox(),t=i.height,this.offsetWidth=i.width,this.contentGroup.attr({translateY:t}));this.titleHeight=t},renderItem:function(t){var i=this,w=i.chart,b=w.renderer,r=i.options,o=r.layout==="horizontal",k=i.symbolWidth,a=r.symbolPadding,d=i.itemStyle,g=i.itemHiddenStyle,nt=i.padding,tt=o?n(r.itemDistance,20):0,it=!r.rtl,h,rt=r.width,v=r.itemMarginBottom||0,y=i.itemMarginTop,c=i.initialItemX,p,f,l=t.legendItem,ut=t.series&&t.series.drawLegendSymbol?t.series:t,ft=ut.options,et=i.createCheckboxForItem&&ft&&ft.showCheckbox,ot=r.useHTML;l||(t.legendGroup=b.g("legend-item").attr({zIndex:1}).add(i.scrollGroup),ut.drawLegendSymbol(i,t),t.legendItem=l=b.text(r.labelFormat?yr(r.labelFormat,t):r.labelFormatter.call(t),it?k+a:-a,i.baseline,ot).css(s(t.visible?d:g)).attr({align:it?"left":"right",zIndex:2}).add(t.legendGroup),i.setItemEvents&&i.setItemEvents(t,l,ot,d,g),i.colorizeItem(t,t.visible),et&&i.createCheckboxForItem(t));p=l.getBBox();f=t.checkboxOffset=r.itemWidth||t.legendItemWidth||k+a+p.width+tt+(et?20:0);i.itemHeight=h=e(t.legendItemHeight||p.height);o&&i.itemX-c+f>(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;t<f.length;t++)if(f[t].options.id===n)return f[t];for(t=0;t<i.length;t++)if(i[t].options.id===n)return i[t];for(t=0;t<i.length;t++)for(u=i[t].points||[],r=0;r<u.length;r++)if(u[r].id===n)return u[r];return null},getAxes:function(){var i=this,n=this.options,r=n.xAxis=ai(n.xAxis||{}),u=n.yAxis=ai(n.yAxis||{}),f,e;t(r,function(n,t){n.index=t;n.isX=!0});t(u,function(n,t){n.index=t});f=r.concat(u);t(f,function(n){e=new si(i,n)});i.adjustTickAmounts()},getSelectedPoints:function(){var n=[];return t(this.series,function(t){n=n.concat(ie(t.points||[],function(n){return n.selected}))}),n},getSelectedSeries:function(){return ie(this.series,function(n){return n.selected})},getStacks:function(){var i=this;t(i.yAxis,function(n){n.stacks&&n.hasVisibleSeries&&(n.oldStacks=n.stacks)});t(i.series,function(t){t.options.stacking&&(t.visible===!0||i.options.chart.ignoreHiddenSeries===!1)&&(t.stackKey=t.type+n(t.options.stack,""))})},setTitle:function(n,i,r){var u=this,f=u.options,e,o;e=f.title=s(f.title,n);o=f.subtitle=s(f.subtitle,i);t([["title",n,e],["subtitle",i,o]],function(n){var i=n[0],r=u[i],f=n[1],t=n[2];r&&f&&(u[i]=r=r.destroy());t&&t.text&&!r&&(u[i]=u.renderer.text(t.text,0,0,t.useHTML).attr({align:t.align,"class":ot+i,zIndex:t.zIndex||4}).css(t.style).add())});u.layOutTitles(r)},layOutTitles:function(t){var i=0,e=this.title,o=this.subtitle,h=this.options,u=h.title,f=h.subtitle,s,c=this.spacingBox.width-44;e&&(e.css({width:(u.width||c)+a}).align(r({y:15},u),!1,"spacingBox"),u.floating||u.verticalAlign||(i=e.getBBox().height));o&&(o.css({width:(f.width||c)+a}).align(r({y:i+u.margin},f),!1,"spacingBox"),f.floating||f.verticalAlign||(i=sr(i+o.getBBox().height)));s=this.titleOffset!==i;this.titleOffset=i;!this.isDirtyBox&&s&&(this.isDirtyBox=s,this.hasRendered&&n(t,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var t=this,r=t.options.chart,f=r.width,e=r.height,o=t.renderToClone||t.renderTo;i(f)||(t.containerWidth=of(o,"width"));i(e)||(t.containerHeight=of(o,"height"));t.chartWidth=u(0,f||t.containerWidth||600);t.chartHeight=u(0,n(e,t.containerHeight>19?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++);o<f;)t[r[o++]]=n[e++];else typeof n=="object"&&(t=n,n.dataLabels&&(i._hasPointLabels=!0),n.marker&&(i._hasPointMarkers=!0));return t},destroy:function(){var n=this,u=n.series,t=u.chart,i=t.hoverPoints,r;t.pointCount--;i&&(n.setState(),fi(i,n),i.length||(t.hoverPoints=null));n===t.hoverPoint&&n.onMouseOut();(n.graphic||n.dataLabel)&&(ct(n),n.destroyElements());n.legendItem&&t.legend.destroyItem(n);for(r in n)n[r]=null},destroyElements:function(){for(var t=this,r=["graphic","dataLabel","dataLabelUpper","group","connector","shadowGroup"],n,i=6;i--;)n=r[i],t[n]&&(t[n]=t[n].destroy())},getLabelConfig:function(){var n=this;return{x:n.category,y:n.y,key:n.name||n.category,series:n.series,point:n,percentage:n.percentage,total:n.total||n.stackTotal}},tooltipFormatter:function(i){var u=this.series,r=u.tooltipOptions,o=n(r.valueDecimals,""),f=r.valuePrefix||"",e=r.valueSuffix||"";return t(u.pointArrayMap||["y"],function(n){n="{point."+n;(f||e)&&(i=i.replace(n+"}",f+n+"}"+e));i=i.replace(n+"}",n+":,."+o+"f}")}),yr(i,{point:this,series:this.series})},firePointEvent:function(n,t,i){var r=this,f=this.series,u=f.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents();n==="click"&&u.allowPointSelect&&(i=function(n){r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});w(this,n,t,i)}};v=function(){};v.prototype={isCartesian:!0,type:"line",pointClass:tr,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],init:function(i,u){var f=this,s,e,o=i.series,h=function(t,i){return n(t.options.index,t._i)-n(i.options.index,i._i)};f.chart=i;f.options=u=f.setOptions(u);f.linkedSeries=[];f.bindAxes();r(f,{name:u.name,state:pt,pointAttr:{},visible:u.visible!==!1,selected:u.selected===!0});kt&&(u.animation=!1);e=u.events;for(s in e)k(f,s,e[s]);(e&&e.click||u.point&&u.point.events&&u.point.events.click||u.allowPointSelect)&&(i.runTrackerClick=!0);f.getColor();f.getSymbol();t(f.parallelArrays,function(n){f[n+"Data"]=[]});f.setData(u.data,!1);f.isCartesian&&(i.hasCartesianSeries=!0);o.push(f);f._i=o.length-1;te(o,h);this.yAxis&&te(this.yAxis.series,h);t(o,function(n,t){n.index=t;n.name=n.name||"Series "+(t+1)})},bindAxes:function(){var n=this,i=n.options,u=n.chart,r;t(n.axisTypes||[],function(e){t(u[e],function(t){r=t.options;(i[e]===r.index||i[e]!==f&&i[e]===r.id||i[e]===f&&r.index===0)&&(t.series.push(n),n[e]=t,t.isDirty=!0)});n[e]||n.optionalAxis===e||vi(18,!0)})},updateParallelArrays:function(n,i){var r=n.series,u=arguments,f=typeof i=="number"?function(t){var u=t==="y"&&r.toYData?r.toYData(n):n[t];r[t+"Data"][i]=u}:function(n){Array.prototype[i].apply(r[n+"Data"],Array.prototype.slice.call(u,2))};t(r.parallelArrays,f)},autoIncrement:function(){var t=this,r=t.options,i=t.xIncrement;return i=n(i,r.pointStart,0),t.pointInterval=n(t.pointInterval,r.pointInterval,1),t.xIncrement=i+t.pointInterval,i},getSegments:function(){var f=this,i=-1,r=[],u,n=f.points,e=n.length;if(e)if(f.options.connectNulls){for(u=e;u--;)n[u].y===null&&n.splice(u,1);n.length&&(r=[n])}else t(n,function(t,u){t.y===null?(u>i+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&&o<c;)y=i[o],o++;if(ri(y)){for(w=n(v.pointStart,0),ut=n(v.pointInterval,1),o=0;o<c;o++)b[o]=w,p[o]=i[o],w+=ut;s.xIncrement=w}else if(kr(y))if(rt)for(o=0;o<c;o++)h=i[o],b[o]=h[0],p[o]=h.slice(1,rt+1);else for(o=0;o<c;o++)h=i[o],b[o]=h[0],p[o]=h[1];else vi(12)}else for(o=0;o<c;o++)i[o]!==f&&(h={series:s},s.pointClass.prototype.applyOptions.apply(h,[i[o]]),s.updateParallelArrays(h,o),g&&h.name&&(a.names[h.x]=h.name));for(lr(p[0])&&vi(14,!0),s.data=[],s.options.data=i,o=k;o--;)l[o]&&l[o].destroy&&l[o].destroy();nt&&(nt.length=0);a&&(a.minRange=a.userMinRange);s.isDirty=s.isDirtyData=d.isDirtyBox=!0;u=!1}else t(i,function(n,t){l[t].update(n,!1)});r&&d.redraw(u)},processData:function(n){var t=this,i=t.xData,c=t.yData,l=i.length,h,p=0,a,u,e,v=t.xAxis,r,w=t.options,b=w.cropThreshold,y=0,k=t.isCartesian,o,s;if(k&&!t.isDirty&&!v.isDirty&&!t.yAxis.isDirty&&!n)return!1;for(k&&t.sorted&&(!b||l>b||t.forceCrop)&&(o=v.min,s=v.max,i[l-1]<o||i[0]>s?(i=[],c=[]):(i[0]<o||i[l-1]>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]<s&&y++,u>0&&(e===f||u<e)?e=u:u<0&&t.requireSorting&&vi(15);t.cropped=a;t.cropStart=p;t.processedXData=i;t.processedYData=c;t.activePointCount=y;w.pointRange===null&&(t.pointRange=e||1);t.closestPointRange=e},cropData:function(t,i,r,f){for(var h=t.length,o=0,s=h,c=n(this.cropShoulder,1),e=0;e<h;e++)if(t[e]>=r){o=u(0,e-c);break}for(;e<h;e++)if(t[e]>f){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;n<s;n++)r=y+n,u?c[n]=(new v).init(t,[o[n]].concat(ai(w[n]))):(i[r]?h=i[r]:e[r]!==f&&(i[r]=h=(new v).init(t,e[r],o[n])),c[n]=h);if(i&&(s!==(a=i.length)||u))for(n=0;n<a;n++)n!==y||u||(n+=s),i[n]&&(i[n].destroyElements(),i[n].plotX=f);t.data=i;t.points=c},getExtremes:function(t){var y=this.xAxis,p=this.yAxis,o=this.processedXData,h,e=[],c=0,l=y.getExtremes(),w=l.min,b=l.max,a,v,k,d,s,i,r,u;for(t=t||this.stackedYData||this.processedYData,h=t.length,r=0;r<h;r++)if(s=o[r],i=t[r],a=i!==null&&i!==f&&(!p.isLog||i.length||i>0),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;h<g;h++){var t=d[h],c=t.x,u=t.y,e=t.low,w=k&&o.stacks[(r.negStacks&&u<p?"-":"")+r.stackKey],s,b;o.isLog&&u<=0&&(t.y=u=null);t.plotX=a.translate(c,0,0,0,1,y,this.type==="flags");k&&r.visible&&w&&w[c]&&(s=w[c],b=s.points[r.index+","+h],e=b[0],u=b[1],e===0&&(e=n(p,o.min)),o.isLog&&e<=0&&(e=null),t.total=t.stackTotal=s.total,t.percentage=s.total&&t.y/s.total*100,t.stackY=u,s.setOffset(r.pointXOffset||0,r.barW||0));t.yBottom=i(e)?o.translate(e,0,1,0,1):null;nt&&(u=r.modifyValue(u,t));t.plotY=typeof u=="number"&&u!==Infinity?o.translate(u,0,1,0,1):f;t.clientX=tt?a.translate(c,0,0,0,1):t.plotX;t.negative=t.y<(p||0);t.category=v&&v[t.x]!==f?v[t.x]:t.x}r.getSegments()},animate:function(n){var u=this,t=u.chart,s=t.renderer,f,o,e=u.options.animation,h=u.clipBox||t.clipBox,c=t.inverted,i;e&&!dt(e)&&(e=vt[u.type].animation);i=["_sharedClip",e.duration,e.easing,h.height].join(",");n?(f=t[i],o=t[i+"m"],f||(t[i]=f=s.clipRect(r(h,{width:0})),t[i+"m"]=o=s.clipRect(-99,c?-t.plotLeft:-t.plotTop,99,c?t.chartWidth:t.chartHeight)),u.group.clip(f),u.markerGroup.clip(o),u.sharedClipKey=i):(f=t[i],f&&f.animate({width:t.plotSizeX},e),t[i+"m"]&&t[i+"m"].animate({width:t.plotSizeX+99},e),u.animate=null)},afterAnimate:function(){var n=this.chart,t=this.sharedClipKey,r=this.group,i=this.clipBox;r&&this.options.clip!==!1&&(t&&i||r.clip(i?n.renderer.clipRect(i):n.clipRect),this.markerGroup.clip());w(this,"afterAnimate");setTimeout(function(){t&&n[t]&&(i||(n[t]=n[t].destroy()),n[t+"m"]&&(n[t+"m"]=n[t+"m"].destroy()))},100)},drawPoints:function(){var u=this,l,b=u.points,a=u.chart,h,s,v,t,i,y,k,o,g=u.options,p=g.marker,nt=u.pointAttr[""],c,d,w,tt=u.markerGroup,it=n(p.enabled,u.activePointCount<.5*u.xAxis.len/p.radius);if(p.enabled!==!1||u._hasPointMarkers)for(v=b.length;v--;)t=b[v],h=et(t.plotX),s=t.plotY,o=t.graphic,c=t.marker||{},d=it&&c.enabled===f||c.enabled,w=a.isInsidePlot(e(h),s,a.inverted),d&&s!==f&&!isNaN(s)&&t.y!==null?(l=t.pointAttr[t.selected?di:pt]||nt,i=l.r,y=n(c.symbol,u.symbol),k=y.indexOf("url")===0,o?o[w?"show":"hide"](!0).animate(r({x:h-i,y:s-i},o.symbolName?{width:2*i,height:2*i}:{})):w&&(i>0||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||a<d||v)while(a--){if(u=w[a],n=u.options&&u.options.marker||u.options,n&&n.enabled===!1&&(n.radius=0),u.negative&&k&&(u.color=u.fillColor=k),v=h.colorByPoint||u.color,u.options)for(g in b)i(n[b[g]])&&(v=!0);v?(n=n||{},s=[],c=n.states||{},l=c[ii]=c[ii]||{},h.marker||(l.color=l.color||!u.options.color&&e.color||nr(u.color).brighten(l.brightness||e.brightness).get()),y={color:u.color},it||(y.fillColor=u.color),tt||(y.lineColor=u.color),s[pt]=f.convertAttribs(r(y,n),o[pt]),s[ii]=f.convertAttribs(c[ii],o[ii],s[pt]),s[di]=f.convertAttribs(c[di],o[di],s[pt])):s=o;u.pointAttr=s}},destroy:function(){var n=this,u=n.chart,h=/AppleWebKit\/533/.test(pi),e,f,o=n.data||[],r,s,i;for(w(n,"destroy"),ct(n),t(n.axisTypes||[],function(t){i=n[t];i&&(fi(i.series,n),i.isDirty=i.forceRedraw=!0)}),n.legendItem&&n.chart.legend.destroyItem(n),f=o.length;f--;)r=o[f],r&&r.destroy&&r.destroy();n.points=null;clearTimeout(n.animationTimeout);t(["area","graph","dataLabelsGroup","group","markerGroup","tracker","graphNeg","areaNeg","posClip","negClip"],function(t){n[t]&&(e=h&&t==="group"?"hide":"destroy",n[t][e]())});u.hoverSeries===n&&(u.hoverSeries=null);fi(u.series,n);for(s in n)delete n[s]},getSegmentPath:function(n){var r=this,i=[],u=r.options.step;return t(n,function(t,f){var o=t.plotX,s=t.plotY,e;r.getPointSpline?i.push.apply(i,r.getPointSpline(n,t,f)):(i.push(f?rt:tt),u&&f&&(e=n[f-1],u==="right"?i.push(e.plotX,s):u==="center"?i.push((e.plotX+o)/2,e.plotY,(e.plotX+o)/2,s):i.push(o,e.plotY)),i.push(t.plotX,t.plotY))}),i},getGraphPath:function(){var n=this,i=[],r,u=[];return t(n.segments,function(t){r=n.getSegmentPath(t);t.length>1?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;t<i.length;t++)i[t].setPercentStacks()}};si.prototype.renderStackTotals=function(){var n=this,i=n.chart,o=i.renderer,u=n.stacks,f,r,e,t=n.stackTotalGroup;t||(n.stackTotalGroup=t=o.g("stack-labels").attr({visibility:li,zIndex:6}).add());t.translate(i.plotLeft,i.plotTop);for(f in u){r=u[f];for(e in r)r[e].render(t)}};v.prototype.setStackedPoints=function(){if(this.options.stacking&&(this.visible===!0||this.chart.options.chart.ignoreHiddenSeries===!1)){for(var f=this,nt=f.processedXData,w=f.processedYData,b=[],tt=w.length,l=f.options,it=l.threshold,rt=l.stack,k=l.stacking,a=f.stackKey,d="-"+a,g=f.negStacks,s=f.yAxis,r=s.stacks,v=s.oldStacks,c,n,e,t,p,i,h,o=0;o<tt;o++)i=nt[o],h=w[o],p=f.index+","+o,c=g&&h<it,t=c?d:a,r[t]||(r[t]={}),r[t][i]||(v[t]&&v[t][i]?(r[t][i]=v[t][i],r[t][i].total=null):r[t][i]=new oo(s,s.options.stackLabels,c,i,rt)),n=r[t][i],n.points[p]=[n.cum||0],k==="percent"?(e=c?a:d,g&&r[e]&&r[e][i]?(e=r[e][i],n.total=e.total=u(e.total,n.total)+y(h)||0):n.total=gt(n.total+(y(h)||0))):n.total=gt(n.total+(h||0)),n.cum=(n.cum||0)+(h||0),n.points[p].push(n.cum),b[o]=n.cum;k==="percent"&&(s.usePercentage=!0);this.stackedYData=b;s.oldStacks={}}};v.prototype.setPercentStacks=function(){var n=this,i=n.stackKey,r=n.yAxis.stacks,u=n.processedXData;t([i,"-"+i],function(t){for(var e=u.length,s,f,i,o;e--;)s=u[e],f=r[t]&&r[t][s],i=f&&f.points[n.index+","+e],i&&(o=f.total?100/f.total:0,i[0]=gt(i[0]*o),i[1]=gt(i[1]*o),n.stackedYData[e]=i[1])})};r(wu.prototype,{addSeries:function(t,i,r){var f,u=this;return t&&(i=n(i,!0),w(u,"addSeries",{options:t},function(){f=u.initSeries(t);u.isDirtyLegend=!0;u.linkSeries();i&&u.redraw(r)})),f},addAxis:function(t,i,r,u){var f=i?"xAxis":"yAxis",e=this.options,o;o=new si(this,s(t,{index:this[f].length,isX:i}));e[f]=ai(e[f]||{});e[f].push(t);n(r,!0)&&this.redraw(u)},showLoading:function(n){var t=this,f=t.options,i=t.loadingDiv,u=f.loading;i||(t.loadingDiv=i=at(hr,{className:ot+"loading"},r(u.style,{zIndex:10,display:it}),t.container),t.loadingSpan=at("span",null,u.labelStyle,i));t.loadingSpan.innerHTML=n||f.lang.loading;t.loadingShown||(p(i,{opacity:0,display:"",left:t.plotLeft+a,top:t.plotTop+a,width:t.plotWidth+a,height:t.plotHeight+a}),sf(i,{opacity:u.style.opacity},{duration:u.showDuration||0}),t.loadingShown=!0)},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&sf(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){p(n,{display:it})}});this.loadingShown=!1}});r(tr.prototype,{update:function(t,i,r){var u=this,f=u.series,e=u.graphic,o,c=f.data,s=f.chart,h=f.options;i=n(i,!0);u.firePointEvent("update",{options:t},function(){u.applyOptions(t);dt(t)&&(f.getAttribs(),e&&(t&&t.marker&&t.marker.symbol?u.graphic=e.destroy():e.attr(u.pointAttr[u.state||""])),t&&t.dataLabels&&u.dataLabel&&(u.dataLabel=u.dataLabel.destroy()));o=er(u,c);f.updateParallelArrays(u,o);h.data[o]=u.options;f.isDirty=f.isDirtyData=!0;!f.fixedBox&&f.hasCartesianSeries&&(s.isDirtyBox=!0);h.legendType==="point"&&s.legend.destroyItem(u);i&&s.redraw(r)})},remove:function(t,i){var u=this,r=u.series,o=r.points,s=r.chart,f,e=r.data;iu(i,s);t=n(t,!0);u.firePointEvent("remove",null,function(){f=er(u,e);e.length===o.length&&o.splice(f,1);e.splice(f,1);r.options.data.splice(f,1);r.updateParallelArrays(u,"splice",f,1);u.destroy();r.isDirty=!0;r.isDirtyData=!0;t&&s.redraw()})}});r(v.prototype,{addPoint:function(i,r,u,f){var e=this,y=e.options,h=e.data,l=e.graph,a=e.area,p=e.chart,w=e.xAxis&&e.xAxis.names,d=l&&l.shift||0,b=y.data,s,k,v=e.xData,c,o;if(iu(f,p),u&&t([l,a,e.graphNeg,e.areaNeg],function(n){n&&(n.shift=d+1)}),a&&(a.isArea=!0),r=n(r,!0),s={series:e},e.pointClass.prototype.applyOptions.apply(s,[i]),c=s.x,o=v.length,e.requireSorting&&c<v[o-1])for(k=!0;o&&v[o-1]>c;)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<h.length;r++)i[h[r].x]=h[r];for(c in n)n[c].total!==null&&e.push(+c);e.sort(function(n,t){return n-t});t(e,function(t){(!p||i[t]&&i[t].y!==null)&&(i[t]?u.push(i[t]):(o=y.translate(t),a=n[t].percent?n[t].total?n[t].cum*100/n[t].total:0:n[t].cum,s=l.toPixels(a,!0),u.push({y:null,plotX:o,clientX:o,plotY:s,yBottom:s,onMouseOver:ci})))});u.length&&f.push(u)}else v.prototype.getSegments.call(this),f=this.segments;this.segments=f},getSegmentPath:function(t){var r=v.prototype.getSegmentPath.call(this,t),u=[].concat(r),i,f=this.options,s=r.length,o=this.yAxis.getThreshold(f.threshold),e;if(s===3&&u.push(rt,r[1],r[2]),f.stacking&&!this.closedStacks)for(i=t.length-1;i>=0;i--)e=n(t[i].yBottom,o),i<t.length-1&&f.step&&u.push(t[i+1].plotX,e),u.push(t[i].plotX,e);else this.closeSegment(u,t,o);return this.areaPath=this.areaPath.concat(u),r},closeSegment:function(n,t,i){n.push(rt,t[t.length-1].plotX,i,rt,t[0].plotX,i)},drawGraph:function(){this.areaPath=[];v.prototype.drawGraph.apply(this);var i=this,u=this.areaPath,r=this.options,f=r.negativeColor,e=r.negativeFillColor,o=[["area",this.color,r.fillColor]];(f||e)&&o.push(["areaNeg",f,e]);t(o,function(t){var f=t[0],e=i[f];e?e.animate({d:u}):i[f]=i.chart.renderer.path(u).attr({fill:n(t[2],nr(t[1]).setOpacity(n(r.fillOpacity,.75)).get()),zIndex:0}).add(i.group)})},drawLegendSymbol:eu.drawRectangle});b.area=he;vt.spline=s(uu);ce=ei(v,{type:"spline",getPointSpline:function(n,t,i){var h=1.5,v=h+1,s=t.plotX,r=t.plotY,o=n[i-1],p=n[i+1],w,e,y,f,b;if(o&&p){var d=o.plotX,c=o.plotY,g=p.plotX,a=p.plotY,k;w=(h*s+d)/v;e=(h*r+c)/v;y=(h*s+g)/v;f=(h*r+a)/v;k=(f-e)*(y-s)/(y-w)+r-f;e+=k;f+=k;e>c&&e>r?(e=u(c,r),f=2*r-e):e<c&&e<r&&(e=l(c,r),f=2*r-e);f>a&&f>r?(f=u(a,r),e=2*r-f):f<a&&f<r&&(f=l(a,r),e=2*r-f);t.rightContX=y;t.rightContY=f}return i?(b=["C",o.rightContX||o.plotX,o.rightContY||o.plotY,w||s,e||r,s,r],o.rightContX=o.rightContY=null):b=[tt,s,r],b}});b.spline=ce;vt.areaspline=s(vt.area);hf=he.prototype;ho=ei(ce,{type:"areaspline",closedStacks:!0,getSegmentPath:hf.getSegmentPath,closeSegment:hf.closeSegment,drawGraph:hf.drawGraph,drawLegendSymbol:eu.drawRectangle});b.areaspline=ho;vt.column=s(uu,{borderColor:"#FFFFFF",borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:.1,shadow:!1,halo:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,tooltip:{distance:6},threshold:0});cf=ei(v,{type:"column",pointAttrToOptions:{stroke:"borderColor",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){v.prototype.init.apply(this,arguments);var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var r=this,e=r.options,u=r.xAxis,w=r.yAxis,b=u.reversed,s,c={},a,o=0;e.grouping===!1?o=1:t(r.chart.series,function(n){var t=n.options,i=n.yAxis;n.type===r.type&&n.visible&&w.len===i.len&&w.pos===i.pos&&(t.stacking?(s=n.stackKey,c[s]===f&&(c[s]=o++),a=c[s]):t.grouping!==!1&&(a=o++),n.columnIndex=a)});var v=l(y(u.transA)*(u.ordinalSlope||e.pointRange||u.closestPointRange||u.tickInterval||1),u.len),k=v*e.groupPadding,g=v-2*k,h=g/o,p=e.pointWidth,d=i(p)?(h-p)/2:h*e.pointPadding,nt=n(p,h-2*d),tt=(b?o-(r.columnIndex||0):r.columnIndex)||0,it=d+(k+tt*h-v/2)*(b?-1:1);return r.columnMetrics={width:nt,offset:it}},translate:function(){var i=this,s=i.chart,h=i.options,c=i.borderWidth=n(h.borderWidth,i.activePointCount>.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&&r&&(p=r,c=e(y(c-o)>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<l?"animate":"attr"](s(u))):t.graphic=a=c[t.shapeType](u).attr(h).attr(e).add(n.group).shadow(r.shadow,null,r.stacking&&!r.borderRadius))})},animate:function(n){var r=this,i=this.yAxis,o=r.options,e=this.chart.inverted,t={},f;yt&&(n?(t.scaleY=.001,f=l(i.pos+i.len,u(i.pos,i.toPixels(o.threshold))),e?t.translateX=f-i.len:t.translateY=f,r.group.attr(t)):(t.scaleY=1,t[e?"translateX":"translateY"]=i.pos,r.group.animate(t,r.options.animation),r.animate=null))},remove:function(){var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)});v.prototype.remove.apply(n,arguments)}});b.column=cf;vt.bar=s(vt.column);co=ei(cf,{type:"bar",inverted:!0});b.bar=co;vt.scatter=s(uu,{lineWidth:0,tooltip:{headerFormat:'<span style="color:{series.color}">●<\/span> <span style="font-size: 10px;"> {series.name}<\/span><br/>',pointFormat:"x: <b>{point.x}<\/b><br/>y: <b>{point.y}<\/b><br/>"},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;n<u;n++)t=r[n],i+=f&&!t.visible?0:t.y;for(this.total=i,n=0;n<u;n++)t=r[n],t.percentage=i>0?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;v<rt;v++)r=nt[v],w=k+y*g,(!it||r.visible)&&(y+=r.percentage/100),b=k+y*g,r.shapeType="arc",r.shapeArgs={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:e(w*c)/c,end:e(b*c)/c},i=(b+w)/2,i>1.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;i<k;i++){for(nt=b[i],r=nt.labelPos,bt=9999,ct=0;ct<ft;ct++)kt=y(c[ct]-r[1]),kt<bt&&(bt=kt,f=ct);if(f<i&&c[i]!==null)f=i;else if(ft<k-i+f&&c[i]!==null)for(f=ft-k+i;c[f]===null;)f++;else while(c[f]===null)f++;wt.push({i:f,y:c[f]});c[f]=null}wt.sort(ei)}for(i=0;i<k;i++)nt=b[i],r=nt.labelPos,s=nt.dataLabel,ht=nt.visible===!1?ti:li,et=r[1],ut>0?(dt=wt.pop(),f=dt.i,o=dt.y,(et>o&&c[f+1]!==null||et<o&&c[f-1]!==null)&&(o=et)):o=et,a=w.justify?vt[0]+(h?-1:1)*(yt+ut):l.getX(f===0||f===c.length-1?et:o,h),s._attr={visibility:ht,align:r[6]},s._pos={x:a+w.x+({left:it,right:-it}[r[6]]||0),y:o+w.y-10},s.connX=a,s.connY=o,this.options.size===null&&(st=s.width,a-st<it?p[3]=u(e(st-a+it),p[3]):a+st>ii-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),r<i[2]?(i[2]=r,this.translate(i),t(this.points,function(n){n.dataLabel&&(n.dataLabel._pos=null)}),this.drawDataLabels&&this.drawDataLabels()):s=!0,s});b.column&&(b.column.prototype.alignDataLabel=function(t,i,r,u,f){var e=this.chart,o=e.inverted,l=t.dlBox||t.shapeArgs,h=t.below||t.plotY>n(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;n<a.length;n++)f=a[n],r.push(tt,f.plotX-u,f.plotY,rt,f.plotX+u,f.plotY);c?c.attr({d:r}):(i.tracker=w.path(r).attr({"stroke-linejoin":"round",visibility:i.visible?li:ti,stroke:y,fill:e?y:it,"stroke-width":s.lineWidth+(e?0:2*u),zIndex:2}).add(i.group),t([i.tracker,i.markerGroup],function(n){if(n.addClass(ot+"tracker").on("mouseover",v).on("mouseout",function(n){p.onTrackerMouseOut(n)}).css(b),su)n.on("touchstart",v)}))}};b.column&&(cf.prototype.drawTracker=bu.drawTrackerPoint);b.pie&&(b.pie.prototype.drawTracker=bu.drawTrackerPoint);b.scatter&&(le.prototype.drawTracker=bu.drawTrackerPoint);r(pu.prototype,{setItemEvents:function(n,t,i,r,u){var f=this;(i?t:n.legendGroup).on("mouseover",function(){n.setState(ii);t.css(f.options.itemHoverStyle)}).on("mouseout",function(){t.css(n.visible?r:u);n.setState()}).on("click",function(t){var i="legendItemClick",r=function(){n.setVisible()};t={browserEvent:t};n.firePointEvent?n.firePointEvent(i,t,r):w(n,i,t,r)})},createCheckboxForItem:function(n){var t=this;n.checkbox=at("input",{type:"checkbox",checked:n.selected,defaultChecked:n.selected},t.options.itemCheckboxStyle,t.chart.container);k(n.checkbox,"click",function(t){var i=t.target;w(n,"checkboxClick",{checked:i.checked},function(){n.select()})})}});nt.legend.itemStyle.cursor="pointer";r(wu.prototype,{showResetZoom:function(){var t=this,i=nt.lang,n=t.options.chart.resetZoomButton,r=n.theme,u=r.states,f=n.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=t.renderer.button(i.resetZoom,null,null,function(){t.zoomOut()},r,u&&u.hover).attr({align:n.position.align,title:i.resetZoomTitle}).add().align(n.position,!1,f)},zoomOut:function(){var n=this;w(n,"selection",{resetSelection:!0},function(){n.zoom()})},zoom:function(i){var r=this,f,o=r.pointer,e=!1,u;!i||i.resetSelection?t(r.axes,function(n){f=n.zoom()}):t(i.xAxis.concat(i.yAxis),function(n){var t=n.axis,i=t.isXAxis;(o[i?"zoomX":"zoomY"]||o[i?"pinchX":"pinchY"])&&(f=t.zoom(n.min,n.max),t.displayBtn&&(e=!0))});u=r.resetZoomButton;e&&!u?r.showResetZoom():!e&&dt(u)&&(r.resetZoomButton=u.destroy());f&&r.redraw(n(r.options.chart.animation,i&&i.animation,r.pointCount<100))},pan:function(n,i){var r=this,f=r.hoverPoints,e;f&&t(f,function(n){n.setState()});t(i==="xy"?[1,0]:[1],function(t){var o=n[t?"chartX":"chartY"],i=r[t?"xAxis":"yAxis"][0],s=r[t?"mouseDownX":"mouseDownY"],h=(i.pointRange||0)/2,f=i.getExtremes(),c=i.toValue(s-o,!0)+h,a=i.toValue(s+r[t?"plotWidth":"plotHeight"]-o,!0)-h;i.series.length&&c>l(f.dataMin,f.min)&&a<u(f.dataMax,f.max)&&(i.setExtremes(c,a,!1,!1,{trigger:"pan"}),e=!0);r[t?"mouseDownX":"mouseDownY"]=o});e&&r.redraw(!1);p(r.container,{cursor:"move"})}});r(tr.prototype,{select:function(i,r){var u=this,f=u.series,e=f.chart;i=n(i,!u.selected);u.firePointEvent(i?"select":"unselect",{accumulate:r},function(){u.selected=u.options.selected=i;f.options.data[er(u,f.data)]=u.options;u.setState(i&&di);r||t(e.getSelectedPoints(),function(n){n.selected&&n!==u&&(n.selected=n.options.selected=!1,f.options.data[er(n,f.data)]=n.options,n.setState(pt),n.firePointEvent("unselect"))})})},onMouseOver:function(n){var t=this,f=t.series,i=f.chart,r=i.tooltip,u=i.hoverPoint;u&&u!==t&&u.onMouseOut();t.firePointEvent("mouseOver");r&&(!r.shared||f.noSharedTooltip)&&r.refresh(t,n);t.setState(ii);i.hoverPoint=t},onMouseOut:function(){var n=this.series.chart,t=n.hoverPoints;t&&er(this,t)!==-1||(this.firePointEvent("mouseOut"),this.setState(),n.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var n=this,r=s(n.series.options.point,n.options),t=r.events,i;n.events=t;for(i in t)k(n,i,t[i]);this.hasImportedEvents=!0}},setState:function(n,t){var i=this,v=i.plotX,y=i.plotY,u=i.series,p=u.options.states,h=vt[u.type].marker&&u.options.marker,d=h&&!h.enabled,c=h&&h.states[n],g=c&&c.enabled===!1,e=u.stateMarkerGraphic,w=i.marker||{},b=u.chart,f,l=u.halo,o,a,k;(n=n||pt,k=i.pointAttr[n]||u.pointAttr[n],n===i.state&&!t||i.selected&&n!==di||p[n]&&p[n].enabled===!1||n&&(g||d&&c.enabled===!1)||n&&w.states&&w.states[n]&&w.states[n].enabled===!1)||(i.graphic?(f=h&&i.graphic.symbolName&&k.r,i.graphic.attr(s(k,f?{x:v-f,y:y-f,width:2*f,height:2*f}:{})),e&&e.hide()):(n&&c&&(f=c.radius,a=w.symbol||u.symbol,e&&e.currentSymbol!==a&&(e=e.destroy()),e?e[t?"animate":"attr"]({x:v-f,y:y-f}):a&&(u.stateMarkerGraphic=e=b.renderer.symbol(a,v-f,y-f,2*f,2*f).attr(k).add(u.markerGroup),e.currentSymbol=a)),e&&e[n&&b.isInsidePlot(v,y,b.inverted)?"show":"hide"]()),o=p[n]&&p[n].halo,o&&o.size?(l||(u.halo=l=b.renderer.path().add(u.seriesGroup)),l.attr(r({fill:nr(i.color||u.color).setOpacity(o.opacity).get()},o.attributes))[t?"animate":"attr"]({d:i.haloPath(o.size)})):l&&l.attr({d:[]}),i.state=n)},haloPath:function(n){var t=this.series,i=t.chart,r=t.getPlotBox(),u=i.inverted;return i.renderer.symbols.circle(r.translateX+(u?t.yAxis.len-this.plotY:this.plotX)-n,r.translateY+(u?t.xAxis.len-this.plotX:this.plotY)-n,n*2,n*2)}});r(v.prototype,{onMouseOver:function(){var n=this,i=n.chart,t=i.hoverSeries;t&&t!==n&&t.onMouseOut();n.options.events.mouseOver&&w(n,"mouseOver");n.setState(ii);i.hoverSeries=n},onMouseOut:function(){var n=this,r=n.options,t=n.chart,i=t.tooltip,u=t.hoverPoint;u&&u.onMouseOut();n&&r.events.mouseOut&&w(n,"mouseOut");i&&!r.stickyTracking&&(!i.shared||n.noSharedTooltip)&&i.hide();n.setState();t.hoverSeries=null},setState:function(n){var t=this,e=t.options,i=t.graph,o=t.graphNeg,r=e.states,u=e.lineWidth,f;if(n=n||pt,t.state!==n){if(t.state=n,r[n]&&r[n].enabled===!1)return;n&&(u=r[n].lineWidth||u+1);i&&!i.dashstyle&&(f={"stroke-width":u},i.attr(f),o&&o.attr(f))}},setVisible:function(n,i){var r=this,u=r.chart,o=r.legendItem,e,s=u.options.chart.ignoreHiddenSeries,h=r.visible;r.visible=n=r.userOptions.visible=n===f?!h:n;e=n?"show":"hide";t(["group","dataLabelsGroup","markerGroup","tracker"],function(n){r[n]&&r[n][e]()});u.hoverSeries===r&&r.onMouseOut();o&&u.legend.colorizeItem(r,n);r.isDirty=!0;r.options.stacking&&t(u.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)});t(r.linkedSeries,function(t){t.setVisible(n,!1)});s&&(u.isDirtyBox=!0);i!==!1&&u.redraw();w(r,e)},setTooltipPoints:function(n){var i=this,r=[],p,s,h,e=i.xAxis,w=e&&e.getExtremes(),v=e?e.tooltipLen||e.len:i.chart.plotSizeX,c,y,a,o,b=[];if(i.options.enableMouseTracking!==!1&&!i.singularTooltips){for(n&&(i.tooltipPoints=null),t(i.segments||i.points,function(n){r=r.concat(n)}),e&&e.reversed&&(r=r.reverse()),i.orderTooltipPoints&&i.orderTooltipPoints(r),p=r.length,o=0;o<p;o++)if(c=r[o],y=c.x,y>=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})})();